{"version":3,"sources":["custom_utilities/custom_useful_functions.js","components/loader/loader.js","components/Modal/CustomModal.module.css","containers/logged_user_components/zoom_component/zoom_component.js","containers/logged_user_components/zoom_component/zoom_content_component/zoom_content_component.js","utilities/images/homepage/m2_lvCls.png","utilities/images/homepage/m2_tstAnls.png","utilities/images/homepage/m2_ulmtDts.png","utilities/images/practice/Info.svg","utilities/images/user_dashboard/m2_slider1.png","utilities/images/user_dashboard/m2_institute.jpg","utilities/images/user_dashboard/new_m2_rgtArow.png","utilities/images/homepage/M2_test.png","utilities/images/homepage/m2_exercise.png","utilities/images/homepage/M2_Dppp.png","utilities/images/homepage/m2_bkVdo.png","utilities/images/user_dashboard/m2_store.png","utilities/images/homepage/m2_video_ntF.png","utilities/images/homepage/new_m2_video_ntF.png","utilities/images/homepage/new_m2_test_ntF.png","utilities/images/homepage/M2Video.png","utilities/images/homepage/M2notification.png","utilities/images/homepage/M2Doubts.png","utilities/images/homepage/M2Doubts2.png","utilities/images/doubts/doubts_no_data.png","utilities/images/main_logo/motion-logo-new.png","utilities/images/main_logo/motion_logo_svg.svg","utilities/images/homepage/homepage_5.png","utilities/images/homepage/homepage_6.png","utilities/images/homepage/homepage_7.png","utilities/images/homepage/expert_1.png","utilities/images/homepage/expert_2.png","utilities/images/homepage/expert_3.png","utilities/images/homepage/homepage_16.png","utilities/images/homepage/homepage_20.png","utilities/images/login/login_1.png","utilities/images/user_dashboard/user_dashboard_1.png","utilities/images/user_dashboard/user_dashboard_2.png","utilities/images/user_dashboard/user_dashboard_4.png","utilities/images/user_dashboard/user_dashboard_5.png","utilities/images/user_dashboard/user_dashboard_6.png","utilities/images/main_logo/no_data.png","utilities/images/user_activity/user_activity_calendar.png","utilities/images/user_dashboard/user_dashboard_7.jpeg","utilities/images/user_dashboard/user_dashboard_8.jpg","utilities/images/user_dashboard/user_dashboard_9.jpg","utilities/images/user_dashboard/coins.png","utilities/images/user_dashboard/slider_arrow.png","utilities/images/user_activity/grid.svg","utilities/images/user_activity/grid1.svg","utilities/images/user_activity/list.svg","utilities/images/user_activity/list1.svg","utilities/images/user_activity/user_activity_14_1.svg","utilities/images/user_activity/new_user_activity_23.png","utilities/images/user_activity/new_user_activity_57.png","utilities/images/user_activity/new_user_activity_58.png","utilities/images/user_activity/user_activity_38.png","utilities/images/store/new_store_banner.png","utilities/images/store/amrit-gurantee.png","utilities/images/refund/refund-img.png","utilities/images/user_activity/user_activity_45.png","utilities/images/user_activity/user_activity_46_1.svg","utilities/images/user_activity/user_activity_48_1.svg","utilities/images/user_activity/user_activity_49.png","utilities/images/user_activity/user_activity_51.png","utilities/images/parent-homepage/logout.png","utilities/images/user_activity/user_activity_64.png","utilities/images/user_activity/user_activity_65.png","utilities/images/user_activity/user_activity_37.png","utilities/images/user_activity/new_user_activity_37.png","utilities/images/adaptive_cps/acps_banner.png","utilities/images/faculty/physics/Avinash-Kishore.jpeg","utilities/images/faculty/physics/Krantideep-Singh.png","utilities/images/faculty/biology/Harshit-Thakuria.png","utilities/images/wallet/new_motionCoin.png","utilities/images/wallet/new_motionCoin1.png","utilities/images/wallet/MotionCoinswallet.png","utilities/images/wallet/new_transactions.png","utilities/images/wallet/MotionCoinsStore.png","utilities/images/user_activity/help-support-img.png","utilities/images/user_activity/motion-chat-logo.png","utilities/images/user_activity/chatsend-icon.png","utilities/images/popups/logout.png","utilities/images/popups/prohibition.png","utilities/images/popups/multiple-login.png","utilities/images/new_live_streaming/nvsirpropic.png","utilities/images/test/bookmark.svg","utilities/images/test/bookmark1.svg","utilities/images/multi.png","utilities/images/new_empty_star.png","utilities/images/new_full_star.png","utilities/images/new_login_landing_page/landing-sec-bg.png","utilities/images/new_login_landing_page/motion-logo-landing.png","utilities/images/new_login_landing_page/storeBanner.png","utilities/images/new_login_landing_page/courses/jee.png","utilities/images/new_login_landing_page/courses/neet.png","utilities/images/new_login_landing_page/courses/foundation.png","utilities/images/new_login_landing_page/courses/cuet.png","utilities/images/new_login_landing_page/banner/nvsir.png","utilities/images/new_login_landing_page/banner/SpinImg.png","utilities/images/new_login_landing_page/benifits/benifit-common-img.png","utilities/images/new_login_landing_page/benifits/doubts-img.png","utilities/images/new_login_landing_page/benifits/practice-img.png","utilities/images/new_login_landing_page/benifits/report-img.png","utilities/images/new_login_landing_page/nv_sir.png","utilities/images/refer&earn/noreferals.png","utilities/images/images.js","utilities/images/new_pdf.png","utilities/images/new_download.png","utilities/images/new_send.png","utilities/images/new_likes.png","utilities/images/new_liked.png","utilities/images/new_report.png","utilities/images/new_folder_warning.png","utilities/images/new_options.png","utilities/images/edit_note.png","utilities/images/delete_note.png","utilities/images/bookmarks/bookmark.png","utilities/images/bookmarks/no-bookmark.png","utilities/images/bookmarks/rating-start.png","utilities/images/doubts/plus_icon.png","utilities/images/main_logo/m2-logo.png","utilities/images/homepage/m2_loginIcon.png","utilities/images/homepage/m2_googlePlay.png","utilities/images/homepage/m2_jee.png","utilities/images/homepage/m2_neet.png","utilities/images/homepage/m2_foundation.png","utilities/images/homepage/m2_live.png","utilities/images/homepage/m2_dpp.png","utilities/images/homepage/m2_video.png","utilities/images/homepage/m2_tests.png","utilities/images/homepage/m2_notes.png","utilities/images/homepage/m2_testSeries.png","utilities/images/homepage/m2_upArrow.png","utilities/images/homepage/m2_rgtArr.png","utilities/images/user_dashboard/new_m2_rgtArr_blk.png","utilities/images/user_activity/new_warning_icon.png","utilities/images/homepage/m2_notification.png","utilities/images/homepage/m2_search.png","utilities/images/homepage/right_Ar.png","utilities/images/homepage/down_ar.png","utilities/images/practice/lock.png","utilities/images/user_dashboard/m2_target.png","utilities/images/user_dashboard/m2_rgtArow.png","utilities/images/user_dashboard/m2_rgtArow1.png","utilities/images/user_dashboard/m2_rgtArow2.png","utilities/images/user_activity/m2_bkmark.png","utilities/images/homepage/m2_backBtn.png","utilities/images/homepage/m2_complete.png","utilities/images/homepage/rank.png","utilities/images/homepage/marks.png","utilities/images/homepage/exit.png","utilities/images/homepage/exit1.png","utilities/images/homepage/language.png","utilities/images/homepage/seeAll.png","utilities/images/main_logo/navonmesh.png","utilities/images/homepage/homepage_2.png","utilities/images/homepage/homepage_3.png","utilities/images/homepage/homepage_4.png","utilities/images/homepage/homepage_9.png","utilities/images/homepage/homepage_10.png","utilities/images/homepage/homepage_11.png","utilities/images/homepage/homepage_12.png","utilities/images/homepage/homepage_13.png","utilities/images/homepage/homepage_14.png","utilities/images/homepage/homepage_15.png","utilities/images/homepage/homepage_17.png","utilities/images/homepage/homepage_18.png","utilities/images/login/login_2.png","utilities/images/login/login_3.png","utilities/images/signUp/signUp_1.png","utilities/images/signUp/signUp_2.png","utilities/images/signUp/signUp_3.png","utilities/images/signUp/signUp_4.png","utilities/images/left_sideBar/active_icons/active_home.png","utilities/images/left_sideBar/active_icons/active_exercise.png","utilities/images/left_sideBar/active_icons/active_doubts.png","utilities/images/left_sideBar/active_icons/active_analytics.png","utilities/images/left_sideBar/active_icons/active_store.png","utilities/images/left_sideBar/active_icons/active_bookmark.png","utilities/images/left_sideBar/active_icons/active_transaction.png","utilities/images/left_sideBar/inactive_icons/inactive_home.png","utilities/images/left_sideBar/inactive_icons/inactive_exercise.png","utilities/images/left_sideBar/inactive_icons/inactive_doubts.png","utilities/images/left_sideBar/inactive_icons/inactive_analytics.png","utilities/images/left_sideBar/inactive_icons/inactive_store.png","utilities/images/left_sideBar/inactive_icons/inactive_bookmark.png","utilities/images/left_sideBar/inactive_icons/inactive_transaction.png","utilities/images/header/header_1.png","utilities/images/header/header_2.png","utilities/images/header/header_3.png","utilities/images/header/header_4.png","utilities/images/header/header_5.png","utilities/images/header/header_6.png","utilities/images/header/header_7.png","utilities/images/header/header_8.png","utilities/images/main_logo/dummy_user_img.png","utilities/images/user_dashboard/user_dashboard_3.png","utilities/images/user_profile/user_profile_1.png","utilities/images/user_profile/user_profile_3.png","utilities/images/user_activity/user_activity_1.png","utilities/images/user_activity/user_activity_2.png","utilities/images/user_activity/user_activity_3.png","utilities/images/user_activity/user_activity_4.png","utilities/images/user_activity/user_activity_bookmark_on.png","utilities/images/user_activity/user_activity_bookmark_off.png","utilities/images/user_activity/user_activity_5.png","utilities/images/user_activity/user_activity_6.png","utilities/images/user_activity/user_activity_7.png","utilities/images/user_activity/user_activity_8.png","utilities/images/user_activity/user_activity_back.png","utilities/images/user_chat/user_chat_1.png","utilities/images/user_chat/user_chat_2.png","utilities/images/user_chat/user_chat_3.png","utilities/images/user_activity/user_activity_9.png","utilities/images/user_activity/user_activity_10.png","utilities/images/user_activity/user_activity_11.png","utilities/images/user_activity/user_activity_12.png","utilities/images/evaluation/evaluation_1.png","utilities/images/user_activity/user_activity_13.png","utilities/images/user_activity/new_user_activity_13.png","utilities/images/user_activity/user_activity_14.png","utilities/images/evaluation/evaluation_2.png","utilities/images/evaluation/evaluation_3.png","utilities/images/evaluation/evaluation_4.png","utilities/images/user_dashboard/user_dashboard_10.png","utilities/images/user_dashboard/user_dashboard_11.png","utilities/images/user_dashboard/coin_welcom.png","utilities/images/user_dashboard/rocket_logo.png","utilities/images/user_dashboard/new_coupon.png","utilities/images/user_dashboard/store_motion_coins.png","utilities/images/user_dashboard/store_box.png","utilities/images/user_dashboard/thumbs_up.png","utilities/images/user_activity/user_activity_15.png","utilities/images/user_activity/user_activity_16.png","utilities/images/user_activity/user_activity_17.png","utilities/images/user_activity/user_activity_18.png","utilities/images/user_activity/new_user_activity_18.png","utilities/images/user_activity/user_activity_19.png","utilities/images/user_activity/user_activity_20.png","utilities/images/user_activity/user_activity_21.png","utilities/images/user_activity/user_activity_22.png","utilities/images/user_activity/user_activity_23.png","utilities/images/user_activity/user_activity_56.png","utilities/images/user_activity/user_activity_57.png","utilities/images/user_activity/user_activity_58.png","utilities/images/user_activity/user_activity_59.png","utilities/images/user_activity/user_activity_60.png","utilities/images/user_activity/user_activity_24.png","utilities/images/user_activity/user_activity_25.png","utilities/images/user_activity/user_activity_26.png","utilities/images/user_activity/user_activity_30.png","utilities/images/user_activity/user_activity_31.png","utilities/images/user_activity/mock_test_bit_sat_1.png","utilities/images/user_activity/user_activity_39.png","utilities/images/user_activity/user_activity_40.png","utilities/images/user_activity/user_activity_41.png","utilities/images/user_activity/user_activity_42.png","utilities/images/user_activity/user_activity_43.png","utilities/images/user_activity/user_activity_44.png","utilities/images/store/store_activity_1.png","utilities/images/store/store_link.png","utilities/images/store/terms_and_condition.png","utilities/images/store/store_tick.png","utilities/images/store/new_store_tick.png","utilities/images/store/new_store_tick_list.png","utilities/images/store/store_offer.png","utilities/images/store/info.png","utilities/images/store/store_traning_icon.png","utilities/images/store/store_learning_icon.png","utilities/images/store/store_report_icon.png","utilities/images/store/store_e_learning_icon.png","utilities/images/store/store_video_sol_icon.png","utilities/images/store/store_tabler_report-analytics.png","utilities/images/refund/refund-submit.png","utilities/images/user_activity/user_activity_32.png","utilities/images/user_activity/user_activity_33.png","utilities/images/user_activity/user_activity_34.png","utilities/images/user_activity/user_activity_35.png","utilities/images/user_activity/user_activity_36.png","utilities/images/user_activity/new_user_activity_36.png","utilities/images/user_activity/user_activity_61.png","utilities/images/user_activity/new_chatSendIcon.png","utilities/images/user_activity/user_activity_46.png","utilities/images/user_activity/user_activity_47.png","utilities/images/user_activity/user_activity_48.png","utilities/images/user_activity/user_activity_50.png","utilities/images/user_activity/user_activity_52.png","utilities/images/user_activity/user_activity_53.png","utilities/images/user_activity/user_activity_54.png","utilities/images/user_activity/user_activity_54_1.png","utilities/images/user_activity/user_activity_55.png","utilities/images/user_activity/user_activity_62.png","utilities/images/user_activity/user_activity_63.png","utilities/images/adaptive_cps/acps_banner_plus.png","utilities/images/faculty/physics/Nitin-Vijay-200x200.jpg","utilities/images/faculty/physics/Amit-Verma-200x200.jpg","utilities/images/faculty/physics/Amit-Kumar-Rathore-200x200.jpg","utilities/images/faculty/physics/Pavan-Vijay-1-200x200.jpg","utilities/images/faculty/physics/Durgesh-Pandey-200x200.jpg","utilities/images/faculty/chemistry/Ram-Ratan-Dwivedi-200x200.jpg","utilities/images/faculty/chemistry/Vijay-Pratap-Singh-200x200.jpg","utilities/images/faculty/chemistry/Anurag-Garg-200x200.jpg","utilities/images/faculty/chemistry/Pravesh-Garg-200x200.jpg","utilities/images/faculty/chemistry/Shantanu-Gupta-200x200.jpg","utilities/images/faculty/chemistry/Devki-Nandan-Pathak-200x200.jpg","utilities/images/faculty/chemistry/Harmeet-Singh-Bindra-200x200.jpg","utilities/images/faculty/chemistry/Bharat-Bhushan-Sonakiya-200x200.jpg","utilities/images/faculty/chemistry/Sanjeev-Kumar-Bhadoriya-200x200.jpg","utilities/images/faculty/maths/Nikhil-Srivastav-200x200.jpg","utilities/images/faculty/maths/Arjun-Gupta-1-200x200.jpg","utilities/images/faculty/maths/Aatish-Agarwal-1-200x200.jpg","utilities/images/faculty/maths/Jayant-Chittora-200x200.jpg","utilities/images/faculty/maths/Vipin-Sharma-1-200x200.jpg","utilities/images/faculty/biology/Renu-Singh-200x200.jpg","utilities/images/wallet/backBtn.png","utilities/images/wallet/backBtn1.png","utilities/images/wallet/MotionCoins.png","utilities/images/wallet/wallet_banner.png","utilities/images/wallet/transactions.png","utilities/images/user_activity/upload-file.png","utilities/images/popups/warning.png","utilities/images/popups/profile.png","utilities/images/common_banner/common-banner-logo.png","utilities/images/common_banner/common_banner-ellipse.png","utilities/images/common_banner/common-banner-logo-cps.png","utilities/images/new_live_streaming/chat-icon.png","utilities/images/new_live_streaming/send-btn.png","utilities/images/new_live_streaming/emoji-icon.png","utilities/images/new_live_streaming/eyeview.png","utilities/images/new_live_streaming/greather-than.png","utilities/images/new_live_streaming/rating-icon.png","utilities/images/new_live_streaming/motion-logo.png","utilities/images/new_live_streaming/poll.png","utilities/images/new_live_streaming/poll-icon.png","utilities/images/user_dashboard/exploreCourse.png","utilities/images/user_dashboard/schedule-class-arrow.png","utilities/images/new_login_landing_page/call.png","utilities/images/new_login_landing_page/benifits/right.png","utilities/images/new_login_landing_page/packages/pkg1.png","utilities/images/new_login_landing_page/packages/pkg2.png","utilities/images/new_login_landing_page/packages/pkg3.png","utilities/images/new_login_landing_page/news/news1.png","utilities/images/new_login_landing_page/news/news2.png","utilities/images/new_login_landing_page/news/news3.png","utilities/images/new_login_landing_page/app-details/playstore.png","utilities/images/new_login_landing_page/login/login-page-img.png","utilities/images/new_login_landing_page/why-motion/why-motion-banner.png","utilities/images/new_login_landing_page/why-motion/student-review-icon.png","utilities/images/new_login_landing_page/why-motion/left-arrow-circle.png","utilities/images/new_login_landing_page/why-motion/right-arrow-circle.png","utilities/images/new_login_landing_page/contact-us/contact-us-banner.png","utilities/images/new_login_landing_page/contact-us/mobile-contact-us-banner.png","utilities/images/new_login_landing_page/login/login-closebtn.png","utilities/images/new_login_landing_page/nextImg.png","utilities/images/tick.png","utilities/images/new_login_landing_page/learning_performance.png","utilities/images/new_login_landing_page/coupon.jpg","utilities/images/new_login_landing_page/ph_info.jpg","utilities/images/new_login_landing_page/whatsapp.png","utilities/images/new_login_landing_page/phone-call.png","utilities/images/watch-free-videos/watch-free-videos.png","utilities/images/watch-free-videos/video-icon.png","utilities/images/watch-free-videos/watch-video-right-arrow.png","utilities/images/refer&earn/cash-icon.png","utilities/images/refer&earn/copy-icon.png","utilities/images/refer&earn/check_box_tick.png","utilities/images/refer&earn/exclamationIcon.png","utilities/images/refer&earn/BackBtn.png","utilities/images/refer&earn/successfull.png","utilities/images/refer&earn/invalid.png","utilities/images/refer&earn/watsappIcon.png","utilities/images/refer&earn/shareIcon.png","utilities/images/refer&earn/dropdown.png","utilities/images/left_arrow.png","utilities/images/store/coinImg.png","utilities/images/store/storeBck.png","utilities/images/store/storeRightArrow.png","utilities/images/parent-homepage/studentpic.png","containers/login/login_step_one/login_step_one.js","containers/login/login_step_two/login_step_two.js","containers/signUp/signUp_step_one/signUp_step_one.js","containers/signUp/signUp_step_two/signUp_step_two.js","custom_utilities/baseURL.js","custom_utilities/api_services.js","firebase.js","redux/ui/action_type.js","redux/ui/action.js","redux/auth/action_type.js","redux/auth/action.js","redux/user_preference/action_type.js","redux/user_preference/action.js","containers/signUp/signUp.js","redux/login/LoginSlice.js","redux/blocking_user/BlockUserSlice.js","redux/new_store/action_types.js","redux/new_store/action.js","parent/redux/authSlice/AuthSlice.js","containers/login/login.js","containers/homepage/homepage.js","containers/homepage/LoginSignupModal/LoginSignupModal.jsx","containers/homepage/Navbar/Navbar.js","containers/homepage/Banner/Banner.jsx","containers/homepage/MoreDetails/MoreDetails.jsx","containers/homepage/Courses/Courses.jsx","containers/homepage/Render.jsx","containers/homepage/Benifits/Benifits.jsx","containers/homepage/AppDetails/AppDetails.jsx","containers/homepage/Packages/Packages.jsx","containers/homepage/WhyMotion/WhyMotion.jsx","containers/homepage/MotionNews/MotionNews.jsx","containers/homepage/ContactUs/ContactUs.js","containers/homepage/Footer/Footer.jsx","containers/homepage/ContactBanner/ContactBanner.jsx","containers/homepage/NewHomePage.jsx","containers/signUp2/login_step_one2/login_step_one2.js","containers/signUp2/login_step_two2/login_step_two2.js","containers/signUp2/login.js","containers/parent_login/ParentLoginLayout.js","containers/logged_user_components/structure_components/desktop_screens/header_component/header_left_new/Header_left_new.js","containers/logged_user_components/user_utility_components/preference_selection_modal/preference_selection_modal.js","containers/logged_user_components/structure_components/desktop_screens/header_component/header_left/header_left.js","redux/user_activity/action_type.js","redux/user_activity/action.js","redux/user_tests_exercises/action_type.js","redux/user_tests_exercises/action.js","redux/twilio_chat/action_type.js","redux/twilio_chat/action.js","redux/user_bookmark/action_type.js","redux/user_bookmark/action.js","containers/logged_user_components/structure_components/desktop_screens/header_component/header_right/header_right.js","containers/logged_user_components/structure_components/desktop_screens/header_component/header_component.js","custom_utilities/sideBar_functions.js","containers/logged_user_components/structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component.js","containers/logged_user_components/structure_components/mobile_screens/mobile_header_component/mobile_header_component.js","containers/logged_user_components/structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/dashboard_slider/dashboard_slider.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/subject_collection_view/subject_collection_view.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/last_paused_video/last_paused_video.js","redux/live_video_streaming/LiveVideoStreamingSlice.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/schedule_class/schedule_class.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/dashboard_slider/new_offerings_slider.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/aits_banner/aits_banner.js","components/Modal/CustomModal.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/our_course_package/Our_course_package.js","custom_utilities/toastify_config.js","containers/multiple_login_detected_popup/MultipleLoginDetectModal.js","components/FreeWatchVideosModal/FreeWatchVideosModal.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/ten_hours_free_videos_banner/TenHoursFreeVideosBanner.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/user_dashboard_content_component.js","containers/logged_user_components/structure_components/desktop_screens/footer_component/Footer_component.js","containers/logged_user_components/user_dashboard/user_dashboard.js","containers/logged_user_components/user_profile/user_profile_content_component/user_profile_content_component.js","containers/logged_user_components/user_profile/user_profile.js","containers/logged_user_components/user_edit_profile/refund_modal/RefundModal.js","containers/logged_user_components/user_edit_profile/refund_modal/RefundContainer.js","containers/logged_user_components/user_edit_profile/refund_modal/utils/refundCustomUtils.js","redux/packages_store/refund/RefundPackageSlice.js","containers/logged_user_components/user_edit_profile/refund_modal/RefundSuccessModal.js","containers/logged_user_components/user_edit_profile/user_edit_profile_content_component/user_edit_profile_content_component.js","containers/logged_user_components/user_edit_profile/user_edit_profile.js","containers/logged_user_components/structure_components/desktop_screens/left_sideBar_component/left_sideBar_component.js","containers/logged_user_components/user_transactions/user_transactions_content_component/online_transactions/OnlineTransactions.js","containers/logged_user_components/user_transactions/user_transactions_content_component/offline_transactions/OfflineTransactions.js","containers/logged_user_components/user_transactions/user_transactions_content_component/user_transactions_content_component.js","containers/logged_user_components/user_transactions/user_transactions.js","containers/logged_user_components/user_notifications/user_notifications_content_component/user_notifications_content_component.js","containers/logged_user_components/user_notifications/user_notifications.js","components/canvas_charts/canvas_doughnut_chart/SubjectWiseDoughnut.js","components/canvas_charts/canvas_doughnut_chart/OverallDifficultyWiseProgress.js","components/canvas_charts/canvas_doughnut_chart/CorrectIncorrectDoughnutChart.js","components/canvas_charts/canvas_doughnut_chart/AttemptUnattemptDoughnutChart.js","containers/logged_user_components/user_analytics/overall_strong_and_improve_topics/OverallStrongAndImproveTopics.js","parent/redux/testDataSlice/TestDataSlice.js","containers/logged_user_components/user_analytics/user_analytics_content_component/user_analytics_content_component.js","containers/logged_user_components/user_analytics/user_analytics.js","containers/logged_user_components/user_activity/subject_component/subject_content_component/subject_content_component.js","containers/logged_user_components/user_activity/subject_component/subject_component.js","redux/watched_video_details/WatchedVideoDetailsSlice.js","containers/logged_user_components/user_activity/topic_component/topic_content_component/topic_content_component.js","containers/logged_user_components/user_activity/topic_component/topic_component.js","containers/logged_user_components/user_activity/topic_component/recorded_video_watch_component.js","custom_utilities/NewVideoPlayer1/VideoPlayer/VideoJsPlayer.component.jsx","custom_utilities/NewVideoPlayer1/videoshow.js","custom_utilities/NewVideoPlayer/VideoPlayer/VideoJsPlayer.component.jsx","custom_utilities/NewVideoPlayer/videoshow.js","containers/logged_user_components/features/video_feature/video_feature_content_component/VideoDrmPlayer.js","containers/logged_user_components/features/video_feature/video_feature_content_component/video_feature_content_component.js","containers/logged_user_components/features/video_feature/video_feature.js","containers/logged_user_components/features/live_stream_feature/live_stream_feature_content_component/chat_components/chat_header/chat_header.js","containers/logged_user_components/features/live_stream_feature/live_stream_feature_content_component/chat_components/chat_container/chat_container.js","containers/logged_user_components/features/live_stream_feature/live_stream_feature_content_component/chat_components/chat_footer/chat_footer.js","containers/logged_user_components/features/live_stream_feature/live_stream_feature_content_component/chat_components/chat_components.js","containers/logged_user_components/features/live_stream_feature/live_stream_feature_content_component/live_stream_feature_content_component.js","containers/logged_user_components/features/live_stream_feature/live_stream_feature.js","containers/logged_user_components/features/notes_feature/notes_feature_content_component/ControlPanel.js","containers/logged_user_components/features/notes_feature/notes_feature_content_component/notes_feature_content_component.js","containers/logged_user_components/features/notes_feature/notes_feature.js","containers/logged_user_components/features/live_web_chat_feature/live_web_chat_feature_content_component/chat_components/chat_header/chat_header.js","containers/logged_user_components/features/live_web_chat_feature/live_web_chat_feature_content_component/chat_components/chat_container/chat_container.js","containers/logged_user_components/features/live_web_chat_feature/live_web_chat_feature_content_component/chat_components/chat_footer/chat_footer.js","containers/logged_user_components/features/live_web_chat_feature/live_web_chat_feature_content_component/chat_components/chat_components.js","containers/logged_user_components/features/live_web_chat_feature/live_web_chat_feature_content_component/live_web_chat_feature_content_component.js","containers/logged_user_components/features/live_web_chat_feature/live_web_chat_feature.js","custom_utilities/third_party_config.js","containers/logged_user_components/features/live_stream_video_feature/live_stream_video_feature_content_component/recorded_live_stream_video_list_view/recorded_live_stream_video_list_view.js","containers/logged_user_components/features/live_stream_video_feature/live_stream_video_feature_content_component/recorded_live_stream_video_view/recorded_live_stream_video_view.js","containers/logged_user_components/features/live_stream_video_feature/live_stream_video_feature_content_component/live_stream_video_feature_content_component.js","containers/logged_user_components/features/live_stream_video_feature/live_stream_video_feature.js","containers/logged_user_components/user_store/user_store_content_component/store_components/package_offering_component/package_offering_component.js","redux/payment_gateway/action.js","containers/logged_user_components/user_edit_profile/user_edit_profile_content_component/update_email/EmailUpdateModal.js","custom_utilities/ccavence_payment/CcAvenuePayment.js","containers/logged_user_components/user_store/user_store_content_component/store_components/modal/Coupons/CouponList.js","containers/logged_user_components/user_store/user_store_content_component/store_components/modal/TermsAndCondition/TermsAndCondition.js","containers/logged_user_components/user_store/user_store_content_component/store_components/modal/FacultyDetail/FacultyDetail.js","containers/logged_user_components/user_store/user_store_content_component/store_components/package_details_component/package_details_component.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/HandBooks.js","redux/packages_store/PackageSlice.js","containers/logged_user_components/user_store/user_store_content_component/user_store_content_component.js","containers/logged_user_components/user_store/user_store.js","containers/logged_user_components/user_store/user_store_content_component/store_components/package_details_component/package_overview/TermsAndConditionModal.js","custom_utilities/spinner/Spinner.js","containers/logged_user_components/user_store/user_store_content_component/store_components/package_details_component/package_overview/PriceAndPurchase.js","containers/logged_user_components/user_store/user_store_content_component/store_components/package_details_component/package_overview/PackageOverview.js","containers/logged_user_components/user_create_doubt/user_create_doubt_content_component/user_create_doubt_content_component.js","containers/logged_user_components/user_create_doubt/user_create_doubt.js","custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer.js","hooks/useMathjax.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/buttons/CreateNewDoubtBtn.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/no_doubts/NoDoubt.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/answered_doubts/AnsweredDoubtItem.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/unanswered_doubts/UnAnsweredDoubtItem.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/scanned_doubts/ScannedDoubtItem.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/modals/CreateDoubtModal.js","custom_utilities/AudioPlayer/AudioPlayer.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/modals/FullScreenImageModal.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/modals/DoubtDetailModal.js","containers/logged_user_components/user_doubts/user_doubts_content_component/doubtsView/doubtsView.js","containers/logged_user_components/user_doubts/user_doubts_content_component/user_doubts_content_component.js","containers/logged_user_components/user_doubts/user_doubts.js","containers/logged_user_components/evaluation_components/exercise_related_components/exercise_Test_component/exerciseTest_content_component/test_instructions_view/test_instructions_view.js","hooks/useStopwatch.js","containers/logged_user_components/evaluation_components/exercise_related_components/exercise_Test_component/exerciseTest_content_component/test_questions_view/test_questions_view.js","components/RewardModal/RewardModal.js","components/CoinUsesModal/CoinUsesModal.js","containers/logged_user_components/evaluation_components/exercise_related_components/exercise_Test_component/exerciseTest_content_component/test_content_component.js","containers/logged_user_components/evaluation_components/exercise_related_components/exercise_Test_component/exercise_test_component.js","containers/logged_user_components/structure_components/desktop_screens/header_component_two/header_left/header_left.js","containers/logged_user_components/structure_components/desktop_screens/header_component_two/header_right/header_right.js","containers/logged_user_components/structure_components/desktop_screens/header_component_two/header_component_two.js","containers/logged_user_components/evaluation_components/exercise_related_components/exercise_result_component/exercise_result_component.js","containers/logged_user_components/evaluation_components/test_related_components/test_component/test_content_component/test_instructions_view/test_instructions_view.js","containers/logged_user_components/evaluation_components/test_related_components/test_component/test_content_component/test_questions_view/list.svg","containers/logged_user_components/evaluation_components/test_related_components/test_component/test_content_component/test_questions_view/grid.svg","containers/logged_user_components/evaluation_components/test_related_components/test_component/test_content_component/test_questions_view/list1.svg","containers/logged_user_components/evaluation_components/test_related_components/test_component/test_content_component/test_questions_view/grid1.svg","containers/logged_user_components/evaluation_components/test_related_components/test_component/test_content_component/test_questions_view/test_questions_view.js","containers/logged_user_components/evaluation_components/test_related_components/test_component/test_content_component/test_content_component.js","containers/logged_user_components/evaluation_components/test_related_components/test_component/test_component.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_result_questions_view/test_result_questions_view.js","components/canvas_charts/canvas_doughnut_chart/CanvasDoughnutChart3.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/Test_summary_page.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_result_content_component.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_component.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_test_component/test_content_component/test_instructions_view/test_instructions_view.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_test_component/test_content_component/test_questions_view/list.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_test_component/test_content_component/test_questions_view/grid.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_test_component/test_content_component/test_questions_view/list1.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_test_component/test_content_component/test_questions_view/grid1.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_test_component/test_content_component/test_questions_view/test_questions_view.js","redux/pyq_test_exercises/action_type.js","redux/pyq_test_exercises/action.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_test_component/test_content_component/test_content_component.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_test_component/pyq_test_component.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_test__TopicWise_component/test_content_component/test_instructions_view/test_instructions_view.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_test__TopicWise_component/test_content_component/test_questions_view/list.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_test__TopicWise_component/test_content_component/test_questions_view/grid.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_test__TopicWise_component/test_content_component/test_questions_view/list1.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_test__TopicWise_component/test_content_component/test_questions_view/grid1.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_test__TopicWise_component/test_content_component/test_questions_view/test_questions_view.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_test__TopicWise_component/test_content_component/test_content_component.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_test__TopicWise_component/pyq_test_component.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_practiseTest_component/test_content_component/test_instructions_view/test_instructions_view.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_practiseTest_component/test_content_component/test_questions_view/list.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_practiseTest_component/test_content_component/test_questions_view/grid.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_practiseTest_component/test_content_component/test_questions_view/list1.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_practiseTest_component/test_content_component/test_questions_view/grid1.svg","containers/logged_user_components/evaluation_components/test_related_components/pyq_practiseTest_component/test_content_component/test_questions_view/test_questions_view.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_practiseTest_component/test_content_component/test_content_component.js","containers/logged_user_components/evaluation_components/test_related_components/pyq_practiseTest_component/pyq_test_component.js","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/pyq_solution_components/list.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/pyq_solution_components/grid.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/pyq_solution_components/list1.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/pyq_solution_components/grid1.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/pyq_solution_components/PyqQuestionPaperSolutionContent.js","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/pyq_solution_components/PyqQuestionPaperSolution.js","containers/logged_user_components/user_exercise_test/user_exercise_test_content_component/user_exercise_test_content_component.js","containers/logged_user_components/user_exercise_test/user_exercise_test.js","redux/pyq_daily_challenge/action_type.js","redux/pyq_daily_challenge/action.js","containers/logged_user_components/PYQ_CPS_Exam/pyqCpsExamComponent/PyqCpsExamContentComponent/previous_question_paper/Previous_question_paper.js","containers/logged_user_components/PYQ_CPS_Exam/pyqCpsExamComponent/PyqCpsExamContentComponent/customized_practice_sheet/Customized_practise_sheet.js","redux/online-test_series/action_type.js","redux/online-test_series/action.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/modals/InstructionModal.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/modals/SyllabusModal.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/OtsAnalytics.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/OtsTestComponent.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/exam_cracker.js","redux/mock_test_exercise/action_type.js","redux/mock_test_exercise/action.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockMain&Adv&NeetComponent/mockTestAdvance.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockMain&Adv&NeetComponent/mockTestMain.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockMain&Adv&NeetComponent/mockTestNeet.js","containers/logged_user_components/user_exercise_test/user_mock_test/mock_test.js","redux/bit_sat_test_exercises/action_type.js","redux/bit_sat_test_exercises/action.js","containers/logged_user_components/user_exercise_test/user_bit_sat/bit_sat.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptive-cps-create/AdaptiveCpsCreatePaper.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptive-cps-custom-papers/subjectSelection/SubjectSelection.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptive-cps-custom-papers/customPaperBox/CustomPaperBox.js","redux/adaptive_cps/actionTypes.js","redux/adaptive_cps/action.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptive-cps-custom-papers/AdaptiveCpsCustomPapers.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsContent/zeroAttemptsAlert/ZeroAttemptsAlert.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsContent/adaptiveCpsSubjects/AdaptiveCpsSubjects.js","containers/logged_user_components/PYQ_CPS_Exam/pyqCpsExamComponent/PyqCpsExamContentComponent/CommonBannerComponent.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsContent/AdaptiveCpsContent.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/AdaptiveCps.js","containers/logged_user_components/PYQ_CPS_Exam/pyqCpsExamComponent/PyqCpsExamContentComponent/PyqCpsExamContentComponent.js","containers/logged_user_components/PYQ_CPS_Exam/pyqCpsExamComponent/PyqCpsExam.js","containers/logged_user_components/PYQ_CPS_Exam/pyqSubjectTopicComponent/pyqSubjectTopicContent/pyqSubjectTopicContent/PyqSubjectTopicContent.js","containers/logged_user_components/PYQ_CPS_Exam/pyqSubjectTopicComponent/pyqSubjectTopicContent/Pyq_subject_topic.js","containers/logged_user_components/PYQ_CPS_Exam/cpsSubjectTopicComponent/cpsSubjectTopicContent/cpsSubjectTopicContent/CpsSubjectTopicContent.js","containers/logged_user_components/PYQ_CPS_Exam/cpsSubjectTopicComponent/cpsSubjectTopicContent/Cps_subject_topic.js","containers/logged_user_components/PYQ_CPS_Exam/cpsSubjectSubTopicComponent/cpsSubjectSubTopicContent/cpsSubjectTopicContent/CpsSubjectSubTopicContent.js","containers/logged_user_components/PYQ_CPS_Exam/cpsSubjectSubTopicComponent/cpsSubjectSubTopicContent/Cps_subject_SubTopic.js","containers/logged_user_components/PYQ_CPS_Exam/pyqCpsExamTestScreen/pyqCpsExamTestComponent/PyqCpsExamTestComponent.js","containers/logged_user_components/PYQ_CPS_Exam/pyqCpsExamTestScreen/PyqCpsExamTest.js","containers/logged_user_components/evaluation_components/test_related_components/cps_test_component/test_content_component/test_instructions_view/test_instructions_view.js","containers/logged_user_components/evaluation_components/test_related_components/cps_test_component/test_content_component/test_questions_view/test_questions_view.js","redux/cps_test_exercises/action_type.js","redux/cps_test_exercises/action.js","containers/logged_user_components/evaluation_components/test_related_components/cps_test_component/test_content_component/cps_test_content_component.js","containers/logged_user_components/evaluation_components/test_related_components/cps_test_component/cps_test_component.js","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/cps_solution_components/list.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/cps_solution_components/grid.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/cps_solution_components/list1.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/cps_solution_components/grid1.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/cps_solution_components/CpsQuestionPaperSolutionContent.js","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/cps_solution_components/CpsQuestionPaperSolution.js","containers/logged_user_components/Pyq_daily_challenge/PyqDailyChallengeContent.js","containers/logged_user_components/Pyq_daily_challenge/Pyq_daily_challenge.js","containers/logged_user_components/Pyq_daily_challenge/PyqDailyTestInstructionView.js","containers/logged_user_components/Pyq_daily_challenge/list.svg","containers/logged_user_components/Pyq_daily_challenge/grid.svg","containers/logged_user_components/Pyq_daily_challenge/list1.svg","containers/logged_user_components/Pyq_daily_challenge/grid1.svg","containers/logged_user_components/Pyq_daily_challenge/PyqDailyTestQuestionsView.js","containers/logged_user_components/Pyq_daily_challenge/PyqDailyTestContentComponent.js","containers/logged_user_components/Pyq_daily_challenge/PyqDailyTestComponent.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/free_ots/FreeOtsTest.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_custom_utilities/Alert/Alert.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/premium_ots/PremiumOtsTest.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/OtsTestListComponent.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/OtsTestSummaryPage.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/OtsTestResultContentComponent.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/OtsTestResultComponent.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_subject_topic_wise/ots_subject_wise/ots_subject_wise_charts/OtsSubjectChart.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_subject_topic_wise/ots_subject_wise/OtsSubjectWise.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_subject_topic_wise/ots_topic_wise/OtsTopicWise.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_subject_topic_wise/OtsSubjectTopicWise.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_payment_components/OtsPaymentComponent.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/modals/RegistrationModal.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/OtsTestInstructionsView.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/OtsTestQuestionsView.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_tests/ots_test_content_component/ots_test_sps/OtsTestContentComponent.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_attempted_accuracy/OtsAccuracyAttempted.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_difficultylevel/OtsDifficultyLevelCircularProgress.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_difficultylevel/OtsDifficultyLevel.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_behaviour/OtsBehaviourChart.js","components/canvas_charts/canvas_doughnut_chart/ScatterChart.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_behaviour/OtsBehaviour.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_question_paper_solution/OtsQuestionPaperSolutionContent.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots_analytics_components/ots_result_components/ots_question_paper_solution/OtsQuestionPaperSolution.js","containers/logged_user_components/static_pages/privacy_policy/privacy_policy_content_component/privacy_policy_content_component.js","containers/logged_user_components/static_pages/privacy_policy/privacy_policy.js","containers/logged_user_components/static_pages/terms_n_condition/terms_n_condition_content_component/terms_n_condition_content_component.js","containers/logged_user_components/static_pages/terms_n_condition/terms_n_condition.js","containers/logged_user_components/static_pages/faqs/faqs_content_component/faqs_content_component.js","containers/logged_user_components/static_pages/faqs/faqs.js","containers/logged_user_components/static_pages/about_us/about_us_content_component/about_us_content_component.js","containers/logged_user_components/static_pages/about_us/about_us.js","containers/logged_user_components/static_pages/contact_us/contact_us_content_component/ConfirmationMessage.js","containers/logged_user_components/static_pages/contact_us/contact_us_content_component/contact_us_content_component.js","containers/logged_user_components/static_pages/contact_us/contact_us.js","containers/logged_user_components/static_pages/helpAndSupport/supportCenterInfo/SupportCenterInfo.js","containers/logged_user_components/static_pages/helpAndSupport/chatbox/InitialScreen.js","containers/logged_user_components/static_pages/helpAndSupport/chatbox/SecondScreen.js","containers/logged_user_components/static_pages/helpAndSupport/chatbox/Chatbox.js","containers/logged_user_components/static_pages/helpAndSupport/HelpAndSupport.js","containers/logged_user_components/static_pages/all_pageTabing/All_page_content.js","containers/logged_user_components/user_bookmarks/user_bookmarks_content_component/user_bookmarks_content_component.js","containers/logged_user_components/user_bookmarks/user_bookmarks.js","containers/logged_user_components/user_bookmarks/user_bookmarks_content_component/bookmark_view_component/bookmark_view_content_component/bookmark_view_questions_view/bookmark_view_questions_view.js","containers/logged_user_components/user_bookmarks/user_bookmarks_content_component/bookmark_view_component/bookmark_view_content_component/bookmark_view_content_component.js","containers/logged_user_components/user_bookmarks/user_bookmarks_content_component/bookmark_view_component/bookmark_view_component.js","containers/logged_user_components/user_bookmarks/user_bookmarks_content_component/bookmark_view_component/bookmark_view_content_component/bookmark_view_questions_view/bookmarkTestQuestionsView/BookmarkTestViewQuestions.js","containers/logged_user_components/user_bookmarks/user_bookmarks_content_component/bookmark_view_component/bookmark_view_content_component/bookmark_view_questions_view/bookmarkTestQuestionsView/BookmarkTestViewContentComponent.js","containers/logged_user_components/user_bookmarks/user_bookmarks_content_component/bookmark_view_component/bookmark_view_content_component/bookmark_view_questions_view/bookmarkTestQuestionsView/BookmarkTestViewComponent.js","containers/logged_user_components/user_create_custom_question_bank/user_create_custom_question_bank_content_component/user_create_custom_question_bank_content_component.js","containers/logged_user_components/user_create_custom_question_bank/user_create_custom_question_bank.js","components/canvas_charts/canvas_doughnut_chart/SubjectWiseMarks.js","components/canvas_charts/canvas_doughnut_chart/RankDoughnutChart.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/testWise/SubjectWiseMarks.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/testWise/TopicWiseMarks.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/testWise/SubjectTopicWiseMarks.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/Attempt_Accuracy/AccuracyAttempt.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/Difficulty_Level/Difficult_Level_Circular_Progress.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/Difficulty_Level/DifficultyLevel.js","components/canvas_charts/canvas_doughnut_chart/BehaviourDoughnutChart.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/Behaviour/Behaviour.js","containers/logged_user_components/evaluation_components/test_related_components/Question_paper_solution/QuestionPaperSolution/Question_paper_solution.js","containers/logged_user_components/evaluation_components/test_related_components/Question_paper_solution/QuesPaperSol_content.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/CpsSummary/CpsSummary.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_result_content_component/test_summary_page/PyqSummary/PyqSummary.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestInstructionView/examCrackerTestInstructionView.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionListPanel/questionStatusLabel/QuestionStatusLabel.js","utilities/images/test-screens/GridIcon.js","utilities/images/test-screens/ListIcon1.js","utilities/images/test-screens/GridIcon1.js","utilities/images/test-screens/ListIcon.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionListPanel/QuestionListPanel.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionDetailPanel/progressIndicator/ProgressIndicator.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionDetailPanel/questionInfoSection/QuestionInfoSection.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionDetailPanel/questionOptions/QuestionOptions.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionDetailPanel/questionSwitcher/QuestionSwitcher.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionDetailPanel/questionSolution/QuestionSolution.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionDetailPanel/questionVideoSolution/QuestionVideoSolution.js","hooks/useReportAndError.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/questionDetailPanel/QuestionDetailPanel.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestQuestionView/examCrackerTestQuestionView.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestContentComponent/examCrackerTestContentComponent.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerTestComponent/examCrackerTestComponent.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/exam_cracker_payment_page/exam_cracker_payment_page.js","redux/exam_cracker_test_exercises/action_types.js","redux/exam_cracker_test_exercises/action.js","containers/logged_user_components/user_exercise_test/user_exam_cracker/examCrackerSubjectTopicLists/examCrackerSubjectTopicLists.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestContentComponent/mockTestInstructionView/mockTestInstructionView.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestContentComponent/mockTestQuestionView/list.svg","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestContentComponent/mockTestQuestionView/grid.svg","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestContentComponent/mockTestQuestionView/list1.svg","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestContentComponent/mockTestQuestionView/grid1.svg","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestContentComponent/mockTestQuestionView/mockTestQuestionView.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestContentComponent/mockTestContentComponent.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestComponent.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockTestComponent/mockTestContentComponent/mockTestSummary/mockTestSummary.js","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/mock_solution_components/list.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/mock_solution_components/grid.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/mock_solution_components/list1.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/mock_solution_components/grid1.svg","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/mock_solution_components/MockQuestionPaperSolutionContent.js","containers/logged_user_components/evaluation_components/test_related_components/question_paper_solution_components/mock_solution_components/MockQuestionPaperSolution.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockPracticeTestComponent/mockPracticeTestContentComponent/mockTestInstructionView/mockTestPracticeInstructionView.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockPracticeTestComponent/mockPracticeTestContentComponent/mockTestQuestionView/list.svg","containers/logged_user_components/user_exercise_test/user_mock_test/mockPracticeTestComponent/mockPracticeTestContentComponent/mockTestQuestionView/grid.svg","containers/logged_user_components/user_exercise_test/user_mock_test/mockPracticeTestComponent/mockPracticeTestContentComponent/mockTestQuestionView/list1.svg","containers/logged_user_components/user_exercise_test/user_mock_test/mockPracticeTestComponent/mockPracticeTestContentComponent/mockTestQuestionView/grid1.svg","containers/logged_user_components/user_exercise_test/user_mock_test/mockPracticeTestComponent/mockPracticeTestContentComponent/mockTestQuestionView/mockTestPracticeQuestionView.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockPracticeTestComponent/mockPracticeTestContentComponent/mockPracticeTestContentComponent.js","containers/logged_user_components/user_exercise_test/user_mock_test/mockPracticeTestComponent/mockPracticeTestComponent.js","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatTestInstructionView/bitSatTestInstructionView.js","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatTestQuestionsView/bitSatTestQuestionsView.js","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatTestContentComponent.js","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestComponent.js","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatSummary/bitSatSummary.js","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatQuestionPaperSolution/list.svg","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatQuestionPaperSolution/grid.svg","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatQuestionPaperSolution/list1.svg","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatQuestionPaperSolution/grid1.svg","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatQuestionPaperSolution/bitSatQuestionPaperSolutionContent.js","containers/logged_user_components/user_exercise_test/user_bit_sat/bitSatTestComponent/bitSatTestContentComponent/bitSatQuestionPaperSolution/bitSatQuestionPaperSolution.js","custom_utilities/ccavence_payment/CcAvenueResponse.js","containers/logged_user_components/user_questions_bank/QuestionBankCreatePaper/QuestionBankCreatePaper.js","redux/question_bank/action_type.js","redux/question_bank/action.js","containers/logged_user_components/user_questions_bank/QuestionBankCustomPapers/QuestionBankCustomPapers.js","containers/logged_user_components/user_questions_bank/QuestionBank.js","containers/logged_user_components/user_questions_bank/QuestionBankCreatePaper/QuestionBankCreateForm.js","containers/logged_user_components/user_questions_bank/question_bank_test_components/question_bank_test_content_components/question_bank_test_intructions/QuestionBankTestInstructionView.js","containers/logged_user_components/user_questions_bank/question_bank_test_components/question_bank_test_content_components/question_bank_test_questions/QuestionBankTestQuestionsView.js","containers/logged_user_components/user_questions_bank/question_bank_test_components/question_bank_test_content_components/QuestionBankTestContentComponent.js","containers/logged_user_components/user_questions_bank/question_bank_test_components/QuestionBankTestComponent.js","containers/logged_user_components/user_questions_bank/question_bank_solution/list.svg","containers/logged_user_components/user_questions_bank/question_bank_solution/grid.svg","containers/logged_user_components/user_questions_bank/question_bank_solution/list1.svg","containers/logged_user_components/user_questions_bank/question_bank_solution/grid1.svg","containers/logged_user_components/user_questions_bank/question_bank_solution/QuestionBankSolutionContent.js","containers/logged_user_components/user_questions_bank/question_bank_solution/QuestionBankSolution.js","containers/logged_user_components/user_exercise_test/user_ots_test_series/ots_analytics/ots-summary/OtsSummary.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestInstructions/adaptiveCpsTestInstructionView/AdaptiveCpsTestInstructionView.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestInstructions/AdaptiveCpsTestInstructions.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionDetailPanel/questionInfoSection/QueInfo.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionDetailPanel/questionOptions/QueOptions.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionDetailPanel/questionSwitcher/QueSwitcher.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionDetailPanel/questionSolution/QueSolution.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionDetailPanel/reportErrorModal/RptErrorModal.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionDetailPanel/QVideoSolution/QVideoSolution.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionDetailPanel/QuestionDetailPanel.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionListPanel/questionStatusLabel/QueLabel.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/questionListPanel/QuestionListPanel.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/adaptiveCpsTestQuestionsView/AdaptiveCpsTestQuestionsView.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/adaptiveCpsTestQuestions/AdaptiveCpsTestQuestions.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/adaptiveCpsTestContent/AdaptiveCpsTestContent.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/AdaptiveCpsTest.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/test-components/test-results-components/AdaptiveCpsTestResults.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/questionDetailPanel/questionOptions/QueOptions.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/questionDetailPanel/questionInfoSection/QueInfo.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/questionDetailPanel/questionSolution/QueSolution.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/questionDetailPanel/questionSwitcher/QueSwitcher.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/questionDetailPanel/questionViewVideoSolution/QuestionViewVideoSolution.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/questionDetailPanel/QuestionDetailPanel.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/questionListPanel/questionStatusLabel/QuestionStatusLabel.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/questionListPanel/QuestionListPanel.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolutionContent/AdaptiveCpsViewSolutionContent.js","containers/logged_user_components/user_exercise_test/user_adaptive_cps/components/home-components/adaptiveCpsViewSolution/AdaptiveCpsViewSolution.js","parent/parentHeader/parentHeaderLeft/ParentHeaderLeft.js","parent/parentHeader/parentHeaderRight/ParentHeaderRight.js","parent/parentHeader/ParentHeader.js","parent/user-attendance/StudentAttendanceContent.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/cart_collection/yourOrderComponent/YourOrderComponent.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/cart_collection/added_to_cart/AddedToCart.js","redux/handbook_payment_gateway/action_type.js","redux/handbook_payment_gateway/action.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/handBooks_cc_avenue_payment/HandBooksCcAvenuePayment.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/cart_collection/orderReview/OrderReview.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/cart_collection/filling_address/FillingAddress.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/circle/Circle.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/cart_collection/CartCollection.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/cart_details/CartDetails.js","containers/logged_user_components/user_store/user_store_content_component/handBooks/cart_details/wish_list_collection/WishListCollection.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionViewComponent/questionViewContentComponent/questionListPanel/QuestionListPanel.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionViewComponent/questionViewContentComponent/questionDetailPanel/questionInfoSection/QuestionInfoSection.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionViewComponent/questionViewContentComponent/questionDetailPanel/questionOptions/QuestionOptions.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionViewComponent/questionViewContentComponent/questionDetailPanel/questionSwitcher/QuestionSwitcher.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionViewComponent/questionViewContentComponent/questionDetailPanel/questionSolution/QuestionSolution.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionViewComponent/questionViewContentComponent/questionDetailPanel/QuestionDetailPanel.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionViewComponent/questionViewContentComponent/QuestionViewContentComponent.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionViewComponent/QuestionViewComponent.js","parent/studentTestReportPdf/StudentTestReportPdf.js","parent/studentTestReportPdf/Pdf.js","parent/footer/Footer.js","parent/parentContentComponent/allTestsPerformanceReportTabel/AllTestsPerformanceReportTabel.js","parent/parentContentComponent/studentProfile/StudentProfile.js","parent/parentContentComponent/ParentContentComponent.js","parent/Parent.js","parent/tests/testsContentComponent/testReport/testReportContentComponent/questionClassWiseTabel/QuestionClassWiseTable.js","parent/tests/testsContentComponent/testReport/testReportContentComponent/testSummaryTabel/TestSummaryTable.js","parent/tests/testsContentComponent/testReport/testReportContentComponent/improvementsSuggestions/ImprovementsSuggestions.js","parent/tests/testsContentComponent/testReport/testReportContentComponent/TestReportContentComponent.js","parent/tests/testsContentComponent/testReport/TestReport.js","parent/tests/testsContentComponent/topicWiseAnalysis/topicWiseAnalysisContentComponent/TopicWiseAnalysisContentComponent.js","parent/tests/testsContentComponent/topicWiseAnalysis/TopicWiseAnalysis.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionWiseAnalysisContentComponent/singleQuestionDetails/SingleQuestionDetails.js","parent/tests/testsContentComponent/questionWiseAnalysis/questionWiseAnalysisContentComponent/QuestionWiseAnalysisContentComponent.js","parent/tests/testsContentComponent/questionWiseAnalysis/QuestionWiseAnalysis.js","parent/tests/testsContentComponent/topperComparision/topperComparisonContentComponent/TopperComparisonContentComponent.js","parent/tests/testsContentComponent/topperComparision/TopperComparision.js","parent/tests/testsContentComponent/predictCollege/predictCollegeContentComponent/PredictCollegeContentComponent.js","parent/tests/testsContentComponent/predictCollege/PredictCollege.js","parent/tests/testsContentComponent/TestsContentComponent.js","parent/tests/testWiseAnalysis/TestWiseAnalysis.js","parent/tests/Tests.js","containers/logged_user_components/Wallet/WalletComponent/WalletContentComponent/WalletContentComponent.js","containers/logged_user_components/Wallet/WalletComponent/Wallet.js","containers/logged_user_components/user_refer_earn/courseEnrollmentTermsAndConditions/CourseEnrollmentTermsAndConditions.js","redux/refer_earn/ReferAndEarnSlice.js","containers/logged_user_components/user_refer_earn/ReferAndEarnModals/Api.js","containers/logged_user_components/user_refer_earn/utils.js","containers/logged_user_components/user_refer_earn/referFrndBanner/ReferFrndBanner.js","containers/logged_user_components/user_refer_earn/howItWorks/HowItWorks.js","containers/logged_user_components/user_refer_earn/faqs/Faqs.js","containers/logged_user_components/user_refer_earn/copyCode/CopyCode.js","utilities/images/refer&earn/facebook.png","utilities/images/refer&earn/fluent_copy.png","utilities/images/refer&earn/email.png","utilities/images/refer&earn/linkedin.png","containers/logged_user_components/user_refer_earn/referalList/ReferalCard/ReferalCard.js","containers/logged_user_components/user_refer_earn/ReferAndEarnModals/UpiDetails/UpiDetails.js","containers/logged_user_components/user_refer_earn/ReferAndEarnModals/BankDetails/BankDetails.js","containers/logged_user_components/user_refer_earn/ReferAndEarnModals/VerifyDetails/VerifyDetails.js","containers/logged_user_components/user_refer_earn/ReferAndEarnModals/Successful/Successful.js","containers/logged_user_components/user_refer_earn/ReferAndEarnModals/Cancel/Cancel.js","containers/logged_user_components/user_refer_earn/referalList/ReferalList.js","containers/logged_user_components/user_refer_earn/Animation/Animation.js","containers/logged_user_components/user_refer_earn/ReferAndEarnContent.js","containers/logged_user_components/user_refer_earn/ReferAndEarn.js","containers/logged_user_components/evaluation_components/test_related_components/test_result_component/test_summary/ExamTestSummary.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/schedule_class/streaming_video/chatting_box/Avatar.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/schedule_class/streaming_video/chatting_box/Emoji.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/schedule_class/streaming_video/chatting_box/Chatting.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/schedule_class/streaming_video/StreamingVideoDetails.js","containers/logged_user_components/user_dashboard/user_dashboard_content_component/dashboard_utlility_components/schedule_class/streaming_video/StreamingVideo.js","containers/homepage/Footer/PrivacyPolicyComponent.js","containers/homepage/Store/TermsAndCondition/TermsAndCondition.js","containers/homepage/Store/FacultyDetail/FacultyDetail.js","containers/homepage/Store/PackagesOverview/PackagesOverview.jsx","routes/routes_data.js","routes/redirect.js","routes/private.js","routes/public.js","custom_utilities/custom_logout/InactivityLogout.js","containers/blocking_access_to_app/BlockedtoAccessApp.js","containers/homepage/Footer/About_us_component.js","containers/homepage/Footer/Terms_n_condition_component.js","containers/homepage/All_page_tabing/All_page_content.js","containers/homepage/Store/StoreBanner/StoreBanner.jsx","containers/homepage/Store/Store.jsx","routes/routes.js","custom_utilities/config.js","app/app.js","redux/ui/reducer.js","redux/auth/reducer.js","redux/user_preference/reducer.js","redux/user_activity/reducer.js","redux/twilio_chat/reducer.js","redux/user_tests_exercises/reducer.js","redux/pyq_test_exercises/reducer.js","redux/cps_test_exercises/reducer.js","redux/online-test_series/reducer.js","redux/user_bookmark/reducer.js","redux/exam_cracker_test_exercises/reducer.js","redux/mock_test_exercise/reducer.js","redux/bit_sat_test_exercises/reducer.js","redux/payment_gateway/reducer.js","redux/new_store/reducer.js","redux/handbook_payment_gateway/reducer.js","redux/question_bank/reducer.js","redux/adaptive_cps/reducer.js","parent/redux/store/store.js","redux/pyq_daily_challenge/reducer.js","redux/multiple_login_detect/MultipleLoginDetectSlice.js","redux/reducers.js","redux/store/store.js","index.js"],"names":["isEmpty","value","undefined","Object","keys","length","trim","sliceString","str","startIndex","endIndex","slice","splitString","direction","splittedString","split","generateRandomId","Math","floor","random","checkXSSAttackThroughInput","convertedToSmallCharacters","toLowerCase","XSSAttacksList","keyword","includes","alert","backGroundColorFromBackend","color_code","colorCode","background","textColorFromBackend","text_color","color","withRupeeSymbol","Number","isInteger","round","toFixed","LoaderPopUp","_jsx","Fragment","children","className","Loader","type","width","height","module","exports","connect","state","liveStreamData","userActivity","loader","ui","userData","auth","user","userPreference","props","history","console","log","useEffect","ZoomMtg","setZoomJSLib","preLoadWasm","prepareWebSDK","joinMeeting","decrypt_functionality","val","CryptoJS","require","encrypted","key","atob","JSON","parse","iv","enc","Base64","decrypted","AES","decrypt","toString","Utf8","element","meetConfig","meetingNumber","zoom_id","leaveUrl","userEmail","zoom_email","passWord","password","apiKey","api_key","apiSecretKey","api_secret_key","sdkKey","sdk_key","sdkSecretKey","sdk_secret_key","generateSDKSignature","sdkSecret","role","success","res","result","document","getElementById","style","display","init","isSupportAV","join","signature","userName","roll_no","name","error","images","new_pdf","new_download","new_empty_star","new_full_star","new_send","new_small_empty_star","new_small_full_star","new_likes","new_liked","new_report","new_folder_warning","new_options","edit_note","delete_note","multi","bookmark","noBookmark","rating","M2Doubts","M2Doubts2","doubts_no_data","plus_icon","M2Video","M2Notification","m2_logo","m2_lvCls","m2_tstAnls","m2_ulmtDts","m2_loginIcon","m2_googlePlay","m2_jee","m2_neet","m2_foundation","m2_live","m2_dpp","m2_video","m2_tests","m2_notes","m2_testSeries","m2_upArrow","m2_rgtArr","new_m2_rgtArow","new_m2_rgtArr_blk","new_warning_icon","notification","m2_search","right_Ar","down_ar","locked_symbol","close_btn","m2_slider1","m2_institute","m2_target","m2_rgtArow","m2_rgtArow1","m2_rgtArow2","m2_bkmark","m2_bkNulTest","m2_bkNulExr","m2_bkNulDp","m2_bkVdo","m2_store","m2_video_ntF","new_m2_video_ntF","new_m2_test_ntF","m2_backBtn","m2_complete","m2_rank","m2_marks","m2_exit","m2_exit1","m2_language","m2_seeAll","motion_logo","motion_logo_svg","motion_logo_new","navonmesh_logo","homepage_2","homepage_3","homepage_4","homepage_5","homepage_6","homepage_7","homepage_9","expert_1","expert_2","expert_3","homepage_10","homepage_11","homepage_12","homepage_13","homepage_14","homepage_15","homepage_16","homepage_17","homepage_18","homepage_20","login_1","login_2","login_3","signUp_1","signUp_2","signUp_3","signUp_4","active_home","active_exercise","active_doubts","active_analytics","active_store","active_bookmark","active_transaction","inactive_home","inactive_exercise","inactive_doubts","inactive_analytics","inactive_store","inactive_bookmark","inactive_transaction","header_1","header_2","header_3","header_4","header_5","header_6","header_7","header_8","dummy_user_img","user_dashboard_1","user_dashboard_2","user_dashboard_3","user_dashboard_4","user_dashboard_5","user_dashboard_6","user_profile_1","user_profile_3","user_activity_1","user_activity_2","user_activity_3","user_activity_4","user_activity_bookmark_on","user_activity_bookmark_off","user_activity_5","no_data","user_activity_6","user_activity_7","user_activity_8","user_activity_back","user_activity_calendar","user_dashboard_7","user_dashboard_8","user_dashboard_9","user_chat_1","user_chat_2","user_chat_3","user_activity_9","user_activity_10","user_activity_11","user_activity_12","evaluation_1","user_activity_13","new_user_activity_13","user_activity_grid","user_activity_grid1","user_activity_list","user_activity_list1","user_activity_14","user_activity_14_1","evaluation_2","evaluation_3","evaluation_4","user_dashboard_10","user_dashboard_11","coin_welcom","coins","rocket_logo","new_coupon","slider_arrow","store_motion_coins","store_box","thumbs_up","user_activity_15","user_activity_16","user_activity_17","user_activity_18","new_user_activity_18","user_activity_19","user_activity_20","user_activity_21","user_activity_22","user_activity_23","new_user_activity_23","user_activity_38","user_activity_56","user_activity_57","new_user_activity_57","user_activity_58","new_user_activity_58","user_activity_59","user_activity_60","user_activity_24","user_activity_25","user_activity_26","user_activity_30","user_activity_31","mock_test_bit_sat_1","user_activity_39","user_activity_40","user_activity_41","user_activity_42","user_activity_43","user_activity_44","store_activiy_1","store_link","terms_and_condition","store_tick","new_store_tick","new_store_tick_list","store_offer","new_store_banner","info","store_traning","store_learning","store_report","store_e_learning","store_video_sol","store_analytics","amrit_gurantee","refund_submit","refund_img","user_activity_32","user_activity_33","user_activity_34","user_activity_35","user_activity_36","new_user_activity_36","user_activity_37","new_user_activity_37","user_activity_61","chatSendIcon","new_chatSendIcon","helpAndSupport","moitonchatLogo","user_activity_45","user_activity_46","user_activity_46_1","user_activity_47","user_activity_48","user_activity_48_1","user_activity_49","user_activity_50","user_activity_51","user_activity_52","user_activity_53","user_activity_54","user_activity_54_1","logout","user_activity_55","user_activity_62","user_activity_63","user_activity_64","user_activity_65","acps_banner","acps_banner_plus","physics_expert_1","physics_expert_2","physics_expert_3","physics_expert_4","physics_expert_5","physics_expert_6","physics_expert_7","chemistry_expert_1","chemistry_expert_2","chemistry_expert_3","chemistry_expert_4","chemistry_expert_5","chemistry_expert_6","chemistry_expert_7","chemistry_expert_8","chemistry_expert_9","mathemetics_expert_1","mathemetics_expert_2","mathemetics_expert_3","mathemetics_expert_4","mathemetics_expert_5","biology_expert_1","biology_expert_2","backBtn","backBtn1","motionCoin","new_motionCoin","new_motionCoin1","motionWalletNew","motionWallet","transactions","new_transactions","motionCoinsStore","uploadFile","logOut","prohibition","warning","profile","MutipleLogin","commonBannerLogo","commonBannerCircle","commonBannerLogoCps","chatIcon","sendBtn","emojiIcon","eyeView","greaterThan","ratingIcon","nvSirProPic","motionLogo","pollLogo","pollIcon","BookmarkBtn","BookmarkBtn1","exploreCourse","arrow","newLandingBg","landingPageLogo","callIcon","jee","neet","foundation","cuet","NvSir","SpinImg","benifitsCommonImg","doubtsImg","practiceImg","reportImg","right","pkg1","pkg2","pkg3","news1","news2","news3","playStore","loginPageImg","whyMotionBanner","studentReviewIcon","leftArrowCircle","rightArrowCircle","contactUsBanner","mobileContactUsBanner","loginCloseBtn","nextImg","tick","noReferals","nv_sir","learningPerformance","coupon","phInfo","storeBanner","whatsaap","phoneCall","watchFreeVideos","watchFreeVideoIcon","watchFreeVideoArrow","cashIcon","copyIcon","checkBoxTickIcon","exclamationIcon","newBackBtn","successfulIcon","invalidlIcon","whatsappIcon","shareIcon","dropDownIcon","leftArrow","coinImg","storeBck","storeRightArrow","studentPic","LoginStepOne","phoneDetails","loginCandidate","handleRedirectToStudentLogin","handleRedirectToParentLogin","submitParentMobileNumber","clickCount","setClickCount","useState","showCaptcha","setShowCaptcha","captchaVerified","setCaptchaVerified","handleSendOTPClick","event","submitMobileNumber","handleMoveToNext","current","nextFieldId","target","parseInt","attributes","focus","_jsxs","onClick","onSubmit","preventDefault","maxLength","pattern","title","placeholder","mobile_number","onKeyUp","onChange","handleChangeMobileNumber","required","id","ReCAPTCHA","sitekey","response","disabled","LoginStepTwo","handleInputOtpNumbers","handleParentResendOtp","handleSubmitOtpNumber","handlePreviousBtn","handleResendOtp","resendCooldown","isButtonDisabled","setResendCooldown","setIsButtonDisabled","timer","setTimeout","prevCooldown","clearTimeout","handleMoveToNextAndPrev","prevFieldId","keyCode","handleSubmitParentOtpNumber","src","SignUpStepOne","_targets$target","userDetails","targets","handleSelectTarget","handleUserDetailsInputField","handleUserDetailsFormSubmit","handleBack","innerStep","setInnerStep","fullName","handleInnerStep","target_id","alt","handleBackStep","map","checked","htmlFor","SignUpStepTwo","_classes$classes","_courses$course","classes","handleSelectClass","courses","handleSelectCourse","class_id","class","course","course_id","BASE_URL","url_1","url_2","url_3","url_4","url_5","url_6","url_7","url_8","url_9","url_10","url_11","url_140","url_13","url_14","url_15_1","url_16","url_18","url_19","url_20","url_21","url_23","url_24","url_25","url_26","url_29","url_30","url_32","url_33","url_34","url_35","url_36","url_37","url_39","url_40","url_106","url_41","url_42","url_44","url_45","url_50","url_51","url_54","url_55","url_56","url_57","url_58","url_59","url_60","url_61","url_63","url_69","url_70","url_71","url_72","url_73","url_74","url_75","url_76","url_77","url_79","url_80","url_142","url_81","url_82","url_83","url_84","url_85","url_86","url_87","url_88","url_91","url_93","url_94","url_95","url_96","url_97","url_99","url_101","url_102","url_105","url_112","url_113","url_114","url_116","url_117","url_146","url_118","url_119","url_120","url_121","url_122","url_123","url_124","url_125","url_126","url_127","url_128","url_129","url_130","url_131","url_132","url_133","url_134","url_135","url_136","url_137","url_138","url_141","url_143","url_144","url_145","url_147","url_148","url_149","url_150","url_151","url_152","url_153","url_154","url_155","url_156","url_157","url_158","url_159","url_160","url_161","url_162","url_163","url_164","url_165","url_166","url_167","url_168","url_170","url_180","url_181","url_172","url_173","url_178","url_179","url_174","url_175","url_176","url_177","url_182","url_183","url_184","url_187","url_188","url_189","url_190","url_191","url_192","url_193","url_194","url_195","url_198","url_199","url_200","url_201","url_202","url_203","url_205","url_206","url_207","url_208","url_212","url_213","url_214","url_215","url_216","url_217","url_218","url_220","url_221","url_222","url_223","url_224","url_225","url_226","url_227","url_228","url_229","url_232","url_233","url_234","url_235","url_236","url_237","url_238","url_239","url_240","url_241","firebase","initializeApp","authDomain","projectId","storageBucket","messagingSenderId","appId","measurementId","analytics","START_LOADING","FINISH_LOADING","REMOVE_ANIMATION","startLoading","actionTypes","finishLoading","removeAnimation","INPUT_CONTACT_NUMBER","SET_AUTH_TOKEN","SET_USER","SET_AUTH","SET_REDIRECT_URL","LOGOUT_USER","SET_PAID_COURSE_PACKAGES","SET_FREE_COURSE_PACKAGES","payload","logoutUser","SET_USER_PREFERENCE","REMOVE_PREFERENCE_DATA","removePreferenceData","dispatch","uiActions","setUser","authActions","setAuth","setUserPreference","userPreferenceActions","setState","step","batch_id","batches","firebaseToken","loginType","getFirebaseDeviceToken","getTargets","messaging","isSupported","getToken","then","token","prevState","catch","async","axios","get","data","status","targetId","find","classId","_state$classes","courseId","_state$courses","batch","handleUserPreferenceFormSubmit","batchId","window","navigator","onLine","formData","user_target_id","target_ids","returnedResponse","signUpApi","apiData","targetDetails","UsertargetDetail","classDetails","courseDetails","batchDetails","Analytics","record","push","pathname","reg_mcoin","message","headers","Authorization","tokenType","authToken","post","statusText","renderView","LoginSlice","createSlice","initialState","reducers","setLoginCandidate","action","actions","BlockUserSlice","isBlocked","remark","setBlockedStatus","SET_STORE_CART_DETAILS_DATA","SET_PRODUCT_LIST","SET_WISH_LIST","SET_LOGIN_TYPE","parentAuthSlice","parentUser","studentProfileDetails","userId","redirectDestination","loginFromParent","parentTarget","inputParentContactNumber","setParentUser","setParentRedirectUrl","path","logoutParentUser","setUserId","setStudentProfileDetails","setLoginFromParentFlag","setParentTarget","setParentAuth","setContactNumber","setAuthToken","setParentContactNumber","setBlockedStatusAction","setLoginType","userProductList","useHistory","otpNumbersCollection","otp_number_one","otp_number_two","otp_number_three","otp_number_four","lat","setLat","lng","setLng","isLogin","setIsLogin","signUpSteps","setSignupSteps","handleNextBtn","test","sendOtpApi","sendParentOtpApi","method_name","f_mobile_no","var_otp","setMobileNumberInStorage","setParentMobileNumberInStorage","validCheckOtpNumber","otpNumbers","valid","values","forEach","filledOtp","otp","otpDetails","is_sign_up","verifyOtpApi","tokenDetails","token_type","user_data","queryParams","URLSearchParams","location","search","pageParam","user_name","userPaidFree","is_subscribe","updateEndpoint","user_id","userAttributes","Mobile","mobile","email","DOB","dob","Gender","gender","Class_name","Target","user_paid_free","Batch","Course","addressId","address","address_id","addressType","city","pincode","latitude","longitude","verifyParentOtpApi","Signup","SampleNextArrow","SamplePrevArrow","Homepage","settings1","dots","infinite","slidesToShow","slidesToScroll","nextArrow","prevArrow","responsive","breakpoint","settings","arrows","inputValues","setInputValues","mail","handleInputChange","href","Slider","rel","paddingTop","Link","to","e","LoginSignupModal","_ref","isLoginOpen","setIsLoginOpen","Modal","show","onClose","Login","Navbar","menuOpen","setMenuOpen","open","Banner","handleEnrollClick","MoreDetails","querySelectorAll","counter","updateCounter","getAttribute","count","innerText","increment","ceil","_Fragment","alignItems","justifyContent","Courses","setCourses","getCourses","_response$data","_response$data$data","_response$data$data$t","coursesData","isHovered","handleCardHover","index","updatedCourses","autoplay","autoplaySpeed","rows","_course$classes","onMouseEnter","onMouseLeave","backgroundColor","target_icon","hover_background_color","fontWeight","cls","idx","class_name","Render","if","Benifits","activeTab","setActiveTab","isAnimating","setIsAnimating","handleTabClick","tabId","AppDetails","Packages","packages","setPackages","getPackages","useCallback","speed","cssEase","pkg","_pkg$description","_pkg$description2","margin","banner_image","description","WhyMotion","currentIndex","setCurrentIndex","studentsFeedback","setStudentsFeedback","testimonials","getStudentsFeedback","goToNext","goToPrevious","feedback","student_image","student_name","MotionNews","motionNews","setMotionNews","getMotionNews","news","news_banner","ContactUs","userQueryDetails","handleSubmitQueryForm","requestPayload","query","saveQueryApi","handlePhoneClick","handleEmailClick","handleMapClick","ContactBanner","NewHomePage","Footer","ParentLoginLayout","Header_left_new","_userPreference$targe","useLocation","NavLink","activeClassName","exact","tab","PreferenceSelectionModal","handleCloseModal","handleBackdropClick","currentTarget","modalElement","addEventListener","removeEventListener","tabIndex","handleChangeTarget","handleChangeClass","handleChangeCourse","is_academic","handleChangeBatch","handleUpdateCourse","isTargets","isCourses","isClasses","setUserData","getClasses","getBatches","getUserProfile","setUserPreferences_1","returnedResponse_2","options","keyboard","backdrop","Bootstrap","handlePreferenceModal","selectedBatch","is_selected","validCheckUserPreference","upadateCourseApi","onbeforeunload","reload","SET_SUBJECT_DATA","SET_TOPIC_DATA","SET_COURSEID_DATA","SET_PYQTOPIC_DATA","SET_EXAM_CRACKER_TOPIC_DATA","SET_FEATURE","SET_VIDEO_DATA","SET_RECORDED_VIDEO_DATA","SET_NOTES_DATA","SET_LIVE_STREAM_DATA","SET_EXERCISE_RESULT_DATA","SET_EXERCISE_DATA","SET_LIVE_STREAM_VIDEO_DATA","REMOVE_ACTIVITY_DATA","SET_COMMON_BANNER_DATA","setSubjectData","setTopicData","setCourseIdData","setPyqTopicData","setExamCrackerTopicData","setFeature","setVideoData","setRecordedVideoData","setNotesData","setLiveStreamData","setExerciseData","setExerciseResultData","setLiveStreamVideoData","removeActivityData","setCommonBannerData","SET_USER_TESTS_DATA","REMOVE_TESTS_EXERCISES_DATA","SET_USER_TESTS_RESULT_DATA","removeTestsExercisesData","SET_ACCESS_TOKEN_DETAILS","REMOVE_TWILIO_DETAILS","removeTwilioDetails","SET_OPTION_TYPE","SET_VIDEO_COMPONENT_TIME","SET_VIDEO_CURRENT_TIME","SET_VIDEO_DETAILS_FOR_TIME","SET_RELATED_VIDEO","SET_BOOKMARK_QUESTIONS_LIST","REMOVE_BOOKMARK_DATA","removeBookmarkData","userActivityActions","userTestsExercisesAction","userTwilioDetailsAction","userBookmarkAction","openSearch","setOpenSearch","isDropdownOpen","setIsDropdownOpen","isNotificationOpen","setIsNotificationOpen","dropdownRef","useRef","notificationsList","getNotificationsList","handleClickOutside","contains","handleClick","Lottie","loop","renderer","rendererSettings","preserveAspectRatio","ref","toggleNotification","notification_title","time","notification_description","toggleDropdown","image","HeaderTopright","handleUserLogout","HeaderLeft","HeaderRight","ToastContainer","mobileLeftSideBarClose","mobileLeftSideBarWrapper","querySelector","mobileLeftSideBarInnerWrapper","marginLeft","MobileLeftSideBarComponent","dropdownCondition","dropdown","setDropdown","prev","transform","mobileLeftSideBarOpen","mobileRightSideBarWrapper","mobileRightSideBarInnerWrapper","marginRight","mobileRightSideBarOpen","mobileRightSideBarClose","pathMappings","setPathMappings","getSliderImg","createPathMappings","item","redirect_path","handleImageClick","identifier","navigateToPath","maxHeight","borderRadius","overflow","cursor","img","objectFit","subjectList","getSubjectList","renderSubjectImage","icon","handleRedirect","subjectId","sub_id","subjectName","sub_name","subjectIcon","subject","icon1","videoDetails","getLastPlayVideoDetails","handleStoreVideoData","videoData","redirectedFrom","thumnail","video_title","video_rating","LiveVideoStreamingSlice","zoomId","isLive","live_class_id","setLiveVideoStreamDetails","setLiveVideoStreamDetailsAction","userTestProgressDetails","setUserTestProgressDetails","selectedSchedule","date","day","scheduleTimeTable","scheduleData","videos","notes","liveClasses","offline","isPaid","getScheduleTimeTable","getMyProgressDetails","getUserData","getScheduleContent","is_paid","ScheduleWeek","getTodayDateAndDay","month","year","d","Date","getDate","getMonth","getFullYear","getDay","video","zoomclass","handleStoreLiveStreamData","getLabel","current_time","currentTime","start_time","startTime","meetdate","end_time","endTime","stream_service","status_stream","getMomentFromString","label","isBefore","isBetween","isAfter","timeString","moment","hour","minute","second","set","handleChangeScheduleDate","video_thumnail","notes_title","by_upload","textAlign","notesData","device_id","rdd","device_type","device_name","setLiveClassRecord","faculty_image","format","batch_name","subject_name","topic","faculty_name","venue","CircularProgressbar","user_total_test","text","user_total_percentage","strokeWidth","userdatacorrect","userdataincorrect","userdataunattempt","textDecoration","NewOfferingsSlider","loading","elem","AitsBanner","is_Amrit","aits_pdf","amrit_pdf","startBtn","Modals","onHide","clsClass","rest","ReactDOM","createPortal","centered","Body","modalbody","setPaidCoursePackages","packageListActions","setFreeCoursePackages","Package","getCourseDetails","curElem","web_thumbnail","package_name","amount","final_amount","storePage","package_id","toastifyMessage","notificationData","toastOptions","position","autoClose","hideProgressBar","closeOnClick","pauseOnHover","draggable","progress","toast","isMultipleLogin","CustomModal","dialogClassName","FreeWatchVideosModal","handleWatchNow","Header","closeButton","TenHoursFreeVideosBanner","handleOnClickWatchNow","UserDashboardContentComponent","feedbackModal","successModal","showUserRegistrationModal","is_complete_profile","isActive","mobile_no","responseData","feedbackData","teaching_method","punctuality","behaviour","theory_quality","discussion_quality","overall","newofferings","programs","remainingUserTimeToWatchVideo","isPaid1","setIsMultipleLogin","is_user_registration","is_form_submit","active","remaining_user_time","ls_block","set_record","getFeedBackPopup","slidelist","Motion_Program","apk_version","handleClose","handleCloseFreeWatchVideos","student_id","stud_rollno","batch_code","topic_title","topic_no_count","session_id","center_id","faculty_id","st_feedback_show_id","feedbackValidation","feedBackInput","handleCloseProfileform","handleCloseFeePendingModal","MultipleLoginDetectModal","DashboardSlider","SubjectCollectionView","ScheduleClass","Our_course_package","LastPausedVideo","price","url","image_content","rollNo","_state$facultyReviewL","coinPopup","coinDetailsPopup","coinUsesPoints","facultyReviewList","facultyReviewPopup","ratings","hover","facultyFeedback","addCoinsOnSignup","coinUsesApi","doubtsModal","rollno","convertTime","time24","Uses","windowWidth","setWindowWidth","innerWidth","setWidth","classList","reportModal","created_on","formattedDate","fromTime","from_time","toTime","to_time","currentRating","dc_id","currentHover","Array","star","starValue","handlefacultyFeedbackInput","point","MobileHeaderComponent","MobileRightSideBarComponent","HeaderComponent","Footer_component","UserProfileContentComponent","RefundModal","closeRefundModal","isRefundModalOpen","refund","renderRefundOptions","renderRefundButtons","renderUserSelectedOptions","renderInputAndSubmit","isRenderRefundOptions","refundOptions","isUserSubmittedDescript","RefundContainer","currentRefundPackage","openRefundSuccessModal","setRefund","userSelectedRefundOption","userDescription","isRenderResponseMsgFromMotion","userSelectingOptions","isRefundSuccessModalOpen","textareaRef","scrollHeight","getRefundOptions","parents","initiateRefund","parent_id","err","handleSubmitDescript","userCustomMessage","backToOptions","selectedOption","newOption","selectRefundOption","dangerouslySetInnerHTML","__html","isTextareaEmpty","handleDescriptionChange","minHeight","RefundPackageSlice","refundCurrentPackage","setCurrentRefundPackage","clearRefundPackage","RefundSuccessModal","closeRefundSuccessModal","userMobileNo","setUserMobileNo","authType","RefundPackageSliceReducer","profileImageDetails","imageData","localImageURL","serverImageURL","date_of_birth","email_valid","acps_pin","acps_pin_invalid","states","cities","buyPackageList","editToggle","getStates","getBuypackage","getCities","selectedState","handleProfileImage","files","imageDetails","URL","createObjectURL","handleUpdateFormField","replace","updateProfileApi","handleCloseRefundModal","handleOpenRefundSuccessModal","refunduseMemo","useMemo","FormData","append","stringify","handleSubmitUpdateForm","accept","editButton","for","defaultValue","defaultChecked","handleStateDropdown","handleCityDropdown","districts","handleGenderDropdown","max","min","past","marginBottom","txn_expire_date","coursename","txn_amount","is_amirt","refund_status","handleCloseRefundSuccessModal","UserEditProfileContentComponent","LeftSideBarComponent","OnlineTransactions","onlineTransactionsList","getOnlineTransactionsList","txnid","txn_discount_amount","txn_date","package_duration","OfflineTransactions","offlineTransactionsList","openTransactionIndex","getOfflineTransactionsList","isOpen","transaction_id","fontSize","product_details","product","product_name","qty","toLocaleString","discount","discounted_price","coupon_discount","shipping_charge","total_price","insert_on","UserTransactionsContentComponent","transactionsList","getTransactionsList","UserNotificationsContentComponent","ChartJS","register","ArcElement","Tooltip","Legend","ChartDataLabels","SubjectWiseDoughnut","dataPoints","subjectType","setSubjectType","array","setArray","filterTypeWise","filter","_array$","_array$5","_array$2","_array$3","_array$4","_array$6","_array$7","_array$8","_array$9","_array$10","_array$11","_array$12","Biology","Chemistry","Maths","Physics","handleChange","chartData","labels","datasets","hoverBackgroundColor","cutout","maintainAspectRatio","layout","padding","top","bottom","left","plugins","legend","tooltip","enabled","doughnut","spacing","datalabels","formatter","context","chart","dataIndex","borderWidth","dataset","align","anchor","font","size","Doughnut","OverallDifficultyWiseProgress","toughness","setToughness","Toughness","filterToughnessWise","nodeName","styles","buildStyles","textSize","pathColor","border","sqSize","Correct","WRONG","Unattempted","Chart","CategoryScale","CorrectIncorrectDoughnutChart","legendMargin","beforeInit","fitValue","fit","bind","this","Total","barThickness","Bar","AttemptUnattemptDoughnutChart","dataDetails","subjects","ImproveTopicList","setImproveTopicList","StrongTopicList","setStrongTopicList","setSubject","strongSubject","setStrongSubject","getImproveTopicList","getStrongTopicList","Subject","parentTestSlice","testDate","paperId","plannerTestId","papers","expectedRank","allIndiaRank","setPaperId","setPlannerTestId","setTestDate","setPapers","setExpectedRank","setAllIndiaRank","setPlannerId","parentTestReducer","reducer","_state$auth","_state$auth$user","_state$auth$user$User","setUserTestsResultData","_state$overAllTestsDa","_state$overAllTestsDa2","options2","tabType","overAllTestsData","individualTestSubjectDataDetails","individualTestSubjectList","individualTestList","individualTestInitialSubjectCheck","individualTestListPageNumber","learnAnalysisSubjectDataDetails","learnAnalysisSubjectList","learnAnalysisData","learnAnalysisInitialSubjectCheck","getOverAllTestsData","getIndividualTestSubjectList","getLearnAnalysisSubjectList","getIndividualTestInitialData","getLearnAnalysisInitialData","getIndividualTestList","getLearnAnalysisData","handleTabChange","subject_id","OverallSubjectReport","OverallDifficultyReport","TestChartQuestionsData","TestChartData","OverallStrongAndImproveTopics","OverallSubject","TestList","start_date","paper_name","total_questions","duration_mins","total_marks","testData","paper_id","handleRedirectToParent","UserAnalyticsContentComponent","subjectData","freeCourseId","subjectDataDetails","topicList","initialSubjectCheck","getSubjectData","getInitialData","getTopics","handleChangeSubject","handleTopicChange","topic_id","topic_name","topicVideo","is_video_available","is_live_class_available","is_excersice_available","is_notes_available","is_dpp_available","is_additional_video_available","topicId","topicName","topicIcon","SubjectContentComponent","WatchedVideoDetailsSlice","watchedVideoDetails","watchedDuration","lastPaused","totalWatchTime","currentvideoTime","noteAddedVideoTime","setWatchedVideoDetails","setTotalWatchTime","setVideoLastPaused","setNoteAddedVideoTime","setCurrentVideoTime","topicData","setWatchedVideoDetailsAction","setNoteAddedVideoTimeAction","_state$currentFaculty2","crsID","featureType","featureMapping","entries","initailFeatureTypeCheck","videosData","additionalVideosData","facultyData","liveVideoData","liveClassesData","exercisesData","pageNumber","recordedPageNumber","currentFacultyName","additionalFacultyData","additionalCurrentFacultyName","getVideosData","_state$currentFaculty","VideoList","getRecordedLiveClassData","page","arguments","getFacultyData","getAdditionalFacultyData","getExerciseList","getNotesData","getDppList","dppCollections","getInitialRenderData","handleChangeFaculty","handleRecordedWatchNow","getVideoStremingDetails","handleStoreDataInStorage","is_attempt","exerciseType","handleBookmarkVideo","videoList","videoIndex","findIndex","video_id","IsSaved","reference_id","renderVideosCollectionView","overflowY","InfiniteScroll","dataLength","next","fetchData","hasMore","scrollableTarget","renderAdditionalVideosCollectionView","renderLiveClassCollectionView","play_thumbnail_image","meeting_topic","faculty","meeting_duration","last_page","renderExerciseCollectionView","ExerciseList","ex","excersie_type","total_question","renderNotesCollectionView","NotesList","renderDppCollectionView","_state$dppCollections","_state$dppCollections2","DPPList","handleChangeFeature","getAdditionalVideosData","_state$additionalCurr","_state$currentFaculty3","pageNo","fetchVideosData","marginTop","renderFetaures","TopicContentComponent","recordedVideoData","playbackUrl","setPlaybackUrl","getRecordedLiveClassUrl","isMobile","goBack","Mobile_header_component","Mobile__right_sideBar_component","playbackurl","allow","allowFullScreen","Header_component","VideoJsPlayer","_props$source4","_props$source5","_props$source5$link","useDispatch","remainingWatchTime","useSelector","_state$WatchedVideoDe","_state$WatchedVideoDe2","watchedVideoData","videoRef","playerRef","onReady","source","dType","lastPausedTime","keySystem","setIsLive","watchTimeRef","intervalRef","isAlertDisplayed","setIsAlertDisplayed","base64DecodeUint8Array","input","raw","rawLength","Uint8Array","ArrayBuffer","i","charCodeAt","base64EncodeUint8Array","keyStr","chr1","chr2","chr3","enc1","enc2","enc3","enc4","output","NaN","isNaN","charAt","handleWatchStart","setInterval","pause","handleWatchStop","postWatchedVideoDetails","clearInterval","calculateTotalWatchTime","timeStringToSeconds","hours","minutes","seconds","video_duration","payloadData","total_duration","watched_time","last_paused","handleEndVideo","_source$link","videoElement","fairplayCertUri","licenseUri","player","videojs","eme","keySystems","getCertificate","emeOptions","callback","xhr","method","responseBody","getContentId","initData","contentId","uint16array","Uint16Array","buffer","String","fromCharCode","apply","arrayToString","substring","indexOf","getLicense","keyMessage","responseType","body","link","licenseUrl","controlBar","progressControl","seekBar","on","qualityLevels","hlsQualitySelector","displayCurrentQuality","RewindButton","getComponent","constructor","super","addClass","controlText","FastForwardButton","_props$source","_props$source$link","_props$source2","_props$source2$link","_props$source3","_props$source3$link","registerComponent","getChild","addChild","playerVolume","volume","playerCurrentTime","code","paused","play","file_url","handleMetadata","liveTracker","duration","dispose","onBackButtonEvent","confirm","pushState","VIdeoPlayer","_videoDetailsData$las","id_video","setSource","setLoading","setdType","setkey","videoDetailsData","axioFun","D_id","accessKey","secretKey","version","requestMediaKeySystemAccess","supportedConfig","initDataTypes","videoCapabilities","contentType","drmSystems","supportedDRM","Promise","all","drmSystem","resolve","getSupportedDRMSystems","system","controls","playbackRates","aspectRatio","remainingTimeDisplay","notesAddedTime","_videoDetailsData$not","VideoDrmPlayer","is_free_user","VideoJsPlayer1","videoComponentTime","userBookmarkData","videoCurrentTime","videoDetailsForTime","videoLastPaused","currentVideoWatchTime","setVideoComponentTime","userBookmarkActions","setRelatedVideos","setVideoDetailsForTime","setVideoCurrentTime","_state$reportCategory","videoId","relatedVideo","optionFeatureType","videosDrmUrl","flag","studyMaterialList","comment","commentsList","timeline","note","notesList","notesInput","openOptionsIndex","enableNotesEdit","timeElapsed","deleteModal","deleteId","reportId","report","reportCategory","reportCategoryOption","jumpTo","scrollTo","setVideoId","setVideoComponentInitialTime","likesArray","getVideoDetails","getStudyMaterialList","initialiseLikes","getCommentsList","getTimeline","getNotesList","getAdditionalVideoDetails","handleJumpToParticularTime","getTime","VideoDetail","handleNotesInput","_response$data2","like_status","handleLikeClick","like","updatedLikesArray","formattedTime","padStart","handleOnLoad","contentWindow","postMessage","eventMethod","eventer","videoTimmingDetails","sessionStorage","setItem","seekTo","isSaved","study_material","renderFrame","videoCryptId","video_crypt_id","video_url","onLoad","renderVideoDetails","_state$notesList$data","_state$notesList$data2","_state$notesList$data3","_state$studyMaterialL","_state$commentsList","_state$timeline2","_state$relatedVideo","UploadBy","handleNoteSubmit","handleNoteEditSubmit","handleClickOnNotes","handleNoteEdit","handleDeleteModal","handleComment","rate","comments","handleCommentSubmit","_state$likesArray","content","jumpTime","timeSplitArr","timeInSeconds","handleSeekTo","content_time","_state$timeline","RecommendedVideos","handleNoteDelete","handleReportInput","option","handleReportSubmit","VideoFeatureContentComponent","ChatHeader","ChatContainer","accessTokenDetails","messages","renderSenderChat","singleChat","renderMessageType","timestamp","renderNameInitials","author","renderReceiverChat","messageType","mediaURL","toUpperCase","identity","renderChats","ChatFooter","messageDetails","handleChangeInputField","handleChatSubmit","handleImageUpload","handleMediaDiscard","handleMediaAccept","msg","Chat","twilioChatData","setAccessTokenDetails","twilioChatActions","channelDescriptor","channel","createClient","client","accessToken","Client","create","tokenAboutToExpireEvent","tokenExpiredEvent","getCreatedChannel","channelJoinedEvent","getAccessToken","updateToken","getMessages","items","media","getContentTemporaryUrl","scrollToMessageListBottom","live_stream_id","channelsDescriptors","getPublicChannelDescriptors","removedFromJoinedChannels","findedChannelDescriptor","uniqueName","getTheChannel","joinChannel","createChannel","getChannel","channelState","leave","leaveTheChannel","messageAddedEvent","friendlyName","handleMessageAdded","createImageLocalURL","incoming_chats_wrapper","sendMessage","isChatWindowVisible","stream_key","ChatComponent","handleCreateTwilioAccessToken","LiveStreamFeatureContentComponent","ControlPanel","scale","zoomIn","zoomOut","NotesFeatureContentComponent","pdfjs","GlobalWorkerOptions","workerSrc","numPages","setNumPages","pdfData","setPdfData","setScale","pageWidth","setPageWidth","match","notes_id","getPdfData","calculatePageWidth","maxWidth","updateScale","handleZoomIn","prevScale","handleZoomOut","Document","file","onLoadSuccess","_ref2","onContextMenu","renderMode","from","el","Page","LiveWebChatFeatureContentComponent","mogioConfig","RecordedLiveStreamVideoListView","recordedVideoCollection","handleClickRecordedVideo","RecordedLiveStreamVideoView","selectedVideoId","liveStreamVideoData","getRcordedVideos","hasOwnProperty","streamMdtIds","LiveStreamVideoFeatureContentComponent","PackageOfferingComponent","allPackagesCollection","learnMoreBtn","category_list","category_name","package","packageItem","category_id","some","category","tag_background","tag_textcolor","thumbnail_tag","course_benefits_count","parseFloat","setCcAvenueDataInStore","setPackageDetailsForPayment","isEmailModalOpen","closeEmailModal","newEmail","setNewEmail","emailErroMsg","setEmailErrorMsg","handleUpdateEmail","validateEmail","updateUserData","updateEmailAPI","orderId","paymentReducer","is_amrit","paymentAction","setOrderId","saveTransactionAction","saveTrnsactionDetails","packageDetails","buttonText","buttonClass","emailStatus","setEmailStatus","showEmailModal","emailUpdated","paymentModal","setPaymentModal","ccAvenueData","setCcAvenueData","getCcAvenueData","currentData","dateTime","getHours","getMinutes","getSeconds","Order_Id","handleProfileData","stopPropagation","updatedfields","field","Merchant_ID","Redirect_Url","Access_code","RSA_Url","address_type","EmailUpdateModal","CouponList","packageData","couponCode","setCouponCode","applyCoupon","handleCloseCoupon","checkApplyCouponBtnDisabled","handleOnChangeCouponCode","couponList","setCouponList","getCouponList","coupon_list","coupon_code","discount_text","TermsAndCondition","terms","FacultyDetail","FacultyDetails","PackageDetailsComponent","_packageData$PackageI","_packageData$PackageI2","_packageData$PackageI3","_packageData$PackageI4","_packageData$PackageI5","_packageData$PackageI6","_packageData$PackageI7","_packageData$PackageI8","_packageData$PackageI9","_packageData$PackageI10","_packageData$faculty_","_packageData$other_de","_packageData$other_de2","_packageData$faq","_packageData$faq2","_packageData$subject","_packageData$redeem_m2","_packageData$redeem_m3","_packageData$price_de3","_packageData$price_de4","paymentDetails","ccAvenueDetails","PackageSliceReducer","storeCurrentPackageDetails","setPackageData","isExpanded","setIsExpanded","couponDiscount","setCouponDiscount","finalAmount","setFinalAmount","showCouponList","setShowCouponList","isChecked","setIsChecked","showTerms","setShowTerms","showFacultyDetails","setShowFacultyDetails","setFacultyDetails","setActive","PackageInstallmentDetails","truncatedDescription","_response$data$data$p","_response$data$data$p2","price_details","course_price","fetchPackageData","order_id","updated_amount","applyCoinsApi","_packageData$redeem_m","cart_amount","coins_count","redeem_motion_coins","eligible_coins","_response$data$data2","changeTab","expiryDate","expiry_date","shouldShowExpiryDate","gap","whatsAppMessageSender","motion_whatsapp_no","motion_mobile_no","orientation_video","course_benefits","benefit","faculty_list","other_details","faq","Accordion","Item","eventKey","sub","total_topics","openCouponList","openTerms","CcAvenuePayment","closeTerms","terms_conditions","closeFacultyDetails","setProductList","productType","productList","selectedType","wishListItem","cartDetails","wishList","setWishList","getProducType","getWishList","getCartDetails","getProductlist","product_id","addWishlist","p_id","removeWishlist","handleWishListPage","cartTotal","total","catagery","handlecartDetails","handleRemoveWishList","handleAddWishList","PackageSlice","refferalCode","setStoreCurrentPackageDetails","setRefferalCode","userStore","_location$state","_location$state$tab","pageEqualToStorecourseDetails1","advantages","allow_installment","bg_image","coin_discount_amt","course_benifits","is_delete","is_referral","is_refundable","package_include_module","package_sequence","package_tag","package_thumbnail","package_type","tags","u_programId","userPrefernces","packagesCollection","facultyList","facultyDetail","freePackagesCollection","couponDetails","isCourseId","selectPackageId","selectPackageAmt","coinData","coupanApplied","showBanner","getUserPreferences","getAllPackagesCollection","getPackagesCollection","getFreePackagesCollection","handleStepNavigation","stepValue","showBannerVal","phone_number","course_name","Row","Col","lg","md","sm","current_coins","renderStepComponent","HandBooks","UserStoreContentComponent","TermsAndConditionModal","_termsAndCondition$va","termsAndCondition","termsAndConditionModal","handleCloseTermsAndConditions","paragraphs","paragraph","CustomSpinner","variant","Spinner","animation","package_overview","setRefferalCodeAction","toastMessage","setToastMessage","isValidRefferal","documentElement","scrollTop","getTermsAndConditions","group","maxlength","referral_code","PriceAndPurchase","slctSubjectId","getQuestionList","doubtData","topicsId","textualData","imagesDetails","imagesLocalUrl","subjectCollection","subjectTopics","getSubjectTopics","handleFormInputFields","config","handleSubmitForm","renderSubject","selectedSubject","deltImg","imgUrl","imgInd","splice","multiple","imageURL","handleImageChange","UserCreateDoubtContentComponent","ShakaSolutionViewVideoPlayer","useMathjax","currentQuestionDetails","lang","solutionVar","script","createElement","onload","MathJax","typeset","appendChild","removeChild","CreateNewDoubtBtn","handleShow","NoDoubt","AnsweredDoubtItem","handClick","convertDate","renderQuestion","post_date","question","Answer","UnAnsweredDoubtItem","ScannedDoubtItem","CreateDoubtModal","Usercreatedoubt","subjectDetails","AudioPlayer","audioUrl","ReactPlayer","FullScreenImageModal","handleCloseFullScreenModal","DoubtDetailModal","_selectedDoubt$Questi","_selectedDoubt$Answer","_selectedDoubt$Answer2","_selectedDoubt$Answer3","_selectedDoubt$audio$","showDbtDetail","handleDtlClose","selectedDoubt","showFullScreenModal","setShowFullScreenModal","setImgUrl","imageWrapper","handleOpenFullScreenModal","Questionfiles","answer","AnswerFile","audio","DoubtsView","answeredDoubts","scannedDoubts","unAnsweredDoubts","handleCreateDoubtBtn","handleSaveDoubtDetails","selectedDetail","doubtType","setShow","selected","setSelected","setShowDbtDetail","inputDate","renderOverallBtn","renderOverallCreateNewDoubtBtn","_answeredDoubts$SaveD","_answeredDoubts$SaveD2","_unAnsweredDoubts$Sav","_unAnsweredDoubts$Sav2","_scannedDoubts$SaveDo","_scannedDoubts$SaveDo2","SaveDouteQuestionlist","newLocal","is_show_others","renderSubjectCollection","isAnswered","doubtDetails","is_answered","is_scanned","UserDoubtsContentComponent","TestInstructionsView","testDetails","testSectionsDetails","handleRedirectBtn","useStopwatch","currentQuestion","inputFieldVal","timeElapsedArr","setTimeElapsedArr","solutionClickedArr","setSolutionClickedArr","solDisabled","setSolDisabled","subtractTime","milliseconds","addTime","textInputSolution","showSolution","resumeTimer","useTimer","stopwatch","pauseTimer","checkboxes","isAtLeastOneChecked","checkbox","prevSolDisabled","targetObject","obj","questionNumber","timeElapsedValue","inputString","stopwatchText","timerText","startsWith","updateTime","updatedArr","updateSolution","solutionClicked","prevArr","getClicked","solutionClickedObj","solutionClickedValue","textInputs","textInput","TestQuestionsView","_testQuestionsDetails","_testQuestionsDetails2","_testQuestionsDetails3","_testQuestionsDetails4","_testQuestionsDetails5","testQuestionsDetails","handlePreviousQuestionBtn","handleNextQuestionBtn","handleSingleSelectAnswer","handleMultiSelectAnswer","handleInputFieldChange","handleQuestionJump","handleSubmitTest","checkQuestion","integer_answer","reportErrorData","setReportErrorData","saveReportErrorData","setSaveReportErrorData","q_id","qid","option_id","isDisable","scrollUp","getElementsByClassName","behavior","videoShow","setVideoShow","showError","setShowError","toggleMenu","setToggleMenu","handleCloseReportError","handleShowReportError","setLang","sol","setSol","disabled1","setDisabled","isList","setisList","handleSol","handleSolution","disableSol","classEditor","s","wc","optionId","handlePurticularQuestion3","userAnswerCollection","isAttempted","handlePurticularQuestion2","renderSingleSelect","questionData","currentQuestion2","option_hindi","is_user_correct_ans","is_correct","wrongAnswerIdCollection","renderOptionInitial","renderOptionText","renderMultiSelect","renderInputField","optionText","renderQuestionLabel1","q_text","isReview","isAnswerGuessed","isSkipped","_question$option","m","_question$integer_ans","renderQuestionLabel","_question$option2","_question$integer_ans2","handleVideoShow","targetDiv","renderSingleQuestion","q_text_hindi","DOMParser","parseFromString","renderVideo","video_id_english","hindiVideoId","video_id_hindi","englishVideoCriptId","english_video_cript_id","hindiVideoCriptId","hindi_video_cript_id","isHindi","selectedVideoCriptId","buttonLabel","exam_name","renderOptions","questionsArr","answer_type","option_name","Button","handlePostReportErrorData","solution","solution_hindi","fontFamily","fontStyle","lineHeight","handleGetReportErrorOptions","RewardModal","earnMoreHandler","earnedCoins","reason","CoinUsesModal","exerciseData","test_type","subjecSectiontWiseTestQuestions","countDownTimer","initialTime","useTime","viewVideo","textResultData","selectedSection","setSection","handleSubjectChange","section","handleSectionChange","timeInterval","getTestDetails","createCountDownTimer","_state$useTime","countdownTime","now","distance","getNowTime","dpp_type_Name","Exercise_type_Name","getTestQuestionsList","AllQuestionList","_element$q_text","totalTimeTaken","isAnswerCorrect","correctAnswerIdCollection","replaceAll","opt","total_time","getCalculatedTime","calculatedTime","handleCheckQuestion","setViewVideoFalse","handleSaveQuestion","crntQuestionDetail","formatData","section_name","preState","negative_marks","partial_marks","positive_marks","paper_type","exercise_type","is_saved","type_id","right_answer","wrong_answer","api","_event","findedIndex","Obj","sanitizedValue","dotIndex","integerPart","decimalPart","handleReview","reviewQuestion","handleSaved","handleGuessedAnswer","handleViewVideo","videoURL","submitExercise","addCoinsOnSubmission","TestContentComponent","HeaderComponentTwo","_g","h","testTime","instructions_image","renderButtonType","_testSectionsDetails$","testlist","is_resume","_extends","assign","n","t","r","call","SvgList","svgRef","titleId","viewBox","fill","xmlns","x","y","rx","stroke","ForwardRef","SvgGrid","SvgList1","SvgGrid1","examFormat","disableInput","setDisableInput","oldanswer","shouldDisableInput","_currentQuestionDetai","isSubmited","attempt_count","questionsCollectionRef","switchLanguage","_questionData$option","_questionData$option_","_questionData$option_2","_questionData$option2","_questionData$option_3","textToDisplay","guessedAdditionalClass","labelClass","additionalClass","is_option","sectionName","renderColumMatchQuestion","m_p_text","m_p_text_hindi","contentToDisplay","renderParagraphQuestion","p_text","p_text_hindi","isImage","isTable","isMTable","hasMfenced","mfencedRegex","replaceMfenced","imageSrc","exec","scrollUp2","prevQuestionIndex","scrollIntoView","block","nextQuestionIndex","List1","List","Grid","Grid1","userTestsExercisesData","disableQuestion","getTestSectionsDetails","cq","getCurrentQuestionDetails","handleLastQuestionSave","deleteOldDateBeforeStartingTest","_subjecSectiontWiseTestQuestions","questions","subjectSectionWiseData","_questions$i","_subjectSectionWiseDa","_questions$i2","_questions$i3","subjectWiseData","checkIsResumeTest","_returnedResponse$dat","_returnedResponse$dat2","_returnedResponse$dat3","_returnedResponse$dat4","_returnedResponse$dat5","_returnedResponse$dat6","_returnedResponse$dat7","_returnedResponse$dat8","_returnedResponse$dat9","_returnedResponse$dat10","_returnedResponse$dat11","_returnedResponse$dat12","_element$option","userGivenLastQuestionId","indexOfLastAttemptedQue","option_int","lang_id","_state$oldanswer","bookmarkApi","correct_ans","wrong_ans","_currentQuestionDetai2","_state$oldanswer2","questionArr","is_attempted","is_AnswerCorrect","is_GessTypeAnswer","paragraph_answer","CorrectAnswerId","WrongeAnswerId","toughness_id","submitTestApi","data1","correct_answer","incorrect_answer","getNewAnalyticsApi","_userPreference","_questionArr","_state$testDetails","target_type","test_id","handleChangeLanguage","_state$testDetails2","TestResultQuestionsView","testResultDetails","testResultQuestionsDetails","viewReport","handleWrapperColor","handleOptionInitialColor","handleOptionFinalColor","renderMaxValue","totalQuestions","renderTotalQuestionsNumber","handleSubTopicText","sub_topic","handleQuestionType","renderQuestionText","renderSolutionText","CanvasDoughnutChart3","animationEnabled","exportEnabled","theme","axisY","includeZero","axisX","indexLabelFontColor","indexLabelPlacement","Cut_Off","User_Marks","Topper_Marks","CanvasJSChart","Test_summary_page","setLoader","reportDataDetails","handleBackBtn","start","PaperData","Marks","Total_Paper_Marks","Rank","CanvasDoughnutChart","redirect","redirect2","redirect3","redirect4","redirect5","testResultData","getTestResultDetails","getReport","getTestResultQuestionsDetails","paper_format_id","viewSolutions","TestResultContentComponent","ConvertStringToHTML","SET_PYQ_TESTS_DATA","SET_PYQ_TESTS_RESULT_DATA","SET_PYQ_JEE_MAINS_OR_ADVANCED","pyqTestsData","pyqTestData","setPyqTestsResultData","pyqActions","questionElements","offsetTop","getPyqSummaryAndAddCoins","testInstructionData","Instructions","hindiOption","exam_year","solutionText","sol_text","solutionHeading","sol_text_hindi","hindiSolutionText","hindiSolutionHeading","renderSolutions","jeeMainOrAdvance","jeeMainsOrAdvance","getinstructionDetail","_element$sol_text","_opt$option","TestQuestionView","handleCurrentOption","videoTimingDetails","isIframe","renderSolutionss","paddingRight","paddingLeft","currentOptionId","_crntQuestionDetail$u","_currentQuestionDetai3","_currentQuestionDetai4","getPyqPracticeSummaryAndAddCoins","PyqQuestionPaperSolutionContent","currentSolutionDetails","u","renderSolution","getCurrentSolutionDetails","setUserTestsData","testType","testsList","questionBankList","getTestsList","getCompletedTestsList","getUpcomingTestsList","getAllTestsList","handleChangeTestType","handleStoreData","view_sol_time","view_solution","renderCompletedTestsView","renderUpcomingTestsView","renderAllTestsView","renderTestType","UserExerciseTestContentComponent","SET_DAY","SET_SUBJECT","SET_QUESTIONS_LIST","setPyqTestsData","userPyqTestsAction","setPyqJeeOrAdvance","setDay","PyqDailyChallengeActions","_targetDetails$","_targetDetails$2","pyqPaperList","topicSubjectList","yearList","selectedYear","filterFlag","mainsAdvFlag","daysListArr","onHandleTakeTest","requestAnimationFrame","scrollToTop","getResponse","getTopicSubjectList","getPyqDaysList","getPyqPaperList","filteredArray","getYearList","_response$data$data$","reverse","handleSelectedYear","handleFilterFlag","renderPyqFilter","subId","subName","pyqSubjectTopics","lock","schedule","SET_OTS_TESTS_DATA","SET_OTS_TESTS_RESULT_DATA","SET_OTS_PLANNER_DATA","SET_OTS_PREMIUM_DATA","SET_OTS_FREE_DATA","SET_OTS_TESTS_PAPER_RESULT_DATA","getInstructionsData","modalInstructionData","setModalInstructionData","showInstructionModal","instructionPara","handleCloseInstructionModal","setInstructionModalFlag","planner_id","instructions","StripHtml","htmlString","tmp","innerHTML","textContent","test_instruction_eng","test_instruction_hindi","_state$userPreference","_modalSyllabusData$sy","_modalSyllabusData$sy2","_modalSyllabusData$sy3","_modalSyllabusData$sy4","_modalSyllabusData$sy5","_modalSyllabusData$sy6","_modalSyllabusData$sy7","_modalSyllabusData$sy8","_modalSyllabusData$sy9","_modalSyllabusData$sy10","_modalSyllabusData$sy11","_modalSyllabusData$sy12","_modalSyllabusData$sy13","_modalSyllabusData$sy14","_modalSyllabusData$sy15","_modalSyllabusData$sy16","getSyllabusData","modalSyllabusData","setModalSyllabusData","showSyllabusModal","syllabusData","handleCloseSyllabusModal","setSyllabusModalFlag","paper","test_name","test_date","test_duration_min","max_marks","Zoology","Botany","otsTestsData","setOtsTestsResultData","actions2","viewAnalyticsTests","setViewAnalyticsTests","setTest","instructionModalFlag","syllabusModalFlag","setHasMore","setPageNo","getAnalyticsTests","InstructionModal","SyllabusModal","fetchMoreData","handleInstructionModal","handleSyllabusModal","attempted_on","is_show_solution","solution_visible_at","setOtsPlannerData","otsActions","setOtsPremiumData","setOtsFreeData","plannerModal","setPlannerModal","otsOngoingTestsList","otsPlanner","setOtsPlanner","fetchTopicSubjectList","handleShowPlanner","planner","getOtsPlannerData","handleClosePlanner","planner_type","planner_name","planner_desc","is_paid_planner","is_purchased","planner_price","planner_discount","handleClickPayNow","OtsAnalytics","planer_test_paid_free","courseList","getCourseList","imgData","examCrackerSubjectTopics","SET_MOCK_TESTS_DATA","SET_MOCK_TESTS_RESULT_DATA","setMockTestData","userMockTestsAction","setMockTestsResultData","mockAdvanceTestPaperList","advanceFlag","getAdvancedTest","to_be_held_on","mockMainTestPaperList","mainsFlag","getMainTest","mockNeetTestPaperList","getNeetTest","MockTestMain","MockTestAdvance","MockTestNeet","SET_BIT_SAT_TESTS_DATA","SET_BIT_SAT_TESTS_RESULT_DATA","setBitSatTestsData","bitSatActions","mockTest","getMockTests","handleTest","AdaptiveCpsCreatePaper","handleStep","SubjectSelection","currentSubject","CustomPaperBox","qBank","handleViewSolution","handleTakeTest","unattempt","incorrect","correct","is_submit","acps_id","question_bank_id","SET_CPS_SUBJECT","SET_ADAPTIVE_CPS_ID","setAdaptiveCpsSubject","setAdaptiveCpsId","cps_id","setAdaptiveCpsSubjectAction","adaptiveCpsActions","questionBankTestList","range","setRange","startDate","endDate","getAdaptiveCpsTestList","_subjectList$","fromDate","questionBankId","ZeroAttemptsAlert","handleRedirectToStore","Title","CommonBannerData","commonBannerData","handleSubjectClick","handleSubjectClick2","showModal","handleSubjectClickBoth","getAttemptDetails","adaptive_cps","cps","handleButtonClick","package_active","packageList","paidCoursePackages","attemptCount","setAttemptCount","alertShow","setAlertShow","getAttemptCount","TotalAttempt","CommonBannerComponent","React","AdaptiveCpsSubjects","AdaptiveCpsAction","AdaptiveCpsCustomPapers","AdaptiveCpsContent","newStep","Previous_question_paper","Customized_practise_sheet","User_Exercise_Test","User_ots_component","ExamCracker","BitSat","Mock_test","AdaptiveCps","PyqCpsExamComponent","pyqtopicData","headingName","topicItemList","getTopicList","testModule","PyqSubjectTopicContent","subTopic","CpsSubjectTopicContent","sub_topic_name","PyqCpsExamTestComponent","total_attempts","time_left","solText","setSolText","handlePopState","SET_CPS_TESTS_DATA","SET_CPS_TESTS_RESULT_DATA","setCpsTestsResultData","cpsUiActions","is_cps_jee","is_cps_neet","date_created","setTime","numOfHours","diffInMilliseconds","abs","get_time_diff","my_data","is_coupon","my_state","getCpsSummaryAndAddCoins","CpsQuestionPaperSolutionContent","cpsTestsReducer","cpsResultData","PyqDailyChallengeReducer","pyqDailyChallengeAction","_state$currentTest$to","testList","currentTest","modalOpen","getTestList","handleModal","card","handleStart","PyqDailyChallengeContent","FooterComponent","setQuestionsList","testQuestionsList","instruction_title","_testQuestionsDetails6","_testQuestionsDetails7","_testQuestionsDetails8","_testQuestionsDetails9","_testQuestionsDetails10","_testQuestionsDetails11","_testQuestionsDetails12","_testQuestionsDetails13","handleInput","videoIdEnglish","questionsList","PyqDailyChallengeAction","updatedTestDetails","PyqDailyTestInstructionView","PyqDailyTestQuestionsView","PyqDailyTestContentComponent","otsFreeData","setOtsTestsData","plannerTestType","otsPlannerData","upcomingAndpreviousTestTypes","spsOtsTestList","setSpsOtsTestList","currentPage","setCurrentPage","getSpsTestsList","filterType","free_paid","planner_test_type","test_filter","is_start_test","is_submited","deletePreviousWholeTestData","test_date_newformat","renderButtonText","useAlertHook","initialValue","showAlert","setShowAlert","handleShowAlert","handleCloseAlert","otsPremiumData","spsPremiumTestList","setSpsPremiumTestList","RedirectToPaymentPage","testCategories","setTestCategories","setPlannerTestType","setUpcomingPreviousTestTypes","isModalOpen","setIsModalOpen","FreeOtsTest","PremiumOtsTest","OtsTestSummaryPage","testPaperResultData","currentPaper","Expected_Rank","AIR","ProgressBar","Attempt","Accuracy","_state$otsTestsData","otsResultData","otsPaperResultData","setOtsPaperResultData","paperCategories","setPaperCategories","setCurrentPaper","_testResultData$paper","checkPaperType","checkTarget","OtsTestResultContentComponent","SubjectWiseMarks","getBackgroundColor","dataPoint","symbol","subjectWiseMarks","getSbjctWiseMarks","testid","UserSubjectMarksAnalysis","SubjectWiseMarkChart","Summary","topicAnalysis","getTopicResult","_testPaperResultData$","All_Subject","_response$data$data$A","TopicAnalysis","Topic","OtsSubjectWise","OtsTopicWise","_packageDetails$plann","setPackageDetails","modalFlag","setModalFlag","cpnInput","setCpnInput","setCouponDetails","termsAndConditions","setTermsAndConditions","termsAndConditionsData","termsAndConditionsFlag","termsAndConditionInputCheck","getPackageDetails","handlePaymentInformationPayBtn","userDataDetails","planner_overview","txnId","getReference","possible","merchantKey","salt","hashSequence","hashValue","sha512","payURequestParams","firstname","phone","productinfo","surl","furl","hash","bolt","launch","responseHandler","txnStatus","saveUserTransactions","txnMessage","catchException","addedon","updateUser","handleCouponModal","overview","handleInputCheckBox","handleShowTermsConditionModal","handleInputchange","finalAmont","applyCouponMethod","CouponCode","activePackage","pricePurchaseBtn","handleCloseTermsConditionModal","formValues","setFormValues","showRegistration","setShowRegistration","setIsFormSubmitted","handleCloseRegistration","handlePostData","registration_no","registrationNo","validateForm","prevValues","instructionData","setInstructionData","is_show","handleShowRegistration","isFormSubmitted","RegistrationModal","message1","handleBeforeUnload","returnValue","lastAttempteQuestionQid","changeDisableInput","get_used_duration","last_attempted_qid","nextsave","_state$testDetails3","_element$answer_type","_element$answer_type2","_element$answer_type3","_state$testDetails4","OtsTestInstructionsView","OtsTestQuestionsView","_state$AccuracyAttemp","_state$AccuracyAttemp2","setCurrentSubject","AccuracyAttempt","getAccuracyAttempt","_testPaperResultData$2","_response$data$data$S","SubjectAnalysis","OtsDifficultyLevelCircularProgress","currentToughness","setCurrentToughnhess","difficultyLevel","getDifficultyResult","_testPaperResultData$3","Analysis","BehaviourDoughnutChart","showInLegend","yValueFormatString","defaultObj","correctPoint","wrongPoint","ScatterChart","zoomEnabled","crosshair","snapToDataPoint","gridThickness","tickLength","lineThickness","labelFormatter","fontColor","markerSize","markerColor","toolTipContent","_state$behaviourTime","_state$behaviourTime2","behaviourTime","scatterChartPoint","convertDataPoints","Type","Time","OtsBehaviourChart","OtsQuestionPaperSolutionContent","_currentSolutionDetai","renderCorrectWrongIcon","classEditorForInput","check_answer","renderCorrectWrongInputIcon","renderParagraphQuestionText","testQuestionsDetails1","_response$data$data$s","_testPaperResultData$4","_testPaperResultData$7","_testPaperResultData$8","_testPaperResultData$5","_testPaperResultData$6","_testPaperResultData$9","_testPaperResultData$10","PrivacyPolicyContentComponent","pageContent","getPageContent","cms","TermsNConditionContentComponent","FaqsContentComponent","faqsList","getFaqsList","AboutUsContentComponent","ConfirmationMessage","queryTitle","queryDescription","showConfirmation","setShowConfirmation","queries","handleCloseConfirmation","ContactUsContentComponent","SupportCenterInfo","handleStepTwo","setData","validdata","getData","center","InitialScreen","handleOptionSelect","flexDirection","parent","parentid","SecondScreen","selectedParentId","setMessages","childListings","handleStepOne","showConfirmationMessage","inputMessage","setInputMessage","handleSendMessage","selectedChildId","showCustomMessageInput","showkidly","setCurrentScreen","textareaRows","setTextareaRows","child","childid","previousRows","currentRows","Chatbox","setParents","setChildListings","currentScreen","setSelectedOption","setSelectedParentId","setShowConfirmationMessage","setSelectedChildId","selectedChildOption","setSelectedChildOption","setShowCustomMessageInput","setKidly","getParentList","parentsData","parentId","childId","childOption","getChildList","params","childListingsData","childlisting","messageSubmit","support_id","HelpAndSupport","All_page_content","Terms_n_condition","Faqs","AboutUs","setOptions","setBookmarkQuestionList","optionType","dppData","pyqData","option_type","getDppData","getExerciseData","getTestData","getPyqData","ExamList","handleBookmarkPyqQuestion","allQuestionList","pyqQuestionIndex","pyqQuestionDetails","handleBookmarkDppQuestion","dppQuestionIndex","dppQuestionDetails","handleStoreBookmarkDataInStorage","handleBookmarkExerciseQuestion","exerciseQuestionIndex","exerciseQuestionDetails","questionText","handleBookmarkTestQuestion","testQuestionIndex","testQuestionDetails","renderTestCollectionView","renderVideoCollectionView","renderPYQCollectionView","handleChangeOptions","UserBookmarksContentComponent","BookmarkViewQuestionsView","handleBookmarkQuestion","solution_id","getQuestionsList","updatedTestQuestions","handleUpdateTestQuestionDetails","updatedDetails","BookmarkViewContentComponent","BookmarkTestViewQuestions","progressCount","BookmarkTestViewContentComponent","questionBankDetails","questionBankTitle","questionBankType","questionsCount","questionFromMcqBank","selectedSubjectId","selectedTopics","selectAll","difficultyLevelDetails","getSubjectlist","getDifficultyLevels","handleChangeQuestionFromMcqBank","getTopicsList","createCustomQuestionBankModule","handleChangeQuestionBankTitle","handleChangeQuestionBankQuestionsCount","DifficultyLevel","handleChangeDifficultyLevel","topics","handleSelectAllTopics","handleChangeTopic","qb_type","no_of_question","question_type","handleCreateQuestionBankModule","UserCreateCustomQuestionBankContentComponent","_dataPoints$","_dataPoints$2","_dataPoints$3","_dataPoints$4","_dataPoints$5","_dataPoints$6","RankDoughnutChart","setTabType","TopicWiseMarks","Difficult_Level_Circular_Progress","_state$behaviourTime3","_state$behaviourTime4","DoughnutChart1","Question_paper_solution","getCpsSummary","marks_analysis","score_analysis","score_percentage","pyqResultData","historys","getPyqSummary","examCrackerTestsData","examCrackerTestData","QuestionsGridView","labelClassName","QuestionStatusLabel","GridIcon","ListIcon1","GridIcon1","ListIcon","QuestionListPanel","ProgressIndicator","QuestionInfoSection","QuestionOptions","QuestionSwitcher","handlePurticularQuestion","QuestionSolution","QuestionVideoSolution","eventListener","isUrl","isCryptId","useReportAndError","setShowModal","handleToggleModal","ReactAndErrorText","ReportAndErrorModal","QuestionDetailPanel","memo","QuesitonOptions","ExamCrackerTestQuestionView","questionElement","ExamCrackerTestContentComponent","trimmedAndLowercasedPackageName","toughness_name","ExamCrackerTestInstructionView","ExamCrackerTopicData","isDisableButton","setIsDisableButton","cpnAmt","setCpnAmt","package_amount","package_discount","package_description","orignalAmount","updatedAmount","SET_EXAM_CRACKER_TESTS_DATA","setExamCrackerTestsData","userExamCrackerTestsAction","_state$PackageSliceRe","showTopic","packageActive","MockTestInstructionView","MockTestQuestionView","mockTestsData","mockTestData","mockActions","MockTestContentComponent","mockResultData","getMockSummary","MockQuestionPaperSolutionContent","MockTestPracticeInstructionView","MockTestPracticeQuestionView","MockPracticeTestContentComponent","BitSatTestInstructionView","BitSatTestQuestionsView","bitSatTestsData","bitSatTestData","setBitSatTestsResultData","BitSatTestContentComponent","bitSatResultData","BitSatQuestionPaperSolutionContent","transactionData","transactionDetails","ccAvenueResponse","setccAvenueResponse","getCcAvenueResponse","payment_status","itemprice","transactionDate","animationData","payment_successfull","payment_failed","QuestionBankCreatePaper","SET_QUESTION_BANK_ID","SET_QUESTION_BANK_NAME","SET_QUESTION_BANK_TESTS_DATA","SET_QUESTION_BANK_TESTS_RESULT_DATA","setQuestionBankIdAction","questionBankActions","setQuestionBankNameAction","getQuestionBankTestList","Qbank","renderTopicsWithLimit","limit","totalCharacters","calculateTotalCharacters","reduce","acc","handleRenderTopics","create_on","toLocaleDateString","tabindex","paddingBottom","right_questions","wrong_questions","QuestionBankCustomPapers","noOfQuestions","numberOfQuestion","q_bank_id","_state$subjects$subje","_state$topics$topic2","_state$topics$topic3","_state$selectedTopics2","_renderSelectedTopics","_renderSelectedTopics2","_renderSelectedTopics3","_renderSelectedTopics4","_state$difficultyLeve4","testName","difficultyLevels","selectedDifficultyLevel","selectedDifficultyLevels","showTopicModal","getSubjectsList","getDifficultyLevel","handleDiffcultLevel","handleNoOfQuestions","renderSelectedTopics","_state$selectedTopics","newArr","_state$topics","_state$topics$topic","selectSubjects","filteredSubjects","modalCheck","renderDifficultyLevel","_state$difficultyLeve","_state$difficultyLeve2","_state$difficultyLeve3","selectData","questionBankTestName","QuestionBank","questionBankName","QuestionBankTestQuestionsView","isHindiSolutionEmpty","questionBankTestId","QuestionBankTestInstructionView","QuestionBankTestContentComponent","QuestionBankSolutionContent","otsSummary","setOtsSummary","getOtsSummary","AdaptiveCpsTestInstructionView","AdaptiveCpsTestInstructions","adaptiveCpsTestData","handleStep2","AdaptiveCpstTestInstructionsView","ReportErrorModal","QVideoSolution","isCurrent","handleQuestionClick","getLabelClassName","AdaptiveCpsTestQuestionsView","AdaptiveCpsTestQuestions","AdaptiveCpsTestContent","AdaptiveCpsId","two","AdaptiveCpsReducer","AdaptiveActions","adaptiveCpsResults","setAdaptiveCpsResults","getAdaptiveCpsResults","memoizedRenderSingleSelect","memoizedRenderMultiSelect","memoizedRenderInputField","ViewVideoSolution","isVideoCriptAvailable","QuestionViewVideoSolution","AdaptiveCpsViewSolutionContent","studentRollNum","parentrootReducer","parentAuthReducer","st_rollno","parentProfileDtails","parentNum","f_name","ParentHeader","ParentHeaderLeft","ParentHeaderRight","_state$attendanceDeta","_state$attendanceDeta2","_state$attendanceDeta3","_state$attendanceDeta4","_state$attendanceDeta5","_state$attendanceDeta6","setStartDate","setEndDate","attendanceDetails","getAttendanceDetails","end_data","DatePicker","dateFormat","maxDate","total_working_days","total_absent_days","toal_present_days","total_miss_punch","datetime","in_punch_time","out_punch_time","presance_status","YourOrderComponent","singleProduct","coupon_discount_price","product_price","discount_price","handleCheckOut","isProgressdisabled","deleteItem","handleDeleteItem","userUpdateCart","qnty","product_url","handleDecrement","handleIncrement","HANDBOOK_SET_ORDER_ID","HANDBOOKS_SAVE_TRANSACTION_DETAILS","saveOrderId","selectedAddress","checkoutInput","payment","getPayment","fullname","HandBooksCcAvenuePayment","handleClickNext","handleClickPrev","handleStep1","formView","setFormView","btnView","setBtnView","overReview","setOverReview","savedAddress","formSubmit","lastTwo","setCheckoutInput","landMark","zipcode","getAddress","stopAddress","persist","handleChangeAddress","landmark","handleForm","submitOrder","OrderReview","handleReview3","Circle","visibility","setStoreCartDetailsData","userStoreCartDetailsData","_location$state2","step2","circle","arr","handleClickPrev2","setWidths","AddedToCart","FillingAddress","storeCartDetailsData","addToCart","cartBtnFlag","handleAddToCart","handleAlert","_state$cartDetails","_state$cartDetails$da","handleWishList","handleBuyNow","wishListData","moveToCart","handleRedirect2","memoizedClassEditor","memoizedRenderOptions","html","hindiText","handleGoBack","QuestionViewContentComponent","parentUserId","_location$state3","_location$state4","planner_test_id","parentPaperId","paperIdd","memoizedTestQuestionsDetails","memoizedCurrentSolutionDetails","currentQuestionData","studentPaperId","studentUserId","studentPaperAnalysisReport","getStudentPaperAnalysisReport","reportTemplateRef","handleGeneratePdf","doc","jsPDF","unit","pageHeight","internal","pageSize","setFont","addPage","save","StudentReportPDF","allTestsPerformanceReport","test_details","getAllTestsPerformanceReport","borderBottom","colSpan","borderTopLeftRadius","borderRight","borderTopRightRadius","_element$subjects","_element$subjects$Phy","_element$subjects2","_element$subjects2$Ph","_element$subjects3","_element$subjects3$Ph","_element$subjects4","_element$subjects4$Ph","_element$subjects5","_element$subjects5$Ph","_element$subjects6","_element$subjects6$Ph","_element$subjects7","_element$subjects7$Ch","_element$subjects8","_element$subjects8$Ch","_element$subjects9","_element$subjects9$Ch","_element$subjects10","_element$subjects10$C","_element$subjects11","_element$subjects11$C","_element$subjects12","_element$subjects12$C","_element$subjects13","_element$subjects13$M","_element$subjects14","_element$subjects14$M","_element$subjects15","_element$subjects15$M","_element$subjects16","_element$subjects16$M","_element$subjects17","_element$subjects17$M","_element$subjects17$M2","_element$subjects18","_element$subjects18$M","_element$overallsumma","_element$overallsumma2","_element$overallsumma3","_element$overallsumma4","_element$overallsumma5","_element$overallsumma6","_element$overallsumma7","_element$overallsumma8","_element$overallsumma9","_element$overallsumma10","_element$overallsumma11","marks","percentage","rank","highest_mark","physics_marks","avg","chemistry_marks","maths_marks","overallsummary","obtained_marks","stud_count","all_india_rank","tot_stud_india","high_mark","expectrank","_element$subjects19","_element$subjects19$P","_element$subjects20","_element$subjects20$P","_element$subjects21","_element$subjects21$P","_element$subjects22","_element$subjects22$P","_element$subjects23","_element$subjects23$P","_element$subjects23$P2","_element$subjects24","_element$subjects24$P","_element$subjects25","_element$subjects25$C","_element$subjects26","_element$subjects26$C","_element$subjects27","_element$subjects27$C","_element$subjects28","_element$subjects28$C","_element$subjects29","_element$subjects29$C","_element$subjects29$C2","_element$subjects30","_element$subjects30$C","_element$subjects31","_element$subjects31$Z","_element$subjects32","_element$subjects32$Z","_element$subjects33","_element$subjects33$Z","_element$subjects34","_element$subjects34$Z","_element$subjects35","_element$subjects35$Z","_element$subjects35$Z2","_element$subjects36","_element$subjects36$Z","_element$subjects37","_element$subjects37$B","_element$subjects38","_element$subjects38$B","_element$subjects39","_element$subjects39$B","_element$subjects40","_element$subjects40$B","_element$subjects41","_element$subjects41$B","_element$subjects41$B2","_element$subjects42","_element$subjects42$B","_element$overallsumma12","_element$overallsumma13","_element$overallsumma14","_element$overallsumma15","_element$overallsumma16","_element$overallsumma17","_element$overallsumma18","_element$overallsumma19","_element$overallsumma20","_element$overallsumma21","zoology_marks","Botony","botany_marks","_studentProfile$data","_studentProfile$data2","_studentProfile$data3","_studentProfile$data4","_studentProfile$data5","_studentProfile$data6","_studentProfile$data7","_studentProfile$data8","studentAttendance","studentProfile","getStudentProfile","_response$data2$data","total_test","appeared_count","attendance","AllTestsPerformanceReportTabel","ParentContentComponent","StudentProfile","RbtsFullTest","_studentData$student_","_studentData$student_2","_studentData$student_3","_studentData$student_4","_studentData$student_5","_studentData$student_6","_studentData$student_7","_studentData$student_8","_studentData$student_9","_studentData$student_10","_studentData$student_11","_studentData$student_12","_studentData$student_13","_studentData$student_14","_studentData$student_15","_studentData$student_16","_studentData$student_17","_studentData$student_18","_studentData$student_19","_studentData$student_20","_studentData$student_21","_studentData$student_22","_studentData$student_23","_studentData$student_24","_studentData$student_25","_studentData$student_26","_studentData$student_27","_studentData$student_28","_studentData$student_29","_studentData$student_30","studentData","student_summary","highest_marks","avg_score","performance","background_color","percentile","user_score","getStudentData","device","student_data","QuestionClassWiseTable","questionClassWise","classFrom","filteredMarks","mark","chemistrySubject","subsubject","sub_subject","TestSummaryTable","_testReport$marks","_testReport$marks2","_testReport$marks3","_testReport$marks4","_testReport$marks5","_testReport$marks6","_testReport$marks7","_testReport$marks8","_testReport$marks9","testReport","attempted_questions","correct_questions","incorrect_questions","unattempted_questions","tried_not_submitted","not_read_tried","ImprovementsSuggestions","_improvements_suggest","_improvements_suggest2","_improvements_suggest3","_improvements_suggest4","_improvements_suggest5","_improvements_suggest6","_improvements_suggest7","_improvements_suggest8","improvements_suggestions","time_taken","attempted_qns","avg_time","easy","_element$topics","TestReportContentComponent","redirectToPredictCollege","current_paper","getQuestionsClassWise","getImprovementsSuggestions","getTestReport","curt_paper","expected_rank","questions_from","handlePaperChange","self_score","topper_score","TopicWiseAnalysisContentComponent","topicWiseData","curntSubject","getTopicWiseData","_response$data$subjec","topic_wise","handleChangeSubjects","topicquestions","is_wrong","SingleQuestionDetails","singleQuestionData","handlePrevBtn","isNextDisabled","setIsNextDisabled","_element$comparison_d","_element$comparison_d2","qId","comparison_data","topper_timetaken","average_time","QuestionWiseAnalysisContentComponent","questionWiseData","getQuestionWiseData","getSingleQuestion","correct_percentage","wrong","wrong_percentage","unattempted","unattempted_percentage","TopperComparisonContentComponent","_singleStudentCompare2","studentCompare","userScore","singleStudentCompare","compareStudent","getStudentCompare","compare_user_id","getCompareStudent","compareuser","topper_details","_element$topper_detai4","_element$topper_detai5","_element$topper_detai6","handleStudentCompare","student","renderTable","_element$topper_detai","_element$topper_detai2","_element$topper_detai3","_singleStudentCompare","qn_attempted","tough_qns_attempted","PredictCollegeContentComponent","studentTarget","collegeDetails","stateSelected","categorySelected","categories","getCollegeDetails","studentTargetId","college_predictor","state_college_predictor","selectedCategory","college_name","TestsContentComponent","ata","TestReport","QuestionWiseAnalysis","TopicWiseAnalysis","TopperComparision","PredictCollege","selected_type","mont","Month","months","setPaperIds","setPlannerTestIds","TestWiseAnalysis","_state$about_us","_state$faq","historyState","about_us","consolidated_coins","transaction_data","showAllTransactions","coinEarnPoints","encUpi","encBank","acc_name","ifsc_code","acc_no","cacc_no","payMode","coin_balance_redeem","showBankDetailsModal","setShowBankDetailsModal","showRedeemConfirmModal","setShowRedeemConfirmModal","showRedemptionSuccessModal","setShowRedemptionSuccessModal","showFinalSuccessModal","setShowFinalSuccessModal","hasMoreData","setHasMoreData","upiError","setUpiError","handleShowErrorModal","handleCloseErrorModal","handleCloseBankDetailsModal","handleCloseRedeemConfirmModal","handleCloseRedemptionSuccessModal","handleCloseFinalSuccessModal","getTransactionLists","refer","setRefer","updatedTransactionList","transactionApi","_response$data$paymen","_response$data$paymen2","_response$data2$payme","_response$data2$payme2","_response$data3","_response$data3$payme","_response$data3$payme2","_response$data4","_response$data4$payme","_response$data4$payme2","_response$data5","_response$data5$payme","_response$data5$payme2","_response$data6","_response$data6$payme","_response$data7","current_page","payment_data","enc_upi","upi_id","enc_bank","pay_mode","_response$data8","_response$data8$payme","_response$data9","_response$data9$payme","_response$data9$payme2","_response$data10","_response$data10$paym","_response$data10$paym2","_response$data11","_response$data11$paym","_response$data11$paym2","_response$data12","_response$data12$paym","_response$data12$paym2","_response$data13","_response$data13$paym","_response$data14","initialTransaction","_response$data15","_response$data15$tran","postBankDetails","_state$encBank","getPillClasses","rewardStatus","getDotClasses","totalRedeemCoins","isSaveButtonDisabled","_state$encUpi","newTransactionData","endMessage","reward_status","trans_type","coin_date","transactionConditionalList","points","line","validateUpiId","handleModifyRedemption","handleModifyUpiRedemption","WalletContentComponent","_referAndEarnData$ter","referAndEarnData","term","termData","ReferAndEarnSlice","cancelRequestData","checkedRefferals","referalList","setCancelRequestData","setPaymentDetails","setCheckedCards","checkedCards","setReferallList","saveUpiBankDetails","getReferalLists","referral_list","REFER_AND_EARN_TYPES","REFER_AND_EARN_SIZE","REFER_AND_EARN_MODALS","INIT","UPI_DETAILS","BANK_DETAILS","VERIFY_DETAILS","SUCCESSFULL","CANCEL_MODIFY","DETAILS_UPDATED","renderButton","setDetailsInLocalStorage","localStorage","getDetailsFromLocalStorage","getItem","removeString","handleReedem","setModalType","finalPayloadData","reeedemCash","totalRewardCash","reduceARr","curr","reward_cash","checkDisable","isRedeemable","ReferFrndBanner","webbanner_image1","banner_message","HowItWorks","works","webbanner_image2","CopyCode","defaultCode","shareContents","copied","setCopied","showDropdown","setShowDropdown","handleCopyClick","clipboard","writeText","POSITION","TOP_RIGHT","readOnly","handleShareWhatsapp","prevShowDropdown","handleShareFacebook","handleLinkedInClick","ReferalCard","referal","handleCheckboxChange","checkedReferalList","is_redeemable","product_title","formatted_date","colorEditor","is_cancelable","handleClickCancel","reject_reason","redeemable_date","UpiDetails","onCloseModal","upiId","setUpiId","_getDetailsFromLocalS","localStorageUpiDetails","handleSubmitUpi","username","provider","isValidUpiId","BankDetails","bankDetails","setBankDetails","accountHolderName","ifscCode","accountNumber","confirmAccountNumber","validationMessages","setValidationMessages","storedBankDetails","updatedValue","handleSubmit","validateBankFields","isValid","VerifyDetails","setType","handleModify","Successful","setReferAndEarnType","setCheckedReferalList","Cancel","handleCancel","cancelRequest","handleModify1","ReferalList","setReferalListSize","referalListSize","setReferAndSize","modalType","handleClickReedemCashBtn","handleClickViewAllReferalList","Animation","cashbackReceiptList","setCashbackReceivedList","getCashbackReceiptList","interval","prevIndex","time_diff","ReferAndEarnContent","handleTermsClick","referAndEarnSize","cash_rewards_earned","setReferAndEarnData","referAndEarnType","getReferalCode","getReferAndEarnData","CourseEnrollmentTermsAndConditions","examSummary","setExamSummary","getExamSummary","Avatarr","Avatar","Emoji","openEmoji","selectedEmoji","setSelectedEmoji","setOpenEmoji","inputRef","EmojiPicker","onEmojiClick","emoji","prevText","emojiSize","perLine","streamingDetails","chatroom","connection","setConnection","selectedTab","setSelectedTab","pollData","setPollData","msgContainerRef","showPoll","setShowPoll","conn","Strophe","Connection","Status","CONNECTED","send","$pres","c","addHandler","onMessage","disconnect","isMyMessage","getResourceFromJid","getText","getElementsByTagName","delayElement","toLocaleTimeString","hour12","prevMessages","sendGroupMessage","$msg","fetchPollData","fetch","json","live_url","_msg$body","splitAdmin","chat","onKeyDown","poll","poll_url","getViewsCount","viewers_count","setViewsCount","leaveClassApiCall","viewsCount","scrolling","leaveClass","LiveVideoStreamingDetails","setStreamingDetails","getStreamingDetails","isAndroidTablet","isTablet","osName","isIPad","isIPhone","StreamingVideoDetails","PrivacyPolicyComponent","PackagesOverview","_packageData$price_de","_packageData$price_de2","useParams","couponResponse","setCouponResponse","discount_amount","handlePurchaseInitiation","routes","component","CpsTestComponent","CpsSummary","CpsQuestionPaperSolution","PyqSummary","SubjectTopicWise","AttemtedAccuracy","Behaviour","UserCreateCustomQuestionBank","BookmarkViewComponent","BookmarkTestViewComponent","UserBookmarks","UserAnalytics","UserNotifications","UserTransactions","TermsNCondition","PrivacyPolicy","UserExerciseTest","PyqSubjectTopic","PyqDailyChallenge","PyqDailyTestComponent","CpsSubjectTopic","CpsSubjectSubTopic","PyqCpsExamTest","TestResultComponent","TestComponent","ExamTestSummary","PyqTestComponent","PyqTestComponent2","PyqTestComponent3","PyqQuestionPaperSolution","ExerciseResultComponent","ExerciseComponent","ExamCrackerSubjectTopicLists","ExamCrackerTestComponent","ExamCrackerPaymentPage","MockTestComponent","MockTestSummary","MockQuestionPaperSolution","MockPracticeTestComponent","OtsTestList","OtsTestContentComponent","OtsPaymentComponent","OtsTestResultComponent","OtsSubjectTopicWise","OtsAccuracyAttempted","OtsDifficultyLevel","OtsBehaviour","OtsQuestionPaperSolution","OtsSummary","BitSatTestComponent","BitSatSummary","BitSatQuestionPaperSolution","UserCreateDoubt","UserDoubts","UserStore","ReferAndEarn","CartCollection","CartDetails","WishListCollection","NotesFeature","LiveStreamVideoFeature","Zoom","StreamingVideo","LiveStreamFeature","VideoFeature","TopicComponent","RecordedVideoWatchComponent","SubjectComponent","UserEditProfile","UserProfile","UserDashboard","SignUp","SignUp2","CcAvenueResponse","QuestionBankCreateForm","QuestionBankTestComponent","QuestionBankSolution","Wallet","AdaptiveCpsViewSolution","AdaptiveCpsTest","AdaptiveCpsTestResults","Parent","StudentAttendanceContent","QuestionViewComponent","Pdf","Tests","isAuthenticated","Redirect","Component","render","Route","RedirectRoute","PublicRoute","logoutTimer","resetTimer","startTimer","AboutUsComponent","TermsNConditionComponent","StoreBanner","_data$target_details","_data$class_name","_data$target_details2","_data$target_details3","target_details","handleViewDetailsClick","packageId","Store","Router","basename","InactivityLogout","Switch","route","RouteComponent","PrivateRoute","BlockedtoAccessApp","defaults","common","Manager","alwaysConsoleClear","Routes","uiReducer","freeCoursePackage","inputContactNumber","setRedirectUrl","removeItem","authReducer","userPreferenceReducer","exerciseResultData","feature","feature_type","courseData","userActivityReducer","twilioChatReducer","userTestsExercisesReducer","setPyqJeeMainsOrAdvance","pyqTestsReducer","cpsTestsData","setCpsTestsData","CpsReducer","setOtsTestsPaperResultData","OtsReducer","bookmarkQuestionList","relatedTime","userBookmarkReducer","examCrackerTestsReducer","setMockTestsData","mockTestsReducer","bitSatTestsReducer","packageDetailsForPayment","storeReducer","handBookOrderId","handBookTransactionDetails","setHandBookTransactionDetails","HandBookReducer","questionBankTestsData","questionBankResultData","setQuestionBankTestsData","setQuestionBankTestsResultData","setQuestionBankId","setQuestionBankName","QuestionBankReducer","appReducer","combineReducers","MultipleLoginDetectSlice","setMultipleLoginStatus","otsTestReducer","handBookPaymentData","handBookPaymentReducer","rootReducer","persistConfig","storage","blacklist","persistedReducer","persistReducer","store","configureStore","middleware","getDefaultMiddleware","serializableCheck","ignoredActions","ignoredPaths","devTools","process","persistor","persistStore","Provider","PersistGate","App"],"mappings":"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B,OAA0B,wCCA1B,OAA0B,6CCA1B,OAA0B,6CCA1B,OAA0B,6CCA1B,OAA0B,2CCA1B,OAA0B,4CCA1B,OAA0B,8CCA1B,4jFCAA,OAA0B,6CCA1B,OAA0B,6CCA1B,OAA0B,6CCA1B,OAA0B,0CCA1B,OAA0B,mCCA1B,OAA0B,wCCA1B,OAA0B,2CCA1B,OAA0B,wCCA1B,OAA0B,qCCA1B,OAA0B,sCCA1B,OAA0B,kCCA1B,wjMCAA,wtICAA,OAA0B,2CCA1B,OAA0B,gDCA1B,OAA0B,wCCA1B,OAA0B,gCCA1B,OAA0B,iCCA1B,OAA0B,uCCA1B,OAA0B,iCCA1B,OAA0B,kCCA1B,OAA0B,oCCA1B,OAA0B,+CCA1B,OAA0B,uCCA1B,OAA0B,yCCA1B,OAA0B,uCCA1B,OAA0B,mCCA1B,okHCi5BAgF,OA/bA,CACbC,QCnda,q0JDodbC,aEpda,iyBFqdbC,kBACAC,iBACAC,SGvda,6pCHwdbC,wBACAC,uBACAC,UI1da,yyEJ2dbC,UK3da,qjDL4dbC,WM5da,i1EN6dbC,mBO7da,yuIP8dbC,YQ9da,y2BR+dbC,US/da,ynBTgebC,YUhea,yeViebC,SACAC,SWlea,qzFXmebC,WYnea,ytIZoebC,Oapea,y7DbqebC,WACAC,YACAC,iBACAC,Ucxea,64DdyebC,UACAC,iBACAC,Qe3ea,q2Uf4ebC,WACAC,aACAC,aACAC,agB/ea,6nQhBgfbC,ciBhfa,ypDjBifbC,OkBjfa,68HlBkfbC,QmBlfa,6yEnBmfbC,coBnfa,yiFpBofbC,QqBpfa,6sDrBqfbC,OsBrfa,iyDtBsfbC,SuBtfa,qwCvBufbC,SwBvfa,yiCxBwfbC,SyBxfa,q/BzByfbC,c0Bzfa,67B1B0fbC,W2B1fa,ikC3B2fbC,U4B3fa,qR5B4fbC,iBACAC,kB6B7fa,imB7B8fbC,iB8B9fa,6pE9B+fbC,a+B/fa,6c/BggBbC,UgChgBa,iiBhCigBbC,SiCjgBa,iWjCkgBbC,QkClgBa,i1BlCmgBbC,cmCngBa,ygBnCogBbC,YACAC,aACAC,eACAC,UoCvgBa,igBpCwgBbC,WqCxgBa,6brCygBbC,YsCzgBa,6tBtC0gBbC,YuC1gBa,iXvC2gBbd,iBACAe,UwC5gBa,ySxC6gBbC,eACAC,cACAC,aACAC,WACAC,WACAC,eACAC,mBACAC,kBACAC,WyCrhBa,qbzCshBbC,Y0CthBa,qjX1CuhBbC,Q2CvhBa,67D3CwhBbC,S4CxhBa,ysE5CyhBbC,Q6CzhBa,y+O7C0hBbC,S8C1hBa,y6L9C2hBbC,Y+C3hBa,ipB/C4hBbC,UgD5hBa,iXhD8hBbC,cACAC,kBACAC,kBACAC,eiDjiBa,i0LjDkiBbC,WkDliBa,qwQlDmiBbC,WmDniBa,ipSnDoiBbC,WoDpiBa,qnRpDqiBbC,aACAC,aACAC,aACAC,WqDxiBa,6kKrDyiBbC,WACAC,WACAC,WACAC,YsD5iBa,ijGtD6iBbC,YuD7iBa,6jHvD8iBbC,YwD9iBa,i3FxD+iBbC,YyD/iBa,i2HzDgjBbC,Y0DhjBa,iqG1DijBbC,Y2DjjBa,ytG3DkjBbC,cACAC,Y4DnjBa,q8W5DojBbC,Y6DpjBa,6jZ7DqjBbC,cACAC,UACAC,Q8DvjBa,qb9DwjBbC,Q+DxjBa,isU/DyjBbC,SgEzjBa,62OhE0jBbC,SiE1jBa,ywCjE2jBbC,SkE3jBa,ihBlE4jBbC,SmE5jBa,q7BnE6jBbC,YoE7jBa,q2BpE8jBbC,gBqE9jBa,y6BrE+jBbC,csE/jBa,iqBtEgkBbC,iBuEhkBa,ioBvEikBbC,awEjkBa,6wBxEkkBbC,gByElkBa,qfzEmkBbC,mB0EnkBa,6tC1EokBbC,c2EpkBa,6nC3EqkBbC,kB4ErkBa,6oC5EskBbC,gB6EtkBa,yuB7EukBbC,mB8EvkBa,iqB9EwkBbC,e+ExkBa,y3B/EykBbC,kBgFzkBa,6kBhF0kBbC,qBiF1kBa,ysCjF2kBbC,SkF3kBa,i8BlF4kBbC,SmF5kBa,i5BnF6kBbC,SoF7kBa,ymDpF8kBbC,SqF9kBa,q5BrF+kBbC,SsF/kBa,isBtFglBbC,SuFhlBa,quBvFilBbC,SwFjlBa,i5BxFklBbC,SyFllBa,y2BzFmlBbC,e0FnlBa,i1I1FolBbC,mBACAC,mBACAC,iB2FtlBa,ynB3FulBbC,mBACAC,mBACAC,mBACAC,e4F1lBa,yd5F2lBbC,e6F3lBa,y1T7F4lBbC,gB8F5lBa,i1B9F6lBbC,gB+F7lBa,ylB/F8lBbC,gBgG9lBa,qjChG+lBbC,gBiG/lBa,6gCjGgmBbC,0BkGhmBa,q2FlGimBbC,2BmGjmBa,y/FnGkmBbC,gBoGlmBa,iwCpGmmBbC,UACAC,gBqGpmBa,ioGrGqmBbC,gBsGrmBa,qxBtGsmBbC,gBuGtmBa,i0BvGumBbC,mBwGvmBa,qZxGwmBbC,yBACAC,mBACAC,mBACAC,mBACAC,YyG5mBa,68EzG6mBbC,Y0G7mBa,ilH1G8mBbC,Y2G9mBa,ysG3G+mBbC,gB4G/mBa,y6H5GgnBbC,iB6GhnBa,q0F7GinBbC,iB8GjnBa,i9C9GknBbC,iB+GlnBa,6lE/GmnBbC,agHnnBa,yjBhHonBbC,iBiHpnBa,yuCjHqnBbC,qBkHrnBa,q7DlHsnBbC,qBACAC,uBACAC,sBACAC,uBACAC,iBmH1nBa,6lBnH2nBbC,sBACAC,aoH5nBa,qyBpH6nBbC,aqH7nBa,6kCrH8nBbC,asH9nBa,imCtH+nBbC,kBuH/nBa,61GvHgoBbC,kBwHhoBa,i/YxHioBbC,YyHjoBa,6gMzHkoBbC,QACAC,Y0HnoBa,y9U1HooBbC,W2HpoBa,ixM3HqoBbC,eACAC,mB4HtoBa,i2N5HuoBbC,U6HvoBa,yzO7HwoBbC,U8HxoBa,yxH9H2oBbC,iB+H3oBa,yiF/H4oBbC,iBgI5oBa,6wDhI6oBbC,iBiI7oBa,qxCjI8oBbC,iBkI9oBa,q/DlI+oBbC,qBmI/oBa,ivOnIgpBbC,iBoIhpBa,q2BpIipBbC,iBqIjpBa,qUrIkpBbC,iBsIlpBa,iXtImpBbC,iBuInpBa,6cvIopBbC,iBwIppBa,qrDxIqpBbC,wBACAC,oBACAC,iByIvpBa,iazIwpBbC,iB0IxpBa,qlD1IypBbC,wBACAC,iB2I1pBa,q4F3I2pBbC,wBACAC,iB4I5pBa,imG5I6pBbC,iB6I7pBa,yiF7IgqBbC,iB8IhqBa,yjM9IiqBbC,iB+IjqBa,ivQ/IkqBbC,iBgJlqBa,ivLhJqqBbC,iBiJrqBa,qajJsqBbC,iBkJtqBa,ivBlJuqBbC,oBmJvqBa,64OnJyqBbzD,yBAGA0D,iBoJ5qBa,y0BpJ6qBbd,oBACAe,iBqJ9qBa,i/SrJ+qBbC,iBsJ/qBa,yXtJgrBbC,iBuJhrBa,ykBvJirBbC,iBwJjrBa,yqBxJkrBbC,iByJlrBa,qqSzJmrBbC,gB0JnrBa,q0J1JorBbC,W2JprBa,ygQ3JqrBbC,oB4JrrBa,6nF5JsrBbC,W6JtrBa,y8E7JurBbC,e8JvrBa,ixC9JwrBbC,oB+JxrBa,y3E/JyrBbC,YgKzrBa,iqChK0rBbC,oBACAC,KiK3rBa,iqDjK4rBbC,ckK5rBa,q9ElK6rBbC,emK7rBa,qhHnK8rBbC,aoK9rBa,quEpK+rBbC,iBqK/rBa,qsKrKgsBbC,gBsKhsBa,qxHtKisBbC,gBuKjsBa,6kHvKksBbC,kBAIAC,cwKtsBa,q6JxKusBbC,cAGAC,iByK1sBa,yzOzK2sBbC,iB0K3sBa,iQ1K4sBbC,iB2K5sBa,ypB3K6sBbC,iB4K7sBa,6+B5K8sBbC,iB6K9sBa,qa7K+sBbC,qB8K/sBa,q7B9KgtBbC,oBACAC,wBAGAC,iB+KptBa,q2K/K4tBbC,gBACAC,iBgL7tBa,67JhL8tBbC,kBACAC,kBAGAC,oBACAC,iBiLnuBa,ygSjLouBbC,sBACAC,iBkLruBa,qxJlLsuBbC,iBmLtuBa,65OnLuuBbC,sBACAC,oBACAC,iBoLzuBa,qsRpL0uBbC,oBACAC,iBqL3uBa,qiWrL4uBbC,iBsL5uBa,isDtL6uBbC,iBuL7uBa,iQvL8uBbC,mBwL9uBa,6vExL+uBbC,UACAC,iByLhvBa,i5BzLivBbC,iB0LjvBa,inE1LkvBbC,iB2LlvBa,irV3LmvBbC,oBACAC,oBAEAC,eACAC,iB4LvvBa,imB5L2vBbC,iB6L3vBa,0jS7L4vBbC,iB8L5vBa,05T9L6vBbC,oBACAC,iB+L9vBa,krS/L+vBbC,oBACAC,iBgMhwBa,8pRhMiwBbC,iBiMjwBa,syRjMmwBbC,mBkMnwBa,koPlMowBbC,mBmMpwBa,89PnMqwBbC,mBoMrwBa,0+QpMswBbC,mBqMtwBa,siQrMuwBbC,mBsMvwBa,spQtMwwBbC,mBuMxwBa,suPvMywBbC,mBwMzwBa,s9RxM0wBbC,mByM1wBa,smRzM2wBbC,mB0M3wBa,07Q1M6wBbC,qB2M7wBa,86Q3M8wBbC,qB4M9wBa,kiQ5M+wBbC,qB6M/wBa,8zU7MgxBbC,qB8MhxBa,s7P9MixBbC,qB+MjxBa,syQ/MmxBbC,iBgNnxBa,k/PhNoxBbC,oBAEAC,QiNtxBa,6SjNuxBbC,SkNvxBa,i+BlNwxBbC,WmNxxBa,66MnNyxBbC,kBACAC,mBACAC,gBoN3xBa,69JpN4xBbC,gBACAC,aqN7xBa,qrBrN8xBbC,oBACAC,oBAGAC,WsNlyBa,6hFtNsyBbC,UACAC,eACAC,QuNxyBa,y4XvNyyBbC,QwNzyBa,qlRxN0yBbC,gBAGAC,iByN7yBa,6qBzN8yBbC,mB0N9yBa,63B1N+yBbC,oB2N/yBa,qjD3NmzBbC,S4NnzBa,yjM5NozBbC,Q6NpzBa,6jJ7NqzBbC,U8NrzBa,64G9NszBbC,Q+NtzBa,q1D/NuzBbC,YgOvzBa,yrBhOwzBbC,WiOxzBa,iqDjOyzBbC,eACAC,WkO1zBa,ynTlO2zBbC,SmO3zBa,q1CnO4zBbC,SoO5zBa,q2CpO8zBbC,eACAC,gBAEAC,cqOj0Ba,i8FrOk0BbC,MsOl0Ba,quBtOs0BbC,gBACAC,mBACAC,SuOx0Ba,ylEvOy0BbC,OACAC,QACAC,cACAC,QACAC,SACAC,WACAC,qBACAC,aACAC,eACAC,aACAC,MwOn1Ba,qqGxOo1BbC,KyOp1Ba,IAA0B,iCzOq1BvCC,K0Or1Ba,IAA0B,iC1Os1BvCC,K2Ot1Ba,IAA0B,iC3Ou1BvCC,M4Ov1Ba,IAA0B,kC5Ow1BvCC,M6Ox1Ba,IAA0B,kC7Oy1BvCC,M8Oz1Ba,IAA0B,kC9O01BvCC,U+O11Ba,qyE/O21BbC,agP31Ba,IAA0B,2ChP41BvCC,gBiP51Ba,IAA0B,8CjP61BvCC,kBkP71Ba,quLlP81BbC,gBmP91Ba,qyMnP+1BbC,iBoP/1Ba,qrIpPg2BbC,gBqPh2Ba,IAA0B,8CrPi2BvCC,sBsPj2Ba,IAA0B,qDtPk2BvCC,cuPl2Ba,64BvPm2BbC,QwPn2Ba,yqBxPo2BbC,KyPp2Ba,IAA0B,iCzPq2BvCC,cACA7D,kBACAC,mBACAI,oBACAyD,UACAC,oB0P12Ba,qrE1P22BbC,O2P32Ba,0mF3P42BbC,O4P52Ba,s5G5P62BbC,eACAC,S6P92Ba,i6C7P+2BbC,U8P/2Ba,qmC9Pk3BbC,gB+Pl3Ba,IAA0B,8C/Pm3BvCC,mBgQn3Ba,62YhQo3BbC,oBiQp3Ba,q9BjQw3BbC,SkQx3Ba,qyMlQy3BbC,SmQz3Ba,y9CnQ03BbC,iBoQ13Ba,yoDpQ23BbC,gBqQ33Ba,6nFrQ43BbC,WsQ53Ba,irNtQ63BbC,euQ73Ba,IAA0B,wCvQ83BvCC,awQ93Ba,qlDxQ+3BbC,ayQ/3Ba,y8NzQg4BbC,U0Qh4Ba,iuF1Qi4BbC,a2Qj4Ba,ylC3Qk4BbpB,cACA7D,kBACAC,mBACAI,oBACA6E,U4Qt4Ba,6tC5Qw4BbC,Q6Qx4Ba,61N7Qy4BbC,S8Qz4Ba,64B9Q04BbC,gB+Q14Ba,izB/Q84BbC,WgR94Ba,IAA0B,wC,QCqN1BC,OA/MOvb,IACpB,IAAI,aACFwb,EAAY,eACZC,EAAc,6BACdC,EAA4B,4BAC5BC,EAA2B,yBAC3BC,GACE5b,EAEJ,MAAO6b,EAAYC,GAAiBC,mBAAS,IACtCC,EAAaC,GAAkBF,oBAAS,IACxCG,EAAiBC,GAAsBJ,oBAAS,GAGjDK,EAAsBC,IACtBR,GAAc,EAChBI,GAAe,GAEQ,YAAnBR,EACFzb,EAAMsc,mBAAmBD,GAEzBT,EAAyBS,GAG7BP,EAAcD,EAAa,EAAE,EAmBzBU,EAAmBA,CAACC,EAASC,KAG/BD,EAAQE,OAAOrgB,MAAMI,SACrBkgB,SAASH,EAAQE,OAAOE,WAAsB,UAAEvgB,QAEhD6G,SAASC,eAAesZ,GAAaI,OACvC,EAGF,OACEje,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CAiBpCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,gBAAeD,SAAC,sBAE/BF,eAAA,OAAKG,UAAU,mBAAkBD,SAAC,kDAKpCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OACEG,UAAW,cACU,YAAnB0c,EAA+B,SAAW,KAE5CsB,QAASA,IAAMrB,IAA+B5c,SAC/C,YAGDF,eAAA,OACEG,UAAW,cACU,WAAnB0c,EAA8B,SAAW,KAE3CsB,QAASA,IAAMpB,IAA8B7c,SAC9C,cAIiB,YAAnB2c,EACCqB,gBAAA,QACEE,SACEhB,EA7EWK,IAC3BA,EAAMY,iBACFf,IACFJ,EAAc,GACdG,GAAe,GACjB,EAwEoDG,EACrCtd,SAAA,CAMDF,eAAA,KAAAE,SAAG,6BACHF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLsZ,UAAU,KACVC,QAAQ,YACRC,MAAM,4CACNC,YAAY,kBACZhhB,MAAOmf,EAAa8B,cACpBC,QAAUlB,GACRE,EAAiBF,EAAO,gBAE1BmB,SAAWnB,GACTrc,EAAMyd,yBAAyBpB,GAEjCqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQ+e,GAAG,eAAe1e,KAAK,SAAQH,SAAC,kBAM5Cge,gBAAA,QAAME,SAAWX,GAAUT,EAAyBS,GAAOvd,SAAA,CAIzDF,eAAA,MAAAE,SACG,MAMHF,eAAA,KAAAE,SAAG,6BAEHF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLsZ,UAAU,KACVC,QAAQ,YACRC,MAAM,4CACNC,YAAY,kBACZhhB,MAAOmf,EAAa8B,cACpBC,QAAUlB,GACRE,EAAiBF,EAAO,gBAE1BmB,SAAWnB,GACTrc,EAAMyd,yBAAyBpB,GAEjCqB,UAAQ,MAGZZ,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzBkd,GACCpd,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAACgf,IAAS,CACRC,QAhKR,2CAiKQL,SA1IKM,IAEzB3B,IADE2B,EAIJ,MA0IgBlf,eAAA,UACE+e,GAAG,eACH1e,KAAK,SACL8d,QAASX,EACT2B,SACE/B,GAAgBA,IAAgBE,EACjCpd,SACF,6BAkBN,E,OCyHAkf,OAtUOhe,IACpB,MAAM,sBACJie,EAAqB,sBACrBC,EAAqB,sBACrBC,EAAqB,kBACrBC,EAAiB,gBACjBC,EAAe,eACfC,EAAc,iBACdC,EAAgB,kBAChBC,EAAiB,oBACjBC,GACEze,EAEJI,qBAAU,KACR,GAAIke,EAAiB,EAAG,CACtB,MAAMI,EAAQC,YAAW,KACvBH,GAAmBI,GAAiBA,EAAe,GAAE,GACpD,KAEH,MAAO,IAAMC,aAAaH,EAC5B,CACED,GAAoB,EACtB,GACC,CAACH,IAEJ,MAAMQ,EAA0BA,CAACtC,EAASC,EAAasC,KAE7B,IAApBvC,EAAQwC,QAE0B,IAAhCxC,EAAQE,OAAOrgB,MAAMI,QACnBsiB,EAAYtiB,OAAS,GACvByG,SAASC,eAAe4b,GAAalC,QAKvCL,EAAQE,OAAOrgB,MAAMI,SACrBkgB,SAASH,EAAQE,OAAOE,WAAsB,UAAEvgB,QAEhD6G,SAASC,eAAesZ,GAAaI,OAEzC,EAmBF,OACEje,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,wBAAuBD,SACV,YAAzBkB,EAAMyb,eACLqB,gBAAA,QAAME,SAAWX,GAAUrc,EAAMme,sBAAsB9B,GAAOvd,SAAA,CAC5DF,eAAA,OAAKG,UAAU,qBAWfH,eAAA,MAAAE,SAAI,qBACJF,eAAA,KAAAE,SAAG,gEAGHF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,WACH/Z,KAAK,iBACL7E,UAAU,aACVse,YAAY,GACZF,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EAAwBzC,EAAO,WAAY,IAE7CmB,SAAWnB,GACTrc,EAAMie,sBAAsB5B,GAE9BqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,WACH/Z,KAAK,iBACL7E,UAAU,aACVse,YAAY,GACZF,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EACEzC,EACA,aACA,YAGJmB,SAAWnB,GACTrc,EAAMie,sBAAsB5B,GAE9BqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,aACH/Z,KAAK,mBACL7E,UAAU,aACVse,YAAY,GACZF,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EACEzC,EACA,YACA,YAGJmB,SAAWnB,GACTrc,EAAMie,sBAAsB5B,GAE9BqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,YACH/Z,KAAK,kBACL7E,UAAU,aACVse,YAAY,GACZF,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EACEzC,EACA,iBACA,cAGJmB,SAAWnB,GACTrc,EAAMie,sBAAsB5B,GAE9BqB,UAAQ,WAMhB9e,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQ+e,GAAG,iBAAiB1e,KAAK,SAAQH,SAAC,aAI5CF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,UACE7d,KAAK,SACL8d,QAASA,IAAM/c,EAAMqe,kBACrBN,SAAUQ,EAAiBzf,SAAA,CAC5B,cACawf,EAAiB,GAAK,GAAGA,gBAK3CxB,gBAAA,QACEE,SAAWX,GAAUrc,EAAMif,4BAA4B5C,GAAOvd,SAAA,CAE9DF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,UACEK,KAAK,SACL8d,QAASA,IAAM/c,EAAMoe,oBAAoBtf,SAEzCF,eAAA,OAAKsgB,IAAKpb,GAAOmG,cAGrBrL,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAO6B,iBAEnB/G,eAAA,MAAAE,SAAI,qBACJF,eAAA,KAAAE,SAAG,gEAGHF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,WACH/Z,KAAK,iBACL7E,UAAU,aACVse,YAAY,GACZF,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EAAwBzC,EAAO,WAAY,IAE7CmB,SAAWnB,GACTrc,EAAMie,sBAAsB5B,GAE9BqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,WACH/Z,KAAK,iBACL7E,UAAU,aACVse,YAAY,GACZF,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EACEzC,EACA,aACA,YAGJmB,SAAWnB,GACTrc,EAAMie,sBAAsB5B,GAE9BqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,aACH/Z,KAAK,mBACL7E,UAAU,aACVse,YAAY,GACZF,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EACEzC,EACA,YACA,YAGJmB,SAAWnB,GACTrc,EAAMie,sBAAsB5B,GAE9BqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,YACH/Z,KAAK,kBACL7E,UAAU,aACVse,YAAY,GACZF,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EACEzC,EACA,iBACA,cAGJmB,SAAWnB,GACTrc,EAAMie,sBAAsB5B,GAE9BqB,UAAQ,WAKhB9e,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQ+e,GAAG,iBAAiB1e,KAAK,SAAQH,SAAC,aAI5CF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,UACE7d,KAAK,SACL8e,SAAUQ,EACVxB,QAASA,IAAM/c,EAAMke,wBAAwBpf,SAAA,CAC9C,cACawf,EAAiB,GAAK,GAAGA,yBAS5C,E,eC3NAa,OAvGQnf,IAAW,IAADof,EAC/B,MAAM,YACJC,EAAW,QACXC,EAAO,mBACPC,EAAkB,4BAClBC,EAA2B,4BAC3BC,EAA2B,eAC3B1f,EAAc,WACd2f,GACE1f,GACG2f,EAAWC,GAAgB7D,mBAAS,GAmB3C,OACEnd,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0BAAyBD,SACvB,IAAd6gB,EACC7C,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,gCAGpCF,eAAA,SACEK,KAAK,OACL2E,KAAK,WACLyZ,YAAY,OACZhhB,MAAOgjB,EAAYQ,SACnBrC,SAAUgC,EACV9B,UAAQ,IAEV9e,eAAA,OAAKG,UAAU,UAAUge,QAjCX+C,KACO,KAAzBT,EAAYQ,UAIhBJ,EAA4B1f,EAAeggB,WAC3CH,EAAa,IAJX9hB,MAAM,qBAIO,EA2B2CgB,SAAC,YAKrDF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,QAAAE,SACEF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OACEsgB,IAAKpb,GAAOoX,UACZ8E,IAAI,aACJjhB,UAAU,cACVge,QAvCCkD,KACH,IAAdN,EACFD,IAEAE,EAAa,EACf,IAoCkBhhB,eAAA,KAAGG,UAAU,sBAAqBD,SAAC,0BAErCF,eAAA,OAAKG,UAAU,2BAA0BD,SAC/B,OAAPwgB,QAAO,IAAPA,GAAe,QAARF,EAAPE,EAAS5C,cAAM,IAAA0C,OAAR,EAAPA,EAAiBc,KAAKve,GACrBmb,gBAAA,OAA8B/d,UAAU,gBAAeD,SAAA,CACrDF,eAAA,SACEK,KAAK,QACL0e,GAAI,UAAiB,OAAPhc,QAAO,IAAPA,OAAO,EAAPA,EAASoe,YACvBnc,KAAK,SACLvH,MAAc,OAAPsF,QAAO,IAAPA,OAAO,EAAPA,EAASoe,UAChBvC,SAAUA,IACR+B,EAA0B,OAAP5d,QAAO,IAAPA,OAAO,EAAPA,EAASoe,WAE9BI,SACS,OAAPxe,QAAO,IAAPA,OAAO,EAAPA,EAASoe,cAA4B,OAAdhgB,QAAc,IAAdA,OAAc,EAAdA,EAAgBggB,aAG3CnhB,eAAA,SACEwhB,QAAS,UAAiB,OAAPze,QAAO,IAAPA,OAAO,EAAPA,EAASoe,YAC5BhhB,WACS,OAAP4C,QAAO,IAAPA,OAAO,EAAPA,EAASoe,cAA4B,OAAdhgB,QAAc,IAAdA,OAAc,EAAdA,EAAgBggB,WACnC,WACA,GACLjhB,SAEA6C,EAAQ+a,WArBI,OAAP/a,QAAO,IAAPA,OAAO,EAAPA,EAASoe,6BAiC5B,E,OCGAM,OAtGQrgB,IAAW,IAADsgB,EAAAC,EAC/B,MAAM,QACJC,EAAO,eACPzgB,EAAc,kBACd0gB,EAAiB,QACjBC,EAAO,mBACPC,EAAkB,WAClBjB,EAAU,UACVC,GACE3f,EAEJ,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,QAAAE,SACEge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACrB,IAAd6gB,GACC7C,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OACEsgB,IAAKpb,GAAOoX,UACZ8E,IAAI,aACJjhB,UAAU,cACVge,QAAS2C,IAEX9gB,eAAA,KAAGG,UAAU,eAAcD,SAAC,yBAE9BF,eAAA,OAAKG,UAAU,2BAA0BD,SAC/B,OAAP0hB,QAAO,IAAPA,GAAgB,QAATF,EAAPE,EAASA,eAAO,IAAAF,OAAT,EAAPA,EAAkBJ,KAAKve,GACtBmb,gBAAA,OAA6B/d,UAAU,gBAAeD,SAAA,CACpDF,eAAA,SACEK,KAAK,QACL0e,GAAI,SAAgB,OAAPhc,QAAO,IAAPA,OAAO,EAAPA,EAASif,WACtBhd,KAAK,QACLvH,MAAc,OAAPsF,QAAO,IAAPA,OAAO,EAAPA,EAASif,SAChBpD,SAAUA,IACRiD,EAAyB,OAAP9e,QAAO,IAAPA,OAAO,EAAPA,EAASif,UAE7BT,SACS,OAAPxe,QAAO,IAAPA,OAAO,EAAPA,EAASif,aAA2B,OAAd7gB,QAAc,IAAdA,OAAc,EAAdA,EAAgB6gB,YAG1ChiB,eAAA,SACEwhB,QAAS,SAAgB,OAAPze,QAAO,IAAPA,OAAO,EAAPA,EAASif,WAC3B7hB,WACS,OAAP4C,QAAO,IAAPA,OAAO,EAAPA,EAASif,aAA2B,OAAd7gB,QAAc,IAAdA,OAAc,EAAdA,EAAgB6gB,UAClC,WACA,GACL9hB,SAEA6C,EAAQkf,UArBI,OAAPlf,QAAO,IAAPA,OAAO,EAAPA,EAASif,iBA4BZ,IAAdjB,GACC7C,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OACEsgB,IAAKpb,GAAOoX,UACZ8E,IAAI,aACJjhB,UAAU,cACVge,QAAS2C,IAEX9gB,eAAA,KAAGG,UAAU,eAAcD,SAAC,qBAE9BF,eAAA,OAAKG,UAAU,2BAA0BD,SAC/B,OAAP4hB,QAAO,IAAPA,GAAe,QAARH,EAAPG,EAASI,cAAM,IAAAP,OAAR,EAAPA,EAAiBL,KAAKve,GACrBmb,gBAAA,OAA6B/d,UAAU,gBAAeD,SAAA,CACpDF,eAAA,SACEK,KAAK,QACL0e,GAAI,UAAUhc,EAAQof,YACtBnd,KAAK,SACLvH,MAAOsF,EAAQof,UACfvD,SAAUA,IACRmD,EAAmBhf,EAAQof,WAE7BZ,QACExe,EAAQof,YAAchhB,EAAeghB,YAGzCniB,eAAA,SAAOwhB,QAAS,UAAUze,EAAQof,YAAYjiB,SAC3C6C,EAAQmf,WAdHnf,EAAQof,8BA0B3B,E,2BCpGR,MAAMC,GAAW,gDC8DXC,GAAQ,GAAGD,uBAEXE,GAAQ,GAAGF,yBAGXG,GAAQ,GAAGH,qBACXI,GAAQ,GAAGJ,qBACXK,GAAQ,GAAGL,gCACXM,GAAQ,GAAGN,qBAEXO,GAAQ,GAAGP,0BACXQ,GAAQ,GAAGR,kBACXS,GAAQ,GAAGT,0BACXU,GAAS,GAAGV,6BAEZW,GAAS,GAAGX,kCACZY,GAAU,GAAGZ,+BAIba,GAAS,GAAGb,wBACZc,GAAS,GAAGd,uCAEZe,GAAW,GAAGf,iDACdgB,GAAS,GAAGhB,0BAIZiB,GAAS,GAAGjB,kBAEZkB,GAAS,GAAGlB,kCACZmB,GAAS,GAAGnB,gCACZoB,GAAS,GAAGpB,gCAGZqB,GAAS,GAAGrB,sBAEZsB,GAAS,GAAGtB,8BAEZuB,GAAS,GAAGvB,kCAEZwB,GAAS,GAAGxB,mCAKZyB,GAAS,GAAGzB,6BAKZ0B,GAAS,GAAG1B,sCAMZ2B,GAAS,GAAG3B,mCACZ4B,GAAS,GAAG5B,2BACZ6B,GAAS,GAAG7B,2BACZ8B,GAAS,GAAG9B,kBACZ+B,GAAS,GAAG/B,0BACZgC,GAAS,GAAGhC,2BAEZiC,GAAS,GAAGjC,2BACZkC,GAAS,GAAGlC,4BACZmC,GAAU,GAAGnC,gCAEboC,GAAS,GAAGpC,qCAEZqC,GAAS,GAAGrC,4BAEZsC,GAAS,GAAGtC,kCACZuC,GAAS,GAAGvC,iCAKZwC,GAAS,GAAGxC,wBACZyC,GAAS,GAAGzC,8BAGZ0C,GAAS,GAAG1C,iCACZ2C,GAAS,GAAG3C,8BACZ4C,GAAS,GAAG5C,qCACZ6C,GAAS,GAAG7C,0BACZ8C,GAAS,GAAG9C,+BACZ+C,GAAS,GAAG/C,8BACZgD,GAAS,GAAGhD,8BACZiD,GAAS,GAAGjD,2BAEZkD,GAAS,GAAGlD,sCAMZmD,GAAS,GAAGnD,gCACZoD,GAAS,GAAGpD,uCACZqD,GAAS,GAAGrD,4CACZsD,GAAS,GAAGtD,0CACZuD,GAAS,GAAGvD,uCACZwD,GAAS,GAAGxD,0CACZyD,GAAS,GAAGzD,oCAEZ0D,GAAS,GAAG1D,iCAEZ2D,GAAS,GAAG3D,gCAIZ4D,GAAS,GAAG5D,uBAKZ6D,GAAS,GAAG7D,oCACZ8D,GAAU,GAAG9D,uCAEb+D,GAAS,GAAG/D,4BACZgE,GAAS,GAAGhE,6BACZiE,GAAS,GAAGjE,6BACZkE,GAAS,GAAGlE,mCACZmE,GAAS,GAAGnE,4CAEZoE,GAAS,GAAGpE,6CACZqE,GAAS,GAAGrE,sCACZsE,GAAS,GAAGtE,uCAGZuE,GAAS,GAAGvE,uCAEZwE,GAAS,GAAGxE,mCACZyE,GAAS,GAAGzE,2CACZ0E,GAAS,GAAG1E,4BACZ2E,GAAS,GAAG3E,6BAEZ4E,GAAS,GAAG5E,8BAIZ6E,GAAS,GAAG7E,oCAGZ8E,GAAU,GAAG9E,gCAEb+E,GAAU,GAAG/E,0BAEbgF,GAAU,GAAGhF,sBAKbiF,GAAU,GAAGjF,+BACbkF,GAAU,GAAGlF,qCACbmF,GAAU,GAAGnF,+BAEboF,GAAU,GAAGpF,wCACbqF,GAAU,GAAGrF,4BAGbsF,GAAU,GAAGtF,uBAEbuF,GAAU,GAAGvF,8BACbwF,GAAU,GAAGxF,yBAEbyF,GAAU,GAAGzF,mCAEb0F,GAAU,GAAG1F,6BAEb2F,GAAU,GAAG3F,+BAEb4F,GAAU,GAAG5F,mCAEb6F,GAAU,GAAG7F,qCACb8F,GAAU,GAAG9F,oCACb+F,GAAU,GAAG/F,wCAEbgG,GAAU,GAAGhG,kCAGbiG,GAAU,GAAGjG,2BAEbkG,GAAU,GAAGlG,wCAEbmG,GAAU,GAAGnG,+CAEboG,GAAU,GAAGpG,gDAEbqG,GAAU,GAAGrG,sCAEbsG,GAAU,GAAGtG,mDAEbuG,GAAU,GAAGvG,6CAEbwG,GAAU,GAAGxG,kDAEbyG,GAAU,GAAGzG,sCAEb0G,GAAU,GAAG1G,kDAEb2G,GAAU,GAAG3G,sCAIb4G,GAAU,GAAG5G,6CAEb6G,GAAU,GAAG7G,8BAEb8G,GAAU,GAAG9G,uCAEb+G,GAAU,GAAG/G,qBAEbgH,GAAU,GAAGhH,gCAEbiH,GAAU,GAAGjH,+BAEbkH,GAAU,GAAGlH,mCAEbmH,GAAU,GAAGnH,sCAEboH,GAAU,GAAGpH,0BAEbqH,GAAU,GAAGrH,+BAMbsH,GAAU,GAAGtH,4CAEbuH,GAAU,GAAGvH,oCAEbwH,GAAU,GAAGxH,uCAEbyH,GAAU,GAAGzH,8BAEb0H,GAAU,GAAG1H,iCAGb2H,GAAU,GAAG3H,0BACb4H,GAAU,GAAG5H,0BACb6H,GAAU,GAAG7H,6BACb8H,GAAU,GAAG9H,6BACb+H,GAAU,GAAG/H,0BACbgI,GAAU,GAAGhI,gCACbiI,GAAU,GAAGjI,2BACbkI,GAAU,GAAGlI,kCACbmI,GAAU,GAAGnI,sCACboI,GAAU,GAAGpI,6BACbqI,GAAU,GAAGrI,kCAEbsI,GAAU,GAAGtI,gCACbuI,GAAU,GAAGvI,gCACbwI,GAAU,GAAGxI,oCAKbyI,GAAU,GAAGzI,wBACb0I,GAAU,GAAG1I,sCAIb2I,GAAU,GAAG3I,4BAEb4I,GAAU,GAAG5I,+BAGb6I,GAAU,GAAG7I,oCACb8I,GAAU,GAAG9I,kCACb+I,GAAU,GAAG/I,6BACbgJ,GAAU,GAAGhJ,yCAIbiJ,GAAU,GAAGjJ,yBACbkJ,GAAU,GAAGlJ,6BAGbmJ,GAAU,GAAGnJ,0BAKboJ,GAAU,GAAGpJ,2BAIbqJ,GAAU,GAAGrJ,8BACbsJ,GAAU,GAAGtJ,iCACbuJ,GAAU,GAAGvJ,6BACbwJ,GAAU,GAAGxJ,yBACbyJ,GAAU,GAAGzJ,gCACb0J,GAAU,GAAG1J,0CACb2J,GAAU,GAAG3J,2BACb4J,GAAU,GAAG5J,0BAEb6J,GAAU,GAAG7J,yBACb8J,GAAU,GAAG9J,0BACb+J,GAAU,GAAG/J,2BACbgK,GAAU,GAAGhK,8BAGbiK,GAAU,GAAGjK,8BAIbkK,GAAU,GAAGlK,6CAKbmK,GAAU,GAAGnK,qCACboK,GAAU,GAAGpK,6CACbqK,GAAU,GAAGrK,yCACbsK,GAAU,GAAGtK,wCAQbuK,GAAU,GAAGvK,gCAGbwK,GAAU,GAAGxK,wBAGbyK,GAAU,GAAGzK,4BAGb0K,GAAU,GAAG1K,qBAGb2K,GAAU,GAAG3K,yBAGb4K,GAAU,GAAG5K,yBAGb6K,GAAU,GAAG7K,4BAMb8K,GAAU,GAAG9K,gCACb+K,GAAU,GAAG/K,+BACbgL,GAAU,GAAGhL,qBACbiL,GAAU,GAAGjL,2BACbkL,GAAU,GAAGlL,qBACbmL,GAAU,GAAGnL,wBACboL,GAAU,GAAGpL,yBACbqL,GAAU,GAAGrL,yBACbsL,GAAU,GAAGtL,2BACbuL,GAAU,GAAGvL,8BAUbwL,GAAU,GAAGxL,+BACbyL,GAAU,GAAGzL,+BACb0L,GAAU,GAAG1L,qCAEb2L,GAAU,GAAG3L,mCAMb4L,GAAU,GAAG5L,8BAEb6L,GAAU,GAAG7L,qCAEb8L,GAAU,GAAG9L,oCAEb+L,GAAU,GAAG/L,4BAEbgM,GAAU,GAAGhM,4BAEbiM,GAAU,GAAGjM,+B,wCClYdkM,KAASC,cAXE,CACrB/qB,OAAQ,0CACRgrB,WAAY,mCACZC,UAAW,mBACXC,cAAe,+BACfC,kBAAmB,eACnBC,MAAO,4CACPC,cAAe,iBAKCP,KAASQ,YAEZR,UAAQ,E,QCpEhB,MAAMS,GAAgB,gBAChBC,GAAiB,iBACjBC,GAAmB,mBCYjB,OAZMC,KACZ,CAAE7uB,KAAM8uB,KAWF,GAROC,KACb,CAAE/uB,KAAM8uB,KAOF,GAJSE,KACf,CAAEhvB,KAAM8uB,KCXV,MAAMG,GAAuB,uBACvBC,GAAiB,iBACjBC,GAAW,WACXC,GAAW,WACXC,GAAmB,mBACnBC,GAAc,cACdC,GAA2B,2BAC3BC,GAA2B,2BCiDzB,OAtDaC,IACnB,CACLzvB,KAAM8uB,GACNW,YAmDW,GA/COA,IACb,CACLzvB,KAAM8uB,GACNW,YA4CW,GAxCEA,IACR,CACLzvB,KAAM8uB,GACNW,YAqCW,GAjCEA,IACR,CACLzvB,KAAM8uB,GACNW,YA8BW,GAnBIC,KACV,CACL1vB,KAAM8uB,KAiBK,GAdgBW,IACtB,CACLzvB,KAAM8uB,GACNW,YAWW,GAPgBA,IACtB,CACLzvB,KAAM8uB,GACNW,YCpDG,MAAME,GAAsB,sBACtBC,GAAyB,yBCWvB,OAVYH,IAClB,CACLzvB,KAAM8uB,GACNW,YAOW,GAHcI,KACpB,CAAE7vB,KAAM8uB,KCwSFzuB,qBAdUC,IAAK,CAC5BG,OAAQH,EAAMI,GAAGD,OACjBG,KAAMN,EAAMM,SAGckvB,IAAQ,CAClCjB,aAAcA,IAAMiB,EAASC,MAC7BhB,cAAeA,IAAMe,EAASC,MAC9BC,QAAUP,GAAYK,EAASG,GAAoBR,IACnDS,QAAUT,GAAYK,EAASG,GAAoBR,IACnDU,kBAAoBV,GAClBK,EAASM,GAAwCX,OAGtCpvB,EApSCU,IACd,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACN5P,UAAW,EACXN,YAAa,CACXQ,SAAU,IAEZ9f,eAAgB,CACdggB,UAAW,GACXa,SAAU,GACVG,UAAW,GACXyO,SAAU,IAEZhP,QAAS,CAAC,EACVE,QAAS,CAAC,EACVpB,QAAS,CAAC,EACVmQ,QAAS,CAAC,EACVC,cAAe,GACfC,UAAW,QAGb,IAAI,OACFjwB,EAAM,KACNG,EAAI,aACJiuB,EAAY,cACZE,EAAa,QACbiB,EAAO,QACPE,EAAO,kBACPC,GACEpvB,EAEJI,qBAAU,KACRwvB,IACAC,GAAY,GACX,IAEH,MAAMD,EAAyBA,KAC7B,GAAI1C,GAAS4C,UAAUC,cAAe,CAClB7C,GAAS4C,YAExBE,WACAC,MAAMC,IACLZ,GAAUa,IAAS,IAAWA,EAAWT,cAAeQ,KAAS,IAElEE,OAAM,QACX,GAGIP,EAAaQ,UACjB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIlP,IACJ,MAAzBvD,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH7Q,QAASxB,EAAS0S,KAAKA,QAG7B,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGI6b,EAAaA,KACE,IAAfngB,EAAMgwB,KACgB,IAApBhwB,EAAMogB,UACR2P,GAAUa,IAAS,IACdA,EACHxQ,UAAW,MAEgB,IAApBpgB,EAAMogB,WACf2P,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNxvB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAW,QAIRxgB,EAAMgwB,IACjB,EAGI/P,EAA+BnD,IACnC,MAAM,KAAEzY,EAAI,MAAEvH,GAAUggB,EAAMK,OACjB,aAAT9Y,GACF0rB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACbQ,SAAUxjB,MAGhB,EAGIojB,EAA+BiR,IACnC,MAAM,SAAE7Q,GAAatgB,EAAM8f,YACvBQ,GAAY6Q,GACdpB,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNxvB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAW2Q,MAGjB,EAGInR,EAAsBmR,IAC1B,MACMlQ,EADU,IAAKjhB,EAAM+f,SACH5C,OAAOiU,MAC5BhvB,GAAYA,EAAQoe,YAAc2Q,IAEhCt0B,aAAQokB,IACX8O,GAAUa,IAAS,IACdA,EACH3P,QAASA,EACTzgB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAW2Q,EACX9P,SAAU,IAEZ2O,KAAM,EACN5P,UAAW,MAGfF,EAA4BiR,EAAS,EAGjCjQ,EAAqBmQ,IAAa,IAADC,EACrC,MAAMnQ,EAAe,OAALnhB,QAAK,IAALA,GAAc,QAATsxB,EAALtxB,EAAOihB,eAAO,IAAAqQ,OAAT,EAALA,EAAgBrQ,QAAQmQ,MACrChvB,GAAYA,EAAQif,WAAagQ,IAE/Bx0B,aAAQskB,IACX4O,GAAUa,IAAS,IACdA,EACHzP,QAASA,EACT3gB,eAAgB,IACXowB,EAAUpwB,eACb6gB,SAAUgQ,GAEZjR,UAAW,KAEf,EAGIgB,EAAsBmQ,IAAc,IAADC,EACvC,MAAMtB,EAAe,OAALlwB,QAAK,IAALA,GAAc,QAATwxB,EAALxxB,EAAOmhB,eAAO,IAAAqQ,OAAT,EAALA,EAAgBjQ,OAAO6P,MACpChvB,GAAYA,EAAQof,YAAc+P,IAEhC10B,aAAQqzB,EAAQuB,OAYnBlzB,MAAM,uDAXNwxB,GAAUa,IAAS,IACdA,EACHV,QAASA,EACT1vB,eAAgB,IACXowB,EAAUpwB,eACbghB,UAAW+P,EACXtB,SAAUC,EAAQuB,MAAM,GAAGxB,cAG/ByB,EAA+BxB,EAAQuB,MAAM,GAAGxB,SAAUsB,GAG5D,EAGIG,EAAiCZ,MAAOa,EAASJ,KACrD,MAAM,YAAEzR,EAAW,eAAEtf,EAAc,cAAE2vB,EAAa,UAAEC,GAAcpwB,EAClE,GAAI4xB,OAAOC,UAAUC,OACnB,GACEhS,EAAYQ,UACZ9f,EAAe6gB,UACf7gB,EAAeggB,UACf,CACA+N,IACA,MAAMwD,EAAW,CACf1tB,KAAMyb,EAAYQ,SAClB0R,eAAgBxxB,EAAeggB,UAC/Ba,SAAU7gB,EAAe6gB,SACzB4O,SAAU0B,EACVxB,cAAeA,EACf8B,WAAY,CAACV,GACbnB,UAAWA,GAEP8B,QAAyBC,EAAUJ,EAAUzxB,GACnB,IAA5B4xB,EAAiBxuB,QACnB+qB,IACAmB,GAAQ,GACRF,EAAQwC,EAAiBjB,KAAKmB,SAC9BvC,EAAkB,CAChBwC,cAAeH,EAAiBjB,KAAKmB,QAAQE,iBAC7CC,aAAc,CACZlR,SAAU6Q,EAAiBjB,KAAKmB,QAAQ/Q,SACxCC,MAAO4Q,EAAiBjB,KAAKmB,QAAQ9Q,OAEvCkR,cAAeN,EAAiBjB,KAAKmB,QAAQrS,QAC7C0S,aAAc,CACZxC,SAAUiC,EAAiBjB,KAAKmB,QAAQnC,SACxCwB,MAAOS,EAAiBjB,KAAKmB,QAAQX,SAGzCiB,KAAUC,OAAO,CAAEtuB,KAAM,sBACzB5D,EAAMC,QAAQkyB,KAAK,CACjBC,SAAU,kBACV7yB,MAAO,CAAE8yB,UAAWZ,EAAiBjB,KAAKmB,QAAQU,eAGpDrE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,mDAGRA,MAAM,wCACR,EAGI4zB,EAAYrB,MAAOiB,EAAUzxB,KACjC,IACE,MAAM0yB,EAAU,CACdC,cAAe,GAAG3yB,EAAK4yB,aAAa5yB,EAAK6yB,aAErC5U,QAAiBwS,KAAMqC,KAAKrR,GAAOgQ,EAAU,CAAEiB,YACrD,OAAwB,MAApBzU,EAAS2S,OACkB,MAAzB3S,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAIpB,CAAEvtB,OAAQ,EAAGutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG9C,CAAErvB,OAAQ,EAAGutB,KAAM,CAAE8B,QAAS,2BAEzC,CAAE,MAAOzuB,GACP,MAAO,CAAEZ,OAAQ,EAAGutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YACtD,GAgCF,OAAOh0B,eAACC,WAAQ,CAAAC,SAAEY,EAASd,eAACD,KAAW,IA7BpBk0B,MACjB,MAAM,KAAEtD,EAAI,UAAE5P,GAAcpgB,EAC5B,OAAa,IAATgwB,EAEA3wB,eAACugB,GAAa,CACZE,YAAa9f,EAAM8f,YACnBC,QAAS/f,EAAM+f,QACfE,4BAA6BA,EAC7BC,4BAA6BA,EAC7B1f,eAAgBR,EAAMQ,eACtBwf,mBAAoBA,EACpBG,WAAYA,IAGE,IAAT6P,EAEP3wB,eAACyhB,GAAa,CACZX,WAAYA,EACZc,QAASjhB,EAAMihB,QACfC,kBAAmBA,EACnBC,QAASnhB,EAAMmhB,QACfC,mBAAoBA,EACpB5gB,eAAgBR,EAAMQ,eACtB4f,UAAWA,SATV,CAYP,EAG2CkT,IAAwB,I,SC/RvE,MAIMC,GAAaC,aAAY,CAC7BnvB,KAAM,QACNovB,aANmB,CACnBvX,eAAgB,WAMhBwX,SAAU,CACRC,kBAAmBA,CAAC3zB,EAAO4zB,KACzB5zB,EAAMkc,eAAiB0X,EAAOzE,OAAO,MAK5BwE,kBAAkB,IAC/BJ,GAAWM,QAEEN,UAAkB,QCjBjC,MAAMO,GAAiBN,aAAY,CACjCnvB,KAAM,UACNovB,aAAc,CACZM,WAAW,EACXC,OAAQ,MAEVN,SAAU,CACRO,iBAAkBA,CAACj0B,EAAO4zB,KACxB5zB,EAAM+zB,UAAYH,EAAOzE,QAAQ4E,UACjC/zB,EAAMg0B,OAASJ,EAAOzE,QAAQ6E,MAAM,MAK7B,iBAAEC,IAAqBH,GAAeD,QACpCC,UAAsB,QCjB9B,MAAMI,GAA8B,8BAC9BC,GAAmB,mBACnBC,GAAgB,gBAChBC,GAAiB,iBC4Bf,OA7BkBlF,IACxB,CACLzvB,KAAM8uB,GACNW,YA0BW,GAtBSA,IACf,CACLzvB,KAAM8uB,GACNW,YAmBW,GAfMA,IACZ,CACLzvB,KAAM8uB,GACNW,YAYW,GAROA,IACb,CACLzvB,KAAM8uB,GACNW,YCxBJ,MAYMmF,GAAkBd,aAAY,CAClCnvB,KAAM,aACNovB,aAdmB,CACnBc,WAAY,CAAC,EACbC,sBAAuB,CAAC,EACxBC,OAAQ,GACR1W,cAAe,GAEfxd,KAAM,CAAC,EACPm0B,oBAAqB,IACrBC,iBAAiB,EACjBC,aAAc,IAMdlB,SAAU,CACRmB,yBAA0BA,CAAC70B,EAAO4zB,KAChC5zB,EAAM+d,cAAgB6V,EAAOzE,OAAO,EAEtC2F,cAAeA,CAAC90B,EAAO4zB,KACrB5zB,EAAMO,KAAOqzB,EAAOzE,OAAO,EAK7B4F,qBAAsBA,CAAC/0B,EAAO4zB,KAC5B5zB,EAAM00B,oBAAsBd,EAAOzE,QAAQ6F,IAAI,EAEjDC,iBAAmBj1B,IAEjBA,EAAM+d,cAAgB,GAGtB/d,EAAMO,KAAO,CAAC,EACdP,EAAM00B,oBAAsB,IAC5B10B,EAAMw0B,sBAAwB,CAAC,EAC/Bx0B,EAAMy0B,OAAS,GAERz0B,GAETk1B,UAAWA,CAACl1B,EAAO4zB,KACjB5zB,EAAMy0B,OAASb,EAAOzE,OAAO,EAE/BgG,yBAA0BA,CAACn1B,EAAO4zB,KAChC5zB,EAAMw0B,sBAAwBZ,EAAOzE,OAAO,EAE9CiG,uBAAwBA,CAACp1B,EAAO4zB,KAC9B5zB,EAAM20B,gBAAkBf,EAAOzE,OAAO,EAExCkG,gBAAiBA,CAACr1B,EAAO4zB,KACvB5zB,EAAM40B,aAAehB,EAAOzE,OAAO,MAI5B,yBACX0F,GACAC,cAAa,GACbQ,cAAa,wBACbP,GAAoB,iBACpBE,GACAC,UAAS,GACTC,yBAAwB,GACxBC,uBAAsB,GACtBC,gBACF,IAAIf,GAAgBT,QAELS,UAAuB,QCi1BvBv0B,qBA7DUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB+b,eAAgBlc,EAAMuzB,WAAWrX,mBAITsT,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC8F,iBAAmBpG,IACjBK,EAASG,GAA+BR,GAAS,EAEnDqG,aAAerG,IACbK,EAASG,GAAyBR,GAAS,EAE7CO,QAAUP,IACRK,EAASG,GAAoBR,GAAS,EAExCS,QAAUT,IACRK,EAASG,GAAoBR,GAAS,EAExCU,kBAAoBV,IAClBK,EAASM,GAAwCX,GAAS,EAK5DsG,uBAAyBtG,IACvBK,EAASqF,GAAyB1F,GAAS,EAG7C2F,cAAgB3F,IACdK,EAASsF,GAAc3F,GAAS,EAGlCmG,cAAgBnG,IACdK,EAAS8F,GAAcnG,GAAS,EAGlCiG,uBAAyBjG,IACvBK,EAAS4F,GAAuBjG,GAAS,EAG3CwE,kBAAoBxE,IAClBK,EAASmE,GAAkBxE,GAAS,EAEtCuG,uBAAyBvG,IACvBK,EAASyE,GAAiB9E,GAAS,EAErCwG,aAAexG,IACbK,EAASoG,GAA6BzG,GAAS,KAKtCpvB,EAh3BAU,IACb,MAAMC,EAAUm1B,wBACT71B,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACN/T,aAAc,CAAE8B,cAAe,IAC/B+X,qBAAsB,CACpBC,eAAgB,GAChBC,eAAgB,GAChBC,iBAAkB,GAClBC,gBAAiB,IAEnB/F,cAAe,GACfC,UAAW,SAGN+F,EAAKC,GAAU5Z,mBAAS,OACxB6Z,EAAKC,GAAU9Z,mBAAS,OAExBuC,EAAgBE,GAAqBzC,mBAAS,KAC9CwC,EAAkBE,GAAuB1C,oBAAS,IAClD+Z,EAASC,GAAcha,mBAAS,IAChCia,EAAaC,GAAkBla,mBAAS,GAE/C,IAAI,OACFrc,EAAM,aACNouB,EAAY,cACZE,EAAa,iBACb8G,EAAgB,aAChBC,EAAY,QACZ9F,EAAO,QACPE,EAAO,kBACPC,EAAiB,uBACjB4F,EAAsB,cACtBX,EAAa,cACbQ,EAAa,uBACbF,EAAsB,eACtBlZ,EAAc,kBACdyX,EAAiB,aACjBgC,GACEl1B,EAEJI,qBAAU,KACRwvB,IACA5vB,EAAMi1B,uBAAuB,CAC3B3B,WAAW,EACXC,OAAQ,MACR,GACD,IAEH,MASM3D,EAAyBA,KAC7B,GAAI1C,GAAS4C,UAAUC,cAAe,CAClB7C,GAAS4C,YAExBE,WACAC,MAAMC,IAELZ,GAAUa,IAAS,IAAWA,EAAWT,cAAeQ,KAAS,IAElEE,OAAM,QAGX,GAGI1U,EAA+BA,KACnCwX,EAAkB,WAClBjzB,EAAQkyB,KAAK,IAAI,EAGbxW,EAA8BA,KAClCuX,EAAkB,SAAS,EAIvBgD,EAAgBA,KACpB,IAAI3G,EAAOhwB,EAAMgwB,KACjBD,GAAUa,IAAS,IAAWA,EAAWZ,KAAMA,EAAO,KAAK,EAGvDnR,EAAoBA,KACxB,IAAImR,EAAOhwB,EAAMgwB,KACjBD,GAAUa,IAAS,IAAWA,EAAWZ,KAAMA,EAAO,KAAK,EAYvD9R,EAA4BpB,IAChC,IAAIhgB,EAAQggB,EAAMK,OAAOrgB,MAGrB,iBAAiB85B,KAAK95B,IAAoB,KAAVA,EAClCizB,GAAUa,IAAS,IACdA,EACH3U,aAAc,IAAK2U,EAAU3U,aAAc8B,cAAejhB,OAG5DyB,MAAM,qCACR,EAaIs4B,EAAa/F,UACjB,IACE,IAAIG,EAAO,CAAElT,cAAeA,GAE5B,MAAMQ,QAAiBwS,KAAMqC,KAAK1R,GAAOuP,GAEzC,OAAwB,MAApB1S,EAAS2S,OACa,MAApB3S,EAAS2S,OACJ,CACLxtB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG1B,CACLrvB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAI5B,CACLrvB,OAAQ,EACRutB,KAAM,CAAE8B,QAAS,2BAGvB,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,EAAMia,UACX,CACL7a,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GAGIyD,EAAmBhG,UACvB,MAAMG,EAAO,CACX8F,YAAa,mBACbC,YAAajZ,EAGbkZ,QAAS,IAGX,IACE,MAAM1Y,QAAiBwS,KAAMqC,KAC3B,mEACAnC,GAEF,OAA6B,MAAzB1S,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG1B,CACLrvB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,SAGrC,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,EAAMia,UACX,CACL7a,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GAGItW,EAAqB+T,MAAOhU,EAAOZ,KACvCY,EAAMY,iBACN,IAAIzB,EAAe,IAAKjc,EAAMic,cAE9B,GAAyC,IAArCA,EAAa8B,cAAc7gB,QAC7B,GAAI+e,EAAa8B,cAEf,GAAI6T,OAAOC,UAAUC,OAAQ,CAE3BvD,WAC6BsI,EAAW5a,EAAa8B,gBAChCra,QAEnB+qB,IA1FwBxS,KAChCsZ,EAAiBtZ,EAAa8B,cAAc,EA0FpCmZ,CAAyBjb,GACzB0a,IACAhB,EAAa,KAGblH,GAIJ,MACElwB,MAAM,gDAIVA,MAAM,mCACR,EAGI8d,EAA2ByU,UAC/BhU,EAAMY,iBACN,IAAIzB,EAAe,IAAKjc,EAAMic,cAE9B,GAAyC,IAArCA,EAAa8B,cAAc7gB,QAC7B,GAAI+e,EAAa8B,cAEf,GAAI6T,OAAOC,UAAUC,OAAQ,CAE3BvD,IACA,IAAI2D,QAAyB4E,EAC3B7a,EAAa8B,eAEXmU,EAAiBxuB,QAEnB+qB,IAvH8BxS,KACtCwZ,EAAuBxZ,EAAa8B,cAAc,EAwH1CoZ,CAA+Blb,GAC/B0a,MAGAlI,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,gDAIVA,MAAM,qCACR,EAIImgB,EAAyB5B,IAC7B,IAAI,KAAEzY,EAAI,MAAEvH,GAAUggB,EAAMK,OAE5B,OAAQ9Y,GACN,IAAK,iBACH0rB,GAAUa,IAAS,IACdA,EACHkF,qBAAsB,IACjBlF,EAAUkF,qBACbC,eAAgBj5B,OAGpB,MACF,IAAK,iBACHizB,GAAUa,IAAS,IACdA,EACHkF,qBAAsB,IACjBlF,EAAUkF,qBACbE,eAAgBl5B,OAGpB,MACF,IAAK,mBACHizB,GAAUa,IAAS,IACdA,EACHkF,qBAAsB,IACjBlF,EAAUkF,qBACbG,iBAAkBn5B,OAGtB,MACF,IAAK,kBACHizB,GAAUa,IAAS,IACdA,EACHkF,qBAAsB,IACjBlF,EAAUkF,qBACbI,gBAAiBp5B,OAMzB,EAGIs6B,EAAuBC,IAC3B,IAAIC,GAAQ,EAKZ,OAHAt6B,OAAOu6B,OAAOF,GAAYG,SAASp2B,IACzB,KAARA,IAAek2B,GAAQ,EAAM,IAExBA,CAAK,EAqFR1Y,EAAwBkS,UAC5BhU,EAAMY,iBACN,IAAIoY,EAAuB,IAAK91B,EAAM81B,sBAClC7Z,EAAe,IAAKjc,EAAMic,cAC1BkU,EAAgBnwB,EAAMmwB,cACxBC,EAAYpwB,EAAMowB,UAEpB,GAAIgH,EAAoBtB,GAAuB,CAC7C,IAAI2B,EAAY,GAAG3B,EAAqBC,iBAAiBD,EAAqBE,iBAAiBF,EAAqBG,mBAAmBH,EAAqBI,kBAI5J,GAFAuB,EAAYra,SAASqa,GAEjBA,EAAW,CACblJ,IACA,IAAI0C,EAAO,CACTlT,cAAe9B,EAAa8B,cAC5B2Z,IAAKD,EACLtH,cAAeA,EACfC,UAAWA,GAET8B,OAtGWpB,WACnB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAKzR,GAAOgW,GAEzC,OAAwB,MAApBpZ,EAAS2S,OAGP3S,EAAS0S,KAAKA,KAAK2G,WACG,MAApBrZ,EAAS2S,OAEJ,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAGO,MAAzB1S,EAAS0S,KAAKC,OAEhB,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAGO,MAAzB1S,EAAS0S,KAAKC,OAEhB,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAKpB,CACLvtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAIK,MAAzB1S,EAAS0S,KAAKC,OAChB,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,QAI3BuF,EAAW,GACJ,CACL9yB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,QAMtB,CACLvtB,OAAQ,EACRutB,KAAM,CAAE8B,QAAS,2BAGvB,CAAE,MAAOzuB,GAKP,OAJA3D,QAAQC,IAAI0D,EAAMia,UAClBmU,KAAUC,OAAO,CACftuB,KAAM,wBAED,CACLX,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GAuBiCwE,CAAa5G,GAE1C,GAAgC,IAA5BiB,EAAiBxuB,OAAc,CACjC+qB,IAEA,IAAIqJ,EAAe,CACjBnH,MAAOuB,EAAiBjB,KAAKmB,QAAQzB,MACrCuC,UAAWhB,EAAiBjB,KAAKmB,QAAQ2F,YAEvCx3B,EAAO2xB,EAAiBjB,KAAKmB,QAAQ4F,UAGzCxC,EAAasC,GAGbpI,EAAQnvB,GACRqvB,GAAQ,GAERC,EAAkB,CAChBwC,cACEH,EAAiBjB,KAAKmB,QAAQ4F,UAAU1F,iBAC1CC,aAAc,CACZlR,SAAU6Q,EAAiBjB,KAAKmB,QAAQ4F,UAAU3W,SAClDC,MAAO4Q,EAAiBjB,KAAKmB,QAAQ4F,UAAU1W,OAEjDkR,cAAeN,EAAiBjB,KAAKmB,QAAQ4F,UAAUjY,QACvD0S,aAAc,CACZxC,SAAUiC,EAAiBjB,KAAKmB,QAAQ4F,UAAU/H,SAClDwB,MAAOS,EAAiBjB,KAAKmB,QAAQ4F,UAAUvG,SAOnD,MAAMwG,EAAc,IAAIC,gBAAgBtG,OAAOuG,SAASC,QAClDC,EAAYJ,EAAYjH,IAAI,QAElCrwB,QAAQC,IAAI,iBAAkBq3B,GAE1BI,EACgB,UAAdA,GACF1C,EAAa,SACbj1B,EAAQkyB,KAAK,CAAEC,SAAU,aAEzB8C,EAAa,aAEbj1B,EAAQkyB,KAAK,CAAEC,SAAU,sBAG3BnyB,EAAQkyB,KAAK,CAAEC,SAAU,oBACzB8C,EAAa,cAWfjD,KAAUC,OAAO,CACftuB,KAAM,oBACNgZ,WAAY,CACVib,UAAW/3B,EAAK8D,QAIpB,IAAIk0B,EAAoC,GAArBh4B,EAAKi4B,aAAoB,YAAc,kBAEpD9F,KAAU+F,eAAe,CAC7BhE,OAAQl0B,EAAKm4B,QAEbC,eAAgB,CACdx0B,SAAU,CAAC5D,EAAK8D,MAChBu0B,OAAQ,CAACr4B,EAAKs4B,QACdC,MAAO,CAACv4B,EAAKu4B,OACbC,IAAK,CAACx4B,EAAKy4B,KACXC,OAAQ,CAAC14B,EAAK24B,QACdC,WAAY,CAAC54B,EAAK+gB,OAClB8X,OAAQ,CAAC74B,EAAK+xB,iBAAiB,GAAGnV,QAClCkc,eAAgB,CAACd,GACjBe,MAAO,CAAC/4B,EAAKkxB,OACb8H,OAAQ,CAACh5B,EAAKwf,QAAQ,GAAGwB,QACzBiY,UAAW,CAACj5B,EAAKk5B,QAAQC,YACzBC,YAAa,CAACp5B,EAAKk5B,QAAQ/5B,MAC3Bk6B,KAAM,CAACr5B,EAAKk5B,QAAQG,MACpBC,QAAS,CAACt5B,EAAKk5B,QAAQI,SACvB75B,MAAO,CAACO,EAAKk5B,QAAQz5B,OACrB85B,SAAU,CAAI,OAAH3D,QAAG,IAAHA,KAAKj5B,OAASi5B,EAAM,MAC/B4D,UAAW,CAAI,OAAH1D,QAAG,IAAHA,KAAKn5B,OAASm5B,EAAM,SAEjC3F,MAAK,QAGV,MAAO,GAAgC,IAA5BwB,EAAiBxuB,OAAc,CACxC+qB,IAEA,IAAIqJ,EAAe,CACjBnH,MAAOuB,EAAiBjB,KAAKmB,QAAQzB,MACrCuC,UAAWhB,EAAiBjB,KAAKmB,QAAQ2F,YAI3CvC,EAAasC,EAGf,MACErJ,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,QAEhC,CACF,MACEx0B,MAAM,mCACR,EAyCImhB,EAA8BoR,UAClChU,EAAMY,iBACN,IAAIoY,EAAuB,IAAK91B,EAAM81B,sBAClC7Z,EAAe,IAAKjc,EAAMic,cAC1BkU,EAAgBnwB,EAAMmwB,cACxBC,EAAYpwB,EAAMowB,UAEpB,GAAIgH,EAAoBtB,GAAuB,CAC7C,IAAI2B,EAAY,GAAG3B,EAAqBC,iBAAiBD,EAAqBE,iBAAiBF,EAAqBG,mBAAmBH,EAAqBI,kBAI5J,GAFAuB,EAAYra,SAASqa,GAEjBA,EAAW,CACblJ,IACA,IAAI0C,EAAO,CACTlT,cAAe9B,EAAa8B,cAC5B2Z,IAAKD,EACLtH,cAAeA,EACfC,UAAWA,GAET8B,OA1DiBpB,WACzB,MAAMG,EAAO,CACX8F,YAAa,aACbC,YAAaW,EAAW5Z,cACxBkZ,QAASU,EAAWD,KAGtB,IACE,MAAMnZ,QAAiBwS,KAAMqC,KAC3B,yEACAnC,GAIF,OAA6B,MAAzB1S,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAKpB,CACLvtB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,SAGrC,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,EAAMia,UACX,CACL7a,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GAuBiC2G,CAAmB/I,GAChD,GAAgC,IAA5BiB,EAAiBxuB,OAAc,CACjC,IAAInD,EAAO2xB,EAAiBjB,KAAKmB,QACjC3D,IAEAqG,EAAcv0B,GACd60B,GAAuB,GAIvB10B,EAAQkyB,KAAK,CACXC,SAAU,qBAEd,MACEpE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,QAGhC,CACF,MACEx0B,MAAM,mCACR,EA0BIugB,EAAkBgS,UACtB,IAAK9R,EAAkB,CAErB,IAAI/C,EAAe,IAAKjc,EAAMic,cAE9B,GAAIA,EAAa8B,cAEf,GAAI6T,OAAOC,UAAUC,OAAQ,CAC3B5S,GAAoB,GAGpB,IAAIgT,QAAyB2E,EAAW5a,EAAa8B,eACjDmU,EAAiBxuB,QAEnB+qB,IAEAxP,EAAkB,IAClBG,YAAW,KACTF,GAAoB,EAAM,GACzB,OAGHuP,IACAvP,GAAoB,GACpB3gB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,0CAGZ,GA4BIogB,EAAwBmS,UAC5B,IAAK9R,EAAkB,CAErB,IAAI/C,EAAe,IAAKjc,EAAMic,cAE9B,GAAIA,EAAa8B,cAEf,GAAI6T,OAAOC,UAAUC,OAAQ,CAC3B5S,GAAoB,GAGpB,IAAIgT,QAAyB4E,EAC3B7a,EAAa8B,eAEXmU,EAAiBxuB,QAEnB+qB,IAEAxP,EAAkB,IAClBG,YAAW,KACTF,GAAoB,EAAM,GACzB,OAGHuP,IACAvP,GAAoB,GACpB3gB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,0CAGZ,GAgFF,OACEgf,gBAACje,WAAQ,CAAAC,SAAA,CACM,IAAZg3B,GA/EcjD,MACjB,IAAI,KAAEtD,EAAI,aAAE/T,GAAiBjc,EAE7B,OAAQgwB,GACN,KAAK,EACH,OACE3wB,eAAC2c,GAAY,CACXC,aAAcA,EACdiC,yBAA0BA,EAC1BnB,mBAAoBA,EACpBV,yBAA0BA,EAC1BH,eAAgBA,EAChBC,6BAA8BA,EAE9BC,4BAA6BA,EAC7B1b,QAASA,IAGf,KAAK,EACH,OACErB,eAACof,GAAY,CACXI,kBAAmBA,EACnBH,sBAAuBA,EACvBE,sBAAuBA,EACvBE,gBAAiBA,EACjBY,4BAA6BA,EAC7BxD,eAAgBA,EAChByC,sBAAuBA,EACvBI,eAAgBA,EAChBC,iBAAkBA,EAClBC,kBAAmBA,EACnBC,oBAAqBA,IAK3B,QACE,OAAO,KACX,EAyCoBoU,GAEL,IAAZiD,GAAiBl3B,eAAC46B,GAAM,CAACv5B,QAASA,IAElCP,GAAUd,eAACD,KAAW,MACd,I,oBCzTf,SAAS86B,GAAgBz5B,GACvB,MAAM,UAAEjB,EAAS,MAAEqE,EAAK,QAAE2Z,GAAY/c,EACtC,OACEpB,eAAA,OACEG,UAAWA,EACXqE,MAAO,IAAKA,EAAOC,QAAS,SAC5B0Z,QAASA,GAGf,CAEA,SAAS2c,GAAgB15B,GACvB,MAAM,UAAEjB,EAAS,MAAEqE,EAAK,QAAE2Z,GAAY/c,EACtC,OACEpB,eAAA,OACEG,UAAWA,EACXqE,MAAO,IAAKA,EAAOC,QAAS,SAC5B0Z,QAASA,GAGf,CA+gBe4c,OA7gBEA,KACf,MAAMC,EAAY,CAChBC,MAAM,EACNC,UAAU,EACVC,aAAc,EACdC,eAAgB,EAChBC,UAAWr7B,eAAC66B,GAAe,CAAC16B,UAAU,eACtCm7B,UAAWt7B,eAAC86B,GAAe,CAAC36B,UAAU,eACtCo7B,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAKpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAIpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,EAChBM,QAAQ,OAKT/6B,EAAO+vB,GAAYvT,oBAAS,IAC5Bwe,EAAaC,GAAkBze,mBAAS,CAC7CnY,KAAM,GACN62B,KAAM,GACNnd,cAAe,KAMXod,EAAoBrK,UACxB,MAAM,KAAEzsB,EAAI,MAAEvH,GAAUggB,EAAMK,aAEPlf,aAA2BnB,IAOhDm+B,GAAgBrK,IAAS,IACpBA,EAAUoK,YACb,CAAC32B,GAAOvH,KAEZ,EAQF,OACEuC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/Bge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACvCge,gBAAA,UAAQ/d,UAAU,SAAQD,SAAA,CAClBF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOyB,QAASya,IAAI,WAEhClD,gBAAA,OAAK/d,UAAWQ,EAAQ,cAAgB,mBAAmBT,SAAA,CACzDF,eAAA,UAAQG,UAAU,UAAUge,QAASA,IAAMuS,GAAU/vB,GAAOT,SAAC,MAG7DF,eAAA,KAAG+7B,KAAK,cAAa77B,SAAC,gBACtBF,eAAA,KAAG+7B,KAAK,aAAY77B,SAAC,iBAErBF,eAAA,KAAG+7B,KAAK,eAAc77B,SAAC,iBACvBF,eAAA,KAAG+7B,KAAK,UAAS77B,SAAC,kBAGpBF,eAAA,UAAQG,UAAU,SAASge,QAASA,IAAMuS,GAAU/vB,GAAOT,SAAC,SAIlEF,eAAA,WAASG,UAAU,gBAAgB4e,GAAG,WAAU7e,SAC9CF,eAAA,OAAKG,UAAU,8BAgCjBH,eAAA,WAASG,UAAU,gBAAgB4e,GAAG,aAAY7e,SAChDge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,MAAIG,UAAU,iBAAgBD,SAAC,gBAC/BF,eAAA,KAAGG,UAAU,SAAQD,SAAC,2HAKxBF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAC8d,KAAM,IAAKhB,EAAS96B,SAAA,CACnBge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAO+B,OAAQma,IAAI,UAE/BphB,eAAA,MAAAE,SAAI,QACJF,eAAA,KAAAE,SAAG,sFAKLge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOgC,QAASka,IAAI,WAEhCphB,eAAA,MAAAE,SAAI,SACJF,eAAA,KAAAE,SAAG,oFAKLge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOiC,cAAeia,IAAI,iBAEtCphB,eAAA,MAAAE,SAAI,eACJF,eAAA,KAAAE,SAAG,2HAmBbF,eAAA,WAASG,UAAU,gBAAgB4e,GAAG,YAAW7e,SAC/Cge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,MAAIG,UAAU,iBAAgBD,SAAC,iBAC/BF,eAAA,KAAGG,UAAU,SAAQD,SAAC,0HAKxBF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7Bge,gBAAC8d,KAAM,IAAKhB,EAAS96B,SAAA,CACnBF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAO0B,SAAUwa,IAAI,WAEjCphB,eAAA,MAAAE,SAAI,iBACJF,eAAA,KAAAE,SAAG,8HAOPF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAO2B,WAAYua,IAAI,YAEnCphB,eAAA,MAAAE,SAAI,sBACJF,eAAA,KAAAE,SAAG,sHAOPF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAO4B,WAAYsa,IAAI,YAEnCphB,eAAA,MAAAE,SAAI,qBACJF,eAAA,KAAAE,SAAG,qGAUfF,eAAA,WAASG,UAAU,gBAAeD,SAChCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,cACf+d,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,MAAAE,SAAI,iCACJF,eAAA,KAAAE,SAAG,2EAIHF,eAAA,KAAAE,SAAG,yFAIHF,eAAA,KAAAE,SAAG,0DACHF,eAAA,KAAAE,SAAG,gCACHF,eAAA,KAAAE,SAAG,4EAIHF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KACE+7B,KAAK,oGACLje,OAAO,SAASme,IAAI,aAAY/7B,SAEhCF,eAAA,OAAKsgB,IAAKpb,GAAOoF,yBAuE3BtK,eAAA,WACEG,UAAU,gBACV4e,GAAG,cACHva,MAAO,CAAE03B,WAAY,QAASh8B,SAE9BF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5Cge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,MAAIG,UAAU,aAAYD,SAAC,0BAE7Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOkC,YAEnBpH,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,mBAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,2JAQpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOmC,WAEnBrH,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,uBAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,6PAUpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOoC,aAEnBtH,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,aAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,qMASpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOqC,aAEnBvH,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,YAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,qKAQpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOsC,aAEnBxH,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,YAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,uHAOpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOuC,kBAEnBzH,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,kBAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,qLAa5Cge,gBAAA,UAAQa,GAAG,SAAQ7e,SAAA,CACjBge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKsgB,IAAKpb,GAAOyB,QAASya,IAAI,WAEhClD,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,MAAAE,SAAI,WACJF,eAACm8B,IAAI,CAACC,GAAG,GAAGj8B,UAAU,SAAQD,SAC5BF,eAAA,QAAAE,SAAM,eAERF,eAACm8B,IAAI,CAACC,GAAG,GAAGj8B,UAAU,SAAQD,SAC5BF,eAAA,QAAAE,SAAM,sBAERF,eAACm8B,IAAI,CAACC,GAAG,GAAGj8B,UAAU,SAAQD,SAC5BF,eAAA,QAAAE,SAAM,6BAGVge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,MAAAE,SAAI,iBACJge,gBAACie,IAAI,CAACC,GAAG,GAAGj8B,UAAU,SAAQD,SAAA,CAC5BF,eAAA,KAAGiiB,MAAM,4BACTjiB,eAAA,QAAAE,SAAM,sBAERge,gBAACie,IAAI,CAACC,GAAG,GAAGj8B,UAAU,SAAQD,SAAA,CAC5BF,eAAA,KAAGiiB,MAAM,oBACTjiB,eAAA,QAAAE,SAAM,6BAERge,gBAACie,IAAI,CAACC,GAAG,GAAGj8B,UAAU,SAAQD,SAAA,CAC5BF,eAAA,KAAGiiB,MAAM,0BACTjiB,eAAA,QAAAE,SAAM,iDAGVF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,eACJF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,OACLoe,YAAY,YACZG,SAAWyd,GAAMP,EAAkBO,GACnCvd,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,QACLoe,YAAY,sBACZG,SAAWyd,GAAMP,EAAkBO,GACnCvd,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,OACLoe,YAAY,gBACZG,SAAWyd,GAAMP,EAAkBO,GACnCvd,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAQH,SAAC,mBAK9BF,eAAA,OAAKG,UAAU,YAAWD,SAAC,0DAG3BF,eAAA,KAAGG,UAAU,UAAU47B,KAAK,YAAW77B,SACrCF,eAAA,OAAKsgB,IAAKpb,GAAOwC,WAAY0Z,IAAI,qBAKhC,E,kBC3hCAkb,OAzBUC,IAAsC,IAArC,YAAEC,EAAW,eAAEC,GAAgBF,EACvD,OACEv8B,eAAC08B,KAAK,CAACC,KAAMH,EAAaI,QAASA,IAAMH,GAAe,GAAOv8B,SAC7DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OAAKsgB,IAAKpb,GAAOqV,aAAc6G,IAAI,GAAGjhB,UAAU,YAGlD+d,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OACEG,UAAU,kBACVge,QAASA,IAAMse,GAAe,GAAOv8B,SAErCF,eAAA,OAAKsgB,IAAKpb,GAAO4V,cAAesG,IAAI,GAAGjhB,UAAU,gBAGnDH,eAAC68B,GAAK,aAIN,E,OC+FGC,OAtHC17B,IACd,MAAM,eAAEq7B,EAAc,YAAED,GAAgBp7B,GACjC27B,EAAUC,GAAe7f,oBAAS,GAEzC,OACEe,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,UAAAE,SACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OACEsgB,IAAKpb,GAAOiU,gBACZiI,IAAI,cACJjD,QAASA,IAAMoU,OAAO0K,KAAK,wBAAyB,cAIxD/e,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,KAAG+7B,KAAK,cAAc3a,IAAI,aAAYlhB,SAAC,cAIzCF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,KAAG+7B,KAAK,eAAe3a,IAAI,cAAalhB,SAAC,kBAM7Cge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKsgB,IAAKpb,GAAOkU,SAAUgI,IAAI,cAC/BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,yBACnCF,eAAA,KAAG+7B,KAAK,kBAAkB57B,UAAU,yBAAwBD,SAAC,sBAMjEF,eAAA,OACEG,UAAU,eACVge,QAASA,IAAMse,GAAgBD,GAAat8B,SAC7C,kBAMPF,eAAA,UAAAE,SACEge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,YAAYge,QAASA,IAAM6e,GAAaD,GAAU78B,SAC9D68B,EAAW,SAAM,WAEpB/8B,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OACEsgB,IAAKpb,GAAOiU,gBACZiI,IAAI,cACJjD,QAASA,IAAMoU,OAAO0K,KAAK,wBAAyB,iBAI1Dj9B,eAAA,OACEG,UAAU,eACVge,QAASA,IAAMse,GAAgBD,GAAat8B,SAC7C,aAKF68B,GACC/8B,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,KAAG+7B,KAAK,cAAa77B,SAAC,cAExBF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKsgB,IAAKpb,GAAO6V,QAASqG,IAAI,kBAGlClD,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,KAAG+7B,KAAK,eAAc77B,SAAC,eAEzBF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKsgB,IAAKpb,GAAO6V,QAASqG,IAAI,qBAIpCphB,eAAA,OAAAE,SACEge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKsgB,IAAKpb,GAAOkU,SAAUgI,IAAI,cAC/BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,yBAGnCF,eAAA,KACE+7B,KAAK,kBACL57B,UAAU,yBAAwBD,SACnC,oCAWR,E,OClEAg9B,OAhDC97B,IACd,MAAM,eAAEq7B,EAAc,YAAED,GAAgBp7B,EAElC+7B,EAAoBA,KACxBV,GAAgBD,EAAY,EAE9B,OACEte,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,QAAOD,SAAC,sDAGvBF,eAAA,OAAKG,UAAU,QAAOD,SAAC,0HAIvBF,eAAA,OAAKG,UAAU,aAAage,QAASgf,EAAkBj9B,SAAC,mBAK1DF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OAAKsgB,IAAKpb,GAAOuU,MAAO2H,IAAI,oBAIhClD,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,QAAOD,SAAC,sDAGvBF,eAAA,OAAKG,UAAU,QAAOD,SAAC,0HAIvBF,eAAA,OAAKG,UAAU,aAAage,QAASgf,EAAkBj9B,SAAC,mBAI1DF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OAAKsgB,IAAKpb,GAAOuU,MAAO2H,IAAI,sBAGvB,E,OCmDAgc,OAhGKA,KAClB57B,qBAAU,KACS8C,SAAS+4B,iBAAiB,YAClClF,SAASmF,IAChB,MAAMC,EAAgBA,KACpB,MAAMzf,GAAUwf,EAAQE,aAAa,eAC/BC,GAASH,EAAQI,UAEjBC,EAAY7f,EAAS,IAEvB2f,EAAQ3f,GACVwf,EAAQI,UAAYj/B,KAAKm/B,KAAKH,EAAQE,GACtC5d,WAAWwd,EAAe,KAE1BD,EAAQI,UAAY5f,EAAS,GAC/B,EAGFyf,GAAe,GACf,GACD,IAGDrf,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAK+e,GAAG,SAAQ7e,SAAC,eACjBge,gBAAA,OAAKa,GAAG,gBAAe7e,SAAA,CACrBge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,QAAMG,UAAU,UAAU,cAAY,KAAID,SAAC,MAEnC,IACRF,eAAA,QAAMG,UAAU,OAAMD,SAAC,eAEzBF,eAAA,OAAKG,UAAU,aAAYD,SAAC,qBAE9Bge,gBAAA,OAAKa,GAAG,kBAAiB7e,SAAA,CACvBF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,QAAMG,UAAU,UAAU,cAAY,KAAID,SAAC,QAI7CF,eAAA,OAAKG,UAAU,cAAaD,SAAC,eAE/Bge,gBAAA,OAAKa,GAAG,yBAAwB7e,SAAA,CAC9BF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,QAAMG,UAAU,UAAU,cAAY,SAAQD,SAAC,QAIjDF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,8BAI1Cge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,SAAQD,SAAC,gBACxBge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OACE/d,UAAU,cACVqE,MAAO,CACLC,QAAS,OACTq5B,WAAY,SACZC,eAAgB,gBAChB79B,SAAA,CAEFF,eAAA,QAAMG,UAAU,UAAU,cAAY,KAAID,SAAC,MAG3CF,eAAA,OAAKG,UAAU,aAAYD,SAAC,aAE9BF,eAAA,OAAKG,UAAU,gBAAeD,SAAC,qBAEjCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,QAAMG,UAAU,UAAU,cAAY,KAAID,SAAC,QAI7CF,eAAA,OAAKG,UAAU,aAAYD,SAAC,eAE9Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,UAAU,cAAY,MAAKD,SAAC,MAG5CF,eAAA,QAAMG,UAAU,IAAGD,SAAC,SAEtBF,eAAA,OAAKG,UAAU,aAAYD,SAAC,mC,OCoDzB89B,OAxICA,KACd,MAAOlc,EAASmc,GAAc9gB,mBAAS,IAEvC3b,qBAAU,KACR08B,GAAY,GACX,IAEH,MAAMA,EAAazM,UACjB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI/D,IAEjC,GAA6B,MAAzB1O,EAAS0S,KAAKC,OAAgB,CAAC,IAADsM,EAAAC,EAAAC,EAChC,MAAMC,EAAsB,OAARpf,QAAQ,IAARA,GAAc,QAANif,EAARjf,EAAU0S,YAAI,IAAAuM,GAAM,QAANC,EAAdD,EAAgBvM,YAAI,IAAAwM,GAAQ,QAARC,EAApBD,EAAsBtgB,cAAM,IAAAugB,OAApB,EAARA,EAA8B/c,KAAKY,IAAM,IACxDA,EACHqc,WAAW,MAEbN,EAAWK,EACb,CACF,CAAE,MAAOr5B,GACP3D,QAAQ2D,MAAMA,EAChB,GAGIu5B,EAAkBA,CAACC,EAAOF,KAC9B,MAAMG,EAAiB,IAAI5c,GAC3B4c,EAAeD,GAAOF,UAAYA,EAClCN,EAAWS,EAAe,EAqC5B,OACExgB,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,UAAQ/d,UAAU,iBAAgBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,eAChBF,eAAA,QAAAE,SAAM,gBAEpBF,eAAA,OAAKG,UAAU,cAAaD,SAAC,2HAM/BF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAACg8B,KAAM,CA/Cbf,MAAM,EACNC,UAAU,EACVyD,UAAU,EACVC,cAAe,KACflD,QAAQ,EACRP,aAAc,EACdC,eAAgB,EAChBG,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,EAChByD,KAAM,KAoBc3+B,SACV,OAAP4hB,QAAO,IAAPA,OAAO,EAAPA,EAASR,KAAI,CAACY,EAAQuc,KAAK,IAAAK,EAAA,OAC1B9+B,eAAA,OACEG,UAAW,WAAU+hB,EAAOqc,UAAY,UAAY,IAEpDQ,aAAcA,IAAMP,EAAgBC,GAAO,GAC3CO,aAAcA,IAAMR,EAAgBC,GAAO,GAAOv+B,SAElDge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OACE/d,UAAU,kBACVqE,MAAO,CAAEy6B,gBAAiB/c,EAAO+c,iBAAkB/+B,SAAA,CAEnDF,eAAA,OACEsgB,IAAK4B,EAAOgd,YACZ9d,IAAK,GAAS,OAANc,QAAM,IAANA,OAAM,EAANA,EAAQpE,gBAElB9d,eAAA,QAAAE,SAAa,OAANgiB,QAAM,IAANA,OAAM,EAANA,EAAQpE,YAEjB9d,eAAA,OACEG,UAAU,iBACVqE,MAAO,CAAEy6B,gBAAiB/c,EAAOid,wBAAyBj/B,SAE1Dge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,8BAA6BD,SACnC,OAANgiB,QAAM,IAANA,OAAM,EAANA,EAAQpE,SAEXI,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OACEG,UAAU,uBACVqE,MAAO,CAAE/E,MAAO,QAAS2/B,WAAY,KAAMl/B,SAC5C,UAGDF,eAAA,OAAKG,UAAU,cAAaD,SACnB,OAANgiB,QAAM,IAANA,GAAe,QAAT4c,EAAN5c,EAAQN,eAAO,IAAAkd,OAAT,EAANA,EAAiBxd,KAAI,CAAC+d,EAAKC,IAC1Bt/B,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAACie,IAAI,CACHC,GAAI,UAAgB,OAANla,QAAM,IAANA,OAAM,EAANA,EAAQf,aAAgB,OAAHke,QAAG,IAAHA,OAAG,EAAHA,EAAKrd,WACxC7hB,UAAU,aAAYD,SAAA,CAEtBF,eAAA,QAAAE,SAAU,OAAHm/B,QAAG,IAAHA,OAAG,EAAHA,EAAKE,aAAmB,QALFD,mBAhClC,OAANpd,QAAM,IAANA,OAAM,EAANA,EAAQf,UA8CT,YAKV,E,OC3IH,MAAMqe,GAAUp+B,GACdA,EAAMq+B,GAAKr+B,EAAMlB,SAAW,KC0StBw/B,OAtSGt+B,IAChB,MAAM,eAAEq7B,EAAc,YAAED,GAAgBp7B,GACjCu+B,EAAWC,GAAgBziB,mBAAS,SACpC0iB,EAAaC,GAAkB3iB,oBAAS,GAEzC4iB,EAAkBC,IACtBF,GAAe,GACf/f,YAAW,KACT6f,EAAaI,GACbF,GAAe,EAAM,GACpB,IAAI,EAUT,OAPAt+B,qBAAU,KACRs+B,GAAe,GACf/f,YAAW,KACT+f,GAAe,EAAM,GACpB,IAAI,GACN,IAGD5hB,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,UAAQ/d,UAAU,2BAA0BD,SAAA,CAC1Cge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAAC,eACpBF,eAAA,QAAAE,SAAM,gBAEpBF,eAAA,OAAKG,UAAU,sBAAqBD,SAAC,yHAMvCge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7Bge,gBAAA,MAAI/d,UAAU,YAAWD,SAAA,CACvBF,eAAA,MACEG,UAAW,QAAqB,SAAdw/B,EAAuB,SAAW,IACpD5gB,GAAG,OACHZ,QAASA,IAAM4hB,EAAe,QAAQ7/B,SACvC,iBAGDF,eAAA,MACEG,UAAW,QAAqB,WAAdw/B,EAAyB,SAAW,IACtD5gB,GAAG,SACHZ,QAASA,IAAM4hB,EAAe,UAAU7/B,SACzC,WAGDF,eAAA,MACEG,UAAW,QACK,qBAAdw/B,EAAmC,SAAW,IAEhD5gB,GAAG,mBACHZ,QAASA,IAAM4hB,EAAe,oBAAoB7/B,SACnD,qBAGDF,eAAA,MACEG,UAAW,QACK,uBAAdw/B,EAAqC,SAAW,IAElD5gB,GAAG,qBACHZ,QAASA,IAAM4hB,EAAe,sBAAsB7/B,SACrD,4BAKLge,gBAAA,OACE/d,UAAW,2BAA0B0/B,EAAc,YAAc,IAAK3/B,SAAA,CAEtEge,gBAACshB,GAAM,CAACC,GAAkB,SAAdE,EAAqBz/B,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,sBACdF,eAAA,QAAAE,SAAM,gBAEtBF,eAAA,OAAKG,UAAU,cAAaD,SAAC,+GAK/Bge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKpb,GAAO6U,MAAOqH,IAAI,eAC5BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SAAC,2BAE5BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,iEAKjCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKpb,GAAO6U,MAAOqH,IAAI,eAC5BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SAAC,2BAE5BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,+DAMnCF,eAAA,OACEG,UAAU,YACVge,QAASA,IAAMse,GAAgBD,GAAat8B,SAC7C,mBAKHF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKpb,GAAOyU,kBAAmByH,IAAI,sBAG5ClD,gBAACshB,GAAM,CAACC,GAAkB,WAAdE,EAAuBz/B,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,gBACfF,eAAA,QAAAE,SAAM,gCAAmC,oBAIxDF,eAAA,OAAKG,UAAU,cAAaD,SAAC,8FAM/Bge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKpb,GAAO6U,MAAOqH,IAAI,eAC5BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SAAC,oCAI5Bge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,6DACgC,IAAI,2BAMrEge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKpb,GAAO6U,MAAOqH,IAAI,eAC5BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SAAC,uDAI5BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,+FAQnCF,eAAA,OACEG,UAAU,YACVge,QAASA,IAAMse,GAAgBD,GAAat8B,SAC7C,mBAKHF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKpb,GAAO0U,UAAWwH,IAAI,sBAIpClD,gBAACshB,GAAM,CAACC,GAAkB,qBAAdE,EAAiCz/B,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,6CAE5BF,eAAA,QAAAE,SAAM,iCAGRge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,iEACoC,IAAI,oBAKvEge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKpb,GAAO6U,MAAOqH,IAAI,eAC5BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SAAC,4DAI5BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,mGAOjCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKpb,GAAO6U,MAAOqH,IAAI,eAC5BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SAAC,qDAI5Bge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,2DAC8B,IAAI,qDAOrEF,eAAA,OACEG,UAAU,YACVge,QAASA,IAAMse,GAAgBD,GAAat8B,SAC7C,mBAKHF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKpb,GAAO2U,YAAauH,IAAI,sBAItClD,gBAACshB,GAAM,CAACC,GAAkB,uBAAdE,EAAmCz/B,SAAA,CAC7Cge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,YACnBF,eAAA,QAAAE,SAAM,kCAAoC,kCAIrDF,eAAA,OAAKG,UAAU,cAAaD,SAAC,wHAM/Bge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKpb,GAAO6U,MAAOqH,IAAI,eAC5BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SAAC,0DAI5BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,uHAOjCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKpb,GAAO6U,MAAOqH,IAAI,eAC5BlD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SAAC,gDAI5BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,iJASnCF,eAAA,OACEG,UAAU,YACVge,QAASA,IAAMse,GAAgBD,GAAat8B,SAC7C,mBAKHF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKpb,GAAO4U,UAAWsH,IAAI,8BAKpC,E,OC5OK6e,OAvDIA,IAEf/hB,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,UAASD,SAAC,iCAEzBF,eAAA,OAAKG,UAAU,cAAaD,SAAC,8EAK/Bge,gBAAA,OACE/d,UAAU,0BACVge,QAASA,IACPoU,OAAO0K,KACL,2EACA,UAEH/8B,SAAA,CAEDF,eAAA,OAAKsgB,IAAKpb,GAAOoV,UAAW8G,IAAI,cAAc,qBAKpDphB,eAAA,OAAKG,UAAU,mCAAkCD,SAC/Cge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,UAASD,SAAC,iCAEzBF,eAAA,OAAKG,UAAU,cAAaD,SAAC,8EAK/Bge,gBAAA,OACE/d,UAAU,0BACVge,QAASA,IACPoU,OAAO0K,KACL,2EACA,UAEH/8B,SAAA,CAEDF,eAAA,OAAKsgB,IAAKpb,GAAOoV,UAAW8G,IAAI,cAAc,wB,OC8D3C8e,OA1GEA,KACf,MAAOC,EAAUC,GAAejjB,mBAAS,IAEnCkjB,EAAcC,uBAAY7O,UAC9B,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI9D,IACJ,MAAzB3O,EAAS0S,KAAKC,QAChBuO,EAAY,IAAIlhB,EAAS0S,KAAKA,KAAK1P,QAEvC,CAAE,MAAOjd,GACP3D,QAAQ2D,MAAMA,EAChB,IACC,IAEHzD,qBAAU,KACR6+B,GAAa,GACZ,CAACA,IA0CJ,OACEniB,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,UAAQ/d,UAAU,2BAA0BD,SAAA,CAC1Cge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAM,iBAAmB,4BAE3BF,eAAA,OAAKG,UAAU,sBAAqBD,SAAC,wIAMvCF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAACg8B,KAAM,CArDbd,UAAU,EACVC,aAAc,EACdC,eAAgB,EAChBuD,UAAU,EACV4B,MAAO,IACP3B,cAAe,IACf4B,QAAS,SACTjF,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,KAoBIl7B,SACjBigC,EAAS7e,KAAI,CAACmf,EAAKhC,KAAK,IAAAiC,EAAAC,EAAA,OACvBziB,gBAAA,OAAiB/d,UAAU,UAAUqE,MAAO,CAAEo8B,OAAQ,QAAS1gC,SAAA,CAC7DF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKsgB,IAAQ,OAAHmgB,QAAG,IAAHA,OAAG,EAAHA,EAAKI,aAAczf,IAAI,cAEnClD,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,YAAWD,SAAEugC,EAAIve,SAChCliB,eAAA,OAAKG,UAAU,kBAAiBD,UACd,QAAfwgC,EAAAD,EAAIK,mBAAW,IAAAJ,OAAA,EAAfA,EAAiB7iC,QAAS,GACvB,GAAkB,QAAlB8iC,EAAGF,EAAIK,mBAAW,IAAAH,OAAA,EAAfA,EAAiBxiC,MAAM,EAAG,SAC7BsiC,EAAIK,iBAGZ9gC,eAAA,OACEG,UAAU,mBACVge,QAASA,IACPoU,OAAO0K,KACL,8CACA,UAEH/8B,SACF,mBApBOu+B,EAuBJ,YAKV,E,OCmDKsC,OAzJGA,KAChB,MAAOC,EAAcC,GAAmB9jB,mBAAS,IAC1C+jB,EAAkBC,GAAuBhkB,mBAAS,IAUzD3b,qBAAU,KARkBiwB,WAC1B,MAAMvS,QAAiBwS,KAAMC,IAAI7D,IAEJ,MAAzB5O,EAAS0S,KAAKC,QAChBsP,EAAoB,IAAIjiB,EAAS0S,KAAKA,KAAKwP,cAC7C,EAIAC,EAAqB,GACpB,IAEH,MAAMC,EAAWA,KACXN,EAAeE,EAAiBrjC,OAAS,GAC3CojC,EAAgBD,EAAe,EACjC,EAGIO,EAAeA,KACfP,EAAe,GACjBC,EAAgBD,EAAe,EACjC,EAGF,OACE9iB,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKsgB,IAAKpb,GAAOsV,gBAAiB4G,IAAI,wBAGxClD,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,sCACKF,eAAA,QAAAE,SAAM,eAG3Cge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACT,OAAhBghC,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5f,KAAI,CAACkgB,EAAU/C,IAC5BuC,IAAiBvC,EAEjBvgB,gBAAA,OAAiB/d,UAAU,6BAA4BD,SAAA,CACrDF,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,WACnCF,eAAA,OAAKG,UAAU,gBAAeD,SAAEshC,EAASJ,eACzCljB,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OACEsgB,IAAKkhB,EAASC,cACdrgB,IAAI,cACJjhB,UAAU,iBAEZ+d,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,cAAaD,SACzBshC,EAASE,eAEZ1hC,eAAA,OAAKG,UAAU,gBAAeD,SAAEshC,EAAS1jB,iBAbrC2gB,GAmBP,OAGTvgB,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,UACEme,QAASojB,EACTphC,UAAW,WAAU6gC,EAAe,EAAI,SAAW,YACnD7hB,SAA2B,IAAjB6hB,EAAmB9gC,SAE7BF,eAAA,OAAKsgB,IAAKpb,GAAOwV,gBAAiB0G,IAAI,sBAExCphB,eAAA,UACEme,QAASmjB,EACTnhC,UAAW,WACT6gC,EAAeE,EAAiBrjC,OAAS,EACrC,SACA,YAENshB,SAAU6hB,IAAiBE,EAAiBrjC,OAAS,EAAEqC,SAEvDF,eAAA,OAAKsgB,IAAKpb,GAAOyV,iBAAkByG,IAAI,mCAOjDlD,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,sCACKF,eAAA,QAAAE,SAAM,eAG3Cge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACT,OAAhBghC,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5f,KAAI,CAACkgB,EAAU/C,IAC5BuC,IAAiBvC,EAEjBvgB,gBAAA,OAAiB/d,UAAU,6BAA4BD,SAAA,CACrDF,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,WACnCF,eAAA,OAAKG,UAAU,gBAAeD,SAAEshC,EAASJ,eACzCljB,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OACEsgB,IAAKkhB,EAASC,cACdrgB,IAAI,cACJjhB,UAAU,iBAEZ+d,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,cAAaD,SACzBshC,EAASE,eAEZ1hC,eAAA,OAAKG,UAAU,gBAAeD,SAAEshC,EAAS1jB,iBAbrC2gB,GAmBP,OAGTvgB,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,UACEme,QAASojB,EACTphC,UAAW,WAAU6gC,EAAe,EAAI,SAAW,YACnD7hB,SAA2B,IAAjB6hB,EAAmB9gC,SAE7BF,eAAA,OAAKsgB,IAAKpb,GAAOwV,gBAAiB0G,IAAI,sBAExCphB,eAAA,UACEme,QAASmjB,EACTnhC,UAAW,WACT6gC,EAAeE,EAAiBrjC,OAAS,EACrC,SACA,YAENshB,SAAU6hB,IAAiBE,EAAiBrjC,OAAS,EAAEqC,SAEvDF,eAAA,OAAKsgB,IAAKpb,GAAOyV,iBAAkByG,IAAI,gCAM/CphB,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKsgB,IAAKpb,GAAOsV,gBAAiB4G,IAAI,6BAGjC,E,OC1DAugB,OA3FIA,KACjB,MAAOC,EAAYC,GAAiB1kB,mBAAS,IAE7C3b,qBAAU,KACRsgC,GAAe,GACd,IAEH,MAAMA,EAAgBrQ,UACpB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI5D,IAEJ,MAAzB7O,EAAS0S,KAAKC,QAChBgQ,EAAc,IAAI3iB,EAAS0S,KAAKA,KAAKmQ,MAEzC,CAAE,MAAO98B,GACP3D,QAAQ2D,MAAM,8BAA+BA,EAC/C,GA4CF,OACEiZ,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,UAAQ/d,UAAU,uBAAsBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,iBACdF,eAAA,QAAAE,SAAM,cAEtBF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,iEAKnCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAACg8B,KAAM,CArDbd,UAAU,EACVC,aAAc,EACdC,eAAgB,EAChBuD,UAAU,EACV4B,MAAO,IACP3B,cAAe,IACf4B,QAAS,SACT9E,QAAQ,EACRH,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,KAmBIl7B,SACjB0hC,EAAWtgB,KAAKygB,GACf/hC,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKyhB,EAAKC,YAAa5gB,IAAI,eAElCphB,eAAA,OAAKG,UAAU,aAAYD,SAAE6hC,EAAKvjB,YALLujB,EAAKhjB,cAY1C,E,OCnCKkjB,OAtDGA,IAEd/jB,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKsgB,IAAKpb,GAAO0V,gBAAiBwG,IAAI,sBAEtClD,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,UAASD,SAAC,0BAEzBF,eAAA,OAAKG,UAAU,cAAaD,SAAC,sFAM/Bge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKsgB,IAAKpb,GAAOkU,SAAUgI,IAAI,cAC/BphB,eAAA,KAAG+7B,KAAK,kBAAkB57B,UAAU,yBAAwBD,SAAC,0BAQrEF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,0BACJF,eAAA,KAAAE,SAAG,sFAKLge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKsgB,IAAKpb,GAAOkU,SAAUgI,IAAI,cAE/BphB,eAAA,KAAG+7B,KAAK,kBAAkB57B,UAAU,yBAAwBD,SAAC,qBAKjEF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKpb,GAAO2V,sBAAuBuG,IAAI,gC,OCsNzC1gB,oBAAQ,MAXKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA/PCU,IACd,MAAM,aAAE8tB,EAAY,cAAEE,GAAkBhuB,GAEjCu6B,EAAaC,GAAkBze,mBAAS,CAC7C+kB,iBAAkB,CAChBl9B,KAAM,GACN62B,KAAM,GACNnd,cAAe,QAIbod,EAAoBrK,UACxB,MAAM,KAAEzsB,EAAI,MAAEvH,GAAUggB,EAAMK,aAEPlf,aAA2BnB,IAKhDm+B,GAAgBrK,IAAS,IACpBA,EACH2Q,iBAAkB,IACb3Q,EAAU2Q,iBACb,CAACl9B,GAAOvH,MAGd,EA8BI0kC,EAAwB1Q,UAC5BhU,EAAMY,iBACN,IAAI,KAAErZ,EAAI,KAAE62B,EAAI,cAAEnd,GAAkBid,EAAYuG,iBAE5CE,EAAiB,CACnBC,MAAOr9B,EACPy0B,MAAOoC,EACPnd,cAAeA,GAGjBwQ,IACA,IAAI2D,OAnCepB,WACnB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAJ/B,wEAI4CqO,GAE1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG1B,CACLrvB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,SAGrC,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CAAE8B,QAAS,2BAErB,GAc6B4O,CAAaF,GAEV,IAA5BvP,EAAiBxuB,QACnB+qB,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAC5BkI,EAAe,CACbsG,iBAAkB,CAChBl9B,KAAM,GACN62B,KAAM,GACNnd,cAAe,UAInB0Q,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAC9B,EAGI6O,EAAmBA,KACvBhQ,OAAOuG,SAASiD,KAAO,iBAAiB,EAGpCyG,EAAmBA,KACvBjQ,OAAOuG,SAASiD,KAAO,8BAA8B,EAGjD0G,EAAiBA,KACrBlQ,OAAO0K,KACL,kEACD,EAGH,OACE/e,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAAA,UAAQa,GAAG,SAAQ7e,SAAA,CACjBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKsgB,IAAKpb,GAAOyB,QAASya,IAAI,WAEhClD,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,MAAAE,SAAI,WACJF,eAACm8B,IAAI,CAACC,GAAG,WAAWj8B,UAAU,SAAQD,SACpCF,eAAA,QAAAE,SAAM,eAERF,eAACm8B,IAAI,CAACC,GAAG,iBAAiBj8B,UAAU,SAAQD,SAC1CF,eAAA,QAAAE,SAAM,qBAERF,eAACm8B,IAAI,CAACC,GAAG,SAASj8B,UAAU,SAAQD,SAClCF,eAAA,QAAAE,SAAM,6BAGVge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,MAAAE,SAAI,iBACJge,gBAAA,OAAK/d,UAAU,SAASge,QAASokB,EAAiBriC,SAAA,CAChDF,eAAA,KAAGG,UAAU,4BACbH,eAAA,QAAAE,SAAM,mBAERge,gBAAA,OAAK/d,UAAU,SAASge,QAASqkB,EAAiBtiC,SAAA,CAChDF,eAAA,KAAGG,UAAU,oBACbH,eAAA,QAAAE,SAAM,6BAERge,gBAAA,OAAK/d,UAAU,SAASge,QAASskB,EAAeviC,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BACbH,eAAA,QAAAE,SAAM,iDAGVF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCge,gBAAA,QAAME,SAAU+jB,EAAsBjiC,SAAA,CACpCF,eAAA,MAAAE,SAAI,eACJF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,OACLoe,YAAY,YACZzZ,KAAK,OACLvH,MAAOk+B,EAAYuG,iBAAiBl9B,KACpC4Z,SAAUkd,EACVhd,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,QACLoe,YAAY,sBACZzZ,KAAK,OACLvH,MAAOk+B,EAAYuG,iBAAiBrG,KACpCjd,SAAUkd,EACVhd,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,SACLoe,YAAY,gBACZzZ,KAAK,gBACLvH,MAAOk+B,EAAYuG,iBAAiBxjB,cACpCE,SAAUkd,EACVhd,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAQH,SAAC,mBAK9BF,eAAA,OAAKG,UAAU,YAAWD,SAAC,0DAG3BF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAG,UAASl8B,SACpCF,eAAA,OAAKsgB,IAAKpb,GAAOwC,WAAY0Z,IAAI,eAIrCphB,eAAA,UAAQ+e,GAAG,gBAAe7e,SACxBge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,YACJF,eAACm8B,IAAI,CAACC,GAAG,WAAUl8B,SAAC,aACpBF,eAACm8B,IAAI,CAACC,GAAG,kBAAiBl8B,SAAC,mBAC3BF,eAACm8B,IAAI,CAACC,GAAG,SAAQl8B,SAAC,2BAEpBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,iBACJge,gBAAA,OAAKC,QAASokB,EAAiBriC,SAAA,CAC7BF,eAAA,KAAGG,UAAU,wBACbH,eAAA,QAAAE,SAAM,mBAERge,gBAAA,OAAKC,QAASqkB,EAAiBtiC,SAAA,CAC7BF,eAAA,KAAGG,UAAU,oBACbH,eAAA,QAAAE,SAAM,6BAERge,gBAAA,OAAKC,QAASskB,EAAeviC,SAAA,CAC3BF,eAAA,KAAGG,UAAU,0BACbH,eAAA,QAAAE,SAAM,gDAGVge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,eACJge,gBAAA,QAAME,SAAU+jB,EAAsBjiC,SAAA,CACpCF,eAAA,SACEK,KAAK,OACLoe,YAAY,YACZzZ,KAAK,OACLvH,MAAOk+B,EAAYuG,iBAAiBl9B,KACpC4Z,SAAUkd,EACVhd,UAAQ,IAEV9e,eAAA,SACEK,KAAK,QACLoe,YAAY,WACZzZ,KAAK,OACLvH,MAAOk+B,EAAYuG,iBAAiBrG,KACpCjd,SAAUkd,EACVhd,UAAQ,IAEV9e,eAAA,SACEK,KAAK,SACLoe,YAAY,gBACZzZ,KAAK,gBACLvH,MAAOk+B,EAAYuG,iBAAiBxjB,cACpCE,SAAUkd,EACVhd,UAAQ,IAEV9e,eAAA,UAAQK,KAAK,SAAQH,SAAC,kBAI5BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKsgB,IAAKpb,GAAOyB,QAASya,IAAI,yBAI3B,I,cC9OAshB,OATOA,IAElBxkB,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,yBACRF,eAAA,QAAAE,SAAM,iBAC5BF,eAAA,QAAMG,UAAU,eAAcD,SAAC,sBCsEtByiC,OA5DKA,KAClB,MAAOnG,EAAaC,GAAkBtf,oBAAS,GAE/C,OACEe,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACs8B,GAAgB,CACfE,YAAaA,EACbC,eAAgBA,IAGlBz8B,eAAA,WAAS+e,GAAG,SAAQ7e,SAClBF,eAAC88B,GAAM,CAACL,eAAgBA,EAAgBD,YAAaA,MAEvDx8B,eAAA,WAASG,UAAU,yBAAwBD,SACzCF,eAAC0iC,GAAa,MAGhB1iC,eAAA,WAASG,UAAU,iBAAgBD,SACjCF,eAACk9B,GAAM,CAACV,YAAaA,EAAaC,eAAgBA,MAGpDz8B,eAAA,WAASG,UAAU,uBAAsBD,SACvCF,eAACo9B,GAAW,MAGdp9B,eAAA,WAASG,UAAU,kBAAkB4e,GAAG,aAAY7e,SAClDF,eAACg+B,GAAO,MAGVh+B,eAAA,WAASG,UAAU,mBAAmB4e,GAAG,cAAa7e,SACpDF,eAAC0/B,GAAQ,CAAClD,YAAaA,EAAaC,eAAgBA,MAGtDz8B,eAAA,WAASG,UAAU,sBAAqBD,SACtCF,eAACigC,GAAU,MAGbjgC,eAAA,WAASG,UAAU,mBAAkBD,SACnCF,eAACkgC,GAAQ,MAGXlgC,eAAA,WAASG,UAAU,qBAAoBD,SACrCF,eAAC+gC,GAAS,MAGZ/gC,eAAA,WAASG,UAAU,sBAAqBD,SACtCF,eAAC2hC,GAAU,MAGb3hC,eAAA,WAASG,UAAU,qBAAoBD,SACrCF,eAACiiC,GAAS,MAGZjiC,eAAA,WAASG,UAAU,iBAAgBD,SACjCF,eAAC4iC,GAAM,QAEL,E,OCuCKjmB,OA1GOvb,IACpB,IAAI,aAAEwb,GAAiBxb,EAEvB,MAAO6b,EAAYC,GAAiBC,mBAAS,IACtCC,EAAaC,GAAkBF,oBAAS,IACxCG,EAAiBC,GAAsBJ,oBAAS,GAGjDK,EAAsBC,IACtBR,GAAc,EAChBI,GAAe,GAEfjc,EAAMsc,mBAAmBD,GAE3BP,EAAcD,EAAa,EAAE,EA4B/B,OACEjd,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKsgB,IAAKpb,GAAOyB,QAASya,IAAI,aAGlCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,QACEE,SAAUhB,EApCOK,IAC3BA,EAAMY,iBACFf,IACFJ,EAAc,GACdG,GAAe,GACjB,EA+BwDG,EAAmBtd,SAAA,CAEjEF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOkG,YAEnBpL,eAAA,MAAAE,SAAI,WACJF,eAAA,KAAAE,SAAG,+CACHF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLsZ,UAAU,KACVC,QAAQ,YACRC,MAAM,4CACNC,YAAY,wBACZhhB,MAAOmf,EAAa8B,cACpBC,QAAUlB,IAAUE,OApCDE,EAoCyB,qBApClCD,EAoC2BH,GAjCzCK,OAAOrgB,MAAMI,SACrBkgB,SAASH,EAAQE,OAAOE,WAAsB,UAAEvgB,QAEhD6G,SAASC,eAAesZ,GAAaI,SANhBN,IAACC,EAASC,CAoCyC,EAC5De,SAAWnB,GAAUrc,EAAMyd,yBAAyBpB,GACpDqB,UAAQ,MAQZZ,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzBkd,GACCpd,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAACgf,IAAS,CACRC,QA7EJ,2CA8EIL,SA3DSM,IAEzB3B,IADE2B,EAIJ,MA2DYlf,eAAA,UACE+e,GAAG,eACH1e,KAAK,SACL8d,QAASX,EACT2B,SAAU/B,GAAgBA,IAAgBE,EAAiBpd,SAC5D,2BAQF,E,OC4BAkf,OAlIOhe,IACpB,MAAM8e,EAA0BA,CAACtC,EAASC,EAAasC,KAE7B,IAApBvC,EAAQwC,QAE0B,IAAhCxC,EAAQE,OAAOrgB,MAAMI,QACnBsiB,EAAYtiB,OAAS,GACvByG,SAASC,eAAe4b,GAAalC,QAKvCL,EAAQE,OAAOrgB,MAAMI,SACrBkgB,SAASH,EAAQE,OAAOE,WAAsB,UAAEvgB,QAEhD6G,SAASC,eAAesZ,GAAaI,OAEzC,EAEF,OACEje,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKsgB,IAAKpb,GAAOyB,QAASya,IAAI,aAGlCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,QAAME,SAAWX,GAAUrc,EAAMme,sBAAsB9B,GAAOvd,SAAA,CAC5DF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,UAAQK,KAAK,SAAS8d,QAASA,IAAM/c,EAAMoe,oBAAoBtf,SAC7DF,eAAA,OAAKsgB,IAAKpb,GAAOmG,cAGrBrL,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOoG,YAEnBtL,eAAA,MAAAE,SAAI,qBACJF,eAAA,KAAAE,SAAG,gEACHF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,WACH/Z,KAAK,iBACL7E,UAAU,aACVoe,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EAAwBzC,EAAO,WAAY,IAE7CmB,SAAWnB,GAAUrc,EAAMie,sBAAsB5B,GACjDqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,WACH/Z,KAAK,iBACL7E,UAAU,aACVoe,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EAAwBzC,EAAO,aAAc,YAE/CmB,SAAWnB,GAAUrc,EAAMie,sBAAsB5B,GACjDqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,aACH/Z,KAAK,mBACL7E,UAAU,aACVoe,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EAAwBzC,EAAO,YAAa,YAE9CmB,SAAWnB,GAAUrc,EAAMie,sBAAsB5B,GACjDqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,YACH/Z,KAAK,kBACL7E,UAAU,aACVoe,QAAQ,WACRC,MAAM,cACNF,UAAU,IACVK,QAAUlB,GACRyC,EACEzC,EACA,iBACA,cAGJmB,SAAWnB,GAAUrc,EAAMie,sBAAsB5B,GACjDqB,UAAQ,WAKhB9e,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQ+e,GAAG,iBAAiB1e,KAAK,SAAQH,SAAC,aAI5CF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,UAAQK,KAAK,SAAS8d,QAASA,IAAM/c,EAAMqe,kBAAkBvf,SAAC,6BAQ/D,ECiTAQ,qBAhCUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,WAIOqvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC8F,iBAAmBpG,IACjBK,EAASG,GAA+BR,GAAS,EAEnDqG,aAAerG,IACbK,EAASG,GAAyBR,GAAS,EAE7CO,QAAUP,IACRK,EAASG,GAAoBR,GAAS,EAExCS,QAAUT,IACRK,EAASG,GAAoBR,GAAS,EAExCU,kBAAoBV,IAClBK,EAASM,GAAwCX,GAAS,KAKjDpvB,EAjaAU,IACb,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACN/T,aAAc,CAAE8B,cAAe,IAC/B+X,qBAAsB,CACpBC,eAAgB,GAChBC,eAAgB,GAChBC,iBAAkB,GAClBC,gBAAiB,IAEnB/F,cAAe,GACfC,UAAW,QAGb,IAAI,OACFjwB,EAAM,aACNouB,EAAY,cACZE,EAAa,iBACb8G,EAAgB,aAChBC,EAAY,QACZ9F,EAAO,QACPE,EAAO,kBACPC,GACEpvB,EAEJI,qBAAU,KACRwvB,GAAwB,IAG1B,MAAMA,EAAyBA,KAC7B,GAAI1C,GAAS4C,UAAUC,cAAe,CAClB7C,GAAS4C,YAExBE,WACAC,MAAMC,IAGLZ,GAAUa,IAAS,IAAWA,EAAWT,cAAeQ,KAAS,IAElEE,OAAM,QAGX,GAiCIhS,EAAoBA,KACxB,IAAImR,EAAOhwB,EAAMgwB,KACjBD,GAAUa,IAAS,IAAWA,EAAWZ,KAAMA,EAAO,KAAK,EAIvD9R,EAA4BpB,IAChC,IAAIhgB,EAAQggB,EAAMK,OAAOrgB,MAGrB,iBAAiB85B,KAAK95B,IAAoB,KAAVA,EAClCizB,GAAUa,IAAS,IACdA,EACH3U,aAAc,IAAK2U,EAAU3U,aAAc8B,cAAejhB,OAG5DyB,MAAM,qCACR,EASIs4B,EAAa/F,UACjB,IAAIG,EAAO,CAAElT,cAAeA,GAE5B,IACE,MAAMQ,QAAiBwS,KAAMqC,KAAK1R,GAAOuP,GAIzC,OADAtwB,QAAQC,IAAI2d,GACY,MAApBA,EAAS2S,OACkB,MAAzB3S,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG1B,CACLrvB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAI5B,CACLrvB,OAAQ,EACRutB,KAAM,CAAE8B,QAAS,2BAGvB,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,EAAMia,UACX,CACL7a,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GAGItW,EAAqB+T,UACzBhU,EAAMY,iBACN,IAAIzB,EAAe,IAAKjc,EAAMic,cAE9B,GAAIA,EAAa8B,cAEf,GAAI6T,OAAOC,UAAUC,OAAQ,CAE3BvD,IACA,IAAI2D,QAAyB2E,EAAW5a,EAAa8B,eACjDmU,EAAiBxuB,QAEnB+qB,IApD0BxS,KAChCsZ,EAAiBtZ,EAAa8B,cAAc,EAoDtCmZ,CAAyBjb,GA/EX0a,MACpB,IAAI3G,EAAOhwB,EAAMgwB,KACjBD,GAAUa,IAAS,IAAWA,EAAWZ,KAAMA,EAAO,KAAK,EA8ErD2G,KAGAlI,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,0CAEV,EAGImgB,EAAyB5B,IAC7B,IAAI,KAAEzY,EAAI,MAAEvH,GAAUggB,EAAMK,OAE5B,OAAQ9Y,GACN,IAAK,iBACH0rB,GAAUa,IAAS,IACdA,EACHkF,qBAAsB,IACjBlF,EAAUkF,qBACbC,eAAgBj5B,OAGpB,MACF,IAAK,iBACHizB,GAAUa,IAAS,IACdA,EACHkF,qBAAsB,IACjBlF,EAAUkF,qBACbE,eAAgBl5B,OAGpB,MACF,IAAK,mBACHizB,GAAUa,IAAS,IACdA,EACHkF,qBAAsB,IACjBlF,EAAUkF,qBACbG,iBAAkBn5B,OAGtB,MACF,IAAK,kBACHizB,GAAUa,IAAS,IACdA,EACHkF,qBAAsB,IACjBlF,EAAUkF,qBACbI,gBAAiBp5B,OAMzB,EA0EI8hB,EAAwBkS,UAC5BnwB,QAAQC,IAAIkc,GACZA,EAAMY,iBACN,IAAIoY,EAAuB,IAAK91B,EAAM81B,sBAClC7Z,EAAe,IAAKjc,EAAMic,cAC1BkU,EAAgBnwB,EAAMmwB,cACxBC,EAAYpwB,EAAMowB,UAEpB,GA/E2BiH,KAC3B,IAAIC,GAAQ,EAKZ,OAHAt6B,OAAOu6B,OAAOF,GAAYG,SAASp2B,IACzB,KAARA,IAAek2B,GAAQ,EAAM,IAExBA,CAAK,EAyERF,CAAoBtB,GAAuB,CAC7C,IAAI2B,EAAY,GAAG3B,EAAqBC,iBAAiBD,EAAqBE,iBAAiBF,EAAqBG,mBAAmBH,EAAqBI,kBAI5J,GAFAuB,EAAYra,SAASqa,GAEjBA,EAAW,CACblJ,IACA,IAAI0C,EAAO,CACTlT,cAAe9B,EAAa8B,cAC5B2Z,IAAKD,EACLtH,cAAeA,EACfC,UAAWA,GAET8B,OAnFWpB,WACnB,IAAIG,EAAO0G,EAEX,IACE,MAAMpZ,QAAiBwS,KAAMqC,KAAKzR,GAAOsP,GAGzC,OAAwB,MAApB1S,EAAS2S,OAEkB,MAAzB3S,EAAS0S,KAAKC,OAET,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAGO,MAAzB1S,EAAS0S,KAAKC,OAEhB,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAGO,MAAzB1S,EAAS0S,KAAKC,OAEhB,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAKpB,CACLvtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAMtB,CACLvtB,OAAQ,EACRutB,KAAM,CAAE8B,QAAS,2BAGvB,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,EAAMia,UACX,CACL7a,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GAwBiCwE,CAAa5G,GAE1C,GAAgC,IAA5BiB,EAAiBxuB,OAAc,CACjC+qB,IAEA,IAAIqJ,EAAe,CACjBnH,MAAOuB,EAAiBjB,KAAKmB,QAAQzB,MACrCuC,UAAWhB,EAAiBjB,KAAKmB,QAAQ2F,YAEvCx3B,EAAO2xB,EAAiBjB,KAAKmB,QAAQ4F,UAGzCxC,EAAasC,GAGbpI,EAAQnvB,GACRqvB,GAAQ,GAERC,EAAkB,CAChBwC,cACEH,EAAiBjB,KAAKmB,QAAQ4F,UAAU1F,iBAC1CC,aAAc,CACZlR,SAAU6Q,EAAiBjB,KAAKmB,QAAQ4F,UAAU3W,SAClDC,MAAO4Q,EAAiBjB,KAAKmB,QAAQ4F,UAAU1W,OAEjDkR,cAAeN,EAAiBjB,KAAKmB,QAAQ4F,UAAUjY,QACvD0S,aAAc,CACZxC,SAAUiC,EAAiBjB,KAAKmB,QAAQ4F,UAAU/H,SAClDwB,MAAOS,EAAiBjB,KAAKmB,QAAQ4F,UAAUvG,SAInDhxB,EAAMC,QAAQkyB,KAAK,kBACrB,MAAO,GAAgC,IAA5BV,EAAiBxuB,OAAc,CACxC+qB,IAEA,IAAIqJ,EAAe,CACjBnH,MAAOuB,EAAiBjB,KAAKmB,QAAQzB,MACrCuC,UAAWhB,EAAiBjB,KAAKmB,QAAQ2F,YAI3CvC,EAAasC,GAEbr3B,EAAMC,QAAQkyB,KAAK,UACrB,MACEnE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,QAEhC,CACF,MACEx0B,MAAM,mCACR,EAGIugB,EAAkBgS,UACtB,IAAI7U,EAAe,IAAKjc,EAAMic,cAE9B,GAAIA,EAAa8B,cAEf,GAAI6T,OAAOC,UAAUC,OAAQ,CAE3BvD,IACA,IAAI2D,QAAyB2E,EAAW5a,EAAa8B,eACjDmU,EAAiBxuB,OAEnB+qB,KAGAA,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,0CAEV,EAGF,OACEgf,gBAACje,WAAQ,CAAAC,SAAA,CA7UQ+zB,MACjB,IAAI,KAAEtD,EAAI,aAAE/T,GAAiBjc,EAC7B,OAAQgwB,GACN,KAAK,EACH,OACE3wB,eAAC2c,GAAY,CACXC,aAAcA,EACdiC,yBAA0BA,EAC1BnB,mBAAoBA,IAG1B,KAAK,EACH,OACE1d,eAACof,GAAY,CACXI,kBAAmBA,EACnBH,sBAAuBA,EACvBE,sBAAuBA,EACvBE,gBAAiBA,IAGvB,QACE,OAAO,KACX,EAwTGwU,GACAnzB,GAAUd,eAACD,KAAW,MACd,IC1YA8iC,OAJWA,IACjB7iC,eAAC+6B,GAAQ,I,qBC2LH+H,OA1LSvG,IAAyB,IAADwG,EAAA,IAAvB,eAAE5hC,GAAgBo7B,EACzC,MAAMzD,EAAWkK,wBAEjB,OACEhjC,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAACijC,IAAO,CAAC7G,GAAG,kBAAiBl8B,SAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO4E,gBAAiBsX,IAAI,SAI1CphB,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CACNC,gBAAgB,UAChB/iC,UAAU,YACVgjC,OAAK,EACL/G,GAAG,kBAAiBl8B,SAEpBF,eAAA,QAAAE,SAAM,aAGuC,KAAlC,OAAdiB,QAAc,IAAdA,GAAgC,QAAlB4hC,EAAd5hC,EAAgB6xB,cAAc,UAAE,IAAA+P,OAAlB,EAAdA,EAAkC5hB,YACjCjD,gBAAA,MAAI/d,UAAU,WAAUD,SAAA,CACtBF,eAAA,KACEG,UAAW,8BACa,SAAtB24B,EAAStF,UACa,SAAtBsF,EAAStF,UACa,UAAtBsF,EAAStF,UACa,SAAtBsF,EAAStF,UACa,kBAAtBsF,EAAStF,UACa,eAAtBsF,EAAStF,UACa,aAAtBsF,EAAStF,SACL,UACA,IAENuI,KAAK,qBACL73B,KAAK,SACL6a,GAAG,mBACH,gBAAc,OACd,gBAAc,QAAO7e,SAErBF,eAAA,QAAAE,SAAM,eAERge,gBAAA,OACE/d,UAAU,gBACV,kBAAgB,mBAAkBD,SAAA,CAElCF,eAACijC,IAAO,CACNC,gBAAgB,mBAChB/iC,UAAU,mCACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,QAAAE,SAAM,UAERF,eAACijC,IAAO,CACNC,gBAAgB,mBAChB/iC,UAAU,mCACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,QAAAE,SAAM,UAERF,eAACijC,IAAO,CACNC,gBAAgB,mBAChB/iC,UAAU,mCACVi8B,GAAI,CACF5I,SAAU,QACV7yB,MAAO,CAAEyiC,IAAK,SACdljC,SAEFF,eAAA,QAAAE,SAAM,YAERF,eAACijC,IAAO,CACNC,gBAAgB,mBAChB/iC,UAAU,mCACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,QAAAE,SAAM,kBAERF,eAACijC,IAAO,CACNC,gBAAgB,mBAChB/iC,UAAU,mCACVi8B,GAAI,CACF5I,SAAU,gBACV7yB,MAAO,CAAEyiC,IAAK,iBACdljC,SAEFF,eAAA,QAAAE,SAAM,mBAERF,eAACijC,IAAO,CACNC,gBAAgB,mBAChB/iC,UAAU,mCACVi8B,GAAI,CACF5I,SAAU,WACV7yB,MAAO,CAAEyiC,IAAK,YACdljC,SAEFF,eAAA,QAAAE,SAAM,aAERF,eAACijC,IAAO,CACNC,gBAAgB,mBAChB/iC,UAAU,mCACVi8B,GAAI,CACF5I,SAAU,aACV7yB,MAAO,CAAEyiC,IAAK,cACdljC,SAEFF,eAAA,QAAAE,SAAM,gBAERF,eAACijC,IAAO,CACNC,gBAAgB,mBAChB/iC,UAAU,mCACVi8B,GAAI,CACF5I,SAAU,uBACV7yB,MAAO,CAAEyiC,IAAK,wBACdljC,SAEFF,eAAA,QAAAE,SAAM,yBAMdF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CACNC,gBAAgB,UAChB/iC,UAAU,YACVi8B,GAAG,UAASl8B,SAEZF,eAAA,QAAAE,SAAM,eAGsC,IAAhC,OAAdiB,QAAc,IAAdA,OAAc,EAAdA,EAAgB6xB,cAAc,GAAG7R,YACa,IAAhC,OAAdhgB,QAAc,IAAdA,OAAc,EAAdA,EAAgB6xB,cAAc,GAAG7R,YACa,IAAhC,OAAdhgB,QAAc,IAAdA,OAAc,EAAdA,EAAgB6xB,cAAc,GAAG7R,aACjCnhB,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CACNC,gBAAgB,UAChB/iC,UAAU,YACVi8B,GAAG,iBAAgBl8B,SAEnBF,eAAA,QAAAE,SAAM,wBAKdF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CACNC,gBAAgB,UAChB/iC,UAAU,YACVi8B,GAAG,kBAAiBl8B,SAEpBF,eAAA,QAAAE,SAAM,kBAGVF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CACNC,gBAAgB,UAChB/iC,UAAU,YACVi8B,GAAI,CACF5I,SAAU,SACV7yB,MAAO,CAAEyiC,IAAK,oBACdljC,SAEFF,eAAA,QAAAE,SAAM,uBAMf,E,qCCoDQmjC,OA1OmBjiC,IAChC,IAAI,eACFD,EAAc,QACduf,EAAO,QACPkB,EAAO,QACPE,EAAO,QACP+O,EAAO,iBACPyS,EAAgB,SAChBtiC,GACEI,EAiBJ,OAfAI,qBAAU,KACR,MAAM+hC,EAAuB9lB,IACvBA,EAAMK,SAAWL,EAAM+lB,eACzBF,GACF,EAGIG,EAAen/B,SAASC,eAAe,8BAG7C,OAFAk/B,EAAaC,iBAAiB,QAASH,GAEhC,KACLE,EAAaE,oBAAoB,QAASJ,EAAoB,CAC/D,GACA,CAACD,IAGFtjC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UAAU,iCACV4e,GAAG,6BACH6kB,SAAS,KACT,kBAAgB,mCAChB,cAAY,OAAM1jC,SAElBF,eAAA,OAAKG,UAAU,8CAA6CD,SAC1Dge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MACEG,UAAU,cACV4e,GAAG,4CAA2C7e,SAC/C,wBAGDF,eAAA,UACEK,KAAK,SACLF,UAAU,YACV,kBAAgB,QAChB,aAAW,QACXge,QAASA,IAAMmlB,SAGnBtjC,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,WAAS/d,UAAU,gBAAeD,SAAA,CAChCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACtC1C,aAAQkjB,GA4BN,KA3BAA,EAAQ5C,OAAOjgB,OACb6iB,EAAQ5C,OAAOwD,KAAI,CAACve,EAAS07B,IAEzBvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAI,UAAUhc,EAAQoe,YACtBnc,KAAK,SACLvH,MAAOsF,EAAQoe,UACfvC,SAAWnB,GACTrc,EAAMyiC,mBAAmBpmB,GAE3B8D,QACExe,EAAQoe,YACRhgB,EAAeggB,YAGnBnhB,eAAA,SAAOwhB,QAAS,UAAUze,EAAQoe,YAAYjhB,SAC3C6C,EAAQ+a,WAjBN2gB,KAsBX,UAIRjhC,aAAQokB,GA+BN,KA9BFA,EAAQA,QAAQ/jB,OACdqgB,gBAAA,WAAS/d,UAAU,gBAAeD,SAAA,CAChCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9BF,eAAA,OAAKG,UAAU,2BAA0BD,SACtC0hB,EAAQA,QAAQN,KAAI,CAACve,EAAS07B,IAE3BvgB,gBAAA,OAAiB/d,UAAU,uBAAsBD,SAAA,CAC/CF,eAAA,SACEK,KAAK,QACL0e,GAAI,SAAShc,EAAQif,WACrBhd,KAAK,QACLvH,MAAOsF,EAAQif,SACfpD,SAAWnB,GACTrc,EAAM0iC,kBAAkBrmB,GAE1B8D,QACExe,EAAQif,WAAa7gB,EAAe6gB,WAGxChiB,eAAA,SAAOwhB,QAAS,SAASze,EAAQif,WAAW9hB,SACzC6C,EAAQkf,UAdHwc,UAqBhB,KAGJjhC,aAAQskB,GA+BN,KA9BFA,EAAQI,OAAOrkB,OACbqgB,gBAAA,WAAS/d,UAAU,gBAAeD,SAAA,CAChCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,4BAE9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACvC4hB,EAAQI,OAAOZ,KAAI,CAACve,EAAS07B,IAE1BvgB,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,QACL0e,GAAI,UAAUhc,EAAQof,YACtBnd,KAAK,SACLvH,MAAOsF,EAAQof,UACfZ,QACEpgB,EAAeghB,YAAcpf,EAAQof,UAEvCvD,SAAWnB,GACTrc,EAAM2iC,mBAAmBtmB,KAG7Bzd,eAAA,SAAOwhB,QAAS,UAAUze,EAAQof,YAAYjiB,SAC3C6C,EAAQmf,WAdHuc,UAqBhB,KAGJjhC,aAAQqzB,GAqDN,KApDFA,EAAQuB,MAAMv0B,OACZqgB,gBAAA,WAAS/d,UAAU,gBAAeD,SAAA,CAChCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACA,GAAxBc,EAASgjC,YAAmB,eAAiB,OAGlDhkC,eAAA,OAAKG,UAAU,2BAA0BD,SACtC2wB,EAAQuB,MAAM9Q,KAAI,CAACve,EAAS07B,IACI,GAAxBz9B,EAASgjC,YACd9lB,gBAAA,OAAiB/d,UAAU,uBAAsBD,SAAA,CAC/CF,eAAA,SACEK,KAAK,QACL0e,GAAI,SAAShc,EAAQ6tB,WACrB5rB,KAAK,QACLvH,MAAOsF,EAAQ6tB,SACfhS,SAAWnB,GACTrc,EAAM6iC,kBAAkBxmB,GAE1B8D,QACExe,EAAQ6tB,WAAazvB,EAAeyvB,WAGxC5wB,eAAA,SAAOwhB,QAAS,SAASze,EAAQ6tB,WAAW1wB,SACzC6C,EAAQqvB,UAdHqM,GAkBVvgB,gBAAA,OAEE/d,UAAU,uBACVqE,MAAO,CAAEC,QAAS,QAASvE,SAAA,CAE3BF,eAAA,SACEK,KAAK,QACL0e,GAAI,SAAShc,EAAQ6tB,WACrB5rB,KAAK,QACLvH,MAAOsF,EAAQ6tB,SACfrP,QACExe,EAAQ6tB,WAAazvB,EAAeyvB,SAEtCzR,UAAQ,IAEVnf,eAAA,SAAOwhB,QAAS,SAASze,EAAQ6tB,WAAW1wB,SACzC6C,EAAQqvB,UAfNqM,UAsBb,KAENz+B,eAAA,WAASG,UAAU,gBAAeD,SAChCF,eAAA,OAAKG,UAAU,gCASrBH,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQK,KAAK,SAAS8d,QAAS/c,EAAM8iC,mBAAmBhkC,SAAC,uBAQ1D,ECyUAQ,oBAAQ,MAlBKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCC,QAAUP,IACRK,EAASG,GAAoBR,GAAS,EAExCU,kBAAoBV,IAClBK,EAASM,GAAwCX,GAAS,KAMjDpvB,EA3hBKU,IAClB,IAAI,eACFD,EAAc,SACdH,EAAQ,QACRqvB,EAAO,kBACPG,EAAiB,aACjBtB,EAAY,cACZE,GACEhuB,GACA,cAAE4xB,EAAa,aAAEE,EAAY,cAAEC,EAAa,aAAEC,GAChDjyB,EAEF,MAAME,EAAUm1B,wBAOT71B,EAAO+vB,GAAYvT,mBAAS,CACjCsD,YAAa,CAAC,EACdtf,eAAgB,CACdggB,UAAW,GACXa,SAAU,GACVG,UAAW,GACXyO,SAAU,IAEZlQ,QAAS,CAAC,EACVkB,QAAS,CAAC,EACVE,QAAS,CAAC,EACV+O,QAAS,CAAC,EACVsT,WAAW,EACXC,WAAW,EACXC,WAAW,IAGb7iC,qBAAU,KACR8iC,GAAa,GACZ,IAEH9iC,qBAAU,KACHhE,aAAQmD,EAAM+f,UAAa/f,EAAMwjC,YACpCI,IACA7T,GAAUa,IAAS,IAAWA,EAAW4S,WAAW,MACtD,GACC,CAACxjC,EAAM+f,UAEVlf,qBAAU,KACHhE,aAAQmD,EAAMihB,UAAajhB,EAAM0jC,YACpCnG,IACAxN,GAAUa,IAAS,IAAWA,EAAW8S,WAAW,MACtD,GACC,CAAC1jC,EAAMihB,UAEVpgB,qBAAU,KACHhE,aAAQmD,EAAMmhB,UAAanhB,EAAMyjC,YACpCI,IACA9T,GAAUa,IAAS,IAAWA,EAAW6S,WAAW,MACtD,GACC,CAACzjC,EAAMmhB,UAEV,MA+CM2iB,EAAiBhT,UAErB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI/O,IAEjC,OAA6B,MAAzB1D,EAAS0S,KAAKC,OAET,CAAExtB,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS7T,EAAS0S,KAAKA,OAG5C,CAAEvtB,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS,CAAC,GAE1C,CAAE,MAAO9tB,GAGP,OAFAmqB,IACA9tB,QAAQC,IAAI0D,GACL,CAAEZ,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS,CAAC,GACxC,GAGIuR,EAAcA,KAClB5T,GAAUa,IAAS,IAAWA,EAAW9Q,YAAazf,KAAY,EAG9D0jC,EAAwB3R,IACxBA,EAAQE,iBAAiBp1B,OAC3B6yB,GAAUa,IAAS,IACdA,EACHpwB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAW4R,EAAQE,iBAAiB,GAAG9R,UACvCgB,UAAW4Q,EAAQrS,QAAQ,GAAGyB,UAC9BH,SAAU+Q,EAAQ/Q,SAClB4O,SAAUmC,EAAQnC,cAItBF,GAAUa,IAAS,IACdA,EACHpwB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAW,GACXgB,UAAW,GACXH,SAAU,GACV4O,SAAU,OAGhB,EAGIK,EAAaQ,UACjBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAIlP,IAEjC,GAA6B,MAAzBvD,EAAS0S,KAAKC,OAEhB,OADAzC,IACO,CAAE/qB,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS7T,EAAS0S,KAAKA,MAEvD,CAAE,MAAO3sB,GAGP,OADA3D,QAAQC,IAAI0D,GACL,CAAEZ,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS,CAAC,GACxC,GAGIwR,EAAaA,KACjB,IAAI7jB,EAAU,IAAK/f,EAAM+f,SACrBvf,EAAiB,IAAKR,EAAMQ,gBAC5BygB,EAAU,CAAC,EAEVpkB,aAAQkjB,KACXkB,EAAUlB,EAAQ5C,OAAOiU,MAAMhvB,GACtBA,EAAQoe,YAAcpD,SAAS5c,EAAeggB,cAIpD3jB,aAAQokB,KACX8O,GAAUa,IAAS,IAAWA,EAAW3P,QAASA,MAClDsc,IACF,EAGIA,EAAaA,KACjB,IAAItc,EAAU,IAAKjhB,EAAMihB,SACrBzgB,EAAiB,IAAKR,EAAMQ,gBAC5B2gB,EAAU,CAAC,EAEVtkB,aAAQokB,KACXE,EAAUF,EAAQA,QAAQmQ,MAAMhvB,GACvBA,EAAQif,WAAajE,SAAS5c,EAAe6gB,aAInDxkB,aAAQskB,KACX4O,GAAUa,IAAS,IAAWA,EAAWzP,QAASA,MAClD0iB,IACF,EAGIA,EAAaA,KACjB,IAAI1iB,EAAU,IAAKnhB,EAAMmhB,SACrB3gB,EAAiB,IAAKR,EAAMQ,gBAC5B0vB,EAAU,CAAC,EAEVrzB,aAAQskB,KACX+O,EAAU/O,EAAQI,OAAO6P,MAAMhvB,GACtBA,EAAQof,YAAcpE,SAAS5c,EAAeghB,cAIpD3kB,aAAQqzB,IACXH,GAAUa,IAAS,IAAWA,EAAWV,QAASA,KACpD,EAyNF,OACE3S,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC5BF,eAAA,KAAGG,UAAU,iBAAgBD,SAIrB1C,aAAQ41B,GAEN,QADA,WAAaA,EAAahB,QAGlClU,gBAAA,UAAQC,QAASA,IArYGsT,WAM5B,IAAIoB,QAAyB4R,IAC7B,GAAgC,IAA5B5R,EAAiBxuB,OAAc,CAEjCmsB,EAAkB,CAChBwC,cAAeH,EAAiBjB,KAAKmB,QAAQE,iBAC7CC,aAAc,CACZlR,SAAU6Q,EAAiBjB,KAAKmB,QAAQ/Q,SACxCC,MAAO4Q,EAAiBjB,KAAKmB,QAAQ9Q,OAEvCkR,cAAeN,EAAiBjB,KAAKmB,QAAQrS,QAC7C0S,aAAc,CACZxC,SAAUiC,EAAiBjB,KAAKmB,QAAQnC,SACxCwB,MAAOS,EAAiBjB,KAAKmB,QAAQX,SAIzCsS,EAAqB7R,EAAiBjB,KAAKmB,SAE3C,IAAI4R,QAA2B1T,IAE/B,GAAkC,IAA9B0T,EAAmBtgC,OAAc,CACnCqsB,GAAUa,IAAS,IACdA,EACH7Q,QAASikB,EAAmB/S,KAAKmB,YAGnCwR,IAEA,IAAIK,EAAU,CACZC,UAAU,EACVC,UAAU,GAEU,IAAIC,KAAUrI,MAClCp4B,SAASC,eAAe,8BACxBqgC,GAEcjI,MAClB,CACF,GAyV+BqI,GAA8B9kC,SAAA,CAAC,qBAEpDF,eAAA,OAAKsgB,IAAKpb,GAAOyC,UAAWyZ,IAAI,eAmDxCphB,eAACqjC,GAAwB,CACvBliC,eAAgBR,EAAMQ,eACtBuf,QAAS/f,EAAM+f,QACfkB,QAASjhB,EAAMihB,QACfE,QAASnhB,EAAMmhB,QACf+O,QAASlwB,EAAMkwB,QACfgT,mBA9RsBpmB,IAC1B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAClB4C,EAAU,IAAK/f,EAAM+f,SACrBkB,EAAU,CAAC,EAEfA,EAAUlB,EAAQ5C,OAAOiU,MAAMhvB,GACtBA,EAAQoe,YAAcpD,SAAStgB,KAGnCD,aAAQokB,IACX8O,GAAUa,IAAS,IACdA,EACH3P,QAASA,EACTE,QAAS,CAAC,EACV+O,QAAS,CAAC,EACV1vB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAWpD,SAAStgB,GACpBukB,SAAU,GACVG,UAAW,GACXyO,SAAU,OAGhB,EAwQIkT,kBArQqBrmB,IACzB,IAAI,MAAEhgB,GAAUggB,EAAMK,OAClB8D,EAAU,IAAKjhB,EAAMihB,SACrBE,EAAU,CAAC,EAEfA,EAAUF,EAAQA,QAAQmQ,MAAMhvB,GACvBA,EAAQif,WAAajE,SAAStgB,KAGlCD,aAAQskB,IACX4O,GAAUa,IAAS,IACdA,EACHzP,QAASA,EACT+O,QAAS,CAAC,EACV1vB,eAAgB,IACXowB,EAAUpwB,eACb6gB,SAAUjE,SAAStgB,GACnB0kB,UAAW,GACXyO,SAAU,OAGhB,EAiPImT,mBA9OsBtmB,IAC1B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAClBgE,EAAU,IAAKnhB,EAAMmhB,SACrB+O,EAAU,CAAC,EAMf,GAJAA,EAAU/O,EAAQI,OAAO6P,MAAMhvB,GACtBA,EAAQof,YAAcpE,SAAStgB,MAGnCD,aAAQqzB,GACX,GAAIA,EAAQuB,MAAMv0B,OAAQ,CACxB,MAAMonC,EAAgBpU,EAAQuB,MAAML,MAAMhvB,GAAYA,EAAQmiC,cACxD5S,EAAU2S,EAAgBlnB,SAASknB,EAAcrU,UAAY7S,SAAS8S,EAAQuB,MAAM,GAAGxB,UAE7FF,GAAUa,IAAS,IACdA,EACHV,QAASA,EACT1vB,eAAgB,IACXowB,EAAUpwB,eACbghB,UAAWpE,SAAStgB,GACpBmzB,SAAU0B,MAGhB,MAKE5B,GAAUa,IAAS,IACdA,EACHV,QAASA,EACT1vB,eAAgB,IACXowB,EAAUpwB,eACbghB,UAAWpE,SAAStgB,GACpBmzB,SAAU,OAIlB,EAyMIqT,kBAtMqBxmB,IACzB,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACHpwB,eAAgB,IACXowB,EAAUpwB,eACbyvB,SAAU7S,SAAStgB,OAEpB,EA8LCymC,mBAvJqBzS,UACF9wB,EAAM8f,YAA7B,IACItf,EAAiB,IAAKR,EAAMQ,gBAEhC,GAAIoxB,OAAOC,UAAUC,OACnB,GAf8BtxB,KAChC,IAAI82B,GAAQ,EAMZ,OAJAt6B,OAAOu6B,OAAO/2B,GAAgBg3B,SAASp2B,IAC7B,KAARA,IAAek2B,GAAQ,EAAM,IAGxBA,CAAK,EAQNkN,CAAyBhkC,GAAiB,CAC5C,IAAIywB,EAAO,CAETe,eAAgBxxB,EAAeggB,UAC/Ba,SAAU7gB,EAAe6gB,SACzBG,UAAWhhB,EAAeghB,UAC1ByO,SAAUzvB,EAAeyvB,UAG3B1B,IACA,IAAI2D,OAnDepB,WACvB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAKhQ,GAAQ6N,GAC1C,OAAwB,MAApB1S,EAAS2S,OACkB,MAAzB3S,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAIpB,CAAEvtB,OAAQ,EAAGutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG9C,CAAErvB,OAAQ,EAAGutB,KAAM,CAAE8B,QAAS,2BAEzC,CAAE,MAAOzuB,GACP,MAAO,CACLZ,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GA4BiCoR,CAAiBxT,GAEd,IAA5BiB,EAAiBxuB,QACnB+qB,IACAiB,EAAQwC,EAAiBjB,KAAKmB,SAE9BvC,EAAkB,CAChBwC,cAAeH,EAAiBjB,KAAKmB,QAAQE,iBAC7CC,aAAc,CACZlR,SAAU6Q,EAAiBjB,KAAKmB,QAAQ/Q,SACxCC,MAAO4Q,EAAiBjB,KAAKmB,QAAQ9Q,OAEvCkR,cAAeN,EAAiBjB,KAAKmB,QAAQrS,QAC7C0S,aAAc,CACZxC,SAAUiC,EAAiBjB,KAAKmB,QAAQnC,SACxCwB,MAAOS,EAAiBjB,KAAKmB,QAAQX,SAGP,oBAA9B/wB,EAAQy3B,SAAStF,UAEnBjB,OAAO8S,eAAiB,KAC1B9S,OAAOuG,SAASwM,UAGdjkC,EAAQkyB,KAAK,CACXC,SAAU,sBAKdpE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,gEAGRA,MAAM,wCACR,EAmGIokC,iBAhGmBA,KACvB5S,GAAUa,IAAS,IACdA,EACHpwB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAW,GACXgB,UAAW,GACXH,SAAU,GACV4O,SAAU,IAEZlQ,QAAS,CAAC,EACVoB,QAAS,CAAC,EACVF,QAAS,CAAC,EACViP,QAAS,CAAC,EACVsT,WAAW,EACXE,WAAW,EACXD,WAAW,KACV,EAgFCpjC,SAAUA,MAEH,I,4BC7hBR,MAAMukC,GAAmB,mBACnBC,GAAiB,iBACjBC,GAAoB,oBACpBC,GAAoB,oBACpBC,GAA8B,8BAC9BC,GAAc,cACdC,GAAiB,iBACjBC,GAA0B,0BAC1BC,GAAiB,iBACjBC,GAAuB,uBACvBC,GAA2B,2BAC3BC,GAAoB,oBACpBC,GAA6B,6BAC7BC,GAAuB,uBACvBC,GAAyB,yBCoFvB7R,OAnBC,CACd8R,eA7EsBxW,IACf,CAAEzvB,KAAM8uB,GAA8BW,YA6E7CyW,aA1EoBzW,IACb,CACLzvB,KAAM8uB,GACNW,YAwEF0W,gBApEuB1W,IAAO,CAC9BzvB,KAAM8uB,GACNW,YAmEA2W,gBAhEuB3W,IAAO,CAC9BzvB,KAAM8uB,GACNW,YA+DA4W,wBA5D+B5W,IAAO,CACtCzvB,KAAM8uB,GACNW,YA2DA6W,WAxDkB7W,IAAO,CACzBzvB,KAAM8uB,GACNW,YAuDA8W,aApDoB9W,IAAO,CAC3BzvB,KAAM8uB,GACNW,YAmDA+W,qBAhD4B/W,IAAO,CACnCzvB,KAAM8uB,GACNW,YA+CAgX,aA5CoBhX,IAAO,CAC3BzvB,KAAM8uB,GACNW,YA2CAiX,kBAxCyBjX,IAAO,CAChCzvB,KAAM8uB,GACNW,YAuCAkX,gBApCuBlX,IAAO,CAC9BzvB,KAAM8uB,GACNW,YAmCAmX,sBAhC6BnX,IAAO,CACpCzvB,KAAM8uB,GACNW,YA+BAoX,uBA5B8BpX,IAAO,CACrCzvB,KAAM8uB,GACNW,YA2BAqX,mBAxByBA,KAAA,CACzB9mC,KAAM8uB,KAwBNiY,oBArB2BtX,IAAO,CAClCzvB,KAAM8uB,GACNW,aC3EK,MAAMuX,GAAsB,sBACtBC,GAA8B,8BAC9BC,GAA6B,6BCkB3B,OAlBWzX,IACjB,CACLzvB,KAAM8uB,GACNW,YAeW,GAXiBA,IACvB,CACLzvB,KAAM8uB,GACNW,YAQW,GAJkB0X,KACxB,CAAEnnC,KAAM8uB,KCjBV,MAAMsY,GAA2B,2BAC3BC,GAAwB,wBCYtB,OAXgB5X,IACtB,CACLzvB,KAAM8uB,GACNW,YAQW,GAJa6X,KACnB,CAAEtnC,KAAM8uB,KCVV,MAAMyY,GAAkB,kBAClBC,GAA2B,2BAC3BC,GAAyB,yBACzBC,GAA6B,6BAC7BC,GAAoB,oBACpBC,GAA8B,8BAC9BC,GAAuB,uBCuBrB,OA3BKpY,IACX,CAAEzvB,KAAM8uB,GAA6BW,YA0B/B,GAvBgBA,IACtB,CAAEzvB,KAAM8uB,GAAsCW,YAsBxC,GAnBcA,IACpB,CAAEzvB,KAAM8uB,GAAoCW,YAkBtC,GAfiBA,IACvB,CAAEzvB,KAAM8uB,GAAwCW,YAc1C,GARkBA,IACxB,CAAEzvB,KAAM8uB,GAAyCW,YAO3C,GAJYqY,KAClB,CAAE9nC,KAAM8uB,KAGF,GAZWW,IACjB,CAAEzvB,KAAM8uB,GAA+BW,YCiUjCpvB,oBAAQ,MAbKyvB,IAAQ,CAClCJ,WAAYA,IAAMI,EAASG,MAC3BjB,gBAAiBA,IAAMc,EAASC,MAChC+W,mBAAoBA,IAAMhX,EAASiY,GAAoBjB,sBACvDjX,qBAAsBA,IACpBC,EAASM,MACX+W,yBAA0BA,IACxBrX,EAASkY,MACXV,oBAAqBA,IACnBxX,EAASmY,MACXH,mBAAoBA,IAAMhY,EAASoY,SAGtB7nC,EA9TMU,IACnB,MAAM,SACJJ,EAAQ,eACRG,EAAc,WACd4uB,EAAU,gBACVV,EAAe,qBACfa,EAAoB,mBACpBiX,EAAkB,yBAClBK,EAAwB,oBACxBG,EAAmB,mBACnBQ,GACE/mC,EAEEC,EAAUm1B,uBACVsC,EAAWkK,yBACVwF,EAAYC,GAAiBtrB,oBAAS,IACtCurB,EAAgBC,GAAqBxrB,oBAAS,IAC9CyrB,EAAoBC,GAAyB1rB,oBAAS,GAEvD2rB,EAAcC,iBAAO,OAEpBpoC,EAAO+vB,GAAYvT,mBAAS,CACjC6rB,kBAAmB,MAGf,aAAE5V,GAAiBjyB,EAEzBK,qBAAU,KACRynC,GAAsB,GACrB,IAEHznC,qBAAU,KACR,MAAM0nC,EAAsBzrB,IACtBqrB,EAAYlrB,UAAYkrB,EAAYlrB,QAAQurB,SAAS1rB,EAAMK,UAC7D6qB,GAAkB,GAClBE,GAAsB,GACxB,EAIF,OADAvkC,SAASo/B,iBAAiB,YAAawF,GAChC,KACL5kC,SAASq/B,oBAAoB,YAAauF,EAAmB,CAC9D,GACA,IAEH,MAeMD,EAAuBxX,UAC3B,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIvN,IACJ,MAAzBlF,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHyX,kBAAmB9pB,EAAS0S,KAAKA,QAGvC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAeF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CAChB,qBAAf,OAAR44B,QAAQ,IAARA,OAAQ,EAARA,EAAUtF,WACTtV,gBAAA,OAAK/d,UAAU,oBAAoBge,QAjBzBirB,KAClB/nC,EAAQkyB,KAAK,kBAAkB,EAgBiCrzB,SAAA,CACtDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAACqpC,KACC,CACAC,MAAM,EACNC,SAAS,MACTC,iBAAkB,CAChBC,oBAAqB,qBAI3BzpC,eAAA,OAAKG,UAAU,OAAMD,SAAC,oBAI1BF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1Cge,gBAAA,OAAK/d,UAAU,+BAA+BupC,IAAKZ,EAAY5oC,SAAA,CAU7DF,eAAA,UACEG,UAAU,uCACVE,KAAK,SACL8d,QAvCWwrB,KACzBd,GAAuBD,EAAmB,EAsCA1oC,SAE5BF,eAAA,OAAKG,UAAU,gBAAeD,SAE5BF,eAAA,OAAKsgB,IAAKpb,GAAO6C,aAAcqZ,IAAI,YAKtCwnB,GACC5oC,eAAA,OACEG,UAAW,+CACTyoC,EAAqB,OAAS,IAEhCc,IAAKZ,EAAY5oC,SAEjBge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,MAAAE,SAAI,mBAENF,eAAA,OAAKG,UAAU,yBAAwBD,SACpCS,EAAMqoC,kBAAkBnrC,OACvB8C,EAAMqoC,kBAAkB1nB,KAAI,CAACve,EAAS07B,IACpCvgB,gBAAA,OAAiB/d,UAAU,oBAAmBD,SAAA,CAC5Cge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,MAAAE,SAAK6C,EAAQ6mC,qBACb5pC,eAAA,QAAAE,SAAO6C,EAAQ8mC,UAEjB7pC,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,KAAAE,SAAI6C,EAAQ+mC,+BANNrL,KAWZvgB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OACEsgB,IAAKpb,GAAOwB,eACZ0a,IAAI,iBAENphB,eAAA,MAAAE,SAAI,oBACJF,eAAA,KAAAE,SAAG,8EAcrBF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,mCAAkCD,SAC/CF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,2BAA2BupC,IAAKZ,EAAY5oC,SAAA,CACzDge,gBAAA,UACE/d,UAAU,6CACVE,KAAK,SACL8d,QAxGK4rB,KACrBpB,GAAmBD,EAAe,EAuGMxoC,SAAA,CAExBF,eAAA,QAAMG,UAAU,gBAAeD,SAC7BF,eAAA,QAAMG,UAAU,sBAAqBD,SACjC1C,aAAQwD,GAURhB,eAAA,OAAKsgB,IAAKpb,GAAO+H,eAAgBmU,IAAI,iBATrCpgB,EAASgpC,MAAMnsC,OACbmC,eAAA,OAAKsgB,IAAKtf,EAASgpC,MAAO5oB,IAAI,SAE9BphB,eAAA,OACEsgB,IAAKpb,GAAO+H,eACZmU,IAAI,qBAQdlD,gBAAA,QAAM/d,UAAU,qBAAoBD,SAAA,CAClCF,eAAA,QAAMG,UAAU,eAAcD,UAC1B1C,aAAQwD,IAAaA,EAASgE,OAElChF,eAAA,QAAMG,UAAU,eAAcD,UAC1B1C,aAAQ41B,IAAiBA,EAAahB,cAI7CsW,GACC1oC,eAAA,OACEG,UAAW,uCACTuoC,EAAiB,OAAS,IAE5BgB,IAAKZ,EAAY5oC,SAEjBF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5B1C,aAAQwD,GAURhB,eAAA,OACEsgB,IAAKpb,GAAO+H,eACZmU,IAAI,iBAXNpgB,EAASgpC,MAAMnsC,OACbmC,eAAA,OAAKsgB,IAAKtf,EAASgpC,MAAO5oB,IAAI,SAE9BphB,eAAA,OACEsgB,IAAKpb,GAAO+H,eACZmU,IAAI,mBAUZlD,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA4B,OAAhBA,EAASgE,OAEjChF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAEN,aADAA,EAASw4B,eAKQ,IAA1Bx4B,EAASm4B,cACRn5B,eAAA,KAAGG,UAAU,iBAAgBD,SAC3BF,eAAA,OACEsgB,IAAKpb,GAAO8J,iBACZoS,IAAI,oBAKZphB,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAACiqC,GAAc,CACb9oC,eAAgBA,EAChBH,SAAUA,MAGdkd,gBAACie,IAAI,CACHC,GAAG,qBACHj8B,UAAU,eAAcD,SAAA,CAExBF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,YAC9BF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAEjClD,gBAACie,IAAI,CAACC,GAAG,UAAUj8B,UAAU,eAAcD,SAAA,CACzCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,cAC9BF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAEjClD,gBAACie,IAAI,CAACC,GAAG,SAASj8B,UAAU,eAAcD,SAAA,CACxCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,gBAC9BF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAEjCphB,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,KACE/d,UAAU,iBACVge,QA9OP+rB,KACvBna,IACAV,IACAa,IACAiX,IACAK,IACAG,IACAQ,IACA9mC,EAAQkyB,KAAK,IAAI,EAsOuCrzB,SAAA,CAE1BF,eAAA,OAAKsgB,IAAKpb,GAAOwH,SAAU0U,IAAI,WAAY,IAAI,yCAgBlE,I,sBChQA1gB,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAnDUU,IACvB,IAAI,eAAED,EAAc,SAAEH,EAAQ,QAAEK,GAAYD,EAC5C,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,2BAA0BD,SAevCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3Cge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAACmqC,GAAU,CACThpC,eAAgBA,EAChBH,SAAUA,MAGdhB,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAACoqC,GAAW,CACVppC,SAAUA,EACVK,QAASA,EACTF,eAAgBA,eAO5BnB,eAACqqC,KAAc,MACN,I,OCtDR,MAwBMC,GAAyBA,KACpC,IAAIC,EAA2BjmC,SAASkmC,cACtC,gCAEEC,EAAgCnmC,SAASkmC,cAC3C,sCAGFD,EAAyB/lC,MAAMlE,MAAQ,IACvCmqC,EAA8BjmC,MAAMkmC,WAAa,QAAQ,ECyR5CC,OApToBA,KACjC,MAAM7R,EAAWkK,wBACX4H,EAAyC,QAArB9R,EAAStF,UACd,QAArBsF,EAAStF,UACY,SAArBsF,EAAStF,UACY,QAArBsF,EAAStF,UACY,iBAArBsF,EAAStF,UACY,cAArBsF,EAAStF,UACY,YAArBsF,EAAStF,UACFqX,EAAUC,GAAe3tB,qBAASytB,GACzC,OACE5qC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACE+e,GAAG,8BACH5e,UAAU,8BAA6BD,SAEvCge,gBAAA,OACEa,GAAG,oCACH5e,UAAU,oCAAmCD,SAAA,CAE7CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OACEG,UAAU,gBACVge,QAASA,IAAMmsB,KAAyBpqC,SAExCF,eAACm8B,IAAI,CAACC,GAAG,kBAAiBl8B,SACxBF,eAAA,OAAKsgB,IAAKpb,GAAO2E,0BAKzB7J,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,kBAAiBl8B,SAC3Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,cAAcmgB,IAAKpb,GAAOyG,cACzC3L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOgH,gBAEdlM,eAAA,QAAMG,UAAU,cAAaD,SAAC,gBAIpCF,eAAA,MAAAE,SAKEF,eAAA,KACE+7B,KAAK,qBACL57B,UACEyqC,EAAoB,SAAW,GAChC1qC,SAEDge,gBAAA,OACE/d,UAAU,qBACVge,QAASA,IAAM2sB,GAAaC,IAAUA,IAAM7qC,SAAA,CAE5CF,eAAA,OACEG,UAAU,cACVmgB,IAAKpb,GAAO0G,kBAEd5L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOiH,oBAEd+R,gBAAA,QAAM/d,UAAU,cAAaD,SAAA,CAAC,YAASF,eAAA,OAAKwE,MAAO,CAACwmC,UAAWH,EAAW,kBAAoB,kBAAmBvqB,IAAKpb,GAAO+C,cAC5H4iC,GACC3sB,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SACEge,gBAAC+kB,IAAO,CACRC,gBAAgB,cACd9G,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAAA,CAEHF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,YAAa,WAIjDphB,eAAA,MAAAE,SACEge,gBAAC+kB,IAAO,CACRC,gBAAgB,cACd9G,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAAA,CAEJF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,YAAa,WAIhDphB,eAAA,MAAAE,SACEge,gBAAC+kB,IAAO,CACRC,gBAAgB,cACd9G,GAAI,CACF5I,SAAU,QACV7yB,MAAO,CAAEyiC,IAAK,SACdljC,SAAA,CAEJF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,YAAa,aAIhDphB,eAAA,MAAAE,SACEge,gBAAC+kB,IAAO,CACRC,gBAAgB,cACd9G,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAAA,CAEJF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,YAAa,YAIhDphB,eAAA,MAAAE,SACEge,gBAAC+kB,IAAO,CACRC,gBAAgB,cACd9G,GAAI,CACF5I,SAAU,gBACV7yB,MAAO,CAAEyiC,IAAK,iBACdljC,SAAA,CAEJF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,YAAa,oBAIhDphB,eAAA,MAAAE,SACEge,gBAAC+kB,IAAO,CACRC,gBAAgB,cACd9G,GAAI,CACF5I,SAAU,WACV7yB,MAAO,CAAEyiC,IAAK,YACdljC,SAAA,CAEJF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,YAAa,cAIhDphB,eAAA,MAAAE,SACEge,gBAAC+kB,IAAO,CACRC,gBAAgB,cACd9G,GAAI,CACF5I,SAAU,aACV7yB,MAAO,CAAEyiC,IAAK,cACdljC,SAAA,CAEJF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,YAAa,4BAU1DphB,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,UAASl8B,SACnBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,cAAcmgB,IAAKpb,GAAO2G,gBACzC7L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOkH,kBAEdpM,eAAA,QAAMG,UAAU,cAAaD,SAAC,kBAKpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,iBAAgBl8B,SAC1Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,uBAAuBmgB,IAAKpb,GAAO0G,kBAClD5L,eAAA,OACEG,UAAU,yBACVmgB,IAAKpb,GAAOiH,oBAEdnM,eAAA,QAAMG,UAAU,cAAaD,SAAC,yBAmBpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,kBAAiBl8B,SAC3Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OACEG,UAAU,cACVmgB,IAAKpb,GAAO8G,kBAEdhM,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOqH,oBAEdvM,eAAA,QAAMG,UAAU,cAAaD,SAAC,qBAIpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,SAAQl8B,SAClBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,cAAcmgB,IAAKpb,GAAO6G,eACzC/L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOoH,iBAEdtM,eAAA,QAAMG,UAAU,cAAaD,SAAC,iBAIpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,gBAAel8B,SACzBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OACEG,UAAU,cACVmgB,IAAKpb,GAAO+G,qBAEdjM,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOsH,uBAEdxM,eAAA,QAAMG,UAAU,cAAaD,SAAC,+BAO1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,YAAWl8B,SACrBF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,mBAIpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,kBAAiBl8B,SAC3BF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,yBAIpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,qBAAoBl8B,SAC9BF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,4BAIpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,QAAOl8B,SACjBF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,gBAIpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CAAC7G,GAAG,cAAal8B,SACvBF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,qBAIpCF,eAAA,MAAIme,QAASA,IAAMmsB,KAAyBpqC,SAC1CF,eAACijC,IAAO,CACN7G,GAAI,CACF5I,SACE,iFAEJ1V,OAAO,SAAQ5d,SAEfF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,sCASrC,E,OCyNAQ,oBAAQ,MAjBKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCC,QAAUP,IACRK,EAASG,GAAoBR,GAAS,EAExCU,kBAAoBV,IAClBK,EAASM,GAAwCX,GAAS,KAKjDpvB,EAjfgBU,IAC7B,IAAI,eACFD,EAAc,SACdH,EAAQ,QACRqvB,EAAO,kBACPG,EAAiB,aACjBtB,EAAY,cACZE,GACEhuB,GACA,cAAE4xB,EAAa,cAAEG,EAAa,aAAED,EAAY,aAAEE,GAChDjyB,EAEF,MAAOR,EAAO+vB,GAAYvT,mBAAS,CACjCsD,YAAa,CAAC,EACdtf,eAAgB,CACdggB,UAAW,GACXa,SAAU,GACVG,UAAW,GACXyO,SAAU,IAEZlQ,QAAS,CAAC,EACVkB,QAAS,CAAC,EACVE,QAAS,CAAC,EACV+O,QAAS,CAAC,EACVsT,WAAW,EACXC,WAAW,EACXC,WAAW,IAGb7iC,qBAAU,KACR8iC,GAAa,GACZ,IAEH9iC,qBAAU,KACHhE,aAAQmD,EAAM+f,UAAa/f,EAAMwjC,YACpCI,IACA7T,GAAUa,IAAS,IAAWA,EAAW4S,WAAW,MACtD,GACC,CAACxjC,EAAM+f,UAEVlf,qBAAU,KACHhE,aAAQmD,EAAMihB,UAAajhB,EAAM0jC,YACpCnG,IACAxN,GAAUa,IAAS,IAAWA,EAAW8S,WAAW,MACtD,GACC,CAAC1jC,EAAMihB,UAEVpgB,qBAAU,KACHhE,aAAQmD,EAAMmhB,UAAanhB,EAAMyjC,YACpCI,IACA9T,GAAUa,IAAS,IAAWA,EAAW6S,WAAW,MACtD,GACC,CAACzjC,EAAMmhB,UAEV,MAAMkjB,EAAwBvT,UAM5B,IAAIoB,QAAyB4R,IAC7B,GAAgC,IAA5B5R,EAAiBxuB,OAAc,CAEjCmsB,EAAkB,CAChBwC,cAAeH,EAAiBjB,KAAKmB,QAAQE,iBAC7CC,aAAc,CACZlR,SAAU6Q,EAAiBjB,KAAKmB,QAAQ/Q,SACxCC,MAAO4Q,EAAiBjB,KAAKmB,QAAQ9Q,OAEvCkR,cAAeN,EAAiBjB,KAAKmB,QAAQrS,QAC7C0S,aAAc,CACZxC,SAAUiC,EAAiBjB,KAAKmB,QAAQnC,SACxCwB,MAAOS,EAAiBjB,KAAKmB,QAAQX,SAIzCsS,EAAqB7R,EAAiBjB,KAAKmB,SAE3C,IAAI4R,QAA2B1T,IAE/B,GAAkC,IAA9B0T,EAAmBtgC,OAAc,CACnCqsB,GAAUa,IAAS,IACdA,EACH7Q,QAASikB,EAAmB/S,KAAKmB,YAEnCwR,IAEA,IAAIK,EAAU,CACZC,UAAU,EACVC,UAAU,GAEU,IAAIC,KAAUrI,MAClCp4B,SAASC,eAAe,8BACxBqgC,GAEcjI,MAClB,CACF,GAGI8H,EAAiBhT,UACrBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI/O,IAEjC,OAA6B,MAAzB1D,EAAS0S,KAAKC,QAChBzC,IACO,CAAE/qB,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS7T,EAAS0S,KAAKA,SAEnDxC,IACO,CAAE/qB,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS,CAAC,IAE1C,CAAE,MAAO9tB,GAGP,OAFAmqB,IACA9tB,QAAQC,IAAI0D,GACL,CAAEZ,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS,CAAC,GACxC,GAGIuR,EAAcA,KAClB5T,GAAUa,IAAS,IAAWA,EAAW9Q,YAAazf,KAAY,EAG9D0jC,EAAwB3R,IACxBA,EAAQE,iBAAiBp1B,OAC3B6yB,GAAUa,IAAS,IACdA,EACHpwB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAW4R,EAAQE,iBAAiB,GAAG9R,UACvCgB,UAAW4Q,EAAQrS,QAAQ,GAAGyB,UAC9BH,SAAU+Q,EAAQ/Q,SAClB4O,SAAUmC,EAAQnC,cAItBF,GAAUa,IAAS,IACdA,EACHpwB,eAAgB,IACXowB,EAAUpwB,eACbggB,UAAW,GACXgB,UAAW,GACXH,SAAU,GACV4O,SAAU,OAGhB,EAGIK,EAAaQ,UACjBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAIlP,IAEjC,GAA6B,MAAzBvD,EAAS0S,KAAKC,OAEhB,OADAzC,IACO,CAAE/qB,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS7T,EAAS0S,KAAKA,MAEvD,CAAE,MAAO3sB,GAGP,OAFAmqB,IACA9tB,QAAQC,IAAI0D,GACL,CAAEZ,OAAQ,EAAGutB,KAAM,CAAEmB,QAAS,CAAC,GACxC,GAGIwR,EAAaA,KACjB,IAAI7jB,EAAU,IAAK/f,EAAM+f,SACrBvf,EAAiB,IAAKR,EAAMQ,gBAC5BygB,EAAU,CAAC,EAEVpkB,aAAQkjB,KACXkB,EAAUlB,EAAQ5C,OAAOiU,MAAMhvB,GACtBA,EAAQoe,YAAcpD,SAAS5c,EAAeggB,cAIpD3jB,aAAQokB,KACX8O,GAAUa,IAAS,IAAWA,EAAW3P,QAASA,MAClDsc,IACF,EAGIA,EAAaA,KACjB,IAAItc,EAAU,IAAKjhB,EAAMihB,SACrBzgB,EAAiB,IAAKR,EAAMQ,gBAC5B2gB,EAAU,CAAC,EAEVtkB,aAAQokB,KACXE,EAAUF,EAAQA,QAAQmQ,MAAMhvB,GACvBA,EAAQif,WAAajE,SAAS5c,EAAe6gB,aAInDxkB,aAAQskB,KACX4O,GAAUa,IAAS,IAAWA,EAAWzP,QAASA,MAClD0iB,IACF,EAGIA,EAAaA,KACjB,IAAI1iB,EAAU,IAAKnhB,EAAMmhB,SACrB3gB,EAAiB,IAAKR,EAAMQ,gBAC5B0vB,EAAU,CAAC,EAEVrzB,aAAQskB,KACX+O,EAAU/O,EAAQI,OAAO6P,MAAMhvB,GACtBA,EAAQof,YAAcpE,SAAS5c,EAAeghB,cAIpD3kB,aAAQqzB,IACXH,GAAUa,IAAS,IAAWA,EAAWV,QAASA,KACpD,EAuMF,OACE3S,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,gDAA+CD,SAC5Dge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAAA,KACEG,UAAU,cACVge,QAASA,IFlcU8sB,MACnC,IAAIV,EAA2BjmC,SAASkmC,cACtC,gCAEEC,EAAgCnmC,SAASkmC,cAC3C,sCAIEU,EAA4B5mC,SAASkmC,cACvC,iCAEEW,EAAiC7mC,SAASkmC,cAC5C,uCAGFD,EAAyB/lC,MAAMlE,MAAQ,OACvCmqC,EAA8BjmC,MAAMkmC,WAAa,IAGjDQ,EAA0B1mC,MAAMlE,MAAQ,IACxC6qC,EAA+B3mC,MAAM4mC,YAAc,QAAQ,EE6a5BH,SAkBrBjrC,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5Cge,gBAAA,OACE/d,UAAU,kBACVge,QAASA,IAAM6mB,IAA8B9kC,SAAA,CAE7CF,eAAA,OAAKG,UAAU,eAAemgB,IAAKpb,GAAO2H,WAC1C7M,eAAA,KAAGG,UAAU,eAAcD,SAAC,WAC5BF,eAAA,QAAMG,UAAU,sBAAqBD,SACnCF,eAAA,KAAGG,UAAU,+BAKrBH,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,KACEG,UAAU,oBACVge,QAASA,IFjcWktB,MACpC,IAAIH,EAA4B5mC,SAASkmC,cACvC,iCAEEW,EAAiC7mC,SAASkmC,cAC5C,uCAIED,EAA2BjmC,SAASkmC,cACtC,gCAEEC,EAAgCnmC,SAASkmC,cAC3C,sCAGFU,EAA0B1mC,MAAMlE,MAAQ,OACxC6qC,EAA+B3mC,MAAM4mC,YAAc,IAGnDb,EAAyB/lC,MAAMlE,MAAQ,IACvCmqC,EAA8BjmC,MAAMkmC,WAAa,QAAQ,EE4a1BW,gBAO3BrrC,eAACqjC,GAAwB,CACvBliC,eAAgBR,EAAMQ,eACtB2gB,QAASnhB,EAAMmhB,QACfF,QAASjhB,EAAMihB,QACfiP,QAASlwB,EAAMkwB,QACfkT,mBA1MsBtmB,IAC1B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAClBgE,EAAU,IAAKnhB,EAAMmhB,SACrB+O,EAAU,CAAC,EAEfA,EAAU/O,EAAQI,OAAO6P,MAAMhvB,GACtBA,EAAQof,YAAcpE,SAAStgB,KAGnCD,aAAQqzB,KACPA,EAAQuB,MAAMv0B,OAChB6yB,GAAUa,IAAS,IACdA,EACHV,QAASA,EACT1vB,eAAgB,IACXowB,EAAUpwB,eACbghB,UAAWpE,SAAStgB,GACpBmzB,SAAU7S,SAAS8S,EAAQuB,MAAM,GAAGxB,eAIxCF,GAAUa,IAAS,IACdA,EACHV,QAASA,EACT1vB,eAAgB,IACXowB,EAAUpwB,eACbghB,UAAWpE,SAAStgB,GACpBmzB,SAAU,QAIlB,EA4KIkT,kBApOqBrmB,IACzB,IAAI,MAAEhgB,GAAUggB,EAAMK,OAClB8D,EAAU,IAAKjhB,EAAMihB,SACrBE,EAAU,CAAC,EAEfA,EAAUF,EAAQA,QAAQmQ,MAAMhvB,GACvBA,EAAQif,WAAajE,SAAStgB,KAIlCD,aAAQskB,IACX4O,GAAUa,IAAS,IACdA,EACHzP,QAASA,EACT+O,QAAS,CAAC,EACV1vB,eAAgB,IACXowB,EAAUpwB,eACb6gB,SAAUjE,SAAStgB,GACnB0kB,UAAW,GACXyO,SAAU,OAGhB,EA+MIqT,kBA1KqBxmB,IACzB,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACHpwB,eAAgB,IACXowB,EAAUpwB,eACbyvB,SAAU7S,SAAStgB,OAEpB,EAkKCymC,mBA1HqBzS,UACF9wB,EAAM8f,YAA7B,IACItf,EAAiB,IAAKR,EAAMQ,gBAEhC,GAAIoxB,OAAOC,UAAUC,OACnB,GAf8BtxB,KAChC,IAAI82B,GAAQ,EAMZ,OAJAt6B,OAAOu6B,OAAO/2B,GAAgBg3B,SAASp2B,IAC7B,KAARA,IAAek2B,GAAQ,EAAM,IAGxBA,CAAK,EAQNkN,CAAyBhkC,GAAiB,CAC5C,IAAIywB,EAAO,CAETe,eAAgBxxB,EAAeggB,UAC/Ba,SAAU7gB,EAAe6gB,SACzBG,UAAWhhB,EAAeghB,UAC1ByO,SAAUzvB,EAAeyvB,UAE3B1B,IACA,IAAI2D,OAnDepB,WACvB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAKhQ,GAAQ6N,GAE1C,OAAwB,MAApB1S,EAAS2S,OACkB,MAAzB3S,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAIpB,CAAEvtB,OAAQ,EAAGutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG9C,CAAErvB,OAAQ,EAAGutB,KAAM,CAAE8B,QAAS,2BAEzC,CAAE,MAAOzuB,GACP,MAAO,CACLZ,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GA2BiCoR,CAAiBxT,GAEd,IAA5BiB,EAAiBxuB,QACnB+qB,IACAiB,EAAQwC,EAAiBjB,KAAKmB,SAE9BvC,EAAkB,CAChBwC,cAAeH,EAAiBjB,KAAKmB,QAAQE,iBAC7CC,aAAc,CACZlR,SAAU6Q,EAAiBjB,KAAKmB,QAAQ/Q,SACxCC,MAAO4Q,EAAiBjB,KAAKmB,QAAQ9Q,OAEvCkR,cAAeN,EAAiBjB,KAAKmB,QAAQrS,QAC7C0S,aAAc,CACZxC,SAAUiC,EAAiBjB,KAAKmB,QAAQnC,SACxCwB,MAAOS,EAAiBjB,KAAKmB,QAAQX,SAGzC4S,IACAzS,OAAOuG,SAASwM,WAEhBlW,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,gEAGRA,MAAM,wCACR,EAgFIokC,iBA7EmBA,KACvB5S,GAAUa,IAAS,IACdA,EACHpwB,eAAgB,IACXowB,EAAUpwB,eACbghB,UAAW,GACXH,SAAU,GACV4O,SAAU,IAEZ9O,QAAS,CAAC,EACVF,QAAS,CAAC,EACViP,QAAS,CAAC,EACVuT,WAAW,EACXC,WAAW,KACV,EAgECrjC,SAAUA,IAEZhB,eAACqqC,KAAc,MACN,I,OCvWA3pC,qBAhCUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,SAIGivB,IACnB,CACLJ,WAAYA,KACVI,EAASG,KAAyB,EAEpCjB,gBAAiBA,KACfc,EAASC,KAA4B,EAEvC+W,mBAAoBA,KAClBhX,EAASiY,GAAoBjB,qBAAqB,EAEpDjX,qBAAsBA,KACpBC,EAASM,KAA6C,EAExD+W,yBAA0BA,KACxBrX,EAASkY,KAAoD,EAE/DV,oBAAqBA,KACnBxX,EAASmY,KAA8C,EAEzDH,mBAAoBA,KAClBhY,EAASoY,KAAwC,KAKxC7nC,EAlIsBU,IACnC,IAAI,QACFC,EAAO,SACPL,EAAQ,WACR+uB,EAAU,gBACVV,EAAe,qBACfa,EAAoB,mBACpBiX,EAAkB,yBAClBK,EAAwB,oBACxBG,EAAmB,mBACnBQ,GACE/mC,EAaJ,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACE+e,GAAG,+BACH5e,UAAU,+BACVge,QAASA,IHesBmtB,MACrC,IAAIJ,EAA4B5mC,SAASkmC,cACvC,iCAEEW,EAAiC7mC,SAASkmC,cAC5C,uCAGFU,EAA0B1mC,MAAMlE,MAAQ,IACxC6qC,EAA+B3mC,MAAM4mC,YAAc,QAAQ,EGxBtCE,GAA0BprC,SAEzCF,eAAA,OACE+e,GAAG,qCACH5e,UAAU,qCAAoCD,SAE9CF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5B1C,aAAQwD,GAORhB,eAAA,OAAKsgB,IAAKpb,GAAO+H,iBANjBjM,EAASgpC,MAAMnsC,OACbmC,eAAA,OAAKsgB,IAAKtf,EAASgpC,QAEnBhqC,eAAA,OAAKsgB,IAAKpb,GAAO+H,mBAMvBiR,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CACzB1C,aAAQwD,GAA4B,OAAhBA,EAASgE,KAAe,OAEhDhF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA8B,aAAlBA,EAASw4B,SAEjCx5B,eAAA,KAAGG,UAAU,iBAAgBD,SACA,IAA1Bc,EAASm4B,aACRjb,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKsgB,IAAKpb,GAAO8J,mBAAoB,cAErC,aAIVhP,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAACijC,IAAO,CAAC7G,GAAG,qBAAoBl8B,SAC9Bge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO2H,WAAY,gBAGjC7M,eAACijC,IAAO,CAAC7G,GAAG,iBAAgBl8B,SAC1Bge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,MAAMmgB,IAAKpb,GAAO6C,eAAgB,sBAGrD/H,eAACijC,IAAO,CAAC7G,GAAG,UAASl8B,SACnBge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,MAAMmgB,IAAKpb,GAAOiS,aAAc,kBAGnD+G,gBAAA,KACE/d,UAAU,iBACVge,QAASA,KAtEzB4R,IACAV,IACAa,IACAiX,IACAK,IACAG,IACAQ,SACA9mC,EAAQkyB,KAAK,MA+DqCrzB,SAAA,CAElCF,eAAA,OAAKsgB,IAAKpb,GAAOwH,WAAY,4BAQlC,I,OCOAhM,qBANUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,aAGXnzB,EAhHUU,IACvB,IAAI,MAAEkwB,EAAK,UAAEuC,GAAczyB,EAC3B,MAAOT,EAAO+vB,GAAYvT,mBAAS,KAC5BouB,EAAcC,GAAmBruB,mBAAS,CAAC,GAC5C9b,EAAUm1B,uBAEhBh1B,qBAAU,KACRiqC,GAAc,GACb,IAEH,MAAMA,EAAeha,UACnB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAC3B,GAAGvP,4CACHuR,GAE2B,MAAzBzU,EAAS0S,KAAKC,SAChBnB,EAASxR,EAAS0S,KAAKA,MACvB4Z,EAAgBE,EAAmBxsB,EAAS0S,KAAKA,OAErD,CAAE,MAAO3sB,GACP3D,QAAQ2D,MAAMA,EAChB,GAGIymC,EAAsB9Z,IAC1B,MAAM2Z,EAAe,CAAC,EAMtB,OALA3Z,EAAKuG,SAASwT,IACRA,EAAKluC,QACP8tC,EAAaI,EAAKluC,OAAS,IAAIkuC,EAAKC,cAAc9sC,gBACpD,IAEKysC,CAAY,EAYfM,EAAoBC,IATFA,KACtB,MAAMnW,EAAO4V,EAAaO,GACtBnW,EACFt0B,EAAQkyB,KAAKoC,GAEbr0B,QAAQ2D,MAAM,iCAAkC6mC,EAClD,EAIAC,CAAeD,EAAW,EAa5B,OACE9rC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAACg8B,KAAM,CAbbf,MAAM,EACNC,UAAU,EACVyD,UAAU,EACVC,cAAe,IACflD,QAAQ,EACRP,aAAc,EACdC,eAAgB,EAOUl7B,SACjBS,EAAM9C,OAAS,EACd8C,EAAM2gB,KAAI,CAACve,EAAS07B,IAClBz+B,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OACEG,UAAU,6BACVqE,MAAO,CACLlE,MAAO,OACP0rC,UAAW,QACXC,aAAc,OACdC,SAAU,SACVC,OAAQ,WACRjsC,SAEFF,eAAA,OACEsgB,IAAKvd,EAAQqpC,IACbhrB,IAAI,SACJjD,QAASA,IAAM0tB,EAAiB9oC,EAAQtF,OACxC+G,MAAO,CACLlE,MAAO,OACPC,OAAQ,OACR8rC,UAAW,cAlBwB5N,KAyB7Cz+B,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKsgB,IAAI,oBAAoBc,IAAI,uBAOpC,I,OC+FA1gB,qBAdUC,IAChB,CACLQ,eAAgBR,EAAMQ,mBAICgvB,IAClB,CACLmW,eAAiBxW,IACfK,EAASiY,GAAoB9B,eAAexW,GAAS,KAK5CpvB,EA9LgBU,IAC7B,IAAI,QAAEC,EAAO,eAAEF,EAAc,eAAEmlC,GAAmBllC,GAC9C,cAAE+xB,EAAa,aAAED,GAAiB/xB,EAEtC,MAAOR,EAAO+vB,GAAYvT,mBAAS,CACjCmvB,YAAa,CAAC,IAGhB9qC,qBAAU,KACR+qC,GAAgB,GACf,IAEH,MAAMA,EAAiB9a,UACrB,IAAIG,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,UAGzB,IACE,MAAM9C,QAAiBwS,KAAMqC,KAAKlR,GAAO+O,GAKZ,MAAzB1S,EAAS0S,KAAKC,QAEhBnB,GAAUa,IAAS,IACdA,EACH+a,YAAaptB,EAAS0S,KAAKA,QAGjC,CAAE,MAAO3sB,GAEP3D,QAAQC,IAAI0D,EACd,GAGIunC,EAAsBC,GACtBA,EACKzsC,eAAA,OAAKsgB,IAAKmsB,IAEVzsC,eAAA,OAAKsgB,IAAKpb,GAAOoI,mBAItBo/B,EAAiBA,CAACrsC,EAAMuxB,KAC5B,OAAQvxB,EAAKvB,eACX,IAAK,MACHuC,EAAQkyB,KAAK,sBACb,MACF,IAAK,UACH+S,EAAe,CACbqG,UAAW/a,EAAKgb,OAChBC,YAAajb,EAAKkb,SAClBC,YAAanb,EAAK6a,OAEpBprC,EAAQkyB,KAAK,sBAIjB,EAiCF,OACEvzB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAACg8B,KAAM,CArCnBf,MAAM,EACNC,UAAU,EACVyD,UAAU,EACVC,cAAe,IACflD,QAAQ,EACRP,aAAc,EACdC,eAAgB,EAChBG,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,EAChBF,UAAU,IAId,CACEM,WAAY,IACZC,SAAU,CACRkD,UAAU,EACVxD,aAAc,EACdC,eAAgB,EAChBF,UAAU,EACVQ,QAAQ,KAakBx7B,SAChB1C,aAAQmD,EAAM2rC,aA+BZ,KA9BA3rC,EAAM2rC,YAAYU,QAAQnvC,OACxB8C,EAAM2rC,YAAYU,QAAQ1rB,KAAI,CAACve,EAAS07B,IAEpCz+B,eAAA,OACEG,UAAU,+BAA8BD,SAGxCge,gBAAA,OAEE/d,UAAU,2BACVqE,MAAOrF,aACL4D,EAAQ3D,YAEV+e,QAASA,IACPuuB,EAAe,UAAW3pC,GAC3B7C,SAAA,CAEDF,eAAA,OAAKG,UAAU,0BAAyBD,SACrCssC,EAAmBzpC,EAAQkqC,SAE9BjtC,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAAA,KAAGG,UAAU,yBAAwBD,SAClC6C,EAAQ+pC,eAdRrO,IAHF17B,EAAQ6pC,UAwBnB,SAIV5sC,eAAA,OAAKG,UAAU,4BAA2BD,SACtC1C,aAAQmD,EAAM2rC,aA8BZ,KA7BA3rC,EAAM2rC,YAAYU,QAAQnvC,OACxB8C,EAAM2rC,YAAYU,QAAQ1rB,KAAI,CAACve,EAAS07B,IAEpCz+B,eAAA,OACEG,UAAU,qBAAoBD,SAG9Bge,gBAAA,OAEE/d,UAAU,iBACVge,QAASA,IAAMuuB,EAAe,UAAW3pC,GAAS7C,SAAA,CAElDF,eAAA,OAAKG,UAAU,gBAAeD,SAC3BssC,EAAmBzpC,EAAQ0pC,QAG9BzsC,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB6C,EAAQ+pC,eAVRrO,IAHF17B,EAAQ6pC,UAuBnB,iBAOP,I,OChCAlsC,qBAfUC,IAChB,CACLM,KAAMN,EAAMM,KACZE,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLyW,aAAe9W,IACbK,EAASiY,GAAoBxB,aAAa9W,GAAS,KAK1CpvB,EA7IUU,IACvB,IAAI,QAAEC,EAAO,aAAEulC,GAAiBxlC,EAEhC,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC+vB,aAAc,CAAC,IAGjB1rC,qBAAU,KACR2rC,GAAyB,GACxB,IAEH,MAAMA,EAA0B1b,UAC9B,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI9M,IACJ,MAAzB3F,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH2b,aAAchuB,EAAS0S,KAAKA,QAGlC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GASF,OACEjF,eAACC,WAAQ,CAAAC,SACL1C,aAAQmD,EAAMusC,cAwFZ,KAvFFltC,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,MAAAE,SAAI,iBACJF,eAAA,KAAAE,SAAG,6IAMLF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,4BAA2BD,SAqBxCge,gBAAA,OACE/d,UAAU,uBACVge,QAASA,KAAMivB,OA7CLC,EA6C0B1sC,EAAMusC,cA5ClDI,eAAiB,oBAC3B1G,EAAayG,QACbhsC,EAAQkyB,KAAK,WAHe8Z,KA6C8C,EAAAntC,SAAA,CAExDF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAK3f,EAAMusC,aAAaK,eAGjCrvB,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1BS,EAAMusC,aAAaM,gBAGxBtvB,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,SAAAhe,SAAA,CACEF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOyI,oBAEnB3N,eAAA,QAAMG,UAAU,SAAQD,SACrBS,EAAMusC,aAAaO,oBAI1BztC,eAAA,OAAKG,UAAU,kCAgBjBH,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,QAAAE,SAAM,iCAWjB,I,wDCrIf,MAAMwtC,GAA0BvZ,aAAY,CAC1CnvB,KAAM,qBACNovB,aAAc,CACVuZ,OAAQ,GACRC,OAAQ,GACRC,cAAc,IAGlBxZ,SAAU,CACRyZ,0BAA2BA,CAACntC,EAAO4zB,KACjC5zB,EAAMgtC,OAASpZ,EAAOzE,QAAQ6d,OAC9BhtC,EAAMitC,OAASrZ,EAAOzE,QAAQ8d,OAC9BjtC,EAAMktC,cAAgBtZ,EAAOzE,QAAQ+d,aAAa,MAK3C,0BAAEC,IAA8BJ,GAAwBlZ,QACtDkZ,UAA+B,QC+2B/BhtC,qBAhCUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtBmwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,cAIE1D,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCwW,aAAe9W,IACbK,EAASiY,GAAoBxB,aAAa9W,GAAS,EAErDgX,aAAehX,IACbK,EAASiY,GAAoBtB,aAAahX,GAAS,EAErDiX,kBAAoBjX,IAClBK,EAASiY,GAAoBrB,kBAAkBjX,GAAS,EAG1Die,gCAAkCje,IAChCK,EAAS2d,GAA0Bhe,GAAS,KAKnCpvB,EA71BQU,IACrB,IAAI,QACFC,EAAO,eACPF,EAAc,aACd+tB,EAAY,cACZE,EAAa,aACbwX,EAAY,aACZE,EAAY,kBACZC,EAAiB,MACjBzV,EAAK,UACLuC,EAAS,gCACTka,GACE3sC,GACA,cAAE4xB,EAAa,cAAEG,EAAa,aAAED,EAAY,aAAEE,GAChDjyB,EAEF,MAAO6sC,EAAyBC,GAA8B9wB,mBAAS,CAAC,IAEjExc,EAAO+vB,GAAYvT,mBAAS,CACjC+wB,iBAAkB,CAChBC,KAAM,GACNC,IAAK,IAEPC,kBAAmB,CAAC,EACpBC,aAAc,CACZC,OAAQ,GACRC,MAAO,GACPC,YAAa,GACbC,QAAS,IAEXC,OAAQ,OAGVntC,qBAAU,KACRotC,IACAC,IACAC,GAAa,GACZ,IAEHttC,qBAAU,KACJb,EAAMutC,iBAAiBC,MACzBY,GACF,GACC,CAACpuC,EAAMutC,iBAAiBC,OAE3B,MAAMW,EAAcrd,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI/O,IACJ,MAAzB1D,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHod,OAAQzvB,EAAS0S,KAAKA,KAAKod,WAGjC,CAAE,MAAO/pC,GACP3D,QAAQC,IAAI0D,EACd,GAGI4pC,EAAuBpd,UAC3B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BpS,QAAiBwS,KAAMqC,KAAK9M,GAAQ0M,GACb,MAAzBzU,EAAS0S,KAAKC,QAChBoc,EAA2B,IAAK/uB,EAAS0S,KAAKA,MAChD,EAGIgd,EAAuBnd,UAC3B,IAAIG,EACSuB,EAAc,GAAGhR,UAD1ByP,EAEQwB,EAAaxC,SAGzB,IACE,IAAI1R,QAAiBwS,KAAMC,IACzB,GAAGzO,gBAAoB0O,cAA2BA,KAEpD,GAA6B,MAAzB1S,EAAS0S,KAAKC,QACZ3S,EAAS0S,KAAKA,KAAKqd,aAAapxC,OAAQ,CAC1C,IAAIg1B,EAAmBqc,IACvBxe,GAAUa,IAAS,IACdA,EACH8c,kBAAmBnvB,EAAS0S,KAAKA,KACjCsc,iBAAkB,IACb3c,EAAU2c,iBAGbC,KAAMtb,EAAiBsb,KACvBC,IAAKvb,EAAiBub,QAG5B,CAEJ,CAAE,MAAOnpC,GACP3D,QAAQC,IAAI0D,EACd,GAGIiqC,EAAqBA,KACzB,IACIf,EAAMgB,EAAOC,EAAMhB,EADnBiB,EAAI,IAAIC,KAiCZ,OAtBAnB,EAAOkB,EAAEE,UACTJ,EAAQE,EAAEG,WACVJ,EAAOC,EAAEI,cACTrB,EAAMiB,EAAEK,SAEJvB,EAAO,KACTA,EAAO,IAAIA,KAOXgB,EADEA,EAAQ,EACF,IAAIA,EAAQ,IAEZ,GAAGA,EAAQ,IAGV,CACThB,KAAM,GAAGiB,KAAQD,KAAShB,IAC1BC,IA7BW,CACX,SACA,SACA,UACA,YACA,WACA,SACA,YAsBYA,GAEH,EAUPW,EAAqBtd,UACzB,IAAIyc,EAAmB,IAAKvtC,EAAMutC,kBAC9Btc,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5ByO,SAAUwC,EAAaxC,SACvBwd,IAAKF,EAAiBE,IACtBD,KAAMD,EAAiBC,MAEzBjf,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK5Q,GAAUyO,GAEf,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH+c,aAAc,IACT/c,EAAU+c,aACbC,OAAQrvB,EAAS0S,KAAKA,KAAK+d,MAC3BnB,MAAOtvB,EAAS0S,KAAKA,KAAK4c,MAC1BC,YAAavvB,EAAS0S,KAAKA,KAAKge,UAChClB,QAASxvB,EAAS0S,KAAKA,KAAK8c,aAIpC,CAAE,MAAOzpC,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GA2EIttB,EAAyBC,IAC7B,MAAMC,EAAWC,EAAQ,KAEzB,IAAIC,EAAYH,EACZI,EAAM,+CAEVD,EAAYE,KAAKF,GAEjBA,EAAYG,KAAKC,MAAMJ,GAKvB,MAAMK,EAAKP,EAASQ,IAAIC,OAAOH,MAAMJ,EAAUK,IAGzC9E,EAAQyE,EAAUzE,MAGxB0E,EAAMH,EAASQ,IAAIC,OAAOH,MAAMH,GAGhC,IAAIO,EAAYV,EAASW,IAAIC,QAAQnF,EAAO0E,EAAK,CAC/CI,GAAIA,IASN,OAJAG,EAAYA,EAAUG,SAASb,EAASQ,IAAIM,OAI3BvE,MAAM,KAAK,EAAE,EAG1BsxC,EAA6BjvC,IAEjCA,EAAe0sC,eAAiB,iBAChCvG,EAAkBnmC,GAClBS,EAAQkyB,KAAK,QAAQ,EAiDvB,SAASuc,EAAQvT,GAOb,IANFwT,aAAcC,EACdC,WAAYC,EAAS,SACrBC,EACAC,SAAUC,EAAO,eACjBC,EAAc,cACdC,GACDhU,EACC,GAAuB,MAAnB+T,EAAwB,CAC1BN,EAAcQ,EAAoBR,GAClCE,EAAYM,EAAoBN,EAAWC,GAC3CE,EAAUG,EAAoBH,EAASF,GACvC,IAAIM,EAAQ,GAKZ,OAHIT,EAAYU,SAASR,GAAYO,EAAQ,WACpCT,EAAYW,UAAUT,EAAWG,GAAUI,EAAQ,OACnDT,EAAYY,QAAQP,KAAUI,EAAQ,SACxCA,CACT,CAAO,GAAuB,MAAnBH,EAAwB,CACjC,IAAIG,EAAQ,GAWZ,OAREA,EADoB,SAAlBF,EACM,OACmB,UAAlBA,EACD,QACmB,aAAlBA,EACD,WAEA,WAEHE,CACT,CACF,CAYA,SAASD,EAAoBK,EAAYV,GACvC,MAAMhC,EAAOgC,EAAWW,KAAOX,EAAU,cAAgBW,QAClDC,EAAMC,EAAQC,EAAS,KAAOJ,EAAWtyC,MAAM,KACtD,OAAO4vC,EAAK+C,IAAI,CAAEH,OAAMC,SAAQC,UAClC,CAOA,OACEjxC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1Cge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,MAAAE,SAAI,gBACJF,eAAA,WACEG,UAAU,gBACVqE,MAAO,CAAEo8B,OAAQ,iBAAkB1gC,SAEnCF,eAAA,OAAKG,UAAU,uBAAsBD,SACjC1C,aAAQmD,EAAM0tC,mBAwCZ,KAvCA1tC,EAAM0tC,kBAAkBY,aAAapxC,OACnC8C,EAAM0tC,kBAAkBY,aAAa3tB,KACnC,CAACve,EAAS07B,IAENvgB,gBAAA,OAAiB/d,UAAU,qBAAoBD,SAAA,CAC7CF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQorC,KACZnpC,KAAK,WACLvH,MAAOsF,EAAQorC,KACfvvB,SAAWnB,IACT0zB,OApRShD,EAsRPprC,EAAQorC,KAtRKC,EAuRbrrC,EAAQqrC,SAtRxC1d,GAAUa,IAAS,IACdA,EACH2c,iBAAkB,IAAK3c,EAAU2c,iBAAkBC,KAAMA,EAAMC,IAAKA,OAHvC+C,IAAQhD,EAAMC,CAyRhB,EACD7sB,QACExe,EAAQorC,OAASxtC,EAAMutC,iBAAiBC,OAI5CjwB,gBAAA,SAAOsD,QAASze,EAAQorC,KAAKjuC,SAAA,CAC3BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1BnC,aAAYgF,EAAQqrC,IAAK,EAAG,OAGjCpuC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B9B,aAAY2E,EAAQorC,KAAM,gBA1BzB1P,KAkChB,SAIVz+B,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CAEhCS,EAAM2tC,aAAaC,OAAO1wC,OACvB8C,EAAM2tC,aAAaC,OAAOjtB,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAEE/d,UAAU,uBACVge,QAASA,KAtRHkvB,SAsR8BtqC,GArR3CisC,SAKb9vC,MAAM,gEACNmC,EAAQkyB,KAAK,YALb8Z,EAAUC,eAAiB,iBAC3B1G,EAAayG,GACbhsC,EAAQkyB,KAAK,WAkRoD,EAAArzB,SAAA,CAE7CF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKvd,EAAQquC,qBAGtBlzB,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQsuC,gBAGbrxC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,MAAM6C,EAAQuuC,gBAE/CtxC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQiqC,YAGb9uB,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CACzBF,eAAA,OAAKsgB,IAAKpb,GAAOkI,mBAChB,GAAGrK,EAAQktC,gBAAgBltC,EAAQqtC,kBAI1CpwC,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,QAAMG,UAAU,eAAcD,SAAC,oBAjChCu+B,MA9JIp+B,EAsMS,SApMjC,WADCA,EAGFL,eAAA,OACEG,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,YAiCjB,MAiKE5wC,EAAM2tC,aAAaE,MAAM3wC,OACtB8C,EAAM2tC,aAAaE,MAAMltB,KAAI,CAACve,EAAS07B,IAEnCvgB,gBAAA,OAEE/d,UAAU,uBACVge,QAASA,KAzTHqzB,SAyT8BzuC,GAxT5CisC,SACZwC,EAAUlE,eAAiB,iBAC3BxG,EAAa0K,GACbnwC,EAAQkyB,KAAK,YAEbr0B,MAAM,gEACNmC,EAAQkyB,KAAK,UAkToD,EAAArzB,SAAA,CAE7CF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKvd,EAAQquC,qBAGtBlzB,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQsuC,gBAGbrxC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,MAAM6C,EAAQuuC,gBAE/CtxC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQiqC,YAGb9uB,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CACzBF,eAAA,OAAKsgB,IAAKpb,GAAOkI,mBAChB,GAAGrK,EAAQktC,gBAAgBltC,EAAQqtC,kBAI1CpwC,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,QAAMG,UAAU,eAAcD,SAAC,oBAjChCu+B,KAyCX,KAGH99B,EAAM2tC,aAAaG,YAAY5wC,OAC5B8C,EAAM2tC,aAAaG,YAAYntB,KAAI,CAACve,EAAS07B,IAEzCvgB,gBAAA,OAEE/d,UAAU,uBACVge,QAASA,IA9VNsT,WACzB,GAAqB,IAAjB9wB,EAAMguC,OAGR,OAFAzvC,MAAM,qEACNmC,EAAQkyB,KAAK,UAIf,IAAIoa,EAAS7rC,EAAsBiB,EAAQG,SAIvC0uB,EAAO,CACT6f,UAAWC,sBACXC,YAAaD,eACbE,YAAaF,UACbxuC,QAASyqC,EACTttC,KAAM,OAER6uB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKhP,GAAQ6M,GACb,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IAE+B,MAA3BrsB,EAAQutC,eACVT,EAA0B9sC,GACU,MAA3BA,EAAQutC,gBACjBvC,EAAgC,CAC9BJ,SACAC,QAAQ,EACRC,cAAe9qC,EAAQgc,KAGzB1d,EAAQkyB,KAAK,CACXC,SAAU,aACV7yB,MAAO,CAAEgtC,OAAQA,EAAQC,QAAQ,EAAMC,cAAe9qC,EAAQgc,OAGhE7f,MAAM,gDAGRkwB,IACAlwB,MAAMggB,EAAS0S,KAAK8B,SAExB,CAAE,MAAOzuB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GA+SqCyiB,CAAmB9uC,GAAS7C,SAAA,CAE3CF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKvd,EAAQ+uC,oBAGtB5zB,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQ+9B,gBAGb9gC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,yBAAwBD,SAClC6C,EAAQiqC,YAGbhtC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,MAAM6C,EAAQuuC,gBAE/CtxC,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1Cge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CACzBF,eAAA,QAAAE,SAAM,yBACL,GAAG4wC,KACF/tC,EAAQktC,WACR,YACA8B,OAAO,gBAAgBjB,KACvB/tC,EAAQqtC,SACR,YACA2B,OAAO,gBAEX/xC,eAAA,QAAMG,UAAW,GAAG2vC,EAAS/sC,KAAW7C,SACrC4vC,EAAS/sC,YAiBlB/C,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,iBAvD9B,cAAgBqd,KA8D3B,KAGH99B,EAAM2tC,aAAaI,QAAQ7wC,OACxB8C,EAAM2tC,aAAaI,QAAQptB,KAAI,CAACve,EAAS07B,IAErCvgB,gBAAA,OAEE/d,UAAU,uBACVD,SAAA,CAEAF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKvd,EAAQ+uC,oBAGtB5zB,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,WAAW6C,EAAQivC,eAAejvC,EAAQkvC,oBAG/CjyC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,yBAAwBD,SAClC,WAAW6C,EAAQmvC,YAGxBlyC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,MAAM6C,EAAQovC,mBAAmBpvC,EAAQqvC,YAE1EpyC,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1Cge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CACzBF,eAAA,QAAAE,SAAM,mBACL,GAAG4wC,KACF/tC,EAAQktC,WACR,YACA8B,OAAO,gBAAgBjB,KACvB/tC,EAAQqtC,SACR,YACA2B,OAAO,gBAEVhvC,EAAQorC,KACT2C,KAAO,IAAIxB,MAAQyC,OAAO,cACxB/xC,eAAA,QAAMG,UAAU,WAAUD,SAAC,aACzB6C,EAAQorC,KACV2C,KAAO,IAAIxB,MAAQyC,OAAO,cAC1B/xC,eAAA,QAAMG,UAAU,QAAOD,SAAC,UACtB6C,EAAQorC,MACR2C,KAAO,IAAIxB,MAAQyC,OAAO,eAC5BjB,KAAO,IAAIxB,MAAQyC,OAAO,WACxBhvC,EAAQqtC,UACVU,KAAO,IAAIxB,MAAQyC,OAAO,WACxBhvC,EAAQktC,WACVjwC,eAAA,QAAMG,UAAU,OAAMD,SAAC,YACrB4wC,KAAO,IAAIxB,MAAQyC,OAAO,WAC5BhvC,EAAQktC,WACRjwC,eAAA,QAAMG,UAAU,WAAUD,SAAC,aAE3BF,eAAA,QAAMG,UAAU,QAAOD,SAAC,iBA+BhCF,eAAA,OAAKG,UAAU,kBApFZ,cAAgBs+B,KA4F3B,aAIVvgB,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,MAAAE,SAAI,gBACJF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7Cge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKywC,MAAM,UAASvwC,SAClBF,eAACqyC,KAAmB,CAClB50C,MACEuwC,EAAwBsE,gBACpBtE,EAAwBsE,gBACxB,KAENC,KAAM,GACJvE,EAAwBsE,gBACpBtE,EAAwBwE,sBACxB,KAENC,YAAa,EACbtyC,UAAU,2BAGdH,eAAA,QAAMG,UAAU,QAAOD,SAAC,qBAE1Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,QAAMG,UAAU,YAAWD,SACxB8tC,EACGA,EAAwBsE,gBACxB,OAENtyC,eAAA,QAAMG,UAAU,WAAUD,SAAC,sBAG7Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,QAAMG,UAAU,YAAWD,SACxB8tC,EACGA,EAAwB0E,gBACxB,OAEN1yC,eAAA,QAAMG,UAAU,WAAUD,SAAC,uBAE7Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,QAAM/d,UAAU,YAAWD,SAAA,CACxB8tC,EACGA,EAAwB2E,kBACxB,KAAM,OAEZ3yC,eAAA,QAAMG,UAAU,WAAUD,SAAC,yBAE7Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,QAAM/d,UAAU,YAAWD,SAAA,CACxB8tC,EACGA,EAAwB4E,kBACxB,KAAM,OAEZ5yC,eAAA,QAAMG,UAAU,WAAUD,SAAC,yBAE7BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,mBACVtzB,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOwD,YAAa0Y,IAAI,yBAQ9ClD,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,MAAAE,SAAI,oBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,SAAQD,SACrBF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QAEhB5+B,MAAO,CAAEquC,eAAgB,QAAS3yC,SAElCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CAAC,uBACJ,IACrBF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOuD,YAAa2Y,IAAI,mBAM1CphB,eAAA,OAAKG,UAAU,SAAQD,SACrBF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QAEhB5+B,MAAO,CAAEquC,eAAgB,QAAS3yC,SAElCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CAAC,cACb,IACZF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOuD,YAAa2Y,IAAI,mCAxgBvB/gB,KAmhBpB,I,OChtBAyyC,OArIYvW,IAAgB,IAAf,MAAE57B,GAAO47B,EACnC,MAAMl7B,EAAUm1B,uBAsEhB,OACEx2B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDge,gBAAA,OAAK/d,UAAU,2CAA0CD,SAAA,CACvDF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,MAAIG,UAAU,0CAAyCD,SAAC,oBAI1DF,eAACg8B,KAAM,CAjCbd,UAAU,EACVyD,UAAU,EACVC,cAAe,IACflD,QAAQ,EACRP,aAAc,EACdC,eAAgB,EAChBG,WAAY,CACV,CACEC,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,KAeIl7B,SAChB1C,aAAQmD,GA4CN,KA3CAA,EAAM2gB,KAAI,CAACve,EAAS07B,IAEhBz+B,eAAA,OAAiBG,UAAU,wBAAuBD,SAChDge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,8BAA6BD,SACzC6C,EAAQinC,MACPhqC,eAAA,OACEsgB,IAAK,GAAG8B,KAAWrf,EAAQinC,QAC3B5oB,IAAI,sBACJ2xB,QAAQ,OACR5yC,UAAU,sBAGZH,eAAA,OACEsgB,IAAKpb,GAAO4K,kBACZsR,IAAI,sBACJ2xB,QAAQ,WAKd70B,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,MAAIG,UAAU,sBAAqBD,SAChC6C,EAAQiC,OAEXhF,eAAA,KAAGG,UAAU,4BAA2BD,SACrC6C,EAAQ+9B,iBAGb9gC,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,UACEG,UAAU,UACVge,QAASA,IAhHb60B,KACtB,OAAQA,EAAKhuC,MACX,IAAK,eACH3D,EAAQkyB,KAAK,CACXC,SAAU,gBACV7yB,MAAO,CAAEyiC,IAAK,kBAEhB,MACF,IAAK,2BACH/hC,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,SAEhB,MACF,IAAK,MACH/hC,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,SAEhB,MACF,IAAK,MACH/hC,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,SAEhB,MACF,IAAK,QACH/hC,EAAQkyB,KAAK,CACXC,SAAU,QACV7yB,MAAO,CAAEyiC,IAAK,UAEhB,MACF,IAAK,OACH/hC,EAAQkyB,KAAK,CACXC,SAAU,uBACV7yB,MAAO,CAAEyiC,IAAK,yBAKpB,EAwEyCsJ,CAAe3pC,GAAS7C,SACxC,4BAhCCu+B,aA6Cf,E,OChFEwU,OAvDG7xC,IAChB,IAAI,SACA8xC,EAAQ,SACRC,EAAQ,UACRC,GACAhyC,EAEAC,EAAUm1B,uBAEd,MAAM6c,EAAWA,KACbhyC,EAAQkyB,KAAK,CACTC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACd,EAGR,OACI8P,EACCh1B,gBAAA,OAAK/d,UAAU,kDAAiDD,SAAA,CAC7Dge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC7BF,eAAA,KAAAE,SAAG,0BACHF,eAAA,KAAAE,SAAG,kDAEPF,eAAA,OAAKG,UAAU,yBAAwBD,SACvCF,eAAA,UAAQme,QAASk1B,EAASnzC,SAAC,oBAG/BF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5Bge,gBAAA,OAAAhe,SAAA,CACIF,eAAA,KAAG+7B,KAAO,IAAIoX,IAAYr1B,OAAO,SAASme,IAAI,aAAY/7B,SAAC,iBAC3DF,eAAA,KAAG+7B,KAAO,IAAIqX,IAAat1B,OAAO,SAASme,IAAI,aAAY/7B,SAAC,0BAKvEge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC3Bge,gBAAA,OAAAhe,SAAA,CACIF,eAAA,KAAAE,SAAG,0BACHF,eAAA,KAAAE,SAAG,+CACHF,eAAA,UAAQme,QAASk1B,EAASnzC,SAAC,oBAGnCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5Bge,gBAAA,OAAAhe,SAAA,CACIF,eAAA,KAAAE,SAAG,mCACHF,eAAA,KAAAE,SAAG,8BACHF,eAAA,KAAAE,SAAG,kCAGR,E,qBClCAozC,OAjBA/W,IAA+D,IAA9D,KAAEI,EAAI,OAAE4W,EAAM,UAAEpzC,EAAS,SAAEqzC,EAAQ,SAAEtzC,KAAauzC,GAAMlX,EACtE,OAAOmX,IAASC,aACd3zC,eAAC08B,KAAK,CAACC,KAAMA,EAAMiX,SAAS,OAAOL,OAAQA,KAAYE,EAAIvzC,SACzDge,gBAACwe,KAAMmX,KAAI,CAAC1zC,UAAW,GAAGA,KAAayhB,KAAQkyB,YAAY5zC,SAAA,CACzDF,eAAA,UACEK,KAAK,SACL4hB,MAAO,aAAaL,KAAQ,gBAAgB4xB,IAC5Cr1B,QAASo1B,EACT,aAAW,UAEZrzC,OAGLoE,SAASC,eAAe,SACzB,E,OCHH,SAASs2B,GAAgBz5B,GACvB,MAAM,UAAEjB,EAAS,MAAEqE,EAAK,QAAE2Z,GAAY/c,EACtC,OACEpB,eAAA,OACEG,UAAWA,EACXqE,MAAO,IAAKA,EAAOC,QAAS,SAC5B0Z,QAASA,GAGf,CACA,SAAS2c,GAAgB15B,GACvB,MAAM,UAAEjB,EAAS,MAAEqE,EAAK,QAAE2Z,GAAY/c,EACtC,OACEpB,eAAA,OACEG,UAAWA,EACXqE,MAAO,IAAKA,EAAOC,QAAS,SAC5B0Z,QAASA,GAGf,CAuKezd,qBAvBUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtBL,OAAQH,EAAMI,GAAGD,WAGOqvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC2jB,sBAAwBjkB,IACtBK,EAAS6jB,GAAyClkB,GAAS,EAE7DmkB,sBAAwBnkB,IACtBK,EAAS6jB,GAAyClkB,GAAS,KAKlDpvB,EArKaU,IAC1B,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,sBAAEizC,GAA0B3yC,GACjE,cAAE+xB,EAAa,cAAEH,EAAa,aAAEI,GAAiBhyB,EAAMD,eACvDE,EAAUm1B,uBACd,MAAO71B,EAAO+vB,GAAYvT,mBAAS,IAwBnC3b,qBAAU,KAtBeiwB,WACvB,IAAIG,EAESuB,EAAc,GAAGhR,UAF1ByP,EAGQwB,EAAaxC,SACZoC,EAAc,GAAG7R,UAE9B+N,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B,GAAG1M,gBAAoB2M,cAA2BA,KAEvB,MAAzB1S,EAAS0S,KAAKC,SAChBnB,EAASxR,EAAS0S,KAAKA,KAAKsiB,SAC5BH,EAAsB70B,EAAS0S,KAAKA,KAAKsiB,SACzC9kB,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGA+kB,EAAwC,GACvC,IACH,MAIMnZ,EAAY,CAChBC,MAAM,EACNC,UAAU,EACVyD,UAAU,EACVxD,aAAc,EACdC,eAAgB,EAChBC,UAAWr7B,eAAC66B,GAAe,CAAC16B,UAAU,eACtCm7B,UAAWt7B,eAAC86B,GAAe,CAAC36B,UAAU,eACtCo7B,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAKpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAIpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,EAChBM,QAAQ,EACRR,UAAU,MAMlB,OACEl7B,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,MAAAE,SAAI,0BAGLY,GAAUd,eAACD,KAAW,IACvBC,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAACg8B,KAAM,IAAKhB,EAAS96B,SAClBS,GACCA,EAAM2gB,KAAI,CAAC8yB,EAAS3V,IAEhBz+B,eAAA,OAAKG,UAAU,iBAAgBD,SAC7Bge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OACEsgB,IAAK,GAAG8B,MAAYgyB,EAAQC,gBAC5BjzB,IAAI,iBAGRlD,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,MAAAE,SACGk0C,GAAWA,EAAQE,aAChBF,EAAQE,aACR,QAENt0C,eAAA,MAAAE,SACGk0C,GAAWA,EAAQlyB,OAASkyB,EAAQlyB,OAAS,QAEhDhE,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,QAAAE,SACGk0C,GAAWA,EAAQG,OAChB,UAAKH,EAAQI,eACb,SAENx0C,eAAA,KAAAE,SACGk0C,GAAWA,EAAQG,OAChB,UAAKH,EAAQG,SACb,YAGRv0C,eAAA,KAAAE,SACGk0C,GAAWA,EAAQtT,YAChBsT,EAAQtT,YACR,WAGR9gC,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,UACEG,UAAU,SACVge,QAASA,KAAMs2B,OA9FtBC,EA8FgCN,EAAQM,gBA7FzDrzC,EAAQkyB,KAAK,YAAYmhB,KADRA,KA8FoD,EAAAx0C,SAE5Ck0C,GAAWA,EAAQG,OAAS,aAAe,kBAzCjBH,EAAQM,sBAoDxD,IC3KA,MAAMC,GAAmBC,IAC9B,MAAM,OAAE/iB,EAAM,QAAE6B,GAAYkhB,EAEtBC,EAAe,CACnBC,SAAU,YACVC,UAAW,IACXC,iBAAiB,EACjBC,cAAc,EACdC,cAAc,EACdC,WAAW,EACXC,cAAU13C,GAGG,MAAXm0B,EACFwjB,KAAMlxC,QAAQuvB,EAASmhB,GAEvBQ,KAAMpwC,MAAMyuB,EAASmhB,EACvB,E,OC8Ean0C,qBAlCUC,IAChB,CACL,KAMwBwvB,IACnB,CACLJ,WAAYA,KACVI,EAASG,KAAyB,EAEpCjB,gBAAiBA,KACfc,EAASC,KAA4B,EAEvC+W,mBAAoBA,KAClBhX,EAASiY,GAAoBjB,qBAAqB,EAEpDjX,qBAAsBA,KACpBC,EAASM,KAA6C,EAExD+W,yBAA0BA,KACxBrX,EAASkY,KAAoD,EAE/DV,oBAAqBA,KACnBxX,EAASmY,KAA8C,EAEzDH,mBAAoBA,KAClBhY,EAASoY,KAAwC,KAKxC7nC,EAjFmBU,IAEhC,MAAM,gBACJk0C,EAAe,WAEfvlB,EAAU,gBACVV,EAAe,qBACfa,EAAoB,mBACpBiX,EAAkB,yBAClBK,EAAwB,oBACxBG,EAAmB,mBACnBQ,GAGE/mC,EAEEC,EAAUm1B,uBAYhB,OACEtY,gBAACq3B,GAAW,CACV5Y,KAAM2Y,EACN9B,SAAS,WACTgC,gBAAgB,uBAAsBt1C,SAAA,CAEtCF,eAAA,OAAKsgB,IAAKpb,GAAO8S,aAAc7X,UAAU,uBAAuBihB,IAAI,yBACpEphB,eAAA,OAAKG,UAAU,aAAYD,SAAC,4BAC5BF,eAAA,OAAKG,UAAU,2BAA0BD,SAAC,wGAI1CF,eAAA,OAAMG,UAAU,yBAAyBge,QAtBpB+rB,KACvBna,IACAV,IACAa,IACAiX,IACAK,IACAG,IACAQ,IACA9mC,EAAQkyB,KAAK,IAAI,EAcoDrzB,SAAC,aAGxD,I,OClCHu1C,OArBclZ,IAAuC,IAAtC,KAAEI,EAAI,OAAE4W,EAAM,eAAEmC,GAAgBnZ,EAC5D,OACEre,gBAACwe,KAAK,CAACC,KAAMA,EAAM4W,OAAQA,EAAQiC,gBAAgB,YAAWt1C,SAAA,CAC5DF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IAEzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKsgB,IAAKpb,GAAOuW,gBAAiB2F,IAAI,qBACtCphB,eAAA,OAAKG,UAAU,cAAaD,SAAC,yBAC7Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAAC,8DAC6B,OAE9DF,eAAA,OAAKG,UAAU,iBAAiBge,QAASu3B,EAAex1C,SACtDF,eAAA,UAAAE,SAAQ,uBAIR,E,OCUG21C,OA5BkBtZ,IAAkB,IAAjB,QAAEl7B,GAASk7B,EAI3C,OACEre,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKsgB,IAAKpb,GAAOwW,mBAAoB0F,IAAI,iBAG3ClD,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,gBACjBF,eAAA,QAAMG,UAAU,SAAQD,SAAC,aAAe,sBAC3CF,eAAA,QAAMG,UAAU,YAAWD,SAAC,eAI1CF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKG,UAAU,gBAAgBge,QAjBP23B,KAC5Bz0C,EAAQkyB,KAAK,qBAAqB,EAgBgCrzB,SAC5Dge,gBAAA,UAAAhe,SAAA,CAAQ,aACIF,eAAA,OAAKsgB,IAAKpb,GAAOyW,oBAAqByF,IAAI,yBAItD,EC2iBK20B,OAziBwB30C,IACrC,IAAI,QAAEC,EAAO,aAAE6tB,EAAY,cAAEE,EAAa,uBAAEiH,GAA2Bj1B,EACvE,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC64B,eAAe,EACfC,cAAc,EACdC,0BAA2B,EAC3BC,oBAAqB,EACrBC,SAAU,EACVrxC,QAAS,GACTsxC,UAAW,GACXpxC,OAAO,EACPqxC,aAAc,CAAC,EACfpD,UAAU,EACVC,SAAU,GACVC,UAAW,GACXmD,aAAc,CACZC,gBAAiB,IACjBC,YAAa,IACbC,UAAW,IACXC,eAAgB,IAChBC,mBAAoB,IACpBC,QAAS,KAGXC,aAAc,GACdC,SAAU,GACVpI,OAAQ,KACRqI,8BAA+B,KAC/BC,QAAS,QAIJ3B,EAAiB4B,GAAsB/5B,oBAAS,GAEjDsnB,EAAiBnE,uBAAY7O,UACjC,MAAMvS,QAAiBwS,KAAMC,IAAI,GAAG/O,MAEP,MAAzB1D,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH2hB,SAAUh0B,EAAS0S,KAAKA,KAAKshB,SAC7BC,SAAUj0B,EAAS0S,KAAKA,KAAKuhB,SAC7BC,UAAWl0B,EAAS0S,KAAKA,KAAKwhB,UAC9B8C,0BAA2Bh3B,EAAS0S,KAAKA,KAAKulB,qBAC9ChB,oBAAqBj3B,EAAS0S,KAAKA,KAAKwlB,eACxChB,SAAUl3B,EAAS0S,KAAKA,KAAKylB,OAC7BtyC,QAASma,EAAS0S,KAAKA,KAAK7sB,QAC5BsxC,UAAWn3B,EAAS0S,KAAKA,KAAK4H,OAC9BmV,OAAQzvB,EAAS0S,KAAKA,KAAKod,QAC3BgI,8BAA+B93B,EAAS0S,KAAKA,KAAK0lB,oBAClDL,QAAS/3B,EAAS0S,KAAKA,KAAKod,YAG9B3Y,EAAuB,CACrB3B,UAAWxV,EAAS0S,KAAKA,KAAK2lB,SAC9B5iB,OAAQzV,EAAS0S,KAAKA,KAAK+C,SAG7BuiB,GAAmB,KAEnBxmB,GAAUa,IAAS,IACdA,EACH2kB,0BAA2B,MAE7B7f,EAAuB,CACrB3B,WAAW,EACXC,OAAQ,OAEVuiB,GAAmB,GACrB,GACC,CAAC7gB,IAEJ70B,qBAAU,KACRg2C,IACAC,IACAhT,IACAgH,GAAc,GACb,CAAChH,IAEJ,MAAMgH,EAAeha,UACnB,IACE,MAAMvS,QAAiBwS,KAAMC,IAC3B,GAAGvP,0CAGwB,MAAzBlD,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHulB,aAAc,IAAI53B,EAAS0S,KAAKA,KAAK8lB,WACrCX,SAAU,IAAI73B,EAAS0S,KAAKA,KAAK+lB,mBAGvC,CAAE,MAAO1yC,GACP3D,QAAQC,IAAI0D,EACd,GAGIuyC,EAAa/lB,UACjB,IAAIG,EAAO,CACTgmB,YAAa,OAGf,UACQlmB,KAAMqC,KAAKjP,GAAQ8M,EAC3B,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAEI4yC,EAAcA,KAClBnnB,GAAUqa,IACD,IACFA,EACHiL,eAAe,EACfC,cAAc,EACdhxC,OAAO,KAET,EAGE6yC,EAA6BA,KACjCpnB,GAAUqa,IACD,IACFA,EACH4D,OAAQ,KAEV,EAGE8I,EAAmBhmB,UACvB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAKlJ,IAClC,GAAIltB,OAAOC,KAAKshB,EAAS0S,KAAKA,MAAM/zB,OAAS,GACP,OAAhCqhB,EAAS0S,KAAKA,KAAK4P,SAAmB,CACxC,MAAMA,EAAWtiB,EAAS0S,KAAKA,KAAK4P,SACpC9Q,GAAUqa,IACD,IACFA,EACHuL,aAAc9U,EACdwU,eAAe,EACfO,aAAc,IACTxL,EAAKwL,aACRwB,WAAYvW,EAASwW,YACrBpnB,SAAU4Q,EAAS5Q,SACnBqnB,WAAYzW,EAASyW,WACrBC,YAAa1W,EAAS0W,YACtBC,eAAgB3W,EAAS2W,eACzBC,WAAY5W,EAAS4W,WACrBC,UAAW7W,EAAS6W,UACpBC,WAAY9W,EAAS8W,WACrBC,oBAAqB/W,EAASziB,OAItC,CAEJ,CAAE,MAAO9Z,GACP3D,QAAQC,IAAI0D,EACd,GAEIuzC,EACmC,MAAvC73C,EAAM41C,aAAaC,iBACgB,MAAnC71C,EAAM41C,aAAaE,aACc,MAAjC91C,EAAM41C,aAAaG,WACmB,MAAtC/1C,EAAM41C,aAAaI,gBACuB,MAA1Ch2C,EAAM41C,aAAaK,oBACY,MAA/Bj2C,EAAM41C,aAAaM,QA4Bf4B,EAAiBpc,IACrB3L,GAAUa,IACD,IACFA,EACHglB,aAAc,IACThlB,EAAUglB,aACb,CAACla,EAAEve,OAAO9Y,MAAOq3B,EAAEve,OAAOrgB,UAG9B,EA6BEi7C,EAAyBA,KAC7BhoB,GAAUa,IAAS,IACdA,EACH4kB,oBAAqB,KACpB,EAGCwC,EAA6BA,KACjCjoB,GAAUa,IACD,IACFA,EACH6kB,SAAU,KAEZ,EA2CJ,OACEl4B,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAACq3B,GAAW,CAAC5Y,KAAMh8B,EAAMq1C,cAAezC,OAAQsE,EAAY33C,SAAA,CAC1DF,eAAA,KAAGG,UAAU,8BAA6BD,SAAC,mDAG3CF,eAAA,KAAGG,UAAU,cAAaD,SACxBF,eAAA,KAAAE,SAAI,GAAGS,EAAM21C,aAAa4B,kBAAkBv3C,EAAM21C,aAAanE,yBAAyBxxC,EAAM21C,aAAa2B,iBAE7G/5B,gBAAA,QAAME,SA5FWqT,UACrB4K,EAAEhe,iBACF/c,QAAQC,IAAI,eAAgBZ,EAAM41C,cAClC,IACE,MAAMr3B,QAAiBwS,KAAMqC,KAAKjJ,GAASnqB,EAAM41C,cAC1B,KAAnBr3B,EAAS2S,SACXvwB,QAAQC,IAAI,WAAY2d,GACxBwR,GAAUqa,IACD,IACFA,EACHiL,eAAe,EACfC,cAAc,EACdhxC,OAAO,MAIf,CAAE,MAAOA,GACP3D,QAAQC,IAAI0D,GACZyrB,GAAUqa,IACD,IACFA,EACH9lC,OAAO,KAGb,GAoEmC/E,SAAA,CAjIjB,CAClB,CACEse,MAAO,kBACPxZ,KAAM,mBAER,CACEwZ,MAAO,cACPxZ,KAAM,eAER,CACEwZ,MAAO,YACPxZ,KAAM,aAER,CACEwZ,MAAO,iBACPxZ,KAAM,kBAER,CACEwZ,MAAO,qBACPxZ,KAAM,sBAER,CACEwZ,MAAO,UACPxZ,KAAM,YA2GWsc,KAAI,CAACve,EAAS07B,IAEvBvgB,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,MAAAE,SAAK6C,EAAQyb,QACbN,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,cACf+d,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,SACEK,KAAK,QACLF,UAAU,YACV1C,MAAO,IACPuH,KAAMjC,EAAQiC,KACd4Z,SAAU65B,IAEZz4C,eAAA,KAAGG,UAAU,qBAAoBD,SAAC,eAEpCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,SACEK,KAAK,QACLF,UAAU,aACV1C,MAAO,IACPuH,KAAMjC,EAAQiC,KACd4Z,SAAU65B,IAEZz4C,eAAA,KAAGG,UAAU,sBAAqBD,SAAC,YAErCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,SACEK,KAAK,QACLF,UAAU,cACV1C,MAAO,IACPuH,KAAMjC,EAAQiC,KACd4Z,SAAU65B,IAEZz4C,eAAA,KAAGG,UAAU,uBAAsBD,SAAC,qBAM7CS,EAAMsE,OACLjF,eAAA,KAAGG,UAAU,+BAA8BD,SAAC,uCAI9CF,eAAA,UACEmf,WAAUq5B,EACVr4C,UAAU,iBACVE,KAAK,SAAQH,SACd,0BAKLF,eAACu1C,GAAW,CAAC5Y,KAAMh8B,EAAMs1C,aAAc1C,OAAQsE,EAAY33C,SACzDge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,MAAIG,UAAU,OAAMD,SAAC,qCACrBF,eAAA,UAAQG,UAAU,kBAAkBge,QAAS05B,EAAY33C,SAAC,YAM9Dge,gBAACq3B,GAAW,CACV5Y,MAAOh8B,EAAMw1C,oBACb3C,SAAS,WACTgC,gBAAgB,yBAAwBt1C,SAAA,CAExCF,eAAA,OACEsgB,IAAKpb,GAAO6S,QACZ5X,UAAU,yBACVihB,IAAI,YAENphB,eAAA,OAAKG,UAAU,gBAAeD,SAAC,qBAC/BF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,6DAGpCF,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,8EAKnCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,cAAcge,QAASu6B,EAAuBx4C,SAAC,cAGjEF,eAAA,UAAQG,UAAU,cAAcge,QAnIfsT,UACvBvC,IACA,IACE,MAAM0C,EAAO,CACX8F,YAAa,gBACb8B,OAAQ74B,EAAM01C,UACdtxC,QAASpE,EAAMoE,SAEXma,QAAiBwS,KAAMqC,KjEgGZ,sDiEhG0BnC,GACS,YAAhD1S,EAAS0S,KAAK1S,SAAS2S,OAAO/yB,eAChCswB,IACAspB,IACA/D,GAAgB,CACd9iB,OAAQ,IACR6B,QAAS,kCAGXtE,IACAspB,IACA/D,GAAgB,CACd9iB,OAAQ,IACR6B,QAASxU,EAAS0S,KAAK1S,SAASwU,UAGtC,CAAE,MAAOzuB,GACP3D,QAAQC,IAAI0D,GACZmqB,IACAspB,IACA/D,GAAgB,CACd9iB,OAAQ,IACR6B,QAAS,SAEb,GAmGgExzB,SAAC,kBAM/Dge,gBAACq3B,GAAW,CACV5Y,MAAOh8B,EAAMy1C,UAAYz1C,EAAMg0B,OAC/B6e,SAAS,WACTgC,gBAAgB,oBAAmBt1C,SAAA,CAEnCF,eAAA,OAAKsgB,IAAKpb,GAAO4S,QAAS3X,UAAU,oBAAoBihB,IAAI,YAC5DphB,eAAA,OAAKG,UAAU,sBAAqBD,SAAC,gBACrCF,eAAA,OAAKG,UAAU,WAAUD,SAAES,EAAMg0B,SACjC30B,eAAA,OAAKG,UAAU,gBAAeD,SAAC,kEAI/BF,eAAA,OACEG,UAAU,qBACVge,QAASw6B,EAA2Bz4C,SAEpCF,eAAA,UAAQG,UAAU,kBAAiBD,SAAC,YAIxCge,gBAACq3B,GAAW,CACV5Y,MAAOh8B,EAAMy1C,UAAYz1C,EAAMg0B,OAC/B6e,SAAS,WACTgC,gBAAgB,oBAAmBt1C,SAAA,CAEnCF,eAAA,OAAKsgB,IAAKpb,GAAO4S,QAAS3X,UAAU,oBAAoBihB,IAAI,YAC5DphB,eAAA,OAAKG,UAAU,sBAAqBD,SAAC,gBACrCF,eAAA,OAAKG,UAAU,WAAUD,SAAES,EAAMg0B,SACjC30B,eAAA,OAAKG,UAAU,gBAAeD,SAAC,kEAI/BF,eAAA,OACEG,UAAU,qBACVge,QAASw6B,EAA2Bz4C,SAEpCF,eAAA,UAAQG,UAAU,kBAAiBD,SAAC,YAItB,IAAjBS,EAAMguC,QAAgBhuC,EAAMq2C,8BAAgC,GAC3Dh3C,eAACy1C,GAAoB,CACnB9Y,MAAM,EACN4W,OAAQuE,EACRpC,eA1LeA,KACrBr0C,EAAQkyB,KAAK,sBACbukB,GAA4B,IA4L1B93C,eAAC44C,GAAwB,CAACtD,gBAAiBA,IAE3Ct1C,eAAA,OAAKG,UAAU,wCAAuCD,SACpDge,gBAAA,OAAK/d,UAAU,8CAA6CD,SAAA,CACvC,IAAlBS,EAAMs2C,SAAiBt2C,EAAMq2C,8BAAgC,GAC5Dh3C,eAAC61C,GAAwB,CAACx0C,QAASA,IAErCrB,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAC64C,GAAe,QAIpB74C,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAC84C,GAAqB,CAACz3C,QAASA,MAElCrB,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,KAAG6d,KAAK,cAAa77B,SAAA,CACnBF,eAAA,QAAMG,UAAU,eAAcD,SAAC,wBAC/BF,eAAA,QAAMG,UAAU,OAAMD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAO8T,cAAeoI,IAAI,mBAM9CphB,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAACizC,GAAU,CACTC,SAAUvyC,EAAMuyC,SAChBC,SAAUxyC,EAAMwyC,SAChBC,UAAWzyC,EAAMyyC,gBAKvBpzC,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAC8yC,GAAkB,CAACnyC,MAAOA,EAAMm2C,mBAGrC92C,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAC+4C,GAAa,CAAC13C,QAASA,QAG5BrB,eAAA,OAAKG,UAAU,qBAAqB4e,GAAG,aAAY7e,SACjDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAACg5C,GAAkB,CAAC33C,QAASA,QAGjCrB,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAACi5C,GAAe,CAAC53C,QAASA,MAG1B7D,aAAQmD,EAAMo2C,UAmDZ,KAlDF/2C,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,MAAAE,SAAI,gBAGNF,eAAA,OAAKG,UAAU,0BAAyBD,SACpC1C,aAAQmD,EAAMo2C,UAuCZ,KAtCAp2C,EAAMo2C,SAASz1B,KAAKve,GAEhB/C,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,MAAIG,UAAU,YAAWD,SAAE6C,EAAQiC,OACnChF,eAAA,OAAKG,UAAU,mBAAkBD,SAC9B6C,EAAQ+9B,cAEX5iB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,kBAGpCF,eAAA,OAAKG,UAAU,YAAWD,SAAE6C,EAAQorC,UAGtCjwB,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,aAAYD,SAAC,UAC5Bge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CAAC,UACvB6C,EAAQm2C,YAIfl5C,eAAA,OACEwE,MAAO,CAAE2nC,OAAQ,WACjBhsC,UAAU,iBACVge,QAASA,IACPoU,OAAO0K,KAAY,OAAPl6B,QAAO,IAAPA,OAAO,EAAPA,EAASo2C,IAAK,UAC3Bj5C,SACF,cAGDF,eAAA,OAAKG,UAAU,aAAYD,SACxB6C,EAAQq2C,mCAanCp5C,eAACqqC,KAAc,MACN,E,OC7cA3pC,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA/GUU,IACvB,IAAI,eAAED,EAAc,SAAEH,EAAQ,QAAEK,GAAYD,EAC5C,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SACEF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,oBACV7yB,MAAO,CAAEyiC,IAAK,mBAEhBjjC,UAAU,WAAUD,SAEpBF,eAAA,QAAAE,SAAM,uBAGVF,eAAA,MAAAE,SACEF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,oBACV7yB,MAAO,CAAEyiC,IAAK,UAEhBjjC,UAAU,WAAUD,SAEpBF,eAAA,QAAAE,SAAM,2BAGVF,eAAA,MAAAE,SACEF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,oBACV7yB,MAAO,CAAEyiC,IAAK,SAEhBjjC,UAAU,WAAUD,SAEpBF,eAAA,QAAAE,SAAM,aAGVF,eAAA,MAAAE,SACEF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SACE,iFAEJ1V,OAAO,SACP3d,UAAU,WAAUD,SAEpBF,eAAA,QAAAE,SAAM,qBAGVF,eAAA,MAAAE,SACEF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,oBACV7yB,MAAO,CAAEyiC,IAAK,YAEhBjjC,UAAU,WAAUD,SAEpBF,eAAA,QAAAE,SAAM,iBAGVF,eAAA,MAAAE,SACEF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,oBACV7yB,MAAO,CAAEyiC,IAAK,cAEhBjjC,UAAU,WAAUD,SAEpBF,eAAA,QAAAE,SAAM,mBAGVF,eAAA,MAAAE,SACEF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,oBACV7yB,MAAO,CAAEyiC,IAAK,iBAEhBjjC,UAAU,WAAUD,SAEpBF,eAAA,QAAAE,SAAM,2CAYnB,IC2SAQ,qBAxBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBk4C,OAAQ14C,EAAMM,KAAKC,KAAK6D,YAIAorB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrCiG,uBAAyBvG,IACvBK,EAASyE,GAAiB9E,GAAS,KAK1BpvB,EAvXQU,IAAW,IAADk4C,EAC/B,IAAI,OACFx4C,EAAM,QACNO,EAAO,SACPL,EAAQ,eACRG,EAAc,aACd+tB,EAAY,cACZE,EAAa,uBACbiH,EAAsB,OACtBgjB,GACEj4C,EACJ,MAAM03B,EAAWkK,yBACVriC,EAAO+vB,GAAYvT,mBAAS,CACjCnN,MAAO,EACPupC,WAAW,EACXC,kBAAkB,EAClBC,eAAgB,GAChBC,kBAAmB,GACnBC,oBAAoB,EACpBC,QAAS,CAAC,EACVC,MAAO,CAAC,EACRC,gBAAiB,CAAC,IAsBpBt4C,qBAAU,KACHhE,aAAQs7B,EAASn4B,QACY,GAA5Bm4B,EAASn4B,MAAM8yB,YAtBEhC,WACvB,MAAMG,EAAO,CAAEvxB,KAAM,wBACrB,IACE,MAAM6e,QAAiBwS,KAAMqC,KAAK9I,GAAS2G,GACd,MAAzB1S,EAAS0S,KAAKC,QACW,gCAAvB3S,EAAS0S,KAAKA,OAChBtwB,QAAQC,IAAI2d,EAAS0S,MACrBlB,GAAUqa,IACD,IACFA,EACH/6B,MAAOvR,KAAKC,MAAMwgB,EAAS0S,KAAK5hB,OAChCupC,WAAW,MAKrB,CAAE,MAAOt0C,GACP3D,QAAQC,IAAI0D,EACd,GAKI80C,GACAC,KAGJC,GAAa,GACZ,IAEH,MAAMA,EAAcxoB,UAClB,MAAMG,EAAO,CACX8F,YAAa,iBACbwiB,OAAQ,GAAGb,KAEb,IACEnqB,IACA,MAAMhQ,QAAiBwS,KAAMqC,KnE6UZ,sDmE7U0BnC,GACd,YAAzB1S,EAAS0S,KAAKC,SAChBzC,IACA9tB,QAAQC,IAAI2d,EAAS0S,KAAKA,MAC1BlB,GAAUa,IACD,IACFA,EACHmoB,kBAAmBx6B,EAAS0S,KAAKA,KACjC+nB,oBAAoB,MAI5B,CAAE,MAAO10C,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIk1C,EAAeC,IACnB,MAAOrJ,EAAMC,GAAUoJ,EAAO77C,MAAM,KAGpC,MAAO,GAFMwyC,EAAO,IAAM,MAENC,KADPD,GAAQ,GAAK,KAAO,MACK,EAclCiJ,EAAcvoB,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzG,IACJ,MAAzBhM,EAAS0S,KAAKC,SAChBvwB,QAAQC,IAAI2d,EAAS0S,KAAKyoB,MAC1B3pB,GAAUa,IACD,IACFA,EACHkoB,eAAgBv6B,EAAS0S,KAAKA,SAItC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAEI4yC,EAAcA,KAClBnnB,GAAUqa,IACD,IACFA,EACHwO,WAAW,EACXC,kBAAkB,KAEpB,GAEGc,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EASnC,OAPAh5C,qBAAU,KACR+wB,OAAOmR,iBAAiB,SAAU+W,GAE3B,KACLloB,OAAOoR,oBAAoB,SAAU8W,EAAS,IAE/C,CAACH,IAEFp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAACq3B,GAAW,CACV5Y,KAAMh8B,EAAM44C,UACZhG,OAAQsE,EACRrE,SAAS,eACTrzC,UAAU,YAAWD,SAAA,CAErBF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKsgB,IAAKpb,GAAO6K,gBAEnBmO,gBAAA,OAAK/d,UAAU,sDAAqDD,SAAA,CAClEF,eAAA,OAAKsgB,IAAKpb,GAAO8K,QACjBhQ,eAAA,KAAGG,UAAU,eAAcD,SAAES,EAAMqP,QACnChQ,eAAA,KAAGG,UAAU,gBAAeD,SAAC,qBAE/Bge,gBAAA,KAAG/d,UAAU,6BAA4BD,SAAA,CAAC,wBAClBS,EAAMqP,MAAM,mCAEpChQ,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEG,UAAU,UACVge,QAASA,KACPuS,GAAUa,IACD,IACFA,EACHgoB,WAAW,EACXC,kBAAkB,KAEpB,EACFt5C,SACH,wCAKJS,EAAMg5C,oBACL35C,eAAA,OACEG,UAAU,kDACVge,QAAUke,IACJA,EAAEve,OAAO48B,UAAUvR,SAAS,wBAC9BzY,GAAUa,IAAS,IACdA,EACHooB,oBAAqBpoB,EAAUooB,sBAEnC,EACAz5C,SAEFge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,UACEme,QAASA,KACPuS,GAAUa,IAAS,IACdA,EACHopB,aAAcppB,EAAUopB,eACvB,EAELx6C,UAAU,QAAOD,SAEjBF,eAAA,OAAKsgB,IAAKpb,GAAOkD,UAAWgZ,IAAI,YAElClD,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDF,eAAA,OAAKsgB,IAAKpb,GAAOoL,UAAW8Q,IAAI,cAChClD,gBAAA,KAAAhe,SAAA,CAAG,mBACeF,eAAA,QAAAE,SAAO,2BAG3BF,eAAA,OAAKG,UAAU,0BAAyBD,SACd,QADco5C,EACrC34C,EAAM+4C,yBAAiB,IAAAJ,OAAA,EAAvBA,EAAyBh4B,KAAKve,IAC7B,MAAMorC,EAAOprC,EAAQ63C,WAAWr8C,MAAM,KAAK,IACpC6wC,EAAMD,EAAOf,GAAOD,EAAK5vC,MAAM,KAChCs8C,EAAgB,GAAG1L,KAASf,KAAOgB,IACnC0L,EAAWX,EAAYp3C,EAAQg4C,WAC/BC,EAASb,EAAYp3C,EAAQk4C,SAC7BC,EAAgBv6C,EAAMi5C,QAAQ72C,EAAQo4C,QAAU,EAChDC,EAAez6C,EAAMk5C,MAAM92C,EAAQo4C,QAAU,EACnD,OACEj9B,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,iEAAgED,SAAA,CAC7EF,eAAA,KAAAE,SAAI6C,EAAQiqC,UACZhtC,eAAA,KAAAE,SAAI6C,EAAQovC,kBAEdnyC,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,KAAAE,SAAI,GAAG26C,OAAmBC,QAAeE,QAE3Ch7C,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,QAAOD,SACnB,IAAIm7C,MAAM,IAAI/5B,KAAI,CAACg6B,EAAM7c,KACxB,MAAM8c,EAAY9c,EAAQ,EAC1B,OACEvgB,gBAAA,SAAAhe,SAAA,CACEF,eAAA,SACEK,KAAK,QACL5C,MAAO89C,EACPp9B,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACHqoB,QAAS,IACJroB,EAAUqoB,QACb,CAAC72C,EAAQo4C,OAAQI,SAKzBv7C,eAAA,QACE++B,aAAcA,IACZrO,GAAUa,IAAS,IACdA,EACHsoB,MAAO,IACFtoB,EAAUsoB,MACb,CAAC92C,EAAQo4C,OAAQI,OAIvBvc,aAAcA,IACZtO,GAAUa,IAAS,IACdA,EACHsoB,MAAO,IACFtoB,EAAUsoB,MACb,CAAC92C,EAAQo4C,OAAQ,OAGtBj7C,SAEAq7C,IACAH,GAAgBF,GACfl7C,eAAA,OAAKsgB,IAAKpb,GAAOI,cAAe8b,IAAI,SAEpCphB,eAAA,OAAKsgB,IAAKpb,GAAOG,eAAgB+b,IAAI,aAGnC,QAKhBphB,eAAA,SACEK,KAAK,OACLF,UAAU,WACVse,YAAY,iBACZhhB,MAAOkD,EAAMm5C,gBAAgB/2C,EAAQo4C,OACrCv8B,SAAWyd,GA3LImf,EAACnf,EAAGtd,KACrC2R,GAAUa,IAAS,IACdA,EACHuoB,gBAAiB,IAAKvoB,EAAUuoB,gBAAiB,CAAC/6B,GAAKsd,EAAEve,OAAOrgB,UAC/D,EAwLiB+9C,CAA2Bnf,EAAGt5B,EAAQo4C,WAGtC,MAIZn7C,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,UAAQme,QAASA,KA5L3B7c,QAAQC,IAAIZ,EAAMi5C,QAASj5C,EAAMm5C,gBA4LuB,EAAA55C,SAAC,2BAOvDge,gBAACq3B,GAAW,CACV5Y,KAAMh8B,EAAM64C,iBACZjG,OAAQsE,EACR13C,UAAU,mBAAkBD,SAAA,CAE5BF,eAAA,KAAGG,UAAU,cAAaD,SAAC,8BAC3BF,eAAA,KAAAE,SAAG,8EAIHF,eAAA,MAAAE,SACGS,EAAM84C,eAAen4B,KAAKm6B,GAClBz7C,eAAA,MAAAE,SAAoBu7C,EAAM3a,aAAjB2a,EAAM18B,QAW1B/e,eAAA,KAAGG,UAAU,mBAAkBD,SAAC,6BAElCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC1Co6C,GAAe,IAEdp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC+1C,GAA6B,CAAC10C,QAASA,OAI1C6c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gCAGf+d,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC+1C,GAA6B,CAC5B10C,QAASA,EACT6tB,aAAcA,EACdE,cAAeA,EACfiH,uBAAwBA,YAMlCr2B,eAAC67C,GAAgB,OAElB/6C,GAAUd,eAACD,KAAW,MACd,I,cCnNA+7C,OAjKsB16C,IACnC,IAAI,SAAEJ,EAAQ,QAAEK,GAAYD,EAM5B,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,4CAA2CD,SACxDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,OAAKG,UAAU,gBAAeD,SAC1B1C,aAAQwD,GAORhB,eAAA,OAAKsgB,IAAKpb,GAAOqG,WANjBvK,EAASgpC,MAAMnsC,OACbmC,eAAA,OAAKsgB,IAAKtf,EAASgpC,QAEnBhqC,eAAA,OAAKsgB,IAAKpb,GAAOqG,iBAQ3B2S,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,2BAEhCF,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,UAAQC,QAASA,KA/BnC9c,EAAQkyB,KAAK,qBA+B6C,EAAArzB,SAAA,CACtCF,eAAA,OAAKsgB,IAAKpb,GAAOsI,iBAAkB,gBAIzC0Q,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,WAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA4B,KAAhBA,EAASgE,YAIrCkZ,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,kBAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA8B,KAAlBA,EAASw4B,cAIrCtb,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,UAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA2B,KAAfA,EAAS24B,WAIrCzb,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,cAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA+B,KAAnBA,EAAS+D,eAIrCmZ,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,eAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA6B,KAAjBA,EAASy4B,aAIrCvb,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,aAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA8B,KAAlBA,EAAS64B,cAIrC3b,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,YAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAAqC,KAAzBA,EAASo5B,QAAQz5B,aAI7Cud,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,WAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAAoC,KAAxBA,EAASo5B,QAAQG,2BAyChD,EC7FA75B,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAtDMU,IACnB,IAAI,QAAEC,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAU5C,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,6BAA4BD,SAV3CqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC87C,GAA2B,CAC1B96C,SAAUA,EACVK,QAASA,OAKbrB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC87C,GAA2B,CAC1B96C,SAAUA,EACVK,QAASA,cAOZ,I,qBCCA06C,OAxDM36C,IACnB,MAAM,iBACJ46C,EAAgB,kBAChBC,EAAiB,OACjBC,EAAM,oBACNC,EAAmB,oBACnBC,EAAmB,0BACnBC,EAAyB,qBACzBC,GACEl7C,GAEE,sBAAEm7C,EAAqB,cAAEC,EAAa,wBAAEC,GAC5CP,EAEF,OACEl8C,eAAA69B,YAAA,CAAA39B,SACEge,gBAACwe,KAAK,CACJC,KAAMsf,EACN1I,OAAQyI,EACRxG,gBAAgB,eAAct1C,SAAA,CAE9BF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SACvBF,eAAA,MAAAE,SAAI,iBAGNge,gBAACwe,KAAMmX,KAAI,CAAA3zC,SAAA,CACTge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,MAAKD,SAAC,uFAIrBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,2FAMtBq8C,EACE/+C,aAAQg/C,GAEL,KADFL,IAGFj+B,gBAAA2f,YAAA,CAAA39B,SAAA,CACGm8C,IAEAI,EACGL,IACAE,cAKX,EC+KQI,OA9NUt7C,IACvB,MAAM,iBACJ46C,EAAgB,kBAChBC,EAAiB,MACjB3qB,EAAK,UACLuC,EAAS,qBACT8oB,EAAoB,uBACpBC,GACEx7C,GAEG86C,EAAQW,GAAa1/B,mBAAS,CACnCq/B,cAAe,GACfM,yBAA0B,CAAC,EAC3BC,gBAAiB,GACjBR,uBAAuB,EACvBE,yBAAyB,EACzBO,+BAA+B,EAC/BC,qBAAsB,GACtBC,0BAA0B,IAEtBC,EAAcpU,iBAAO,MAE3BvnC,qBAAU,KACJ27C,EAAYv/B,UACdu/B,EAAYv/B,QAAQpZ,MAAMjE,OAAS,OACnC48C,EAAYv/B,QAAQpZ,MAAMjE,OAAS,GAAG48C,EAAYv/B,QAAQw/B,iBAC5D,GACC,CAAClB,EAAOa,kBAEXv7C,qBAAU,KACR67C,GAAkB,GACjB,IAEH,MAAMA,EAAmB5rB,UACvB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAAItG,GAAS,CAAEsI,YAEf,MAAzBzU,EAAS0S,KAAKC,QAChBgrB,GAAWtrB,IAAS,IACfA,EACHirB,cAAe,IAAIt9B,EAAS0S,KAAKA,KAAK0rB,YAG5C,CAAE,MAAOr4C,GACP3D,QAAQC,IAAI0D,EAAMyuB,QACpB,GAGI6pB,EAAiB9rB,UACrB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACX4rB,UAAWtB,EAAOY,yBAAyB/9B,GAC3C21B,WAAgC,OAApBiI,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBjI,WAClC5T,YAAaob,EAAOa,iBAGtB,IACE,MAAM79B,QAAiBwS,KAAMqC,KAAKzI,GAASsG,EAAM,CAAE+B,YAK3C,IAADwK,EAHP,GAA6B,MAAzBjf,EAAS0S,KAAKC,OAChB+qB,IACAZ,SAEA98C,MAAc,OAARggB,QAAQ,IAARA,GAAc,QAANif,EAARjf,EAAU0S,YAAI,IAAAuM,OAAN,EAARA,EAAgBzK,QAE1B,CAAE,MAAO+pB,GACPn8C,QAAQC,IAAIk8C,EAAI/pB,QAClB,GAUIgqB,EAAuBA,KAC3B,GAAIxB,EAAOa,gBAAgBl/C,OAAS,EAAG,CACrC,MAAM8/C,EAAoB,CACxB5+B,GAAIvgB,eACJwG,KAAMk3C,EAAOa,iBAGfF,GAAWtrB,IAAS,IACfA,EACH0rB,qBAAsB,IACjB1rB,EAAU0rB,qBACbU,EClGD,CACL5+B,GAAIvgB,eACJwG,KAJA,uMAKA3E,KAAM,WDkGFo8C,yBAAyB,KAE7B,GAgGImB,EAAgBA,KACpBf,GAAWtrB,IAAS,IACfA,EACHgrB,uBAAuB,EACvBE,yBAAyB,EACzBM,gBAAiB,MAChB,EAGL,OACE/8C,eAAA69B,YAAA,CAAA39B,SACG+7C,GACCj8C,eAAC+7C,GAAW,CACVG,OAAQA,EACRC,oBA3FoBA,IAExBn8C,eAAA,OAAKG,UAAU,iBAAgBD,SAC5Bg8C,EAAOM,cAAcl7B,KAAKve,GAEvB/C,eAAA,OACEG,UAAU,uBACVge,QAASA,IAvBO0/B,KAC1B,MAAMC,EAAY,CAChB/+B,GAAIvgB,eACJwG,KAAM64C,EAAe74C,MAGvB63C,GAAWtrB,IAAS,IACfA,EACHurB,yBAA0Be,EAC1BtB,uBAAuB,EACvBU,qBAAsB,IAAI1rB,EAAU0rB,qBAAsBa,OAG5D5+C,MAAM,4BAA4B,EAUT6+C,CAAmBh7C,GAAS7C,SAG3CF,eAAA,KAAAE,SAAI6C,EAAQiC,QAFPjC,EAAQgc,QAoFjBq9B,oBAtDoBA,IAExBl+B,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,iBAAiBge,QAASo/B,EAAer9C,SACtDF,eAAA,UAAAE,SAAQ,iBAGVF,eAAA,OAAKG,UAAU,uBAAuBge,QAASy/B,EAAc19C,SAC3DF,eAAA,UAAAE,SAAQ,+BA+CRm8C,0BA3E0BA,IAE9Br8C,eAAA,OAAKG,UAAU,OAAMD,SAClBg8C,EAAOe,qBAAqB37B,KAAKve,GAE9B/C,eAAA,OAEEG,UAAW,IACR4C,EAAQ1C,KAEL,uBADA,+BAGN29C,wBAAyB,CAAEC,OAAQl7C,EAAQiC,OANtCjC,EAAQgc,QAsEjBu9B,qBA1CqBA,KAC3B,MAAM4B,EAA2D,IAAzChC,EAAOa,gBAAgBj/C,OAAOD,OACtD,OACEqgB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,YACE0pC,IAAKyT,EACL1+B,YAAY,kBACZG,SAAWyd,GArGcA,KAC/BwgB,GAAWtrB,IAAS,IACfA,EACHwrB,gBAAiB1gB,EAAEve,OAAOrgB,SACzB,EAiGoB0gD,CAAwB9hB,GACzC5+B,MAAOy+C,EAAOa,gBACdh+B,GAAG,WACH/Z,KAAK,WACL65B,KAAK,IACLr6B,MAAO,CAAE45C,UAAW,UAGtBp+C,eAAA,UACEG,UAAW+9C,EAAkB,WAAa,UAC1C//B,QAAS+/B,EAAkB,KAAOR,EAAqBx9C,SAEvDF,eAAA,OAAKsgB,IAAKpb,GAAOoO,cAAe8N,IAAI,eAElC,EAsBF66B,kBAAmBA,EACnBD,iBAAkBA,KAGrB,EEjOP,MAIMqC,GAAqBlqB,aAAY,CACrCnvB,KAAM,SACNovB,aANmB,CACnBkqB,qBAAsB,CAAC,GAMvBjqB,SAAU,CACRkqB,wBAAyBA,CAAC59C,EAAO4zB,KAC/B5zB,EAAM29C,qBAAuB/pB,EAAOzE,OAAO,EAG7C0uB,mBAAqB79C,IACnBA,EAAM29C,qBAAuB,CAAC,CAAC,MAKtBC,wBAAuB,GAAEC,mBAAmB,IACzDH,GAAmB7pB,QAEN6pB,UAA0B,Q,OCmC1BI,OAnDar9C,IAC1B,MAAM,yBAAE87C,EAAwB,wBAAEwB,GAA4Bt9C,GACvDu9C,EAAcC,GAAmBzhC,mBAAS,IAEjD3b,qBAAU,KACRstC,GAAa,GACZ,IAEH,MAAMA,EAAcrd,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI/O,IACJ,MAAzB1D,EAAS0S,KAAKC,QAChB+sB,EAAgB1/B,EAAS0S,KAAKA,KAAK4H,OAEvC,CAAE,MAAOv0B,GACP3D,QAAQC,IAAI0D,EACd,GAGF,OACEiZ,gBAACwe,KAAK,CACJC,KAAMugB,EACN3J,OAAQmL,EACRlJ,gBAAgB,mBAChB5B,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,EAACz1C,UAAU,wBAEpCH,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKsgB,IAAKpb,GAAOqO,WAAY6N,IAAI,eACjCphB,eAAA,MAAAE,SAAI,sBAEJF,eAAA,KAAGG,UAAU,cAAaD,SAAC,8GAK3Bge,gBAAA,KAAG/d,UAAU,gBAAeD,SAAA,CAAC,wCACWy+C,KAGxC3+C,eAAA,OAAKG,UAAU,cAAcge,QAASugC,EAAwBx+C,SAAC,iCAK7D,ECi/BGQ,qBAlCUC,IACvBW,QAAQC,IAAI,QAASZ,GACd,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,SACtBlC,qBAAsBh8C,EAAMm+C,0BAA0BR,yBAI9BnuB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCC,QAAUP,IACRK,EAASG,GAAoBR,GAAS,EAExCU,kBAAoBV,IAClBK,EAASM,GAAwCX,GAAS,EAG5DyuB,wBAA0BzuB,IACxBK,EAASouB,GAAwBzuB,GAAS,EAG5C0uB,mBAAoBA,KAClBruB,EAASquB,KAAqB,KAKrB99C,EA3gC0BU,IACvC,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCsD,YAAa,CACXs+B,oBAAqB,CACnBC,UAAW,CAAC,EACZC,cAAe,GACfC,eAAgB,IAElBj+B,SAAU,GACVk+B,cAAe,GACfp6C,QAAS,GACT80B,OAAQ,GACRJ,MAAO,GACP2lB,aAAa,EACbz+C,MAAO,GACP45B,KAAM,GACN7b,cAAe,GACf2gC,SAAU,GACVC,kBAAkB,GAEpBC,OAAQ,CAAC,EACTC,OAAQ,CAAC,EACTC,eAAgB,CAAC,EACjBC,YAAY,EACZzD,mBAAmB,EACnBiB,0BAA0B,IAE5B,IAAI,QACF77C,EAAO,eACPF,EAAc,aACd+tB,EAAY,cACZE,EAAa,QACbiB,EAAO,kBACPG,EAAiB,MACjBc,EAAK,UACLuC,EAAS,qBACT8oB,EAAoB,wBACpB4B,EAAuB,mBACvBC,GACEp9C,EAEJI,qBAAU,KACRstC,IACA6Q,IACAC,GAAe,GACd,IAEH,MAAMA,EAAgBnuB,UACpBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAIvM,IACJ,MAAzBlG,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHkuB,eAAgBvgC,EAAS0S,KAAKA,WAGhCxC,IACAlwB,MAAMggB,EAAS0S,KAAK8B,SAExB,CAAE,MAAOzuB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAEI6pC,EAAcrd,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI/O,IAEJ,MAAzB1D,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACbQ,SAAU/B,EAAS0S,KAAKA,KAAK5sB,KAC7Bm6C,cAAejgC,EAAS0S,KAAKA,KAAK+H,IAClCjb,cAAeQ,EAAS0S,KAAKA,KAAK4H,OAClCK,OAAQ3a,EAAS0S,KAAKA,KAAKiI,OAC3BJ,MAAOva,EAAS0S,KAAKA,KAAK6H,MAC1B94B,MAAOue,EAAS0S,KAAKA,KAAKwI,QAAQz5B,MAClC45B,KAAMrb,EAAS0S,KAAKA,KAAKwI,QAAQG,KACjCx1B,QAASma,EAAS0S,KAAKA,KAAK7sB,QAC5Bs6C,SAAUngC,EAAS0S,KAAKA,KAAKytB,SAC7BN,oBAAqB,IAChBxtB,EAAU9Q,YAAYs+B,oBACzBG,eAAgBhgC,EAAS0S,KAAKA,KAAKoY,WAK7C,CAAE,MAAO/kC,GACP3D,QAAQC,IAAI0D,EACd,GAGI06C,EAAYluB,UAChB,GAAIc,OAAOC,UAAUC,OACnB,IACE,MAAMvT,QAAiBwS,KAAMC,IAAIpP,IAGJ,MAAzBrD,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHguB,OAAQrgC,EAAS0S,KAAKA,QAG5B,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,MAEA/F,MAAM,wCACR,EAGI2gD,EAAYpuB,UAChB,IAAI9wB,EAAQm/C,EACZ5wB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI,GAAGnP,YAAe7hB,KAKtB,MAAzBue,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHiuB,OAAQtgC,EAAS0S,KAAKA,SAG5B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAQI86C,EAAsBtiC,IAC1B,IACIshC,EAAsB,IADR,IAAKp+C,EAAM8f,aACcs+B,sBACvC,MAAEiB,GAAUviC,EAAMK,OAClBmhC,GATuBgB,EASaD,EAAM,GAR9BE,IAAIC,gBAAgBF,IADTA,MAW3BlB,EAAoBC,UAAYgB,EAAM,GACtCjB,EAAoBE,cAAgBA,EAEpCvuB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACbs+B,oBAAqBA,MAEtB,EAGCqB,EAAyB3iC,IAC7B,IAAI,KAAEzY,EAAI,MAAEvH,GAAUggB,EAAMK,OAE5B,OAAQ9Y,GACN,IAAK,WACH0rB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACbQ,SAAUxjB,EAAM4iD,QAAQ,cAAe,SAG3C,MACF,IAAK,gBACH3vB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACb0+B,cAAe1hD,OAGnB,MACF,IAAK,SACHizB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACboZ,OAAQp8B,OAGZ,MAEF,IAAK,UACHizB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACb1b,QAAStH,OAGb,MAEF,IAAK,QACHizB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACbgZ,MAAOh8B,EAAM4iD,QAAQ,sBAAuB,IAC5CjB,YAAa,kDAAkD7nB,KAC7D95B,QAIN,MACF,IAAK,WACHizB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACb4+B,SAAU5hD,EAAMU,MAAM,EAAG,GACzBmhD,iBAC0C,IAAxC7hD,EAAMU,MAAM,EAAG,GAAG0E,WAAWhF,QACI,SAAjCJ,EAAMU,MAAM,EAAG,GAAG0E,gBAGxB,MACF,IAAK,gBACH6tB,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IACR8Q,EAAU9Q,YACb/B,cAAejhB,OAMvB,EAgGI6iD,EAAmB7uB,UACvB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAKrR,GAAOgQ,GAMzC,OAAwB,MAApBxT,EAAS2S,OACkB,MAAzB3S,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,QACvBX,QAAS7T,EAAS0S,KAAKA,OAIpB,CAAEvtB,OAAQ,EAAGutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG9C,CAAErvB,OAAQ,EAAGutB,KAAM,CAAE8B,QAAS,2BAEzC,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,EAAMia,UACX,CACL7a,OAAQ,EACRutB,KAAM,CAAE8B,QAASzuB,EAAMia,SAAS8U,YAEpC,GAoBIusB,EAAyBA,KAC7B7vB,GAAUa,IAAS,IACdA,EACH0qB,mBAAmB,KAClB,EAGCuE,EAA+BA,KACnC9vB,GAAUa,IAAS,IACdA,EACH2rB,0BAA0B,KACzB,EAYCuD,EAAgBC,mBAAQ,IAE1B1gD,eAAC08C,GAAe,CACdV,iBAAkBuE,EAClBtE,kBAAmBt7C,EAAMs7C,kBACzB/sB,aAAcA,EACdE,cAAeA,EACfkC,MAAOA,EACPuC,UAAWA,EACX8oB,qBAAsBA,EACtBC,uBAAwB4D,KAG3B,CAAC7/C,EAAMs7C,oBAiBV,OACE/9B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACtDF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,gDAA+CD,SAAA,CAC5DF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,UAAQme,QAASA,KA5E3B9c,EAAQkyB,KAAK,kBA4EqC,EAAArzB,SACtCF,eAAA,OAAKsgB,IAAKpb,GAAOmG,QAAS+V,IAAI,SAGlCphB,eAAA,QAAMoe,SAAWX,GAjLIgU,WAC7BhU,EAAMY,iBACN,IAAIoC,EAAc,IAAK9f,EAAM8f,aAE7B,GAAI8R,OAAOC,UAAUC,OAAQ,CAC3BvD,IACA,IAAIwD,EAAW,IAAIiuB,SAEnBjuB,EAASkuB,OAAO,OAAQngC,EAAYQ,UACpCyR,EAASkuB,OAAO,MAAOngC,EAAY0+B,eACnCzsB,EAASkuB,OAAO,SAAUngC,EAAYoZ,QACtCnH,EAASkuB,OAAO,UAAWngC,EAAY1b,SACvC2tB,EAASkuB,OAAO,QAASngC,EAAY9f,OACrC+xB,EAASkuB,OAAO,gBAAiBngC,EAAY/B,eAC7CgU,EAASkuB,OAAO,OAAQngC,EAAY8Z,MAChC9Z,EAAYgZ,OACd/G,EAASkuB,OAAO,QAASngC,EAAYgZ,OAGnChZ,EAAYs+B,oBAAoBE,cAAcphD,QAChD60B,EAASkuB,OAAO,QAASngC,EAAYs+B,oBAAoBC,WAGvDv+B,EAAY4+B,UAAY,KAC1B3sB,EAASkuB,OAAO,WAAYngC,EAAY4+B,UAG1C3sB,EAASkuB,OACP,iBACAz/C,EAAe6xB,cAAc,GAAG7R,WAElC,IAAI+Q,EAAW,CAAC/wB,EAAegyB,cAAc,GAAGhR,WAChDuQ,EAASkuB,OAAO,aAAcv+C,KAAKw+C,UAAU3uB,IAE7CQ,EAASkuB,OAAO,WAAYz/C,EAAe+xB,aAAalR,UACxD0Q,EAASkuB,OAAO,WAAYz/C,EAAeiyB,aAAaxC,UAExD,IAAIiC,QAAyBytB,EAAiB5tB,GAEd,IAA5BG,EAAiBxuB,QACnB+qB,IACAiB,EAAQwC,EAAiBjB,KAAKmB,SAE9BvC,EAAkB,CAChBwC,cAAeH,EAAiBjB,KAAKmB,QAAQE,iBAC7CE,cAAeN,EAAiBjB,KAAKmB,QAAQrS,QAC7CwS,aAAc,CACZlR,SAAU6Q,EAAiBjB,KAAKmB,QAAQ/Q,SACxCC,MAAO4Q,EAAiBjB,KAAKmB,QAAQ9Q,OAEvCmR,aAAc,CACZxC,SAAUiC,EAAiBjB,KAAKmB,QAAQnC,SACxCwB,MAAOS,EAAiBjB,KAAKmB,QAAQX,WAKzChD,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,wCACR,EAmHmC4hD,CAAuBrjC,GAAOvd,SACvDge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CACjCS,EAAM8f,YAAYs+B,oBAAoBE,cACpCphD,OACDmC,eAAA,OACEG,UAAU,cACVmgB,IACE3f,EAAM8f,YAAYs+B,oBAAoBE,gBAGxCt+C,EAAM8f,YAAYs+B,oBAAoBG,eACrCrhD,OACHmC,eAAA,OACEG,UAAU,cACVmgB,IACE3f,EAAM8f,YAAYs+B,oBAAoBG,iBAI1Cl/C,eAAA,OAAKG,UAAU,cAAcmgB,IAAKpb,GAAOqG,WAG3C2S,gBAAA,SAAO/d,UAAU,qBAAoBD,SAAA,CACnCF,eAAA,SACEK,KAAK,OACL2E,KAAK,eACL+Z,GAAG,eACHgiC,OAAO,UACPniC,SAAWnB,GAAUsiC,EAAmBtiC,KAG1Czd,eAAA,QAAAE,SAAM,sBAKdge,gBAAA,MAAI+D,MAAM,0BAA0BlD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAC3DF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,kBACNlD,GAAG,cACH,iBAAe,MACf,iBAAe,WACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,UACd,gBAAc,QAAOhE,SACtB,cAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,WACNlD,GAAG,WACH,iBAAe,MACf,iBAAe,QACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,OACd,gBAAc,OAAMhE,SACrB,qBAKLge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MAAM,4BACNlD,GAAG,UACH7a,KAAK,WACL,kBAAgB,WAAUhE,SAE1Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,MAAAE,SAAI,yBACJF,eAAA,UAAQK,KAAK,SAAS8d,QA5JzB6iC,KACjBtwB,GAAUa,IAAS,IACdA,EACHmuB,YAAanuB,EAAUmuB,cACtB,EAwJ2Dx/C,SACxCF,eAAA,KAAGiiB,MAAM,qBAGb/D,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,SAAOihD,IAAI,WAAU/gD,SAAC,SACtBF,eAAA,SACEK,KAAK,OACL2E,KAAK,WACL+Z,GAAG,WACHthB,MAAOkD,EAAM8f,YAAYQ,SACzBxC,YAAY,OACZG,SAAWnB,GAAU2iC,EAAsB3iC,GAC3C0B,UAAWxe,EAAM++C,aAEnB1/C,eAAA,KACEwE,MAAO,CAAEC,QAAS,QAClBtE,UACEQ,EAAM8f,YAAYQ,WAAatgB,EAAM++C,WACjC,GACA,aACLx/C,SACF,8BAIHge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,SAAOihD,IAAI,gBAAe/gD,SAAC,WAC3BF,eAAA,SACEK,KAAK,OACL2E,KAAK,gBACL+Z,GAAG,gBACHthB,MAAOkD,EAAM8f,YAAY/B,cACzBE,SAAWnB,GAAU2iC,EAAsB3iC,GAC3CgB,YAAY,gBACZU,UAAQ,UAKdjB,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,SAAOihD,IAAI,gBAAe/gD,SAAC,kBAC3BF,eAAA,SACEK,KAAK,OACL2E,KAAK,gBACL+Z,GAAG,gBACHthB,MAAOkD,EAAM8f,YAAY0+B,cACzB1gC,YAAY,gBACZG,SAAWnB,GAAU2iC,EAAsB3iC,GAC3C0B,UAAWxe,EAAM++C,WACjB5gC,UAAQ,OAGZZ,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,SAAOihD,IAAI,QAAO/gD,SAAC,aACnBF,eAAA,SACEK,KAAK,QACL2E,KAAK,QACL+Z,GAAG,QACHthB,MAAOkD,EAAM8f,YAAYgZ,MACzBhb,YAAY,WACZG,SAAWnB,GAAU2iC,EAAsB3iC,GAC3C0B,UAAWxe,EAAM++C,aAEnB1/C,eAAA,KACEwE,MAAO,CAAEC,QAAS,QAClBtE,UACEQ,EAAM8f,YAAY2+B,cAAgBz+C,EAAM++C,WACpC,GACA,aACLx/C,SACF,qCAKLge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOihD,IAAI,QAAO/gD,SAAC,UACnBge,gBAAA,UACEa,GAAG,QACHmiC,aAAcvgD,EAAM8f,YAAY9f,MAChCwgD,eAAgBxgD,EAAM8f,YAAY9f,MAClCie,SAAWnB,GAjXRA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtB4S,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IAAK8Q,EAAU9Q,YAAa9f,MAAOlD,EAAO88B,KAAM,QAG/DslB,EAAUpiD,EAAM,EA0W6B2jD,CAAoB3jC,GACzC0B,UAAWxe,EAAM++C,WACjBx/C,SAAA,CAEAF,eAAA,UAAQvC,MAAM,GAAG0hB,UAAQ,EAAAjf,SACtBS,EAAM8f,YAAY9f,MACfA,EAAM8f,YAAY9f,MAClB,iBAEJnD,aAAQmD,EAAM4+C,QAQZ,KAPA5+C,EAAM4+C,OAAOA,OAAOj+B,KAAI,CAACve,EAAS07B,IAE9Bz+B,eAAA,UAAoBvC,MAAOsF,EAAQ7C,SAChC6C,GADU07B,WASzBvgB,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOihD,IAAI,OAAM/gD,SAAC,SAClBge,gBAAA,UACEa,GAAG,OACHmiC,aAAcvgD,EAAM8f,YAAY8Z,KAChC3b,SAAWnB,GAxXTA,KAC1B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IAAK8Q,EAAU9Q,YAAa8Z,KAAM98B,MAC9C,EAkX0C4jD,CAAmB5jC,GACxC0B,UAAWxe,EAAM++C,WACjBx/C,SAAA,CAEAF,eAAA,UAAQvC,MAAM,GAAG0hB,UAAQ,EAAAjf,SACtBS,EAAM8f,YAAY8Z,MACf55B,EAAM8f,YAAY8Z,KAAK18B,OACrB8C,EAAM8f,YAAY8Z,KAEpB,gBAEJ/8B,aAAQmD,EAAM6+C,QAQZ,KAPA7+C,EAAM6+C,OAAO8B,UAAUhgC,KAAI,CAACve,EAAS07B,IAEjCz+B,eAAA,UAAoBvC,MAAOsF,EAAQ7C,SAChC6C,GADU07B,cAS3BvgB,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOihD,IAAI,SAAQ/gD,SAAC,WACpBge,gBAAA,UACEa,GAAG,SACHthB,MAAOkD,EAAM8f,YAAYoZ,OACzBsnB,eAAgBxgD,EAAM8f,YAAYoZ,OAClCjb,SAAWnB,GAhaPA,KAC5B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtB4S,GAAUa,IAAS,IACdA,EACH9Q,YAAa,IAAK8Q,EAAU9Q,YAAaoZ,OAAQp8B,OAGnDoiD,EAAUpiD,EAAM,EAyZ6B8jD,CAAqB9jC,GAC1C0B,UAAWxe,EAAM++C,WACjBx/C,SAAA,CAQAF,eAAA,UAAQvC,MAAM,OAAMyC,SAAC,SACrBF,eAAA,UAAQvC,MAAM,SAAQyC,SAAC,iBA4B3Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,SAAOihD,IAAI,WAAU/gD,SAAC,aACtBF,eAAA,SACEK,KAAK,SACLmhD,IAAK,KACLx8C,KAAK,WACL+Z,GAAG,WACHthB,MAAOkD,EAAM8f,YAAY4+B,SACzB5gC,YAAY,WACZG,SAAWnB,GAAU2iC,EAAsB3iC,GAC3C0B,UAAWxe,EAAM++C,aAEnB1/C,eAAA,KACEG,UACEQ,EAAM8f,YAAY6+B,iBACd,aACA,GAEN96C,MAAO,CAAEC,QAAS,QAASvE,SAC5B,wCAKLF,eAAA,OAAKG,UAAU,gBAAeD,SAC3BS,EAAM8f,YAAY1b,SACjBmZ,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,SAAOihD,IAAI,UAAS/gD,SAAC,YACrBF,eAAA,SACEK,KAAK,SACLohD,IAAI,IACJz8C,KAAK,UACL+Z,GAAG,UACHthB,MAAOkD,EAAM8f,YAAY1b,QACzBoa,UAAQ,SAMhBnf,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAQH,SAAC,0BAI5BF,eAAA,OACEiiB,MAAM,gBACNlD,GAAG,OACH7a,KAAK,WACL,kBAAgB,cAAahE,UAE1B1C,aAAQmD,EAAM8+C,iBACdjiD,aAAQmD,EAAM8+C,eAAe7hC,WAC/BpgB,aAAQmD,EAAM8+C,eAAeiC,MA+M5BxjC,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAO8D,SAAUoY,IAAI,WAEjCphB,eAAA,MAAAE,SAAI,qBACJF,eAAA,KAAAE,SAAG,kGAIHF,eAAA,UAAQK,KAAK,SAAQH,SAAC,gBAvNxBge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,MAAAE,SAAI,qBACJF,eAAA,OAAKG,UAAU,oBAAmBD,SAC9B1C,aAAQmD,EAAM8+C,gBA6HZ,gDA5HA9+C,EAAM8+C,eAAe7hC,QAAQ/f,OAC3B8C,EAAM8+C,eAAe7hC,QAAQ0D,KAC3B,CAACve,EAAS07B,IAENz+B,eAAA69B,YAAA,CAAA39B,SAoEEge,gBAAA,OAEE/d,UAAU,iBACVqE,MAAO,CAAEm9C,aAAc,QAASzhD,SAAA,CAEhCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7CF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,MAAAE,SAAK6C,EAAQuxC,iBAEfp2B,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SACG4wC,KACC/tC,EAAQ6+C,iBACR7P,OAAO,sBAIf/xC,eAAA,OACEwE,MAAO,CAAEo8B,OAAQ,eAAgB1gC,SAEhC6C,EAAQ8+C,aAEX3jC,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CAAG,SAAE6C,EAAQ++C,cACb5jC,gBAAA,OAAAhe,SAAA,CAEI,IADD6d,SAAShb,EAAQg/C,YAGF,IADbh/C,EAAQi/C,cACNnkD,OACDmC,eAAA,UAAQG,UAAU,aAAYD,SAAC,eAI/BF,eAAA69B,YAAA,KAEJ79B,eAAA,UACEG,UAAU,cACVge,QAASA,IACP9c,EAAQkyB,KAAK,UACdrzB,SACF,yBAxCAu+B,OAkDf,qDAIVvgB,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,MAAAE,SAAI,kBACJF,eAAA,OAAKG,UAAU,oBAAmBD,SAC9B1C,aAAQmD,EAAM8+C,gBAkEZ,wCAjEA9+C,EAAM8+C,eAAeiC,KAAK7jD,OACxB8C,EAAM8+C,eAAeiC,KAAKpgC,KACxB,CAACve,EAAS07B,IAENz+B,eAAA69B,YAAA,CAAA39B,SA4BEge,gBAAA,OAEE/d,UAAU,iBACVqE,MAAO,CAAEm9C,aAAc,QAASzhD,SAAA,CAEhCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7CF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,MAAAE,SAAK6C,EAAQuxC,iBAEfp2B,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SACG4wC,KACC/tC,EAAQ6+C,iBACR7P,OAAO,sBAIf/xC,eAAA,OAAAE,SAAM6C,EAAQ8+C,aACd3jC,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CAAG,SAAE6C,EAAQ++C,cACb9hD,eAAA,OAAAE,SACEF,eAAA,UAAQG,UAAU,cAAaD,SAAC,wBArB/Bu+B,OA+Bf,iEA0B3B99B,EAAMs7C,mBAAqBwE,EAE3B9/C,EAAMu8C,0BACLl9C,eAACy+C,GAAkB,CACjBC,wBAhlB8BuD,KACpCvxB,GAAUa,IAAS,IACdA,EACH2rB,0BAA0B,MAG5B3qB,OAAOuG,SAASwM,QAAQ,EA2kBlB4X,yBAA0Bv8C,EAAMu8C,yBAChChuB,aAAcA,EACdE,cAAeA,EACfkC,MAAOA,EACPuC,UAAWA,MAGN,ICx7BAnzB,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAvDUU,IACvB,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAQpD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kCAAiCD,SAThDqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACkiD,GAA+B,CAC9B/gD,eAAgBA,EAChBE,QAASA,OAKbrB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACkiD,GAA+B,CAC9B/gD,eAAgBA,EAChBE,QAASA,WAMnBrB,eAAC67C,GAAgB,OAElB/6C,GAAUd,eAACD,KAAW,MACd,I,cCmHAoiD,OA1KcA,IAEzBniD,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAACm8B,IAAI,CAACC,GAAG,kBAAiBl8B,SACxBF,eAAA,OAAKsgB,IAAKpb,GAAO2E,0BAKzB7J,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,kBAAiBl8B,SAC3Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,cAAcmgB,IAAKpb,GAAOyG,cACzC3L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOgH,gBAEdlM,eAAA,QAAMG,UAAU,cAAaD,SAAC,gBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,sBAAqBl8B,SAC/Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OACEG,UAAU,cACVmgB,IAAKpb,GAAO0G,kBAEd5L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOiH,oBAEdnM,eAAA,QAAMG,UAAU,cAAaD,SAAC,2BAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,UAASl8B,SACnBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,cAAcmgB,IAAKpb,GAAO2G,gBACzC7L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOkH,kBAEdpM,eAAA,QAAMG,UAAU,cAAaD,SAAC,kBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,kBAAiBl8B,SAC3Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OACEG,UAAU,cACVmgB,IAAKpb,GAAO4G,mBAEd9L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOmH,qBAEdrM,eAAA,QAAMG,UAAU,cAAaD,SAAC,qBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,kBAAiBl8B,SAC3Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OACEG,UAAU,cACVmgB,IAAKpb,GAAO8G,kBAEdhM,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOqH,oBAEdvM,eAAA,QAAMG,UAAU,cAAaD,SAAC,qBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,SAAQl8B,SAClBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,cAAcmgB,IAAKpb,GAAO6G,eACzC/L,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOoH,iBAEdtM,eAAA,QAAMG,UAAU,cAAaD,SAAC,iBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,gBAAel8B,SACzBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OACEG,UAAU,cACVmgB,IAAKpb,GAAO+G,qBAEdjM,eAAA,OACEG,UAAU,gBACVmgB,IAAKpb,GAAOsH,uBAEdxM,eAAA,QAAMG,UAAU,cAAaD,SAAC,+BAO1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,YAAWl8B,SACrBF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,mBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,kBAAiBl8B,SAC3BF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,yBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,qBAAoBl8B,SAC9BF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,4BAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,QAAOl8B,SACjBF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,gBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAG,cAAal8B,SACvBF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,qBAIpCF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CAAC7G,GAAI,CAAC5I,SAAS,iFAAkF1V,OAAO,SAAQ5d,SACtHF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,QAAMG,UAAU,cAAaD,SAAC,uC,cC3ErCkiD,OAlFYA,KACzB,MAAOzhD,EAAO+vB,GAAYvT,mBAAS,CACjCklC,uBAAwB,KAG1B7gD,qBAAU,KACR8gD,GAA2B,GAC1B,IAEH,MAAMA,EAA4B7wB,UAChC,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIxN,IACjC7iB,QAAQC,IAAI2d,GACgB,KAAxBA,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH8wB,uBAAwBnjC,EAAS0S,KAAKA,QAG5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAEF,OACEjF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,iDAAgDD,SAC5DS,EAAM0hD,uBAAuBxkD,OAC1B8C,EAAM0hD,uBAAuB/gC,KAAI,CAACve,EAAS07B,IAEvCvgB,gBAAA,OAAiB/d,UAAU,6BAA4BD,SAAA,CACrDge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAE,aAAa6C,EAAQw/C,cAGtDviD,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAE,UAAK6C,EAAQ++C,sBAOhD5jC,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,aAC9BF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQy/C,yBAGbtkC,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,4BAC9BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE6C,EAAQ0/C,cAEzCvkC,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,aAC9BF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQ2/C,sBAGbxkC,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,YAC9BF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQ6+C,0BApCPnjB,KA2CfvgB,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOiE,gBAAiBiY,IAAI,kBACtCphB,eAAA,KAAAE,SAAG,+BAIL,E,OC6IKyiD,OA5NaA,KAC1B,MAAOhiD,EAAO+vB,GAAYvT,mBAAS,CACjCylC,wBAAyB,GACzBC,qBAAsB,OAWxBrhD,qBAAU,KACRshD,GAA4B,GAC3B,IAEH,MAAMA,EAA6BrxB,UACjC,IACE,MAAMvS,QAAiBwS,KAAMC,IAC3B,qFAEFrwB,QAAQC,IAAI,6BAA8B2d,EAAS0S,KAAKA,MAC3B,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHqxB,wBAAyB1jC,EAAS0S,KAAKA,QAG7C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGF,OACEjF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kDAAiDD,SAC7DS,EAAMiiD,wBAAwB/kD,OAC7B8C,EAAMiiD,wBAAwBthC,KAAI,CAACve,EAAS07B,KAC1C,MAAMskB,EAASpiD,EAAMkiD,uBAAyBpkB,EAE9C,OACEvgB,gBAAA,OAAiB/d,UAAU,6BAA4BD,SAAA,CACrDge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAE,aAAa6C,EAAQigD,uBAGtDhjD,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,UACE/d,UAAU,wBACVge,QAASA,IAhDPsgB,KACtB/N,GAAUa,IAAS,IACdA,EACHsxB,qBACEtxB,EAAUsxB,uBAAyBpkB,EAAQ,KAAOA,KACnD,EA2CgCsL,CAAetL,GAAOv+B,SAAA,CACtC,eAEE6iD,EACC/iD,eAAA,QACEwE,MAAO,CACLwmC,UAAW,kBACXvmC,QAAS,eACTw+C,SAAU,OACVvY,WAAY,OACZxqC,SAED,MAGHF,eAAA,QACEwE,MAAO,CACLwmC,UAAW,gBACXvmC,QAAS,eACTw+C,SAAU,OACVvY,WAAY,OACZxqC,SAED,gBAQZ6iD,GACC7kC,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,WAAUD,SACtB6C,EAAQmgD,gBAAgB5hC,KAAK6hC,GAE1BjlC,gBAAA,OACE/d,UACE,YACmC,GAAlC4C,EAAQmgD,gBAAgBrlD,OACrB,gBACA,SACLqC,SAAA,CAEDF,eAAA,OAAKG,UAAU,cAAaD,SACzBijD,EAAQC,eAGXllC,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,SAAAE,SAAO,aACPge,gBAAA,SAAO/d,UAAU,MAAKD,SAAA,CAAEijD,EAAQE,IAAI,YAEtCnlC,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,SAAAE,SAAO,iBACPF,eAAA,SAAOG,UAAU,MAAKD,SACnB6d,SAASolC,EAAQjK,OAAOoK,eACvB,cAKNplC,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,SAAAE,SAAO,aACPge,gBAAA,SAAO/d,UAAU,MAAKD,SAAA,CAAC,IACnB,IACD6d,SAASolC,EAAQI,UAAUD,eAC1B,eAINtjD,eAAA,MAAIG,UAAU,cACd+d,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,SAAAE,SAAO,UACPF,eAAA,SAAOG,UAAU,MAAKD,SACnB6d,SACColC,EAAQK,kBACRF,eAAe,qBAQ7BplC,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,UAASD,SAAC,0BAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,OAAMD,SAAC,UACxBF,eAAA,SAAOG,UAAU,MAAKD,SACnB6d,SAAShb,EAAQm2C,OAAOoK,eAAe,cAG5CplC,gBAAA,MAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,OAAMD,SAAC,aAExBge,gBAAA,SAAO/d,UAAU,MAAKD,SAAA,CAAC,KAClB6d,SAAShb,EAAQwgD,UAAUD,eAAe,eAGjDplC,gBAAA,MAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,OAAMD,SAAC,oBACxBge,gBAAA,SAAO/d,UAAU,MAAKD,SAAA,CAAC,IACnB,IACD6d,SAAShb,EAAQ0gD,iBAAiBH,eACjC,eAINplC,gBAAA,MAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,OAAMD,SAAC,qBACxBF,eAAA,SAAOG,UAAU,MAAKD,SACnB6d,SAAShb,EAAQ2gD,iBAAiBJ,eACjC,cAINplC,gBAAA,MAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,OAAMD,SAAC,cACxBF,eAAA,SAAOG,UAAU,MAAKD,SACnB6d,SAAShb,EAAQ4gD,aAAaL,eAC7B,iBAKRtjD,eAAA,YAIJke,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,4BAC9BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE6C,EAAQ6gD,eAEzC1lC,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,6BAA4BD,SAAC,WAC1Cge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAC3Bge,gBAAA,QAAM/d,UAAU,MAAKD,SAAA,CAClB,IACDF,eAAA,OAAKsgB,IAAKpb,GAAOiQ,iBAAkBiM,IAAI,WAEzCphB,eAAA,QAAAE,SAAO6C,EAAQ8uB,eAGnB3T,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAC,cAC9Bge,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,UAClC6d,SAAShb,EAAQ4gD,aAAaL,eAAe,oBA/J9C7kB,EAmKJ,IAIVvgB,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKsgB,IAAKpb,GAAOiE,gBAAiBiY,IAAI,kBACtCphB,eAAA,KAAAE,SAAG,+BAIL,EC3HK2jD,OAzF0BA,KACvC,MAAOljD,EAAO+vB,GAAYvT,mBAAS,CACjC2mC,iBAAkB,KAGpBtiD,qBAAU,KACRuiD,GAAqB,GACpB,IAEH,MAAMA,EAAsBtyB,UAC1B,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIxN,IACjC7iB,QAAQC,IAAI2d,GACgB,KAAxBA,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHuyB,iBAAkB5kC,EAAS0S,KAAKA,QAGtC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,2CAA0CD,SACvDF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,iDAAgDD,SAAA,CAC7DF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,MAAI+D,MAAM,eAAelD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAChDF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,kBACNlD,GAAG,aACH,iBAAe,MACf,iBAAe,qBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,oBACd,gBAAc,OAAMhE,SACrB,aAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,WACNlD,GAAG,cACH,iBAAe,MACf,iBAAe,sBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,qBACd,gBAAc,QAAOhE,SACtB,mBAOPF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MAAM,4BACNlD,GAAG,oBACH7a,KAAK,WACL,kBAAgB,aAAYhE,SAE5BF,eAACoiD,GAAkB,MAErBpiD,eAAA,OACEiiB,MAAM,gBACNlD,GAAG,qBACH7a,KAAK,WACL,kBAAgB,cAAahE,SAE7BF,eAAC2iD,GAAmB,mBAOvB,EC3BAjiD,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAjDWU,IACxB,IAAI,QAAEC,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAU5C,OACEpB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kCAAiCD,SAVhDqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC6jD,GAAgC,OAInC7jD,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC6jD,GAAgC,WAKzC7jD,eAAC67C,GAAgB,QAEV,I,cCeAmI,OA/D2BA,KACxC,MAAOrjD,EAAO+vB,GAAYvT,mBAAS,CACjC6rB,kBAAmB,KAGrBxnC,qBAAU,KACRynC,GAAsB,GACrB,IAEH,MAAMA,EAAuBxX,UAC3B,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIvN,IAEL,KAAxBlF,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHyX,kBAAmB9pB,EAAS0S,KAAKA,QAGvC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,4CAA2CD,SACxDge,gBAAA,OAAK/d,UAAU,kDAAiDD,SAAA,CAC9DF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,KAAGG,UAAU,uBAAsBD,SAAC,oBAEtCF,eAAA,OAAKG,UAAU,mCAAkCD,SAC9CS,EAAMqoC,kBAAkBnrC,OACrB8C,EAAMqoC,kBAAkB1nB,KAAI,CAACve,EAAS07B,IAElCvgB,gBAAA,OAAiB/d,UAAU,8BAA6BD,SAAA,CACtDF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO2K,sBAEnB7P,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB6C,EAAQ6mC,yBANLnL,KAYd,8BAYD,ECFA/9B,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAhDYU,IACzB,IAAI,QAAEC,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAU5C,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,mCAAkCD,SAVjDqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACgkD,GAAiC,OAIpChkD,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,mCAAkCD,SAAA,CAC/CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACgkD,GAAiC,cAMnC,I,6DCvCfC,KAAQC,SAASC,KAAYC,KAASC,MACtCJ,KAAQC,SAASI,MAuOFC,OArOcnjD,IAC3B,IAAI,WAAGojD,GAAepjD,EAEtB,MAAOqjD,EAAaC,GAAkBvnC,mBAASqnC,EAAW,GAAGnkD,OACtDskD,EAAOC,GAAYznC,mBAAS,IAEnC3b,qBAAU,KACRqjD,GAAgB,GACf,CAACJ,IAEJ,MAAMI,EAAiBA,KACX,OAAVL,QAAU,IAAVA,KAAYM,QAAQ/hD,IACdA,EAAQ1C,OAASokD,IACnBG,EAAS,CAAC7hD,IACVzB,QAAQC,IAAI,UAAUwB,EAAQ,YAAY,CAACA,IAC7C,GAEI,EAEF6uB,EAAOA,KAAO,IAADmzB,EAAAC,EACSC,EAAAC,EAAAC,EAkBCC,EAAAC,EAAAC,EAgBpBC,EAAAC,EAAAC,EAAAC,EAlCP,OAAwB,IAAb,QAARX,EAAAJ,EAAM,UAAE,IAAAI,OAAA,EAARA,EAAUY,SACJ,CACL,CACE3gD,KAAM,YACNvH,MAAe,QAAVwnD,EAAEN,EAAM,UAAE,IAAAM,OAAA,EAARA,EAAUW,UACjBnmD,MAAO,WAET,CACEuF,KAAM,QACNvH,MAAe,QAAVynD,EAAEP,EAAM,UAAE,IAAAO,OAAA,EAARA,EAAUW,MACjBpmD,MAAO,WAET,CACEuF,KAAM,UACNvH,MAAe,QAAV0nD,EAAER,EAAM,UAAE,IAAAQ,OAAA,EAARA,EAAUW,QACjBrmD,MAAO,YAGW,IAAX,QAARulD,EAAAL,EAAM,UAAE,IAAAK,OAAA,EAARA,EAAUa,OACN,CACL,CAAC7gD,KAAM,UACPvH,MAAe,QAAV2nD,EAAET,EAAM,UAAE,IAAAS,OAAA,EAARA,EAAUO,QACjBlmD,MAAO,WACP,CACEuF,KAAM,YACNvH,MAAe,QAAV4nD,EAAEV,EAAM,UAAE,IAAAU,OAAA,EAARA,EAAUO,UACjBnmD,MAAO,WAET,CACEuF,KAAM,UACNvH,MAAe,QAAV6nD,EAAEX,EAAM,UAAE,IAAAW,OAAA,EAARA,EAAUQ,QACjBrmD,MAAO,YAIH,CACN,CAACuF,KAAM,UACPvH,MAAe,QAAV8nD,EAAEZ,EAAM,UAAE,IAAAY,OAAA,EAARA,EAAUI,QACjBlmD,MAAO,WACP,CACEuF,KAAM,YACNvH,MAAe,QAAV+nD,EAAEb,EAAM,UAAE,IAAAa,OAAA,EAARA,EAAUI,UACjBnmD,MAAO,WAET,CACEuF,KAAM,QACNvH,MAAe,QAAVgoD,EAAEd,EAAM,UAAE,IAAAc,OAAA,EAARA,EAAUI,MACjBpmD,MAAO,WAET,CACEuF,KAAM,UACNvH,MAAe,QAAVioD,EAAEf,EAAM,UAAE,IAAAe,OAAA,EAARA,EAAUI,QACjBrmD,MAAO,WAGb,EAwDIsmD,EAAgBtoC,IACpBinC,EAAejnC,EAAMK,OAAOrgB,MAAM,EAIhCuoD,EAAY,CACdC,OAAQr0B,IAAOtQ,KAAIqqB,GAAQA,EAAK3mC,OAChCkhD,SAAU,CACN,CACIt0B,KAAMA,IAAOtQ,KAAIqqB,GAAuB,cAAf8Y,EAA8BhmD,KAAKC,MAAMitC,EAAKluC,MAAM,IAAKkuC,EAAKluC,QACvFwhC,gBAAiBrN,IAAOtQ,KAAIqqB,GAAQA,EAAKlsC,QACzC0mD,qBAAsBv0B,IAAOtQ,KAAIqqB,GAAQA,EAAKlsC,WAIpDmlC,EAAU,CACdwhB,OAAQ,MAERC,qBAAqB,EAErBC,OAAQ,CACNC,QAAS,CACPC,IAAK,GACLC,OAAQ,GACRC,KAAM,GACN3sC,MAAO,KAGX4sC,QAAS,CACPC,OAAQ,CACNniD,SAAS,GAEXoiD,QAAS,CACPC,SAAS,GAEXC,SAAU,CACRC,QAAS,GAEXC,WAAY,CACVxiD,SAAS,EACTyiD,UAAWA,CAACzpD,EAAO0pD,IAEV,GADOA,EAAQC,MAAMx1B,KAAKq0B,OAAOkB,EAAQE,eAC5B5pD,IAAuB,cAAfgnD,EAA8B,OAAS,MAErEhlD,MAAO,OACP6nD,YAAa,EACbroB,gBAAiB,SAAUkoB,GACzB,OAAOA,EAAQI,QAAQtoB,eACzB,EACAgN,aAAc,EACdsa,QAAS,EACTiB,MAAO,MACPC,OAAQ,MACRC,KAAM,CACJC,KAAM,OAMZ,OACEzpC,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,eAAcD,SAAC,iBAC9BF,eAAA,OAAKG,UAAU,0BAAyBD,SACpC1C,aAAQgnD,GAkBN,KAjBAA,EAAW3mD,OACT2mD,EAAWljC,KAAI,CAACve,EAAS07B,IAErBvgB,gBAAA,OAAiB/d,UAAU,qBAAoBD,SAAA,CAC7CF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQ1C,KAEZ5C,MAAOsF,EAAQ1C,KACfkhB,QAASxe,EAAQ1C,OAASokD,EAC1B7lC,SAAUmnC,IAEZ/lD,eAAA,SAAOwhB,QAASze,EAAQ1C,KAAKH,SAAE6C,EAAQ1C,SAT/Bo+B,KAad,OAQRz+B,eAAA,OAAKG,UAAU,2BAA0BD,SACnCF,eAAC4nD,KAAQ,CAACh2B,KAAMo0B,EAAWphB,QAASA,QAItC,E,OC/GKijB,OAzHwBzmD,IAAW,IAAD2jD,EAAAE,EAAAC,EAAAC,EAAAH,EAAAI,EAC/C,IAAI,WAAEZ,GAAepjD,EACrB,MAAO0mD,EAAWC,GAAgB5qC,mBAASqnC,EAAW,GAAGwD,YAClDrD,EAAOC,GAAYznC,mBAAS,IAEnC3b,qBAAU,KACRymD,GAAqB,GACpB,CAACH,IAEJ,MAAMG,EAAsBA,KAChB,OAAVzD,QAAU,IAAVA,KAAYM,QAAQ/hD,IACdA,EAAQilD,YAAcF,GACxBlD,EAAS,CAAC7hD,GAEZ,GAEI,EAGFgjD,EAAgBtoC,IACpB,MAAM,SAAEyqC,EAAQ,MAAEzqD,GAAUggB,EAAMK,OACjB,UAAboqC,GACFH,EAAatqD,EACf,EAGF,OACEygB,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,eAAcD,SAAC,oBAC9BF,eAAA,OAAKG,UAAU,+BAA8BD,SACzC1C,aAAQgnD,GAoBN,KAnBAA,EAAW3mD,OACT2mD,EAAWljC,KAAI,CAACve,EAAS07B,IAErBvgB,gBAAA,OAAiB/d,UAAU,0BAAyBD,SAAA,CAClDF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQilD,UAEZvqD,MAAOsF,EAAQilD,UACfzmC,QAASxe,EAAQilD,YAAcF,EAC/BlpC,SAAUmnC,IAEZ/lD,eAAA,SAAOwhB,QAASze,EAAQilD,UAAU9nD,SAC/B6C,EAAQilD,cAVHvpB,KAed,OAGRz+B,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,OACVC,UAAW,UACXrc,aAAc,MACd3rC,MAAO,MACP2+B,gBAAiB,UACjBspB,OAAQ,oBAEVpoD,UAAU,WACVqoD,OAAO,MACP/qD,MAAe,QAAVsnD,EAAEJ,EAAM,UAAE,IAAAI,OAAA,EAARA,EAAU0D,QACjBlW,KAAM,GAAW,QAAX0S,EAAGN,EAAM,UAAE,IAAAM,OAAA,EAARA,EAAUwD,kCAEnBhW,YAAa,EACbnzC,WAAW,YAGbU,eAAA,QAAAE,SAAM,aAGRge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,OACVppB,gBAAiB,UACjBqpB,UAAW,YAEbnoD,UAAU,WACV1C,MAAe,QAAVynD,EAAEP,EAAM,UAAE,IAAAO,OAAA,EAARA,EAAUwD,MACjBnW,KAAM,GAAW,QAAX4S,EAAGR,EAAM,UAAE,IAAAQ,OAAA,EAARA,EAAUuD,YACnBjW,YAAa,EAEbnzC,WAAW,YAEbU,eAAA,QAAAE,SAAM,sBAIVF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,OACVppB,gBAAiB,UAEjBqpB,UAAW,YAEbnoD,UAAU,WACV1C,MAAe,QAAVunD,EAAEL,EAAM,UAAE,IAAAK,OAAA,EAARA,EAAU2D,YACjBpW,KAAM,GAAW,QAAX6S,EAAGT,EAAM,UAAE,IAAAS,OAAA,EAARA,EAAUuD,kBACnBlW,YAAa,EACbnzC,WAAW,YAEbU,eAAA,QAAMG,UAAU,uBAAsBD,SAAC,0BAM7C,E,OC7HV0oD,EAAM1E,SAAS2E,MA2DAC,OAzDf,SAAuC1nD,GACrC,IAAI,WAACojD,GAAepjD,EAEpB,MAGM2nD,EAAe,CACnB,CACEhqC,GAAI,eACJiqC,WAAW5B,EAAOR,EAAQhiB,GACxBwiB,EAAMR,OAAOhiB,QAAQkQ,SAAW,SAChC,MAAMmU,EAAW7B,EAAMR,OAAOsC,IAC9B9B,EAAMR,OAAOsC,IAAM,WAEjB,OADAD,EAASE,KAAK/B,EAAMR,OAApBqC,GACQG,KAAK7oD,QAAU,EACzB,CACF,IAIEqxB,EAAO,CACXq0B,OAlBa,CAAC,IAmBdC,SAAU,CACR,CACEzV,MAAO,UACPxR,gBAAiB,UACjBrN,KAAM,CAACjyB,OAAO6kD,EAAW,GAAG6E,QAC5BC,aAAc,GACdrd,aAAa,GAEf,CACEwE,MAAO,YACPxR,gBAAiB,UACjBrN,KAAM,CAACjyB,OAAO6kD,EAAW,GAAG6E,QAC5BC,aAAc,GACdrd,aAAa,KAKnB,OACEjsC,eAAA,OAAKG,UAAU,sBAAsBqE,MAAO,CAAEjE,OAAQ,SAAUL,SAC9DF,eAACupD,KAAG,CACF3kB,QAAS,CAAEyhB,qBAAqB,EAAOO,OAAQ,CAC3C9R,SAAU,UACZ6R,QAAS,CACfM,WAAY,CACVxiD,SAAS,KAGPkiD,QAASoC,EACTn3B,KAAMA,KAId,ECDe43B,OAtDwBpoD,IACrC,IAAI,YAAEqoD,GAAgBroD,EAEtB,MAGM2nD,EAAe,CACnB,CACEhqC,GAAI,eACJiqC,WAAW5B,EAAOR,EAAQhiB,GACxBwiB,EAAMR,OAAOhiB,QAAQkQ,SAAW,SAChC,MAAMmU,EAAW7B,EAAMR,OAAOsC,IAC9B9B,EAAMR,OAAOsC,IAAM,WAEjB,OADAD,EAASE,KAAK/B,EAAMR,OAApBqC,GACQG,KAAK7oD,QAAU,EACzB,CACF,IAIEqxB,EAAO,CACXq0B,OAlBa,CAAC,IAoBdC,SAAU,CACR,CACEzV,MAAO,YACP7e,KAAM,CAACjyB,OAAO8pD,EAAY,GAAGJ,QAC7BpqB,gBAAiB,UACjBqqB,aAAc,IAEhB,CACE7Y,MAAO,cACP7e,KAAM,CAACjyB,OAAO8pD,EAAY,GAAGJ,QAC7BpqB,gBAAiB,UACjBqqB,aAAc,MAKpB,OACEtpD,eAAA,OAAKG,UAAU,sBAAsBqE,MAAO,CAAEjE,OAAQ,SAAUL,SAC9DF,eAACupD,KAAG,CACF3kB,QAAS,CAAEyhB,qBAAqB,EAAOM,QAAS,CACpDM,WAAY,CACVxiD,SAAS,KAGPkiD,QAASoC,EACTn3B,KAAMA,KAEJ,E,OC0GKlxB,oBAAQ,MAXKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAxJf,SAAuCU,GACrC,MAAM,aAAE8tB,EAAY,cAAEE,EAAa,SAAEs6B,GAAatoD,GAC3CuoD,EAAkBC,GAAuBzsC,mBAAS,KAClD0sC,EAAiBC,GAAsB3sC,mBAAS,KAEhD6vB,EAAS+c,GAAc5sC,mBAAS,YAChC6sC,EAAeC,GAAoB9sC,mBAAS,WAEnD3b,qBAAU,KACR0oD,EAAoBld,EAAS,UAAU,GACtC,CAACA,IAEJxrC,qBAAU,KACR2oD,EAAmBnd,EAAS,SAAS,GACpC,CAACgd,IAEJ,MAAMG,EAAqB14B,MAAOub,EAAS3sC,KACzC6uB,IAEA,IACE,MAAM0C,EAAO,CACXob,UACA3sC,QAEI6e,QAAiBwS,KAAMqC,KAC3B/K,GACA4I,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBi4B,EAAmB,IAAI5qC,EAAS0S,KAAKA,KAAKi4B,kBAC1Cz6B,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EAAMyuB,SAClBtE,GACF,GAGI86B,EAAsBz4B,MAAOub,EAAS3sC,KAC1C6uB,IACA,IACE,MAAM0C,EAAO,CACXob,UACA3sC,QAEI6e,QAAiBwS,KAAMqC,KAC3B/K,GACA4I,GAE2B,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IAEAw6B,EAAoB,IAAI1qC,EAAS0S,KAAKA,KAAK+3B,mBAE/C,CAAE,MAAO1kD,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGF,OACElR,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,eAAcD,SAAC,iBAE9BF,eAAA,OAAAE,SACEF,eAAA,UACE4e,SAAWnB,IACTwsC,EAAiBxsC,EAAMK,OAAOrgB,MAAM,EACpCyC,SAEO,OAARwpD,QAAQ,IAARA,OAAQ,EAARA,EAAUpoC,KAAKve,GAEZ/C,eAAA,UAAQvC,MAAOsF,EAAQqnD,QAAQlqD,SAAE6C,EAAQqnD,qBASrDpqD,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,MAAAE,SACG2pD,EAAgBhsD,OAAS,GACxBgsD,EAAgBvoC,KAAKve,GAGjB/C,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,MAAAE,SAAK6C,EAAQmvC,mBAS3Bh0B,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,eAAcD,SAAC,qBAE9BF,eAAA,OAAAE,SACEF,eAAA,UACE4e,SAAWnB,IACTssC,EAAWtsC,EAAMK,OAAOrgB,MAAM,EAC9ByC,SAEO,OAARwpD,QAAQ,IAARA,OAAQ,EAARA,EAAUpoC,KAAKve,GAEZ/C,eAAA,UAAQvC,MAAOsF,EAAQqnD,QAAQlqD,SAAE6C,EAAQqnD,qBASrDpqD,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,MAAAE,SACGypD,EAAiB9rD,OAAS,GACzB8rD,EAAiBroC,KAAKve,GAElB/C,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,MAAAE,SAAK6C,EAAQmvC,qBAUjC,IClJA,MASMmY,GAAkBl2B,aAAY,CAClCnvB,KAAM,aACNovB,aAXmB,CACnBk2B,SAAU,GACVC,QAAS,GACTC,cAAe,GACfC,OAAQ,CAAC,EACTC,aAAc,GACdC,aAAc,IAMdt2B,SAAU,CACRu2B,WAAYA,CAACjqD,EAAO4zB,KAClB5zB,EAAM4pD,QAAUh2B,EAAOzE,OAAO,EAEhC+6B,iBAAkBA,CAAClqD,EAAO4zB,KACxB5zB,EAAM6pD,cAAgBj2B,EAAOzE,OAAO,EAEtCg7B,YAAaA,CAACnqD,EAAO4zB,KACnB5zB,EAAM2pD,SAAW/1B,EAAOzE,OAAO,EAEjCi7B,UAAWA,CAACpqD,EAAO4zB,KACjB5zB,EAAM8pD,OAASl2B,EAAOzE,OAAO,EAE/Bk7B,gBAAiBA,CAACrqD,EAAO4zB,KACvB5zB,EAAM+pD,aAAen2B,EAAOzE,OAAO,EAErCm7B,gBAAiBA,CAACtqD,EAAO4zB,KACvB5zB,EAAMgqD,aAAep2B,EAAOzE,OAAO,EAErCo7B,aAAcA,CAACvqD,EAAO4zB,KACpB5zB,EAAM6pD,cAAgBj2B,EAAOzE,OAAO,MAMxC86B,WAAU,GACVC,iBAAgB,eAChBC,GACAC,UAAS,GACTC,gBAAe,GACfC,gBAAe,GACfC,aACF,IAAIb,GAAgB71B,QAEP22B,GAAoBd,GAAgBe,QCopBlC1qD,qBAtCUC,IAAW,IAAD0qD,EAAAC,EAAAC,EACjC,MAAO,CACLj6B,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtBuB,OAAQz0B,EAAMM,KAAKC,KAAKm4B,QACxBvb,OAAa,OAALnd,QAAK,IAALA,GAAW,QAAN0qD,EAAL1qD,EAAOM,YAAI,IAAAoqD,GAAM,QAANC,EAAXD,EAAanqD,YAAI,IAAAoqD,GAAqB,QAArBC,EAAjBD,EAAmBr4B,iBAAiB,UAAE,IAAAs4B,OAAjC,EAALA,EAAwCztC,OACjD,IAGyBqS,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCo7B,uBAAyB17B,IACvBK,EAASkY,GAAgDvY,GAAS,EAGpE86B,WAAa96B,IACXK,EAASy6B,GAAW96B,GAAS,EAG/B+F,UAAY/F,IACVK,EAAS0F,GAAU/F,GAAS,EAG9BiG,uBAAyBjG,IACvBK,EAAS4F,GAAuBjG,GAAS,EAE3CkG,gBAAkBlG,IAChBK,EAAS6F,GAAgBlG,GAAS,KAKzBpvB,EAjqBwBU,IAAW,IAADqqD,EAAAC,EAC/C,IAAI,QACFrqD,EAAO,eACPF,EAAc,aACd+tB,EAAY,cACZE,EAAa,uBACbo8B,EAAsB,QACtB5mB,EAAO,SACP+mB,EAAQ,MACRr6B,EAAK,UACLuC,EAAS,OACTuB,EAAM,UACNS,EAAS,WACT+0B,EAAU,uBACV70B,EAAsB,gBACtBC,EAAe,OACflY,GACE1c,EAKJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCyuC,QAAS,EAGTC,iBAAkB,CAAC,EAEnBC,iCAAkC,CAChCnf,UAAW,GACXE,YAAa,GACbE,YAAa,IAEfgf,0BAA2B,CAAC,EAC5BC,mBAAoB,CAAC,EACrBC,mCAAmC,EACnCC,6BAA8B,EAE9BC,gCAAiC,CAC/Bxf,UAAW,GACXE,YAAa,GACbE,YAAa,IAEfqf,yBAA0B,CAAC,EAC3BC,kBAAmB,CAAC,EACpBC,kCAAkC,IAGpC9qD,qBAAU,KACc,IAAlBb,EAAMirD,QACRW,IAC2B,IAAlB5rD,EAAMirD,QACfY,IAC2B,IAAlB7rD,EAAMirD,SACfa,GACF,GACC,CAAC9rD,EAAMirD,UAEVpqD,qBAAU,KAEY,IAAlBb,EAAMirD,UACLpuD,aAAQmD,EAAMorD,4BACfprD,EAAMorD,0BAA0B/e,QAAQnvC,QACxC8C,EAAMsrD,mCAENS,GACF,GACC,CAAC/rD,EAAMirD,QAASjrD,EAAMorD,4BAEzBvqD,qBAAU,KAEY,IAAlBb,EAAMirD,UACLpuD,aAAQmD,EAAMyrD,2BACfzrD,EAAMyrD,yBAAyBpf,QAAQnvC,QACvC8C,EAAM2rD,kCAENK,GACF,GACC,CAAChsD,EAAMirD,QAASjrD,EAAMyrD,2BAEzB,MAAMM,EAA+BA,KACnC,IAAI,QAAE1f,GAAYrsC,EAAMorD,0BAExBr7B,GAAUa,IAAS,IACdA,EACHu6B,iCAAkC,IAC7Bv6B,EAAUu6B,iCACbnf,UAAWK,EAAQ,GAAGJ,OACtBC,YAAaG,EAAQ,GAAGF,SACxBC,YAAaC,EAAQ,GAAGP,MAE1Bwf,mCAAmC,MAGrCW,EAAsB5f,EAAQ,GAAGJ,OAAO,EAGpC+f,EAA8BA,KAClC,IAAI,QAAE3f,GAAYrsC,EAAMyrD,yBAExB17B,GAAUa,IAAS,IACdA,EACH46B,gCAAiC,IAC5B56B,EAAU46B,gCACbxf,UAAWK,EAAQ,GAAGJ,OACtBC,YAAaG,EAAQ,GAAGF,SACxBC,YAAaC,EAAQ,GAAGP,MAE1B6f,kCAAkC,MAGpCO,EAAqB7f,EAAQ,GAAGJ,OAAO,EAGnC2f,EAAsB96B,UAC1BvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAIrM,IACJ,MAAzBpG,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHs6B,iBAAkB3sC,EAAS0S,KAAKA,UAGlCxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIunD,EAA+B/6B,UACnC,IAAI2Q,EAAiB,CACnBjgB,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CH,SAAU7gB,EAAe+xB,aAAalR,UAExCkN,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlR,GAAOuf,GACZ,MAAzBljB,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHw6B,0BAA2B7sC,EAAS0S,KAAKA,UAG3CxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI6nD,EAAmBlB,IACvB,OAAQA,GACN,IAAK,gBACHl7B,GAAUa,IAAS,IACdA,EACHq6B,QAAS,EACTK,mCAAmC,MAErC,MACF,IAAK,kBACHv7B,GAAUa,IAAS,IACdA,EACHq6B,QAAS,EACTK,mCAAmC,MAErC,MACF,IAAK,iBACHv7B,GAAUa,IAAS,IACdA,EACHq6B,QAAS,EACTK,mCAAmC,MAKzC,EAiBIW,EAAwBn7B,UAC5BvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAInN,IACJ,MAAzBtF,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHy6B,mBAAoB9sC,EAAS0S,KAAKA,UAGpCxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAuBIwnD,EAA8Bh7B,UAClC,IAAI2Q,EAAiB,CACnBjgB,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CH,SAAU7gB,EAAe+xB,aAAalR,UAExCkN,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlR,GAAOuf,GACZ,MAAzBljB,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH66B,yBAA0BltC,EAAS0S,KAAKA,UAG1CxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAiBI4nD,EAAuBp7B,UAC3BvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI,GAAGlN,iBAAqBsoC,KAC5B,MAAzB7tC,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH86B,kBAAmBntC,EAAS0S,KAAKA,UAGnCxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAyDF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,8CAA6CD,SAC1DF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,MAAAE,SAAI,mBACJF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,MACE/d,UAAU,iCACV4e,GAAG,YACH7a,KAAK,UAAShE,SAAA,CAEdF,eAAA,MACEG,UAAU,2BACV+D,KAAK,eAAchE,SAEnBF,eAAA,UACEG,UAAU,kCACV4e,GAAG,yBACH,iBAAe,OACf,iBAAe,sBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,qBACd,gBAAc,OACdia,QAASA,IAAM2uC,EAAgB,iBAAiB5sD,SACjD,mBAIHF,eAAA,MACEG,UAAU,2BACV+D,KAAK,eAAchE,SAEnBF,eAAA,UACEG,UAAU,2BACV4e,GAAG,4BACH,iBAAe,OACf,iBAAe,yBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,wBACd,gBAAc,QACdia,QAASA,IAAM2uC,EAAgB,mBAAmB5sD,SACnD,2BAMPF,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,OACE/d,UAAU,iCACV4e,GAAG,mBAAkB7e,SAAA,CAGrBF,eAAA,OACEG,UAAU,4CACV4e,GAAG,qBACH7a,KAAK,WACL,kBAAgB,yBAAwBhE,SAExCF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC1B1C,aAAQmD,EAAMkrD,kBAYZ,KAXFlrD,EAAMkrD,iBAAiBmB,qBACpBnvD,OACDmC,eAACukD,GAEC,CACAC,WACE7jD,EAAMkrD,iBACHmB,uBAGL,KAGJxvD,aAAQmD,EAAMkrD,kBAUZ,KATFlrD,EAAMkrD,iBAAiBoB,wBACpBpvD,OACDmC,eAAC6nD,GAA6B,CAC5BrD,WACE7jD,EAAMkrD,iBACHoB,0BAGL,QAIR/uC,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC1B1C,aAAQmD,EAAMkrD,kBAWZ,KAV2C,QAA7CJ,EAAA9qD,EAAMkrD,iBAAiBqB,8BAAsB,IAAAzB,GAA7CA,EACI5tD,OACFmC,eAAC8oD,GACC,CACAtE,WACE7jD,EAAMkrD,iBACHqB,yBAGL,KAGJ1vD,aAAQmD,EAAMkrD,kBASZ,KARkC,QAApCH,EAAA/qD,EAAMkrD,iBAAiBsB,qBAAa,IAAAzB,GAApCA,EAAsC7tD,OACpCmC,eAACwpD,GAA6B,CAC5BhrC,MAAO,YACPirC,YACE9oD,EAAMkrD,iBAAiBsB,gBAGzB,QAIRntD,eAAA,OAAKG,UAAU,gBAAeD,SAC1B1C,aAAQmD,EAAMkrD,kBAMZ,KALF7rD,eAACotD,GAA6B,CAC5B1D,SACE/oD,EAAMkrD,iBAAiBwB,4BAUvCrtD,eAAA,OACEG,UAAU,gCACV4e,GAAG,wBACH7a,KAAK,WACL,kBAAgB,4BAA2BhE,SAE3CF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,wBAAuBD,SA+CpCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,2BAA0BD,SACrC1C,aAAQmD,EAAMqrD,oBAoDZ,KAnDArrD,EAAMqrD,mBAAmBsB,SAAS17B,KAAK/zB,OACrC8C,EAAMqrD,mBAAmBsB,SAAS17B,KAAKtQ,KACrC,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,sBAAqBD,SAAA,CAE/BF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,SAAAE,SAAQ,YAAY4wC,KAClB/tC,EAAQwqD,YACRxb,OACA,sBAGJ/xC,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB6C,EAAQyqD,iBAIfxtD,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,SAAAE,SAAQ,GAAG6C,EAAQ0qD,0BAA0B1qD,EAAQ2qD,sBAAsB3qD,EAAQ4qD,wBAErF3tD,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,SACEG,UAAU,QAMVge,QAASA,IAhW5BsT,WAC7BnwB,QAAQC,IAAI,sBAAuBuc,SAC7BkY,EAAgBlY,GACtB8sC,EAAWgD,EAASC,UACpBh4B,EAAUT,GACVW,GAAuB,GAEvB10B,EAAQkyB,KAAK,CACXC,SAAU,iBACV7yB,MAAO,CACLgwB,KAAM,IAER,EAqVgDm9B,CACE/qD,GAEH7C,SACF,2BAnCFu+B,KA6Cb,gCA0CrB,IC9kBA/9B,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAzDQU,IACrB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EAUpD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAV7CqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC+tD,GAA6B,CAC5B1sD,QAASA,EACTF,eAAgBA,OAKpBnB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC+tD,GAA6B,CAC5B1sD,QAASA,EACTF,eAAgBA,WAM1BnB,eAAC67C,GAAgB,OAElB/6C,GAAUd,eAACD,KAAW,MACd,I,cC0SAW,qBAvBUC,IAChB,CACLqtD,YAAartD,EAAME,aAAamtD,gBAIT79B,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCkW,eAAiBxW,IACfK,EAASiY,GAAoB9B,eAAexW,GAAS,EAEvDyW,aAAezW,IACbK,EAASiY,GAAoB7B,aAAazW,GAAS,KAK1CpvB,EA7VkBU,IAC/B,IAAI,QACFC,EAAO,eACPF,EAAc,YACd6sD,EAAW,eACX1nB,EAAc,aACdC,EAAY,aACZrX,EAAY,cACZE,GACEhuB,GACA,cAAE+xB,EAAa,aAAED,GAAiB/xB,EACtC,MAAM23B,EAAWkK,wBACjB,IAAIirB,EAAen1B,EAAS5G,SAC5B,MAAOvxB,EAAO+vB,GAAYvT,mBAAS,CACjC+wC,mBAAoB,CAClBvhB,UAAW,GACXE,YAAa,GACbE,YAAa,IAEfT,YAAa,CAAC,EACd6hB,UAAW,CAAC,EACZC,qBAAqB,IAGvB5sD,qBAAU,KACR6sD,IACA9hB,GAAgB,GACf,IAEH/qC,qBAAU,MAELhE,aAAQmD,EAAM2rC,cACf3rC,EAAM2rC,YAAYU,QAAQnvC,QAC1B8C,EAAMytD,qBAENE,GACF,GACC,CAAC3tD,EAAM2rC,cAEV,MAAMgiB,EAAiBA,KACrB,IAAI,UAAE3hB,GAAcqhB,GAChB,YAAE1hB,GAAgB3rC,EACtB+vB,GAAUa,IAAS,IAAWA,EAAW68B,qBAAqB,MAE1DzhB,GACF0hB,IACAE,EAAUp7B,EAAc,GAAGhR,UAAWwqB,KAEtCrG,EAAe,CACbqG,UAAWL,EAAYU,QAAQ,GAAGJ,OAClCC,YAAaP,EAAYU,QAAQ,GAAGF,SACpCC,YAAaT,EAAYU,QAAQ,GAAGP,OAEtC/b,GAAUa,IAAS,IACdA,EACH28B,mBAAoB,IACf38B,EAAU28B,mBACbvhB,UAAWL,EAAYU,QAAQ,GAAGJ,OAClCC,YAAaP,EAAYU,QAAQ,GAAGF,SACpCC,YAAaT,EAAYU,QAAQ,GAAGP,UAGxC8hB,EAAUp7B,EAAc,GAAGhR,UAAWmqB,EAAYU,QAAQ,GAAGJ,QAC/D,EAGIyhB,EAAiBA,KACrB39B,GAAUa,IAAS,IACdA,EACH28B,mBAAoB,IACf38B,EAAU28B,mBACbvhB,UAAWqhB,EAAYrhB,UACvBE,YAAamhB,EAAYnhB,YACzBE,YAAaihB,EAAYjhB,gBAE1B,EAGCR,EAAiB9a,UACrB,IAAIG,EAAO,CACTzP,UAAW2W,EAAS5G,SAAW+7B,EAAe96B,EAAc,GAAGhR,UAC/DH,SAAUkR,EAAalR,UAEzBkN,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlR,GAAO+O,GAMzC,GAA6B,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH+a,YAAaptB,EAAS0S,KAAKA,SAEzBkH,EAAS5G,UAAU,CACrB,MAAM,OAAE0a,EAAM,SAAEE,EAAQ,KAAEL,GAASvtB,EAAS0S,KAAKA,KAAKob,QAAQ,GAC9DwhB,EAAoB,GAAI5hB,EAAQE,EAAUL,EAC5C,CAEJ,CAAE,MAAOxnC,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIspD,EAAY98B,MAAOtP,EAAWyqB,KAClC,IAAIhb,EAAO,CACTzP,UAAW2W,EAAS5G,SAAW+7B,EAAe9rC,EAC9C4qC,WAAYngB,GAEd1d,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKjR,GAAQ8O,GAMb,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH48B,UAAWjvC,EAAS0S,KAAKA,SAG/B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI9F,EAA8BC,IAClC,MAAMC,EAAYD,EAAaA,EAAWb,MAAM,KAAO,KAEvD,OAAkB,OAAdc,EACK,CACLC,WAAY,0BAA0BD,EAAU,OAAOA,EAAU,iBAG5D,CACLC,WAAY,UAEhB,EAGIkvD,EAAsBA,CAAC/wC,EAAOmvB,EAAQE,EAAUL,KACpDnG,EAAe,CACbqG,UAAWC,EACXC,YAAaC,EACbC,YAAaN,IAEf/b,GAAUa,IAAS,IACdA,EACH28B,mBAAoB,IACf38B,EAAU28B,mBACbvhB,UAAWC,EACXC,YAAaC,EACbC,YAAaN,OAIjB8hB,EAAUp7B,EAAc,GAAGhR,UAAWyqB,EAAO,EAqC/C,OACE5sC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,oDAAmDD,SAC9D1C,aAAQmD,EAAM2rC,aAkDZ,KAjDA3rC,EAAM2rC,YAAYU,QAAQnvC,OACxB8C,EAAM2rC,YAAYU,QAAQ1rB,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKsgB,IAAKvd,EAAQkqC,MAAO7rB,IAAI,WAE/BphB,eAAA,SACEK,KAAK,QACL0e,GAAI,WAAWhc,EAAQ6pC,SACvB5nC,KAAK,UACLvH,MAAOsF,EAAQ6pC,OACfrrB,QACExe,EAAQ6pC,SACR7uB,SACEpd,EAAMutD,mBAAmBvhB,WAG7B/tB,SAAWnB,GACT+wC,EACE/wC,EACA1a,EAAQ6pC,OACR7pC,EAAQ+pC,SACR/pC,EAAQ0pC,QAIdzsC,eAAA,SACEwhB,QAAS,WAAWze,EAAQ6pC,SAC5BpoC,MACEzB,EAAQ6pC,SACR7uB,SACEpd,EAAMutD,mBAAmBvhB,WAEvBxtC,EACE4D,EAAQ3D,YAEV,CAAC,EACNc,SAEA6C,EAAQ+pC,aAvCNrO,KA4CX,SAIVz+B,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,2BAA0BD,SACrC1C,aAAQmD,EAAMwtD,WA4CdnuD,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKsgB,IAAKpb,GAAO+I,YA5CnBtN,EAAMwtD,UAAUjc,MAAMr0C,OACpB8C,EAAMwtD,UAAUjc,MAAM5wB,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAEEG,UAAU,uBACVge,QAASA,KACPswC,OA1G9BC,EA2GgC3rD,EAAQ2rD,SA1GxCC,EA2GgC5rD,EAAQ4rD,WA1GxCliB,EA2GgC1pC,EAAQ0pC,KA1GxCmiB,EA2GgC7rD,EAAQ6rD,WA1GxCC,EA2GgC9rD,EAAQ8rD,mBA1GxCC,EA2GgC/rD,EAAQ+rD,wBA1GxCC,EA2GgChsD,EAAQgsD,uBA1GxCC,EA2GgCjsD,EAAQisD,mBA1GxCC,EA2GgClsD,EAAQksD,iBA1GxCC,EA2GgCnsD,EAAQmsD,8BAzGxC3oB,EAAa,CACX4oB,QAAST,EACTU,UAAWT,EACXU,UAAW5iB,EACXmiB,WAAYA,EACZC,qBACAC,0BACAC,yBACAC,qBACAC,mBACAC,uCAEF7tD,EAAQkyB,KAAK,CACXC,SAAU,mBACV7yB,MAAOm4B,EAAS5G,WA1BMu8B,IACxBC,EACAC,EACAliB,EACAmiB,EACAC,EACAC,EACAC,EACAC,EACAC,EACAC,CA6G6B,EAAAhvD,SAEDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,iDAAgDD,SAAA,CAC7DF,eAAA,OAAKsgB,IAAKvd,EAAQ0pC,KAAMrrB,IAAI,UAC5BphB,eAAA,KAAGG,UAAU,eAAcD,SACxB6C,EAAQ4rD,kBAIf3uD,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,gBA3B9Bqd,KAkCXz+B,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKsgB,IAAKpb,GAAO+I,8BAgB9B,ICtQAvN,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA3DWU,IACxB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EACpD,MAAOk5C,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAGDp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kCAAiCD,SAC7Co6C,GAAe,IAEdp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACsvD,GAAuB,CACtBjuD,QAASA,EACTF,eAAgBA,OAKpBnB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACsvD,GAAuB,CACtBjuD,QAASA,EACTF,eAAgBA,aAO3BL,GAAUd,eAACD,KAAW,MACd,I,yBC5Df,MAAMwvD,GAA2Bp7B,aAAY,CAC3CnvB,KAAM,sBAENovB,aAAc,CACZo7B,oBAAqB,CAAC,EACtBC,gBAAiB,EACjBC,WAAY,EACZC,eAAgB,EAChBC,iBAAkB,EAClBC,mBAAoB,GAEtBx7B,SAAU,CACRy7B,uBAAwBA,CAACnvD,EAAO4zB,KAC9B5zB,EAAM6uD,oBAAsBj7B,EAAOzE,OAAO,EAG5CigC,kBAAmBA,CAACpvD,EAAO4zB,KACzB5zB,EAAMgvD,eAAiBp7B,EAAOzE,OAAO,EAGvCkgC,mBAAoBA,CAACrvD,EAAO4zB,KAC1B5zB,EAAM+uD,WAAan7B,EAAOzE,OAAO,EAGnCmgC,sBAAuBA,CAACtvD,EAAO4zB,KAC7B5zB,EAAMkvD,mBAAqBt7B,EAAOzE,OAAO,EAG3CogC,oBAAqBA,CAACvvD,EAAO4zB,KAC3B5zB,EAAMivD,iBAAmBr7B,EAAOzE,OAAO,MAKhC,uBACXggC,GAAsB,kBACtBC,GAAiB,mBACjBC,GAAkB,oBAClBE,GAAmB,sBACnBD,IACEV,GAAyB/6B,QACd+6B,UAAgC,QCorDhC7uD,qBAvDUC,IACvBW,QAAQC,IAAI,QAASZ,GACd,CACLQ,eAAgBR,EAAMQ,eACtB6sD,YAAartD,EAAME,aAAamtD,YAChCmC,UAAWxvD,EAAME,aAAasvD,UAC9B7+B,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,cAIE1D,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCuW,WAAa7W,IACXK,EAASiY,GAAoBzB,WAAW7W,GAAS,EAEnD8W,aAAe9W,IACbK,EAASiY,GAAoBxB,aAAa9W,GAAS,EAErD+W,qBAAuB/W,IACrBK,EAASiY,GAAoBvB,qBAAqB/W,GAAS,EAE7DgX,aAAehX,IACbK,EAASiY,GAAoBtB,aAAahX,GAAS,EAErDiX,kBAAoBjX,IAClBK,EAASiY,GAAoBrB,kBAAkBjX,GAAS,EAE1DkX,gBAAkBlX,IAChBK,EAASiY,GAAoBpB,gBAAgBlX,GAAS,EAExDoX,uBAAyBpX,IACvBK,EAASiY,GAAoBlB,uBAAuBpX,GAAS,EAG/Die,gCAAkCje,IAChCK,EAAS2d,GAA0Bhe,GAAS,EAG9CsgC,6BAA+BtgC,IAC7BK,EAAS2/B,GAAuBhgC,GAAS,EAG3CugC,4BAA8BvgC,IAC5BK,EAAS8/B,GAAsBngC,GAAS,KAK/BpvB,EAlsDgBU,IAAW,IAADkvD,EACvC,IAAI,QACFjvD,EAAO,eACPF,EAAc,YACd6sD,EAAW,UACXmC,EAAS,aACTjhC,EAAY,cACZE,EAAa,aACbwX,EAAY,qBACZC,EAAoB,aACpBC,EAAY,kBACZC,EAAiB,gBACjBC,EAAe,uBACfE,EAAsB,MACtB5V,EAAK,UACLuC,EAAS,gCACTka,EAA+B,6BAC/BqiB,EAA4B,4BAC5BC,GACEjvD,GAEA,cAAE+xB,GAAkBhyB,EACxB,MAAM23B,EAAWkK,wBACjB,IAAIutB,EAAQz3B,EAASn4B,MAErB,MAiBOA,EAAO+vB,GAAYvT,mBAAS,CACjCqzC,YAlB+BL,KAC/B,MAAMM,EAAiB,CACrB5B,mBAAoB,EACpBC,wBAAyB,EACzBC,uBAAwB,EACxBE,iBAAkB,EAClBD,mBAAoB,EACpBE,8BAA+B,GAGjC,IAAK,MAAO/sD,EAAK1E,KAAUE,OAAO+yD,QAAQD,GACxC,GAAIN,EAAUhuD,GACZ,OAAO1E,CAEX,EAIakzD,CAAwBR,GACrCS,WAAY,GACZC,qBAAsB,GACtBC,YAAa,CAAC,EACdC,cAAe,GACfC,gBAAiB,CAAC,EAClBC,cAAe,CAAC,EAChBzf,UAAW,CAAC,EACZ0f,WAAY,EACZC,mBAAoB,EACpBC,mBAAoB,CAAC,EACrBC,sBAAuB,CAAC,EACxBC,6BAA8B,CAAC,IAG3BC,EAAgBjxB,uBAAY7O,UAAa,IAAD+/B,EAC5C,IAAI5/B,EACM,GADNA,EAESkH,EAASn4B,MAAQ4vD,EAAQp9B,EAAc,GAAGhR,UAFnDyP,EAGqB,OAAXo8B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UAHvB/a,EAIQu+B,EAAUhB,QAJlBv9B,EAKe,OAALjxB,QAAK,IAALA,GAAyB,QAApB6wD,EAAL7wD,EAAOywD,0BAAkB,IAAAI,OAApB,EAALA,EAA2Bn4B,QAEzCnK,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B,GAAG5O,oBAAwB6O,eAAyBA,gBAA6BA,cAA4BA,gBAA4BA,KAE9G,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHq/B,WAAY,IAAI1xC,EAAS0S,KAAKA,KAAK6/B,UAAU7/B,UAGnD,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,IACC,CACDkuB,EACAo9B,EACAnhC,EACA0J,EAASn4B,MACTuuB,EACK,OAALvuB,QAAK,IAALA,GAAyB,QAApB2vD,EAAL3vD,EAAOywD,0BAAkB,IAAAd,OAApB,EAALA,EAA2Bj3B,QAChB,OAAX20B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACbwjB,EAAUhB,UAGNuC,EAA2BpxB,uBAC/B7O,iBAAqB,IAAdkgC,EAAIC,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAG,EACRhgC,EACqB,OAAXo8B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UADvB/a,EAEQu+B,EAAUhB,QAFlBv9B,EAII+/B,EAERziC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B,GAAG9E,kBAAuB+E,cAA4BA,oBAAgCA,KAEhE,MAApB1S,EAAS2S,QACXnB,GAAUa,IAAS,IACdA,EACHw/B,cAAe7xC,EAAS0S,SAE1BxC,MAEAlwB,MAAMggB,EAAS0S,KAAK8B,SACpBtE,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CACF,GACA,CAACiqB,EAAcE,EAA0B,OAAX4+B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UAAWwjB,EAAUhB,UAG5D0C,EAAiBvxB,uBAAY7O,UACjC,IAAIG,EACM,GADNA,EAESkH,EAASn4B,MAAQ4vD,EAAQp9B,EAAc,GAAGhR,UAFnDyP,EAGqB,OAAXo8B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UAHvB/a,EAIQu+B,EAAUhB,QAEtB,IACE,MAAMjwC,QAAiBwS,KAAMC,IAC3B,GAAG3O,oBAAyB4O,eAAyBA,gBAA6BA,cAA4BA,KAGnF,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHu/B,YAAa5xC,EAAS0S,KAAKA,KAC3Bw/B,mBAAoBlyC,EAAS0S,KAAKA,KAAK6/B,UAAU,MAIvD,CAAE,MAAOxsD,GACP3D,QAAQC,IAAI0D,EACd,IACC,CACDkuB,EACAo9B,EACAz3B,EAASn4B,MACE,OAAXqtD,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACbwjB,EAAUhB,UAGN2C,EAA2BxxB,uBAAY7O,UAC3C,IAAIG,EACM,GADNA,EAESkH,EAASn4B,MAAQ4vD,EAAQp9B,EAAc,GAAGhR,UAFnDyP,EAGqB,OAAXo8B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UAHvB/a,EAIQu+B,EAAUhB,QAJlBv9B,EAKI,EAER,IACE,MAAM1S,QAAiBwS,KAAMC,IAC3B,GAAG3O,oBAAyB4O,eAAyBA,gBAA6BA,cAA4BA,UAAsBA,KAGzG,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH8/B,sBAAuBnyC,EAAS0S,KAAKA,KACrC0/B,6BAA8BpyC,EAAS0S,KAAKA,KAAK6/B,UAAU,MAIjE,CAAE,MAAOxsD,GACP3D,QAAQC,IAAI0D,EACd,IACC,CACDkuB,EACAo9B,EACAz3B,EAASn4B,MACE,OAAXqtD,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACbwjB,EAAUhB,UAQN4C,EAAkBzxB,uBAAY7O,UAClC,IAAI2Q,EAAiB,CACnBjgB,UAAW2W,EAASn4B,MAAQ4vD,EAAQp9B,EAAc,GAAGhR,UACrDusC,SAAUyB,EAAUhB,QACpBwC,KAAM,EACNtxD,KAAM,YAER6uB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK/P,GAAQoe,GACb,MAAzBljB,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH0/B,cAAe/xC,EAAS0S,KAAKA,SAE/BxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,IACC,CACDkuB,EACAo9B,EACAz3B,EAASn4B,MACTwvD,EAAUhB,QACV//B,EACAF,IAII8iC,EAAe1xB,uBAAY7O,UAC/B,IAAIG,EACM,GADNA,EAESkH,EAASn4B,MAAQ4vD,EAAQp9B,EAAc,GAAGhR,UAFnDyP,EAGqB,OAAXo8B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UAHvB/a,EAIQu+B,EAAUhB,QAGtBjgC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B,GAAG1O,oBAAwB2O,eAAyBA,gBAA6BA,cAA4BA,KAGlF,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHigB,UAAWtyB,EAAS0S,KAAKA,SAG/B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,IACC,CACDkuB,EACAo9B,EACAz3B,EAASn4B,MACE,OAAXqtD,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACbwjB,EAAUhB,QACVjgC,EACAE,IAKI6iC,EAAa3xB,uBAAY7O,UAC7B,IAAIG,EAAO,CACTzP,UAAW2W,EAASn4B,MAAQ4vD,EAAQp9B,EAAc,GAAGhR,UACrD9hB,KAAM,MACNquD,SAAUyB,EAAUhB,QACpBwC,KAAM,GAGRziC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK/P,GAAQ4N,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH2gC,eAAgBhzC,EAAS0S,KAAKA,SAGpC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,IACC,CACDkuB,EACAo9B,EACAz3B,EAASn4B,MACTwvD,EAAUhB,QACVjgC,EACAE,IAGI+iC,EAAuB7xB,uBAAY,KAGvC,OAFkB3/B,EAAM6vD,aAGtB,KAAK,EACHqB,IACA,MACF,KAAK,EACHH,IACA,MACF,KAAK,EACHK,IACA,MACF,KAAK,EACHC,IACA,MACF,KAAK,EACHC,IACA,MACF,KAAK,EACHH,IAIJ,GACC,CACDA,EACAG,EACAF,EACAF,EACAG,EACAN,EACA/wD,EAAM6vD,cAGRhvD,qBAAU,KACRqwD,IACAC,IACAK,IACAT,GAA0B,GACzB,CACDI,EACAD,EACAM,EACAT,IAGFlwD,qBAAU,KACR+vD,GAAe,GACd,CAAC5wD,EAAMywD,mBAAoBG,IAE9B,MAAMa,EAAuBrvD,IAC3B2tB,GAAUa,IAAS,IACdA,EACH6/B,mBAAoBruD,MAEtBqsB,GAAe,EAoDXttB,EAAyBC,IAC7B,MAAMC,EAAWC,EAAQ,KAEzB,IAAIC,EAAYH,EACZI,EAAM,+CAEVD,EAAYE,KAAKF,GAEjBA,EAAYG,KAAKC,MAAMJ,GAEvB,MAAMK,EAAKP,EAASQ,IAAIC,OAAOH,MAAMJ,EAAUK,IAEzC9E,EAAQyE,EAAUzE,MAExB0E,EAAMH,EAASQ,IAAIC,OAAOH,MAAMH,GAEhC,IAAIO,EAAYV,EAASW,IAAIC,QAAQnF,EAAO0E,EAAK,CAC/CI,GAAIA,IAKN,OAFAG,EAAYA,EAAUG,SAASb,EAASQ,IAAIM,OAE3BvE,MAAM,KAAK,EAAE,EA0B1B8zD,EAAyB5gC,UAC7B,MAAMvS,OAxBwBuS,WAC9B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BpS,QAAiBwS,KAAMqC,KAC3B,GAAG3R,sBAA4BurB,iDAC/B,CAAEha,YAGJ,OAA6B,MAAzBzU,EAAS0S,KAAKC,SAA2C,IAAzB3S,EAAS0S,KAAKC,OACzC,CACLD,KAAM,EACN8B,QAASxU,EAAS0S,KAAK8B,SAGlB,CACL9B,KAAM,EACN8B,QAASxU,EAAS0S,KAAK8B,QAE3B,EAIuB4+B,CAAwBvvD,EAAQG,SACnDgc,EAAS0S,MACXmc,EAAgC,CAC9BJ,OAAQ5qC,EAAQG,QAChB0qC,QAAQ,EACRC,cAAe,KAGjBxsC,EAAQkyB,KAAK,CACXC,SAAU,aACV7yB,MAAO,CAAEgtC,OAAQ5qC,EAAQG,QAAS0qC,QAAQ,KAE5C/G,EAAqB9jC,IAErB7D,MAAMggB,EAASwU,QACjB,EAGI6+B,EAA2BA,CAAClyD,EAAMuxB,KACtC,GAAa,aAATvxB,EACGuxB,EAAK4gC,YAcR5gC,EAAK0b,eAAiB,WACtB1b,EAAK6gC,aAAe,WACpBzrB,EAAgBpV,GAChBvwB,EAAQkyB,KAAK,CACXC,SAAU,cACV2P,OAAO,EACPxiC,MAAO,CAAEN,KAAM,gBAnBjBuxB,EAAK0b,eAAiB,WACtB1b,EAAK6gC,aAAe,WACpBzrB,EAAgBpV,GAChBvwB,EAAQkyB,KAAK,CACXC,SAAU,cACV2P,OAAO,EACPxiC,MAAO,CACLN,KAAM,WACN8vD,UAAWA,EACXnC,YAAaA,WAad,GAAa,QAAT3tD,EACJuxB,EAAK4gC,YAcR5gC,EAAK0b,eAAiB,WACtB1b,EAAK6gC,aAAe,MACpBzrB,EAAgBpV,GAChBvwB,EAAQkyB,KAAK,CACXC,SAAU,cACV2P,OAAO,EACPxiC,MAAO,CAAEN,KAAM,WAnBjBuxB,EAAK0b,eAAiB,WACtB1b,EAAK6gC,aAAe,MACpBzrB,EAAgBpV,GAChBvwB,EAAQkyB,KAAK,CACXC,SAAU,cACV2P,OAAO,EACPxiC,MAAO,CACLN,KAAM,MACN8vD,UAAWA,EACXnC,YAAaA,WAcnB,GAAqB,IAAjBp8B,EAAKod,QAEP,OAAQ3uC,GACN,IAAK,SACHuxB,EAAK0b,eAAiB,WACtB1G,EAAahV,GACbw+B,EAA6Bx+B,GAC7By+B,EAA4B,GAC5BhvD,EAAQkyB,KAAK,WACb,MACF,IAAK,aA5Jc9B,WACzB,IAAIkc,EAAS7rC,EAAsBiB,EAAQG,SAEvC0uB,EAAO,CACT6f,UAAWC,sBACXC,YAAaD,eACbE,YAAaF,UACbxuC,QAASyqC,EACTttC,KAAM,OAER6uB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKhP,GAAQ6M,GACb,MAAzB1S,EAAS0S,KAAKC,QAChBD,EAAK0b,eAAiB,WACtBvG,EAAkBhkC,GAClB1B,EAAQkyB,KAAK,SAEbnE,MAEAA,IACAlwB,MAAMggB,EAAS0S,KAAK8B,SAExB,CAAE,MAAOzuB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAmIQyiB,CAAmBjgB,GACnB,MACF,IAAK,mBACHA,EAAK0b,eAAiB,WACtBpG,EAAuBtV,GACvBvwB,EAAQkyB,KAAK,sBACb,MACF,IAAK,WAOL,QACE,MANF,IAAK,QACH3B,EAAK0b,eAAiB,WACtBxG,EAAalV,GACbvwB,EAAQkyB,KAAK,eAMjBr0B,MAAM,gCACNmC,EAAQkyB,KAAK,SAEjB,EAGIm/B,EAAsBjhC,UAC1B,IAAIkhC,EAAY,IAAIhyD,EAAMiwD,YAEtBgC,EAAaD,EAAUE,WACxB9vD,GAAYA,EAAQ+vD,WAAa5lB,EAAa4lB,WAGjD,IAAoB,IAAhBF,EAQF,OAPAD,EAAUC,GAAYG,SAAWJ,EAAUC,GAAYG,QAEvDriC,GAAUa,IAAS,IACdA,EACHq/B,WAAY+B,MAMhB,IAAI/gC,EAAO,CACTvxB,KAAM,EACN2yD,aAAc9lB,EAAa4lB,SAC3BjhC,OAAQ8gC,EAAUC,GAAYG,QAAU,EAAI,GAG9C,UACQrhC,KAAMqC,KAAK1P,GAAQuN,EAC3B,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGIguD,EAA6BA,IAE/BjzD,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,eAAcD,UACzB1C,aAAQmD,EAAMmwD,cAChBnwD,EAAMmwD,YAAYW,UAAU5zD,OACxB8C,EAAMmwD,YAAYW,UAAUnwC,KAAI,CAACve,EAAS07B,IACxCvgB,gBAAA,OAAiB/d,UAAU,4BAA2BD,SAAA,CACpDF,eAAA,SACEK,KAAK,QACL0e,GAAI,eAAehc,EAAQiC,OAC3BA,KAAK,cACLvH,MAAOsF,EAAQiC,KACfuc,QACE5gB,EAAMywD,mBAAmBpsD,OAASjC,EAAQiC,KAE5C4Z,SAAUA,IAAMwzC,EAAoBrvD,KAEtCmb,gBAAA,SAAOsD,QAAS,eAAeze,EAAQiC,OAAO9E,SAAA,CAC5CF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKvd,EAAQwqC,SAAUnsB,IAAI,WAEjCre,EAAQiC,UAfHy5B,KAmBZ,OAGNz+B,eAAA,OAAKG,UAAU,sBAAqBD,SACjCS,EAAMiwD,WAAW/yD,OAChBmC,eAAA,OACE+e,GAAG,kBACH5e,UAAU,gBACVqE,MAAO,CACLjE,OAAQ,OACR2rC,SAAU,OACVgnB,UAAW,SACX3M,QAAS,OACTrmD,SAEFF,eAACmzD,KAAc,CACbC,WAAYzyD,EAAMiwD,WAAW/yD,OAC7Bw1D,KAAMC,EACNC,SAAS,EACTC,iBAAiB,kBAAiBtzD,SAElCF,eAAA,OAAKG,UAAU,4BAA2BD,SACvCS,EAAMiwD,WAAWtvC,KAAI,CAACve,EAAS07B,IAC9BvgB,gBAAA,OAAiB/d,UAAU,uBAAsBD,SAAA,CAC/CF,eAAA,OACEG,UAAU,4BACVge,QAASA,IACPo0C,EAAyB,SAAUxvD,GACpC7C,SAEDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKvd,EAAQwqC,SAAUnsB,IAAI,kBAGpClD,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1Cge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,OACEG,UAAU,yBACVge,QAASA,IACPo0C,EAAyB,SAAUxvD,GACpC7C,SAEDF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQyqC,gBAGbxtC,eAAA,OAAKG,UAAU,gBAAeD,SAC3B6C,EAAQgwD,QACP/yD,eAAA,OACEsgB,IAAKpb,GAAO4I,0BACZsT,IAAI,aACJjD,QAASA,IACPu0C,EAAoB3vD,KAIxB/C,eAAA,OACEsgB,IAAKpb,GAAO6I,2BACZqT,IAAI,iBACJjD,QAASA,IACPu0C,EAAoB3vD,UAM9Bmb,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAAC,MACxB6C,EAAQiC,QAEdhF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,SAAAhe,SAAA,CACEF,eAAA,QAAAE,SACEF,eAAA,OACEsgB,IAAKpb,GAAOyI,gBACZyT,IAAI,aAGRphB,eAAA,QAAAE,SAAO6C,EAAQ0qC,uBAIrBztC,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,UACEme,QAASA,IACPo0C,EACE,SACAxvD,GAEH7C,SACF,uBApECu+B,WAgFlBvgB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OAAKsgB,IAAKpb,GAAOgE,iBAAkBkY,IAAI,cACvCphB,eAAA,KAAAE,SAAG,yCAWfuzD,EAAuCA,IAEzCzzD,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,eAAcD,UACzB1C,aAAQmD,EAAM0wD,wBAChB1wD,EAAM0wD,sBAAsBI,UAAU5zD,OAClC8C,EAAM0wD,sBAAsBI,UAAUnwC,KACpC,CAACve,EAAS07B,IACD99B,EAAM0wD,sBAAsBI,UAAU5zD,OAC3C,EACAqgB,gBAAA,OAEE/d,UAAU,4BAA2BD,SAAA,CAErCF,eAAA,SACEK,KAAK,QACL0e,GAAI,eAAehc,EAAQiC,OAC3BA,KAAK,cACLvH,MAAOsF,EAAQiC,KACfuc,QACE5gB,EAAMywD,mBAAmBpsD,OAASjC,EAAQiC,KAE5C4Z,SAAUA,IAAMwzC,EAAoBrvD,KAEtCmb,gBAAA,SAAOsD,QAAS,eAAeze,EAAQiC,OAAO9E,SAAA,CAC5CF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKvd,EAAQwqC,SAAUnsB,IAAI,WAEjCre,EAAQiC,UAjBNy5B,GAoBL,OAGR,OAGNz+B,eAAA,OAAKG,UAAU,sBAAqBD,SACjCS,EAAMkwD,qBAAqBhzD,OAC1BmC,eAAA,OACE+e,GAAG,kBACH5e,UAAU,gBACVqE,MAAO,CACLjE,OAAQ,OACR2rC,SAAU,OACVgnB,UAAW,UACXhzD,SAEFF,eAACmzD,KAAc,CACbC,WAAYzyD,EAAMkwD,qBAAqBhzD,OACvCw1D,KAAMC,EACNC,SAAS,EACTC,iBAAiB,kBAAiBtzD,SAElCF,eAAA,OAAKG,UAAU,4BAA2BD,SACvCS,EAAMkwD,qBAAqBhzD,OAC1B8C,EAAMkwD,qBAAqBvvC,KAAI,CAACve,EAAS07B,IACvCvgB,gBAAA,OAAiB/d,UAAU,uBAAsBD,SAAA,CAC/CF,eAAA,OACEG,UAAU,4BACVge,QAASA,IACPo0C,EAAyB,SAAUxvD,GACpC7C,SAEDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKvd,EAAQwqC,SAAUnsB,IAAI,kBAGpClD,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OACEG,UAAU,yBACVge,QAASA,IACPo0C,EACE,SACAxvD,GAEH7C,SAEDF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQyqC,kBAIfxtC,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAAC,MACxB6C,EAAQiC,UAGhBhF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,UACEme,QAASA,IACPo0C,EACE,SACAxvD,GAEH7C,SACF,uBAzCCu+B,KAkDZvgB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,cAENphB,eAAA,KAAAE,SAAG,oCAMX,gBASZwzD,EAAgCA,IAElC1zD,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OACEG,UAAU,iCACV4e,GAAG,mBAAkB7e,SAErBF,eAAA,OACEG,UAAU,4CACV4e,GAAG,uBACH7a,KAAK,WACL,kBAAgB,2BAA0BhE,SAE1CF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC3C1C,aAAQmD,EAAMowD,cAAcn/B,MAsG5B1T,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,cAENphB,eAAA,KAAAE,SAAG,+CA7GLS,EAAMowD,cAAcn/B,KAAK/zB,OACvB8C,EAAMowD,cAAcn/B,KAAKtQ,KACvB,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,2BAA0BD,SAAA,CAEpCF,eAAA,OAAKG,UAAU,4BAA2BD,SACvC6C,EAAQ+uC,cACP9xC,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OACEsgB,IAAKvd,EAAQ+uC,cACb1wB,IAAI,cAIRphB,eAAA,OACEG,UAAU,gBACVqE,MAAO,CAAE+hD,QAAS,QAASrmD,SAE3BF,eAAA,OACEsgB,IACEpb,GAAOyuD,qBAETnvD,MAAO,CAAElE,MAAO,QAChB8gB,IAAI,gBAKZlD,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQ6wD,kBAGb5zD,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,QAAAE,SACEF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,MAAM6C,EAAQ8wD,gBAIrB31C,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9Cge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,OACEsgB,IACEpb,GAAOoJ,uBAET8S,IAAI,aAENphB,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,GAAG6C,EAAQotC,gBAGhBjyB,gBAAA,QAAAhe,SAAA,CACEF,eAAA,OACEsgB,IAAKpb,GAAO4M,iBACZsP,IAAI,UAENphB,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,GAAG6C,EAAQ+wD,2BAIlB9zD,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,UACEG,UAAU,GACVge,QAASA,IACPk0C,EACEtvD,GAEH7C,SACF,uBAtEFu+B,KAiFbvgB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CACL+sC,UAAW,SACX3Q,OAAQ,QACR1gC,SAAA,CAEFF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,aAENphB,eAAA,KAAAE,SAAG,iDAgBT1C,aAAQmD,EAAMowD,cAAcn/B,MA8C1B,KA7CFjxB,EAAMowD,cAAcn/B,KAAK/zB,OACvBmC,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SACzBS,EAAMwwD,mBAAqB,GAC1BnxD,eAAA,UACEK,KAAK,SACL8d,QAASA,KACPuS,GAAUa,IAAS,IACdA,EACH4/B,mBACE5/B,EAAU4/B,mBAAqB,MAEnCO,EACE/wD,EAAMwwD,mBAAqB,EAC5B,EACDjxD,SACH,WAKLF,eAAA,OAAKG,UAAU,cAAaD,SACzBS,EAAMwwD,mBACLxwD,EAAMowD,cAAcgD,WACpB/zD,eAAA,UACEK,KAAK,SACL8d,QAASA,KACPuS,GAAUa,IAAS,IACdA,EACH4/B,mBACE5/B,EAAU4/B,mBAAqB,MAEnCO,EACE/wD,EAAMwwD,mBAAqB,EAC5B,EACDjxD,SACH,gBAOP,0BAexB8zD,EAA+BA,IAEjCh0D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,MACE/d,UAAU,iCACV4e,GAAG,YACH7a,KAAK,UAAShE,SAAA,CAEdF,eAAA,MAAIG,UAAU,2BAA2B+D,KAAK,eAAchE,SAC1DF,eAAA,UACEG,UAAU,kCACV4e,GAAG,2BACH,iBAAe,OACf,iBAAe,wBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,uBACd,gBAAc,OAAMhE,SACrB,qBAIHF,eAAA,MAAIG,UAAU,2BAA2B+D,KAAK,eAAchE,SAC1DF,eAAA,UACEG,UAAU,2BACV4e,GAAG,2BACH,iBAAe,OACf,iBAAe,wBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,uBACd,gBAAc,QAAOhE,SACtB,2BAMPge,gBAAA,OACE/d,UAAU,iCACV4e,GAAG,mBAAkB7e,SAAA,CAErBF,eAAA,OACEG,UAAU,4CACV4e,GAAG,uBACH7a,KAAK,WACL,kBAAgB,2BAA0BhE,SAE1CF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SACxC1C,aAAQmD,EAAMswD,eAoEd/yC,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,kBAENphB,eAAA,KAAAE,SAAG,iCA3ELS,EAAMswD,cAAcgD,aAAap2D,OAC/B8C,EAAMswD,cAAcgD,aAAanP,QAC9BoP,IAAyB,IAAlBA,EAAG1B,aACX30D,OACA8C,EAAMswD,cAAcgD,aAAa3yC,KAC/B,CAACve,EAAS07B,IAENz+B,eAAA,OAEEG,UAAU,0BACVge,QAASA,IACPo0C,EACE,WACAxvD,GAEH7C,SAEDge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQoxD,kBAGbn0D,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAG6C,EAAQqxD,kCAG9Cp0D,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,QAAAE,SAAM,mBACNF,eAAA,OACEsgB,IAAKpb,GAAO0C,eACZwZ,IAAI,mBAzBPqd,KAmCbvgB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,kBAENphB,eAAA,KAAAE,SAAG,gDAIPge,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,kBAENphB,eAAA,KAAAE,SAAG,uCAkBfF,eAAA,OACEG,UAAU,gCACV4e,GAAG,uBACH7a,KAAK,WACL,kBAAgB,2BAA0BhE,SAE1CF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SACxC1C,aAAQmD,EAAMswD,eAoEd/yC,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,kBAENphB,eAAA,KAAAE,SAAG,iCA3ELS,EAAMswD,cAAcgD,aAAap2D,OAC/B8C,EAAMswD,cAAcgD,aAAanP,QAC9BoP,IAAyB,IAAlBA,EAAG1B,aACX30D,OACA8C,EAAMswD,cAAcgD,aAAa3yC,KAC/B,CAACve,EAAS07B,IAENz+B,eAAA,OAEEG,UAAU,0BACVge,QAASA,IACPo0C,EACE,WACAxvD,GAEH7C,SAEDge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQoxD,kBAGbn0D,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAG6C,EAAQqxD,kCAG9Cp0D,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,QAAAE,SAAM,oBACNF,eAAA,OACEsgB,IAAKpb,GAAO0C,eACZwZ,IAAI,mBAzBPqd,KAmCbvgB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,kBAENphB,eAAA,KAAAE,SAAG,8CAIPge,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OACEsgB,IAAKpb,GAAOgE,iBACZkY,IAAI,kBAENphB,eAAA,KAAAE,SAAG,mDA0BvBm0D,EAA4BA,IAE9Br0D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,2BAA0BD,SACrC1C,aAAQmD,EAAM6wC,WAoCdtzB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OAAKsgB,IAAKpb,GAAOgE,iBAAkBkY,IAAI,kBACvCphB,eAAA,KAAAE,SAAG,8BAxCLS,EAAM6wC,UAAU8iB,UAAU1iC,KAAK/zB,OAC7B8C,EAAM6wC,UAAU8iB,UAAU1iC,KAAKtQ,KAAI,CAACve,EAAS07B,IAEzCz+B,eAAA,OAEEG,UAAU,uBACVge,QAASA,IACPo0C,EAAyB,QAASxvD,GACnC7C,SAEDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQsuC,kBAIfrxC,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAO0C,eAAgBwZ,IAAI,WAfpCqd,KAsBXvgB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OAAKsgB,IAAKpb,GAAOgE,iBAAkBkY,IAAI,kBACvCphB,eAAA,KAAAE,SAAG,sCAmBfq0D,EAA0BA,KAAO,IAADC,EAAAC,EACpC,OACEz0D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,yBAAwBD,SACnC1C,aAAQmD,EAAMuxD,gBA4Cdh0C,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OAAKsgB,IAAKpb,GAAOgE,iBAAkBkY,IAAI,kBACvCphB,eAAA,KAAAE,SAAG,2CAhDA,OAALS,QAAK,IAALA,GAAqB,QAAhB6zD,EAAL7zD,EAAOuxD,sBAAc,IAAAsC,GAAS,QAATC,EAArBD,EAAuBE,eAAO,IAAAD,GAA9BA,EAAgC52D,OAC9B8C,EAAMuxD,eAAewC,QAAQpzC,KAAI,CAACve,EAAS07B,IAEvCz+B,eAAA,OAEEG,UAAU,qBACVge,QAASA,IACPo0C,EAAyB,MAAOxvD,GACjC7C,SAEDge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQoxD,kBAGbn0D,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,GAAG6C,EAAQqxD,kCAIlBp0D,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,QAAAE,SAAM,mBACNF,eAAA,OAAKsgB,IAAKpb,GAAO0C,eAAgBwZ,IAAI,mBAtBtCqd,KA8BXvgB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OAAKsgB,IAAKpb,GAAOgE,iBAAkBkY,IAAI,kBACvCphB,eAAA,KAAAE,SAAG,oDAgBR,EAITy0D,EAAuBl3C,IAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB,OAAQrgB,GACN,IAAK,SACHizB,GAAUa,IAAS,IACdA,EACHi/B,YAAa,EACbU,WAAY,MAEdK,IACA,MACF,IAAK,aACH7gC,GAAUa,IAAS,IACdA,EACHi/B,YAAa,EACbU,WAAY,MAEdQ,IACA,MACF,IAAK,WACHhhC,GAAUa,IAAS,IACdA,EACHi/B,YAAa,EACbU,WAAY,MAEda,IACA,MACF,IAAK,QACHrhC,GAAUa,IAAS,IACdA,EACHi/B,YAAa,EACbU,WAAY,MAEdc,IACA,MAEF,IAAK,MACHthC,GAAUa,IAAS,IACdA,EACHi/B,YAAa,EACbU,WAAY,MAEde,IACA,MAEF,IAAK,oBACHvhC,GAAUa,IAAS,IACdA,EACHi/B,YAAa,EACbU,WAAY,MAEd0D,IAIJ,EAGIA,EAA0BnjC,UAAa,IAADojC,EAC1C,IAAIjjC,EACM,GADNA,EAEI,EAFJA,EAGSkH,EAASn4B,MAAQ4vD,EAAQp9B,EAAc,GAAGhR,UAHnDyP,EAIqB,OAAXo8B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UAJvB/a,EAKQu+B,EAAUhB,QALlBv9B,EAMe,OAALjxB,QAAK,IAALA,GAAmC,QAA9Bk0D,EAALl0D,EAAO2wD,oCAA4B,IAAAuD,OAA9B,EAALA,EAAqCx7B,QAEnDnK,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B,GAAG5O,oBAAwB6O,eAAyBA,gBAA6BA,cAA4BA,gBAA4BA,UAAwBA,KAEtI,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHs/B,qBAAsB,IAAI3xC,EAAS0S,KAAKA,KAAK6/B,UAAU7/B,UAG7D,CAAE,MAAO3sB,GAEP3D,QAAQC,IAAI0D,EACd,GAKF,MAkCMquD,EAAYA,KAlCM7hC,WAAa,IAADqjC,EAClC,IAAIC,EAASt2D,KAAKm/B,KAAKj9B,EAAMiwD,WAAW/yD,OAHzB,IAGgD,EAC3D+zB,EACM,GADNA,EAESkH,EAASn4B,MAAQ4vD,EAAQp9B,EAAc,GAAGhR,UAFnDyP,EAGqB,OAAXo8B,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UAHvB/a,EAIQu+B,EAAUhB,QAJlBv9B,EAKe,OAALjxB,QAAK,IAALA,GAAyB,QAApBm0D,EAALn0D,EAAOywD,0BAAkB,IAAA0D,OAApB,EAALA,EAA2Bz7B,QALrCzH,EAMImjC,EAER7lC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B,GAAG5O,oBAAwB6O,eAAyBA,gBAA6BA,cAA4BA,gBAA4BA,UAAwBA,MAGxI,MAAzB1S,EAAS0S,KAAKC,QACd3S,EAAS0S,KAAKA,KAAK6/B,UAAUsC,aAE7B3kC,IACAsB,GAAUa,IAAS,IACdA,EACHq/B,WAAY,IACPjwD,EAAMiwD,cACN1xC,EAAS0S,KAAKA,KAAK6/B,UAAU7/B,UAIxC,CAAE,MAAO3sB,GAEP3D,QAAQC,IAAI0D,EACd,GAIA+vD,EAAiB,EAUnB,OACEh1D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,sCAAqCD,SAAA,CAClDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,KAd/B9c,EAAQkyB,KAAK,CACXC,SAAU,qBACVtB,SAAU4G,EAASn4B,OAYiC,EAAAT,SACtCF,eAAA,OACEsgB,IAAKpb,GAAOmJ,mBACZ+S,IAAI,4BAIVphB,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAeqE,MAAO,CAAEywD,UAAW,SAAU/0D,SACvDiwD,EAAUf,mBAKnBpvD,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACxCiwD,EAAUtB,mBACT3wC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAG,SACH/Z,KAAK,UACLvH,MAAM,SACNmhB,SAAWnB,GAAUk3C,EAAoBl3C,GACzC8D,QAA+B,IAAtB5gB,EAAM6vD,cAEjBxwD,eAAA,SAAOwhB,QAAQ,SAAQthB,SAAC,sBAExB,KAEHiwD,EAAUrB,wBACT5wC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAG,aACH/Z,KAAK,UACLvH,MAAM,aACNmhB,SAAWnB,GAAUk3C,EAAoBl3C,GACzC8D,QAA+B,IAAtB5gB,EAAM6vD,cAEjBxwD,eAAA,SAAOwhB,QAAQ,aAAYthB,SAAC,kBAE5B,KACHiwD,EAAUpB,uBACT7wC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAG,WACH/Z,KAAK,UACLvH,MAAM,WACNmhB,SAAWnB,GAAUk3C,EAAoBl3C,GACzC8D,QAA+B,IAAtB5gB,EAAM6vD,cAEjBxwD,eAAA,SAAOwhB,QAAQ,WAAUthB,SAAC,gBAE1B,KAEHiwD,EAAUlB,iBACT/wC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAG,MACH/Z,KAAK,UACLvH,MAAM,MACNmhB,SAAWnB,GAAUk3C,EAAoBl3C,GACzC8D,QAA+B,IAAtB5gB,EAAM6vD,cAEjBxwD,eAAA,SAAOwhB,QAAQ,MAAKthB,SAAC,WAErB,KAEHiwD,EAAUnB,mBACT9wC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAG,QACH/Z,KAAK,UACLvH,MAAM,QACNmhB,SAAWnB,GAAUk3C,EAAoBl3C,GACzC8D,QAA+B,IAAtB5gB,EAAM6vD,cAEjBxwD,eAAA,SAAOwhB,QAAQ,QAAOthB,SAAC,aAEvB,KAEHiwD,EAAUjB,8BACThxC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAG,oBACH/Z,KAAK,UACLvH,MAAM,oBACNmhB,SAAWnB,GAAUk3C,EAAoBl3C,GACzC8D,QAA+B,IAAtB5gB,EAAM6vD,cAEjBxwD,eAAA,SAAOwhB,QAAQ,oBAAmBthB,SAAC,yBAInC,UAIRF,eAAA,OAAKG,UAAU,8BAA6BD,SAjyCrCg1D,MAErB,OADkBv0D,EAAM6vD,aAEtB,KAAK,EACH,OAAOyC,IACT,KAAK,EACH,OAAOS,IACT,KAAK,EACH,OAAOM,IACT,KAAK,EACH,OAAOK,IACT,KAAK,EACH,OAAOE,IACT,KAAK,EACH,OAAOd,IACT,QACE,OAAO,KACX,EAixCiByB,oBAQN,IClmDAx0D,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAjDSU,IACtB,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EASpD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,gCAA+BD,SAT9CqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACm1D,GAAqB,CAAC9zD,QAASA,OAIlCrB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACm1D,GAAqB,CAAC9zD,QAASA,aAMzCP,GAAUd,eAACD,KAAW,MACd,I,OC+GAW,qBAVUC,IACvBW,QAAQC,IAAIZ,GACL,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBi0D,kBAAmBz0D,EAAME,aAAau0D,sBAjBdjlC,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAe1B1vB,EAtJsBU,IACnC,IAAI,OACFN,EAAM,eACNK,EAAc,kBACdi0D,EAAiB,SACjBp0D,EAAQ,aACRkuB,EAAY,cACZE,GACEhuB,EAEJ,MAAMC,EAAUm1B,wBAET6+B,EAAaC,GAAkBn4C,mBAAS,IAE/C3b,qBAAU,KACR+zD,GAAyB,GACxB,IAEH,MAAMA,EAA0B9jC,UAC9B,MAAMG,EAAO,CACX7S,GAAIq2C,EACJ/0D,KAAM,SACNm1D,UAAU,GAEZtmC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKjH,GAAS8E,GACnB,MAApB1S,EAAS2S,QACXyjC,EAAep2C,EAAS0S,KAAKA,MAC7BtwB,QAAQC,IAAI,4BAA6B2d,EAAS0S,KAAKA,MACvDxC,MAEAlwB,MAAMggB,EAAS0S,KAAK8B,SACpBtE,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAWIynC,EAAiBA,KACrBrrC,EAAQo0D,QAAQ,EAGlB,OACEv3C,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,mCAAkCD,SAC/CF,eAAA,OAAKG,UAAU,yCAAwCD,SAdvDqyB,OAAOioB,YAAc,IAgBjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,IAC1CrB,eAAA,OAAKG,UAAU,mBAAkBD,SAC/Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,+CAA8CD,SAAA,CAC3DF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,IAAMuuB,IAAiBxsC,SACtCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,sBAGrB1N,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxBm1D,EAAYzB,qBAInB5zD,eAAA,OAAKG,UAAU,sBAAqBD,SAChCF,eAAA,UACE+e,GAAG,SACHuB,IAAK+0C,EAAYO,YACjBp3C,MAAM,sBACNq3C,MAAM,yEACNC,iBAAe,cAO3B53C,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC+1D,GAAgB,IACjB/1D,eAAA,OAAKG,UAAU,mBAAkBD,SAC/Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,+CAA8CD,SAAA,CAC3DF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,IAAMuuB,IAAiBxsC,SACtCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,sBAGrB1N,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxBm1D,EAAYzB,qBAInB5zD,eAAA,OAAKG,UAAU,sBAAqBD,SAChCF,eAAA,UACE+e,GAAG,SACHuB,IAAK+0C,EAAYO,YACjBp3C,MAAM,sBACNq3C,MAAM,yEACNC,iBAAe,kBASjC91D,eAAC67C,GAAgB,IAChB/6C,GAAUd,eAACD,KAAW,MACd,I,mECmUAi2D,OA7bQ50D,IAAW,IAAD60D,EAAAC,EAAAC,EAC/B,MAAM90D,EAAUm1B,uBACVrG,EAAWimC,eACXC,EAAqBC,cACxB31D,IAAK,IAAA41D,EAAAC,EAAA,OAC0B,QAD1BD,EACJ51D,EAAM4uD,gCAAwB,IAAAgH,GAAqB,QAArBC,EAA9BD,EAAgC/G,2BAAmB,IAAAgH,OAArB,EAA9BA,EAAqDlf,mBAAmB,IAGtEmf,EAAmBH,cACtB31D,GAAUA,EAAM4uD,yBAAyBC,sBAWtCkH,GARkBJ,cACrB31D,GAAUA,EAAM4uD,yBAAyBG,aAGrB4G,cACpB31D,GAAUA,EAAM4uD,yBAAyBI,iBAG3B5mB,iBAAO,OAClB4tB,EAAY5tB,iBAAO,OACnB,QAAEnE,EAAO,QAAEgyB,EAAO,OAAEC,EAAM,MAAEC,EAAK,eAAEC,GAAmB31D,GACtD,UAAE41D,GAAc51D,GACfwsC,EAAQqpB,GAAa95C,oBAAS,GAC/B+5C,EAAenuB,iBAAO,GACtBouB,EAAcpuB,iBAAO,OACpBquB,EAAkBC,GAAuBl6C,oBAAS,GAEnDm6C,EAA0BC,IAC9B,IACE,MAAMC,EAAMjlC,OAAOnwB,KAAKm1D,GAClBE,EAAYD,EAAI35D,OAChB8mD,EAAQ,IAAI+S,WAAW,IAAIC,YAAYF,IAC7C,IAAK,IAAIG,EAAI,EAAGA,EAAIH,EAAWG,IAC7BjT,EAAMiT,GAAKJ,EAAIK,WAAWD,GAE5B,OAAOjT,CACT,CAAE,MAAO1/C,GAEP,OADA3D,QAAQ2D,MAAM,wBAAyBA,GAChC,IAAIyyD,UACb,GAGII,EAA0BP,IAC9B,MAAMQ,EACJ,oEACF,IACIC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EADpCC,EAAS,GAETX,EAAI,EAER,KAAOA,EAAIL,EAAM15D,QACfm6D,EAAOT,EAAMK,KACbK,EAAOL,EAAIL,EAAM15D,OAAS05D,EAAMK,KAAOj4D,OAAO64D,IAC9CN,EAAON,EAAIL,EAAM15D,OAAS05D,EAAMK,KAAOj4D,OAAO64D,IAE9CL,EAAOH,GAAQ,EACfI,GAAgB,EAAPJ,IAAa,EAAMC,GAAQ,EACpCI,GAAgB,GAAPJ,IAAc,EAAMC,GAAQ,EACrCI,EAAc,GAAPJ,EAEHO,MAAMR,GACRI,EAAOC,EAAO,GACLG,MAAMP,KACfI,EAAO,IAETC,GACER,EAAOW,OAAOP,GACdJ,EAAOW,OAAON,GACdL,EAAOW,OAAOL,GACdN,EAAOW,OAAOJ,GAElB,OAAOC,CAAM,EAoCTI,EAAmBA,KA3BlBxB,EAAYv5C,UACfu5C,EAAYv5C,QAAUg7C,aAAY,KAChC1B,EAAat5C,SAAW,EAEpBy4C,GAAsBa,EAAat5C,UACjC+4C,EAAU/4C,SACZ+4C,EAAU/4C,QAAQi7C,QAEpBC,IACAzB,GAAoB,GACpBn4D,MACE,wEAEF65D,IACA13D,EAAQkyB,KAAK,UACf,GACC,KAYO,EAGRulC,EAAkBA,KAVlB3B,EAAYv5C,UACdo7C,cAAc7B,EAAYv5C,SAC1Bu5C,EAAYv5C,QAAU,MAUxBuS,EAAS6/B,GAAmB2G,EAAU/4C,QAAQoyB,eAAe,EAGzDipB,EAA0BA,IACvB/B,EAAat5C,QAGtB,SAASs7C,EAAoBroB,GAC3B,MAAOsoB,EAAOC,EAASC,GAAWxoB,EAAWtyC,MAAM,KAAK+iB,IAAI3hB,QAC5D,OAAe,KAARw5D,EAAyB,GAAVC,EAAeC,CACvC,CAEA,MAAMN,EAA0BtnC,UAC9B,MAAM,SAAEqhC,EAAQ,WAAE/F,EAAU,eAAEuM,GAAmB7C,EAU3C8C,EAAc,CAClBzG,WACA/F,aACAyM,eAAgBN,EAAoBI,GACpCG,aAAcR,IACdS,YAAaj7D,KAAKoB,MAAM82D,EAAU/4C,QAAQoyB,gBAG5C,UACyBte,KAAMqC,KAAKvG,GAAS+rC,EAC7C,CAAE,MAAOt0D,GACP3D,QAAQ2D,MAAM,aAAcA,EAC9B,GAGI00D,EAAiBA,KACrBb,GAAiB,EAGnBt3D,qBAAU,KACR,IAAKm1D,EAAU/4C,QAAS,CAAC,IAADg8C,EACtB,MAAMC,EAAenD,EAAS94C,QACxBk8C,EACJ,sEACIC,EAAa,iDAEnB,IAAKF,EAAc,OAEnB,MAAMG,EAAUrD,EAAU/4C,QAAUq8C,mBAClCJ,EACA,IACKj1B,EACH+hB,QAAS,CACPuT,IAAK,CACHC,WACgB,sBAAdnD,EACI,CACE,oBAAqB,CACnBoD,eAAgBA,CAACC,EAAYC,KAC3BL,WAAQM,IACN,CACEphB,IAAK2gB,EACLU,OAAQ,QAEV,CAAC/c,EAAKv+B,EAAUu7C,KACVhd,EACF6c,EAAS7c,GAGX6c,EACE,KACAhD,EAAuBmD,GACxB,GAEJ,EAEHC,aAAcA,CAACL,EAAYM,KACzB,MAAMC,EAvHPjW,KACrB,MAAMkW,EAAc,IAAIC,YAAYnW,EAAMoW,QAC1C,OAAOC,OAAOC,aAAaC,MAAM,KAAML,EAAY,EAqHXM,CAAcR,GAChC,OAAOC,EAAUQ,UACfR,EAAUS,QAAQ,UAAY,EAC/B,EAEHC,WAAYA,CACVjB,EACAO,EACAW,EACAjB,KAEAL,WAAQM,IACN,CACEphB,IAAK4gB,EACLS,OAAQ,OACRgB,aAAc,OACdC,KAAM,OAAS3D,EAAuByD,GACtC5nC,QAAS,CACP,eACE,oCACF,yBAA0BkjC,EAAO6E,KAAKpqC,SAG1C,CAACmsB,EAAKv+B,EAAUu7C,KACVhd,EACF6c,EAAS7c,GAGX6c,EACE,KACAhD,EAAuBmD,GACxB,GAEJ,IAIP,CACE,CAACzD,GAAY,CACX2E,WACE,wEACM,OAAN9E,QAAM,IAANA,GAAY,QAAN+C,EAAN/C,EAAQ6E,YAAI,IAAA9B,OAAN,EAANA,EAActoC,aAMhC,KACEslC,GAAWA,EAAQoD,GACnBA,EAAO4B,WAAWC,gBAAgBC,QAAQC,GAAG,aAAct+C,IACzDA,EAAMY,gBAAgB,IAIpB04C,GACFiD,EAAOhqB,YAAY+mB,EACrB,IAIJiD,EAAO+B,GAAG,OAAQpD,GAClBqB,EAAO+B,GAAG,QAASjD,GACnBkB,EAAO+B,GAAG,QAASpC,GAEnBK,EAAO+B,GAAG,cAAc,SAExB/B,EAAOgC,gBACPhC,EAAOiC,mBAAmB,CACxBC,uBAAuB,IA+BzB,MAAMC,UAAqBlC,WAAQmC,aAAa,WAC9CC,YAAYrC,EAAQp1B,GAClB03B,MAAMtC,EAAQp1B,GACdwkB,KAAKmT,SAAS,cACdnT,KAAKoT,YAAY,oBACnB,CAEApzB,cACEggB,KAAK4Q,SAAShqB,YAAYoZ,KAAK4Q,SAAShqB,cAAgB,GAC1D,EAGF,MAAMysB,UAA0BxC,WAAQmC,aAAa,WACnDC,YAAYrC,EAAQp1B,GAClB03B,MAAMtC,EAAQp1B,GACdwkB,KAAKmT,SAAS,qBACdnT,KAAKoT,YAAY,0BACnB,CAEApzB,cACEggB,KAAK4Q,SAAShqB,YAAYoZ,KAAK4Q,SAAShqB,cAAgB,GAC1D,EAwC+B,IAAD0sB,EAAAC,EACEC,EAAAC,EAAAC,EAAAC,EADlC,GArCA9C,WAAQ+C,kBAAkB,SAAUb,GACpClC,WAAQ+C,kBAAkB,cAAeP,GAEzCzC,EAAOiD,SAAS,cAAcC,SAAS,SAAU,CAAC,EAAG,GACrDlD,EAAOiD,SAAS,cAAcC,SAAS,cAAe,CAAC,EAAG,GAE1DlD,EAAO+B,GAAG,WAAY1/B,IACpB,MAAM8gC,EAAenD,EAAOoD,SACtBC,EAAoBrD,EAAOhqB,cACjC,OAAQ3T,EAAEihC,MACR,IAAK,QACCtD,EAAOuD,SACTvD,EAAOwD,OAEPxD,EAAOnB,QAET,MACF,IAAK,aACHmB,EAAOhqB,YAAYqtB,EAAoB,IACvC,MACF,IAAK,YACHrD,EAAOhqB,YAAYqtB,EAAoB,IACvC,MACF,IAAK,UACHrD,EAAOoD,OAAOD,EAAe,IAC7B,MACF,IAAK,YACHnD,EAAOoD,OAAOD,EAAe,IAC7B,MACF,IAAK,OACHnD,EAAOoD,OAAO,GACd,MACF,QACE,OACJ,IAGY,IAAVtG,GAAyB,IAAVA,EACjB,GAAS,OAAL11D,QAAK,IAALA,GAAa,QAARs7D,EAALt7D,EAAOy1D,cAAM,IAAA6F,GAAM,QAANC,EAAbD,EAAehB,YAAI,IAAAiB,GAAnBA,EAAqBrrC,MACvB0oC,EAAO15C,IAAI,CACTA,IAAU,OAALlf,QAAK,IAALA,GAAa,QAARw7D,EAALx7D,EAAOy1D,cAAM,IAAA+F,GAAM,QAANC,EAAbD,EAAelB,YAAI,IAAAmB,OAAd,EAALA,EAAqBY,SAC1Bp9D,KAAM,uBACN85D,WAAY,CACV,CAACnD,GACC,wEACK,OAAL51D,QAAK,IAALA,GAAa,QAAR07D,EAAL17D,EAAOy1D,cAAM,IAAAiG,GAAM,QAANC,EAAbD,EAAepB,YAAI,IAAAqB,OAAd,EAALA,EAAqBzrC,UAQ/B,SAASosC,IACPzG,EAAU+C,EAAO2D,YAAY/vB,UACPisB,EAAa+D,QACrC,CAEA,OAPA/D,EAAan2B,iBAAiB,iBAAkBg6B,GAOzC,KACL7D,EAAal2B,oBAAoB,iBAAkB+5B,EAAe,CAEtE,IACC,CAAC94B,EAASgyB,EAASI,EAAuB,QAAdf,EAAE70D,EAAMy1D,cAAM,IAAAZ,OAAA,EAAZA,EAAcyF,KAAM3E,IAErDv1D,qBAAU,IACD,KACL,GAAIm1D,EAAU/4C,QAAS,CACrBk7C,IACA,MAAMnJ,EAAiBsJ,IACvB9oC,EAAS4/B,GAAkBJ,IAC3BgH,EAAU/4C,QAAQigD,UAClBlH,EAAU/4C,QAAU,IACtB,IAED,IAEH,MAAMkgD,EAAoBA,KACxB,GAAI1G,EAAkB,OACJ7kC,OAAOwrC,QAAQ,sCAG/BhF,IACA13D,EAAQkyB,KAAK,oBACf,EA0BF,OAvBA/xB,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,GAC7B,KACLvrC,OAAOoR,oBAAoB,WAAYm6B,EAAkB,IAE1D,CAAC1G,IAEJ51D,qBAAU,KACJ60D,GAAsB,IACpBM,EAAU/4C,SACZ+4C,EAAU/4C,QAAQi7C,QAEpBxB,GAAoB,GACpBn4D,MACE,wEAEF65D,IAEA13D,EAAQkyB,KAAK,UACf,GACC,CAAC8iC,EAAoBh1D,IAGtBrB,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAW,WAAUytC,EAAS,cAAgB,eAAgB1tC,SACjEF,eAAA,OAAK,qBAAeE,SAClBF,eAAA,SACE0pC,IAAKgtB,EACLv2D,UAAU,4CAA2CD,SAErDF,eAAA,UACEsgB,IAAU,OAALlf,QAAK,IAALA,GAAa,QAAR80D,EAAL90D,EAAOy1D,cAAM,IAAAX,GAAM,QAANC,EAAbD,EAAewF,YAAI,IAAAvF,OAAd,EAALA,EAAqBsH,SAC1Bp9D,KAAM,iCAKb,ECtcQ,SAAS49D,GAAW1hC,GAAgB,IAAD2hC,EAAA,IAAd,SAAEC,GAAU5hC,EAC9C,MAAOs6B,EAAQuH,GAAajhD,mBAAS,OAC9B41B,EAASsrB,GAAclhD,sBACvB25C,EAAOwH,GAAYnhD,sBACnBhb,EAAKo8D,GAAUphD,qBAEhBqhD,EAAmBlI,cACtB31D,GAAUA,EAAM4uD,yBAAyBC,sBAwC5C,MAEMl+B,EAFM6sC,EAINzrC,EAAW,IAAIiuB,SAIrB,SAAS8d,EAAQC,GACfhtC,KAAM,CACJynB,IATQ,gDAURqhB,OAAQ,OACR7mC,QAAS,CACPgrC,UAAW,+BACXC,UAAW,2DACX,UAAW,sBACX,cAAeF,EACf,YAAa,mCACbG,QAAS,IACT,cAAe,YACf,aAAc,WACd,eAAgB,uBAElBjtC,KAAMc,IAELrB,MAAMjtB,IACLg6D,EAAUh6D,EAAIwtB,KAAKA,MAEnBysC,GAAW,EAAM,IAElB7sC,OAAOisB,GAAQn8C,QAAQC,IAAIk8C,IAChC,CA1BA/qB,EAASkuB,OAAO,OAAQ,GACxBluB,EAASkuB,OAAO,OAAQtvB,GA0BxB9vB,qBAAU,KACR68D,GAAW,GAtEb,WACE,GAAqD,oBAA1C7rC,UAAUssC,4BAA4C,CAC/D,MAAMC,EAAkB,CACtB,CACEC,cAAe,CAAC,QAChBC,kBAAmB,CACjB,CACEC,YAAa,qCAKfC,EAAa,CACjB,0BACA,gBACA,qBAGIC,EAAe,GAErB,OAAOC,QAAQC,IACbH,EAAW79C,KAAKi+C,GACP/sC,UACJssC,4BAA4BS,EAAWR,GACvC1tC,MAAK,KACJ+tC,EAAa7rC,KAAKgsC,EAAU,IAE7B/tC,OAAOvsB,WAEZosB,MAAK,IACE+tC,GAEX,CACE,OAAOC,QAAQG,QAAQ,GAE3B,CAoCEC,GAAyBpuC,MAAK,SAAU+tC,GACtC,KAAIA,EAAavhE,OAAS,GAqBxB,OALA4gE,EAAQ,GACRH,EAAS,GACTC,EAAO,sBAEPF,GAAW,IACJ,EApBPe,EAAajnC,SAASunC,GACL,kBAAXA,GACFjB,EAAQ,GACRH,EAAS,GACTC,EAAO,sBACA,GACa,4BAAXmB,GACTjB,EAAQ,GACRH,EAAS,GACTC,EAAO,4BACA,QAJF,GAgBb,GAAE,GACD,IAaH,OACEv+D,eAAA69B,YAAA,CAAA39B,SACG6yC,EACG,aACA8jB,GACE72D,eAACg2D,GAAa,CACZa,OAAQA,EACRG,UAAW70D,EACXyiC,QAnBK,CACfjG,UAAU,EACVghC,UAAU,EACVpkC,YAAY,EACZqkC,cAAe,CAAC,GAAK,EAAG,IAAK,GAC7BC,YAAa,OACbjE,WAAY,CACVkE,sBAAsB,IAadhJ,MAAOA,EACPC,eAA6C,QAA/BmH,EAAkB,OAAhBM,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB9E,mBAAW,IAAAwE,IAAI,KAK/D,C,OCiJelI,OA/QQ50D,IAAW,IAAD60D,EAAAC,EAAAC,EAC/B,MAAMhmC,EAAWimC,eACXM,EAAW3tB,iBAAO,MAClB4tB,EAAY5tB,iBAAO,OACnB,QAAEnE,EAAO,QAAEgyB,EAAO,OAAEC,EAAM,MAAEC,EAAK,eAAEiJ,GAAmB3+D,GACtD,UAAE41D,GAAc51D,GACfwsC,EAAQqpB,GAAa95C,oBAAS,GAE/Bm6C,EAA0BC,IAC9B,IACE,MAAMC,EAAMjlC,OAAOnwB,KAAKm1D,GAClBE,EAAYD,EAAI35D,OAChB8mD,EAAQ,IAAI+S,WAAW,IAAIC,YAAYF,IAE7C,IAAK,IAAIG,EAAI,EAAGA,EAAIH,EAAWG,IAC7BjT,EAAMiT,GAAKJ,EAAIK,WAAWD,GAG5B,OAAOjT,CACT,CAAE,MAAO1/C,GAEP,OADA3D,QAAQ2D,MAAM,wBAAyBA,GAChC,IAAIyyD,UACb,GAEII,EAA0BP,IAC9B,MAAMQ,EACJ,oEACF,IACIC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EAAMC,EADpCC,EAAS,GAETX,EAAI,EACR,KAAOA,EAAIL,EAAM15D,QACfm6D,EAAOT,EAAMK,KACbK,EAAOL,EAAIL,EAAM15D,OAAS05D,EAAMK,KAAOY,IACvCN,EAAON,EAAIL,EAAM15D,OAAS05D,EAAMK,KAAOY,IACvCL,EAAOH,GAAQ,EACfI,GAAgB,EAAPJ,IAAa,EAAMC,GAAQ,EACpCI,GAAgB,GAAPJ,IAAc,EAAMC,GAAQ,EACrCI,EAAc,GAAPJ,EACHO,MAAMR,GAAOI,EAAOC,EAAO,GACtBG,MAAMP,KAAOI,EAAO,IAC7BC,GACER,EAAOW,OAAOP,GACdJ,EAAOW,OAAON,GACdL,EAAOW,OAAOL,GACdN,EAAOW,OAAOJ,GAElB,OAAOC,CAAM,EA8Mf,OArMA/2D,qBAAU,KACR,IAAKm1D,EAAU/4C,QAAS,CAAC,IAADg8C,EACtB,MAAMC,EAAenD,EAAS94C,QAE9B,IAAKi8C,EAAc,OAEnB,MAAMG,EAAUrD,EAAU/4C,QAAUq8C,mBAClCJ,EACA,IACKj1B,EACH+hB,QAAS,CACPuT,IAAK,CACHC,WACgB,sBAAdnD,EACI,CACE,oBAAqB,CACnBoD,eAAgBA,CAACC,EAAYC,KAC3BL,WAAQM,IACN,CACEphB,IAAK,sEACLqhB,OAAQ,QAEV,CAAC/c,EAAKv+B,EAAUu7C,KACVhd,EACF6c,EAAS7c,GAGX6c,EACE,KACAhD,EAAuBmD,GACxB,GAEJ,EAEHC,aAAcA,CAACL,EAAYM,KACzB,MAAMC,EAzCPjW,KACrB,MAAMkW,EAAc,IAAIC,YAAYnW,EAAMoW,QAC1C,OAAOC,OAAOC,aAAaC,MAAM,KAAML,EAAY,EAuCXM,CAAcR,GAChC,OAAOC,EAAUQ,UACfR,EAAUS,QAAQ,UAAY,EAC/B,EAEHC,WAAYA,CACVjB,EACAO,EACAW,EACAjB,KAEAL,WAAQM,IACN,CACEphB,IAAK,iDACLqhB,OAAQ,OACRgB,aAAc,OACdC,KAAM,OAAS3D,EAAuByD,GACtC5nC,QAAS,CACP,eACE,oCACF,yBAA0BkjC,EAAO6E,KAAKpqC,SAG1C,CAACmsB,EAAKv+B,EAAUu7C,KACVhd,EACF6c,EAAS7c,GAGX6c,EACE,KACAhD,EAAuBmD,GACxB,GAEJ,IAIP,CACE,CAACzD,GAAY,CACX2E,WACE,wEACM,OAAN9E,QAAM,IAANA,GAAY,QAAN+C,EAAN/C,EAAQ6E,YAAI,IAAA9B,OAAN,EAANA,EAActoC,aAMhC,KACEslC,GAAWA,EAAQoD,EAAO,IAK9BA,EAAOgC,gBACPhC,EAAOiC,mBAAmB,CACxBC,uBAAuB,IAGzB,MAAMC,UAAqBlC,WAAQmC,aAAa,WAC9CC,YAAYrC,EAAQp1B,GAClB03B,MAAMtC,EAAQp1B,GACdwkB,KAAKmT,SAAS,cACdnT,KAAKoT,YAAY,oBACnB,CAEApzB,cACEggB,KAAK4Q,SAAShqB,YAAYoZ,KAAK4Q,SAAShqB,cAAgB,GAC1D,EAGF,MAAMysB,UAA0BxC,WAAQmC,aAAa,WACnDC,YAAYrC,EAAQp1B,GAClB03B,MAAMtC,EAAQp1B,GACdwkB,KAAKmT,SAAS,qBACdnT,KAAKoT,YAAY,0BACnB,CAEApzB,cACEggB,KAAK4Q,SAAShqB,YAAYoZ,KAAK4Q,SAAShqB,cAAgB,GAC1D,EAoC+B,IAAD0sB,EAAAC,EACEC,EAAAC,EAAAC,EAAAC,EADlC,GAjCA9C,WAAQ+C,kBAAkB,SAAUb,GACpClC,WAAQ+C,kBAAkB,cAAeP,GAEzCzC,EAAOiD,SAAS,cAAcC,SAAS,SAAU,CAAC,EAAG,GACrDlD,EAAOiD,SAAS,cAAcC,SAAS,cAAe,CAAC,EAAG,GAE1DlD,EAAO+B,GAAG,WAAY1/B,IACpB,MAAM8gC,EAAenD,EAAOoD,SACtBC,EAAoBrD,EAAOhqB,cACjC,OAAQ3T,EAAEihC,MACR,IAAK,QACHtD,EAAOuD,SAAWvD,EAAOwD,OAASxD,EAAOnB,QACzC,MACF,IAAK,aACHmB,EAAOhqB,YAAYqtB,EAAoB,IACvC,MACF,IAAK,YACHrD,EAAOhqB,YAAYqtB,EAAoB,IACvC,MACF,IAAK,UACHrD,EAAOoD,OAAOD,EAAe,IAC7B,MACF,IAAK,YACHnD,EAAOoD,OAAOD,EAAe,IAC7B,MACF,IAAK,OACHnD,EAAOoD,OAAO,GACd,MACF,QACE,OACJ,IAGY,IAAVtG,GAAyB,IAAVA,EACjB,GAAS,OAAL11D,QAAK,IAALA,GAAa,QAARs7D,EAALt7D,EAAOy1D,cAAM,IAAA6F,GAAM,QAANC,EAAbD,EAAehB,YAAI,IAAAiB,GAAnBA,EAAqBrrC,MACvB0oC,EAAO15C,IAAI,CACTA,IAAU,OAALlf,QAAK,IAALA,GAAa,QAARw7D,EAALx7D,EAAOy1D,cAAM,IAAA+F,GAAM,QAANC,EAAbD,EAAelB,YAAI,IAAAmB,OAAd,EAALA,EAAqBY,SAC1Bp9D,KAAM,uBACN85D,WAAY,CACV,CAACnD,GACC,wEACK,OAAL51D,QAAK,IAALA,GAAa,QAAR07D,EAAL17D,EAAOy1D,cAAM,IAAAiG,GAAM,QAANC,EAAbD,EAAepB,YAAI,IAAAqB,OAAd,EAALA,EAAqBzrC,UAQ/B,SAASosC,IACPzG,EAAU+C,EAAO2D,YAAY/vB,SAC/B,CAOA,OAVAisB,EAAan2B,iBAAiB,iBAAkBg6B,GAKhD1D,EAAO+B,GAAG,cAAc,KACtB,MAAM/rB,EAAcgqB,EAAOhqB,cAC3B7f,EAAS+/B,GAAoBlgB,GAAa,IAGrC,KACL6pB,EAAal2B,oBAAoB,iBAAkB+5B,EAAe,CAEtE,IACC,CAAC94B,EAASgyB,EAASI,EAAuB,QAAdf,EAAE70D,EAAMy1D,cAAM,IAAAZ,OAAA,EAAZA,EAAcyF,KAAMqE,IAErDv+D,qBAAU,IACD,KACDm1D,EAAU/4C,UACZ+4C,EAAU/4C,QAAQigD,UAClBlH,EAAU/4C,QAAU,KACtB,GAED,IAEHpc,qBAAU,KACJm1D,EAAU/4C,cAA8BlgB,IAAnBqiE,IACvBpJ,EAAU/4C,QAAQoyB,YAAY+vB,GAC9BpJ,EAAU/4C,QAAQ4/C,OACpB,GACC,CAACuC,IAGF//D,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAW,WAAUytC,EAAS,cAAgB,eAAgB1tC,SACjEF,eAAA,OAAK,qBAAeE,SAClBF,eAAA,SACE0pC,IAAKgtB,EACLv2D,UAAU,4CAA2CD,SAErDF,eAAA,UACEsgB,IAAU,OAALlf,QAAK,IAALA,GAAa,QAAR80D,EAAL90D,EAAOy1D,cAAM,IAAAX,GAAM,QAANC,EAAbD,EAAewF,YAAI,IAAAvF,OAAd,EAALA,EAAqBsH,SAC1Bp9D,KAAM,iCAKb,ECnRQ,SAAS49D,GAAW1hC,GAAgB,IAADyjC,EAAA,IAAd,SAAE7B,GAAU5hC,EAC9C,MAAOs6B,EAAQuH,GAAajhD,mBAAS,OAC9B41B,EAASsrB,GAAclhD,sBACvB25C,EAAOwH,GAAYnhD,sBACnBhb,EAAKo8D,GAAUphD,qBAEhBqhD,EAAmBlI,cACtB31D,GAAUA,EAAM4uD,2BAwCnB,MAEMj+B,EAFM6sC,EAINzrC,EAAW,IAAIiuB,SAIrB,SAAS8d,EAAQC,GACfhtC,KAAM,CACJynB,IATQ,gDAURqhB,OAAQ,OACR7mC,QAAS,CACPgrC,UAAW,+BACXC,UAAW,2DACX,UAAW,sBACX,cAAeF,EACf,YAAa,mCACbG,QAAS,IACT,cAAe,YACf,aAAc,WACd,eAAgB,uBAElBjtC,KAAMc,IAELrB,MAAMjtB,IACLg6D,EAAUh6D,EAAIwtB,KAAKA,MACnBysC,GAAW,EAAM,IAElB7sC,OAAOisB,GAAQn8C,QAAQC,IAAIk8C,IAChC,CAzBA/qB,EAASkuB,OAAO,OAAQ,GACxBluB,EAASkuB,OAAO,OAAQtvB,GA0BxB9vB,qBAAU,KACR68D,GAAW,GAtEb,WACE,GAAqD,oBAA1C7rC,UAAUssC,4BAA4C,CAC/D,MAAMC,EAAkB,CACtB,CACEC,cAAe,CAAC,QAChBC,kBAAmB,CACjB,CACEC,YAAa,qCAKfC,EAAa,CACjB,0BACA,gBACA,qBAGIC,EAAe,GAErB,OAAOC,QAAQC,IACbH,EAAW79C,KAAKi+C,GACP/sC,UACJssC,4BAA4BS,EAAWR,GACvC1tC,MAAK,KACJ+tC,EAAa7rC,KAAKgsC,EAAU,IAE7B/tC,OAAM,YAEXH,MAAK,IACE+tC,GAEX,CACE,OAAOC,QAAQG,QAAQ,GAE3B,CAoCEC,GAAyBpuC,MAAK,SAAU+tC,GACtC,KAAIA,EAAavhE,OAAS,GAyBxB,OAPAyD,QAAQC,IAAI,sBACZk9D,EAAQ,GACRH,EAAS,GACTC,EAAO,sBAEPj9D,QAAQC,IAAI,mCACZ88D,GAAW,IACJ,EAxBP/8D,QAAQC,IAAI,0BACZ69D,EAAajnC,SAASunC,GACL,kBAAXA,GACFjB,EAAQ,GACRH,EAAS,GACTC,EAAO,sBACA,GACa,4BAAXmB,GACTp+D,QAAQC,IAAI,sBACZk9D,EAAQ,GACRH,EAAS,GACTC,EAAO,4BACA,QAETj9D,QAAQC,IAAIm+D,IAYlB,GAAE,GACD,IAEHl+D,qBAAU,QAAU,CAAiB,OAAhBg9D,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB3O,qBAcvC,OACE7vD,eAAA69B,YAAA,CAAA39B,SACG6yC,EACG,aACA8jB,GACE72D,eAACg2D,GAAa,CACZa,OAAQA,EACRG,UAAW70D,EACXyiC,QAnBK,CACfjG,UAAU,EACVghC,UAAU,EACVpkC,YAAY,EACZqkC,cAAe,CAAC,GAAK,EAAG,IAAK,GAC7BC,YAAa,OACbjE,WAAY,CACVkE,sBAAsB,IAadhJ,MAAOA,EACPiJ,eAAoD,QAAtCC,EAAkB,OAAhBxB,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB3O,0BAAkB,IAAAmQ,IAAI,KAKtE,CClIeC,OAZQ1jC,IAAyB,IAAxB,SAAE4hC,EAAQ,KAAEvsC,GAAM2K,EACxC,OACEv8B,eAAA,OAAAE,SACO,OAAJ0xB,QAAI,IAAJA,KAAMsuC,aACLlgE,eAACmgE,GAAc,CAAChC,SAAUA,IAE1Bn+D,eAACg2D,GAAa,CAACmI,SAAUA,KAEvB,EC0hDKz9D,qBArDUC,IAChB,CACLy/D,mBAAoBz/D,EAAM0/D,iBAAiBD,mBAC3CE,iBAAkB3/D,EAAM0/D,iBAAiBC,iBACzCC,oBAAqB5/D,EAAM0/D,iBAAiBE,oBAC5CpQ,UAAWxvD,EAAME,aAAasvD,UAC9BnC,YAAartD,EAAME,aAAamtD,YAChCyI,iBAAkB91D,EAAM4uD,yBAAyBC,oBACjDgR,gBAAiB7/D,EAAM4uD,yBAAyBG,WAChDC,eAAgBhvD,EAAM4uD,yBAAyBI,eAC/C8Q,sBAAuB9/D,EAAM4uD,yBAAyBK,qBAI9Bz/B,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCwW,aAAe9W,IACbK,EAASiY,GAAoBxB,aAAa9W,GAAS,EAErDgX,aAAehX,IACbK,EAASiY,GAAoBtB,aAAahX,GAAS,EAErDkX,gBAAkBlX,IAChBK,EAASiY,GAAoBpB,gBAAgBlX,GAAS,EAExDmX,sBAAwBnX,IACtBK,EAASiY,GAAoBnB,sBAAsBnX,GAAS,EAE9D4wC,sBAAwB5wC,IACtBK,EAASwwC,GAA0C7wC,GAAS,EAE9D8wC,iBAAmB9wC,IACjBK,EAASwwC,GAAqC7wC,GAAS,EAEzD+wC,uBAAyB/wC,IACvBK,EAASwwC,GAA2C7wC,GAAS,EAE/DgxC,oBAAsBhxC,IACpBK,EAASwwC,GAAwC7wC,GAAS,EAG5DugC,4BAA8BvgC,IAC5BK,EAAS8/B,GAAsBngC,GAAS,KAK/BpvB,EArgDuBU,IAAW,IAAD2/D,EAC9C,IAAI,UACF1zB,EAAS,SACTrsC,EAAQ,QACRK,EAAO,eACPF,EAAc,iBACdm/D,EAAgB,oBAChBC,EAAmB,aACnBrxC,EAAY,cACZE,EAAa,aACb0X,EAAY,gBACZE,EAAe,sBACf05B,EAAqB,iBACrBE,EAAgB,uBAChBC,EAAsB,UACtB1Q,EAAS,YACTnC,EAAW,iBACXyI,EAAgB,gBAChB+J,EAAe,eACf7Q,EAAc,sBACd8Q,EAAqB,4BACrBpQ,GACEjvD,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC6jD,QAAS,KACT9zB,aAAc,CAAC,EACf+zB,aAAc,CAAC,EACfC,kBAAmB,EACnBhP,eAAgB,CAAC,EACjBiP,aAAc,CAAC,EACfC,MAAM,EACNzhC,UAAW,EACX0hC,kBAAmB,CAAC,EACpBj7D,OAAQ,KACRyzC,MAAO,KACPynB,QAAS,GACTC,aAAc,CAAC,EACfC,SAAU,GACVC,KAAM,CAAC,EACPC,UAAW,CAAC,EACZC,YAAY,EACZC,iBAAkB,KAClBC,gBAAiB,KACjBC,YAAa,GACbC,aAAa,EACbC,SAAU,KACVC,SAAU,KACVtnB,aAAa,EACbunB,OAAQ,GACRC,eAAgB,CACd,qBACA,mBACA,uBACA,qBACA,UAEFC,qBAAsB,GACtBC,OAAQ,KAGV7gE,qBAAU,KACR+wB,OAAO+vC,SAAS,EAAG,GACnBC,IACAC,GAA8B,GAC7B,IAEHhhE,qBAAU,QAAU,CAACb,EAAM8hE,aAE3BjhE,qBAAU,KACJb,EAAMqgE,UACR0B,IACAzQ,IACA0Q,IACAC,IACAC,IACAC,IACAC,IACAC,IACF,GACC,CAACriE,EAAMqgE,UAEVx/D,qBAAU,MACHhE,aAAQmD,EAAMusC,eAAiBvsC,EAAMusC,aAAawsB,aACrDuJ,GACF,GACC,CAACtiE,EAAMusC,eAEV,MAAMq1B,EAAaA,KACjB,IAAI,SAAEzP,GAAazlB,EACnB3c,GAAUa,IAAS,IAAWA,EAAWyvC,QAASlO,KAAY,EAG1D0P,EAA+BA,KACnC,IAAInzB,EAAI,IAAIC,KACZoxB,EAAsBrxB,EAAE6zB,UAAU,EAG9BnjC,EAAkBtB,IACtB/N,GAAUa,IAAS,IACdA,EACHoO,UAAWlB,KACV,EAGCikC,EAAkBjxC,UACtB,IAAI,QAAEuvC,GAAYrgE,EAClB,IACE,MAAMue,QAAiBwS,KAAMC,IAAI,GAAGhP,eAAkBq+C,KAEzB,MAAzB9hD,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH2b,aAAchuB,EAAS0S,KAAKA,KAAKuxC,gBAGnCtC,EAAuB3hD,EAAS0S,KAAKA,KAAKuxC,aAE9C,CAAE,MAAOl+D,GACP3D,QAAQC,IAAI0D,EACd,GAEI+9D,EAA4BvxC,UAChC,IAAI,QAAEuvC,GAAYrgE,EAClB,IACE,MAAMue,QAAiBwS,KAAMC,IAC3B,GAAGvP,qCAA2C4+C,KAGnB,MAAzB9hD,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH0vC,aAAc/hD,EAAS0S,KAAKA,KAAKA,SAGnCgvC,EAAiB1hD,EAAS0S,KAAKA,KAAKA,MAExC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAUIm+D,EAAoB/mC,IACxB3L,GAAUa,IAAS,IACdA,EACHkwC,KAAMplC,EAAEve,OAAOrgB,SACd,EAUColE,EAAkBpxC,UACtB,IAAIuvC,EAAe,OAALrgE,QAAK,IAALA,OAAK,EAALA,EAAOqgE,QACrB9xC,IACA,IAAK,IAADiP,EACF,MAAMjf,QAAiBwS,KAAMC,IAAI,GAAGvE,eAAoB4zC,KACzB,OAAnB,OAAR9hD,QAAQ,IAARA,GAAc,QAANif,EAARjf,EAAU0S,YAAI,IAAAuM,OAAN,EAARA,EAAgBtM,UAClBzC,IACAsB,GAAUa,IAAS,IAAA8xC,EAAA,MAAM,IACpB9xC,EACHgwC,aAAsB,OAARriD,QAAQ,IAARA,GAAc,QAANmkD,EAARnkD,EAAU0S,YAAI,IAAAyxC,OAAN,EAARA,EAAgBzxC,KAC/B,IAEL,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI29D,EAAkBnxC,UACtB,IAAIuvC,EAAUrgE,EAAMqgE,QACpB9xC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI,GAAGvE,eAAoB4zC,KACxD,GAA6B,MAAzB9hD,EAAS0S,KAAKC,OAAgB,CAChCzC,IACA,MAAMqzC,EAAavjD,EAAS0S,KAAKA,KAAKtQ,KAAKqqB,GAASA,EAAK23B,cACzD5yC,GAAUa,IAAS,IACdA,EACHkxC,WAAYA,MAEdnhE,QAAQC,IAAIkhE,EACd,CACF,CAAE,MAAOx9D,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI69D,EAAcrxC,UAClB,IAAIuvC,EAAUrgE,EAAMqgE,QACpB9xC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI,GAAGrE,eAAoB0zC,KAC3B,MAAzB9hD,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHiwC,SAAUtiD,EAAS0S,KAAKA,KAAK4vC,aAGnC,CAAE,MAAOv8D,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAmCI89D,EAAetxC,UACnB,IAAIuvC,EAAUrgE,EAAMqgE,QACpB9xC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI,GAAGpE,eAAoByzC,KAC3B,MAAzB9hD,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHmwC,UAAWxiD,EAAS0S,KAAKA,SAE3BtwB,QAAQC,IAAI,YAAa2d,EAAS0S,KAAKA,MAE3C,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAkIIs+D,EAAkB9xC,MAAO1S,EAAI8S,EAAQ4M,KACzC,IACI7M,EAAO,CACT7S,GAAIA,EACJykD,KAAM,EACN1Q,SAJYnyD,EAAMqgE,QAKlBnvC,OAAQA,GAEV3C,IACA,IAE+B,aADNwC,KAAMqC,KAAK1G,GAASuE,IAC9BA,KAAKC,SAChBzC,IACAyzC,IACAnyC,GAAUa,IACR,MAAMkyC,EAAoB,IAAIlyC,EAAUkxC,YAExC,OADAgB,EAAkBhlC,GAAoB,IAAX5M,EAAe,EAAI,EACvC,IACFN,EACHkxC,WAAYgB,EACb,IAGP,CAAE,MAAOx+D,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAQIy+D,EAAiB1zB,IACrB,MAAMmpB,EAAQ16D,KAAKC,MAAMsxC,EAAc,MACjCopB,EAAU36D,KAAKC,MAAOsxC,EAAc,KAAQ,IAC5CqpB,EAAU56D,KAAKC,MAAMsxC,EAAc,IAMzC,MAJa,GAAGmpB,EAAMt2D,WAAW8gE,SAAS,EAAG,QAAQvK,EAClDv2D,WACA8gE,SAAS,EAAG,QAAQtK,EAAQx2D,WAAW8gE,SAAS,EAAG,MAE3C,EAGPC,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B9iE,EAASq4B,YACxC,KAOF,IAAI0qC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEhB,EAA6BA,KACjC,IAAI/1B,EAAe,IAAKvsC,EAAMusC,cAC9B,IAAK1vC,aAAQ0vC,IAAiBA,EAAawsB,YAAa,CAC1Cp1D,SAASkmC,cAAc,WAE7Bq5B,cAAcC,YAClBzhE,KAAKw+C,UAAU,CAAEujB,OAAQl3B,EAAawsB,cACtC,IAEJ,GA8CIhH,EAAsBjhC,UAC1B,IAAIyb,EAAe,IAAKvsC,EAAMusC,cAC9Bxc,GAAUa,IAAS,IACdA,EACH2b,aAAc,IAAK3b,EAAU2b,aAAc6lB,SAAUsR,OAGvD,IAAIzyC,EAAO,CAAC,EAEVA,EADEyyC,EACK,CACLhkE,KAAM,EACN2yD,aAAc9lB,EAAa4lB,SAC3BjhC,OAAQ,GAGH,CACLxxB,KAAM,EACN2yD,aAAc9lB,EAAa4lB,SAC3BjhC,OAAQ,GAGZ,UACyBH,KAAMqC,KAAK1P,GAAQuN,EAE5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAsjBIsvD,EAA0BA,IAE5Bv0D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,yBAAwBD,SACnC1C,aAAQmD,EAAMuxD,gBA6CZ,KA5CAvxD,EAAMuxD,eAAewC,QAAQ72D,OAC3B8C,EAAMuxD,eAAewC,QAAQpzC,KAAI,CAACve,EAAS07B,IAEvCvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KAAAE,SAAG,gCACHge,gBAAA,OAEE/d,UAAU,qBACVge,QAASA,IACPo0C,EAAyB,MAAOxvD,GACjC7C,SAAA,CAEDF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKpb,GAAOiK,2BAGrB+O,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQoxD,kBAGbn0D,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,GAAG6C,EAAQqxD,kCAIlBp0D,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OACEsgB,IAAKpb,GAAO2C,kBACZuZ,IAAI,mBA5BPqd,QAqCb,aAiFZ8zB,EAA2BA,CAAClyD,EAAMuxB,KACtC,OAAQvxB,GACN,IAAK,QACHuxB,EAAK0b,eAAiB,WACtBxG,EAAalV,GACbvwB,EAAQkyB,KAAK,UACb,MACF,IAAK,MACH3B,EAAK0b,eAAiB,WACtB1b,EAAKovC,QAAUrgE,EAAMqgE,QACrBpvC,EAAK6gC,aAAe,MAGpBzrB,EAAgBpV,GAChBvwB,EAAQkyB,KAAK,CACXC,SAAU,cACV7yB,MAAO,CAAEN,KAAM,SAarB,EAQF,MAmBM4xD,EAAaxgC,UACjB,IAAIuvC,EAAUrgE,EAAMqgE,QACpB,GAAIA,EAAS,CACX,IAAIpvC,EAAO,CACTkhC,SAAUkO,EACV7+C,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3C9hB,KAAM,MACNquD,SAAUyB,EAAUhB,SAEtBjgC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKtQ,GAAQmO,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH2gC,eAAgBhzC,EAAS0S,KAAKA,SAGpC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CACF,GAGI09D,EAAuBlxC,UAC3B,IAAIuvC,EAAUrgE,EAAMqgE,QACpB9xC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI,GAAGzE,eAAoB8zC,KAC3B,MAAzB9hD,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH8vC,kBAAmBniD,EAAS0S,KAAKA,KAAK0yC,mBAG5C,CAAE,MAAOr/D,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGF,OACEiZ,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,6CAA4CD,SACzDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,KA1DnC9c,EAAQo0D,QA0DkD,EAAAv1D,SACtCF,eAAA,OAAKsgB,IAAKpb,GAAOmJ,yBAGrBrO,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAEmtC,EAAUG,qBAI7CxtC,eAAA,OAAKG,UAAU,sBAAqBD,SAChC1C,aAAQ6vC,GAEN,KA12BAk3B,EAAC3yC,EAAMsb,KACzB,MAAMs3B,EAA2B,OAAZt3B,QAAY,IAAZA,KAAcu3B,eAC/BzJ,OAAmB,OAAZ9tB,QAAY,IAAZA,OAAY,EAAZA,EAAcu3B,qBACrB/mE,EAEJ,OAAQk0B,EAAK0b,gBACX,IAAK,iBACL,IAAK,WACL,IAAK,cACL,IAAK,oBACH,OAAIk3B,EACKxkE,eAACigE,GAAc,CAAC9B,SAAUqG,EAAc5yC,KAAMA,IAGnD5xB,eAAA,UACE+e,GAAG,SACHuB,IAAKsR,EAAK8yC,UACVC,OAAQf,EACR/N,MAAM,yEACNC,iBAAe,IAKvB,QACE,OAAO,KACX,EA+0BkByO,CAAYl3B,EAAW1sC,EAAMusC,gBAGnCltC,eAAA,OAAKG,UAAU,wBAAuBD,SAhzBzB0kE,MAAO,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC/B,OACEnlE,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACvB1C,aAAQmD,EAAMusC,cAEZ,KADAvsC,EAAMusC,aAAaM,gBAI3BtvB,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACvB1C,aAAQmD,EAAMusC,cAEZ,KADAvsC,EAAMusC,aAAak4B,SAASpgE,WAKtChF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,SAAAhe,SAAA,CACEF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOyI,oBAEnB3N,eAAA,QAAAE,SACI1C,aAAQmD,EAAMusC,cAEZ,KADAvsC,EAAMusC,aAAaO,yBAQjCvvB,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,MAAI/d,UAAU,WAAUD,SAAA,CACtBF,eAAA,MACEG,UAA+B,IAApBQ,EAAMg/B,UAAkB,SAAW,GAC9CxhB,QAASA,IAAM4hB,EAAe,GAAG7/B,SAClC,aAGDF,eAAA,MACEG,UAA+B,IAApBQ,EAAMg/B,UAAkB,SAAW,GAC9CxhB,QAASA,IAAM4hB,EAAe,GAAG7/B,SAClC,mBAGDF,eAAA,MACEG,UAA+B,IAApBQ,EAAMg/B,UAAkB,SAAW,GAC9CxhB,QAASA,IAAM4hB,EAAe,GAAG7/B,SAClC,YAGDF,eAAA,MACEG,UAA+B,IAApBQ,EAAMg/B,UAAkB,SAAW,GAC9CxhB,QAASA,IAAM4hB,EAAe,GAAG7/B,SAClC,aAGDF,eAAA,MACEG,UAA+B,IAApBQ,EAAMg/B,UAAkB,SAAW,GAC9CxhB,QAASA,IAAM4hB,EAAe,GAAG7/B,SAClC,sBAIHF,eAAA,OACEG,UACsB,IAApBQ,EAAMg/B,UAAkB,qBAAuB,cAChDz/B,SAEDge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDge,gBAAA,UACEC,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACHowC,YAAY,MAGhBxhE,UAAWQ,EAAMghE,WAAa,GAAK,SAASzhE,SAAA,CAE5CF,eAAA,QAAAE,SAAM,MAAQ,kBAGjBS,EAAMghE,YACLzjD,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,SACEK,KAAK,OACLoe,YAAY,4BACZG,SAAWyd,GAAM+mC,EAAiB/mC,KAEpCne,gBAAA,OAAK/d,UAAU,6DAA4DD,SAAA,CACzEF,eAAA,KAAAE,SAAIS,EAAMmhE,cACV9hE,eAAA,UACEme,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACHowC,YAAY,EACZF,KAAM,OAETvhE,SACF,WAGDF,eAAA,UAAQme,QAASA,IA/WZsT,WACvB,GAAmB,KAAf9wB,EAAM8gE,KACRviE,MAAM,yBACD,CACL,IACI0yB,EAAO,CACTkhC,SAFYnyD,EAAMqgE,QAGlBn3B,KAAM42B,EACNjyB,MAAO7tC,EAAM8gE,MAEfvyC,IACA,IAE+B,aADNwC,KAAMqC,KAAKvG,GAASoE,IAC9BA,KAAKC,SAChBzC,IACA2zC,IAEJ,CAAE,MAAO99D,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CACAyrB,GAAUa,IAAS,IACdA,EACHkwC,KAAM,GACNE,YAAY,KAEhB,GAqVyC0D,GAAmBnlE,SAAC,gBAI5B,QAApB2kE,EAAAlkE,EAAM+gE,UAAU9vC,YAAI,IAAAizC,OAAA,EAApBA,EAAsBhnE,QAAS,EAC9BmC,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,aAAYD,UACJ,QAApB4kE,EAAAnkE,EAAM+gE,UAAU9vC,YAAI,IAAAkzC,OAAA,EAApBA,EAAsBjnE,QAAS,IACV,QADWknE,EAC/BpkE,EAAM+gE,UAAU9vC,YAAI,IAAAmzC,OAAA,EAApBA,EAAsBzjD,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA69B,YAAA,CAAA39B,SACGS,EAAMkhE,kBAAoBpjC,EACzBvgB,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,SACEK,KAAK,OACLoe,YAAY,4BACZG,SAAWyd,GAAM+mC,EAAiB/mC,GAClC5+B,MAAOkD,EAAM8gE,OAEfvjD,gBAAA,OAAK/d,UAAU,6DAA4DD,SAAA,CACzEF,eAAA,KAAAE,SAAIS,EAAMmhE,cACV9hE,eAAA,UACEme,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACHswC,gBAAiB,KACjBD,iBAAkB,KAClBH,KAAM,OAETvhE,SACF,WAGDF,eAAA,UACEme,QAASA,IApXhBsT,WAC3B,GAAmB,KAAf9wB,EAAM8gE,KACRviE,MAAM,yBACD,CACL,IAAI0yB,EAAO,CACT7S,GAAIA,EACJ8qB,KAAM42B,EACNjyB,MAAO7tC,EAAM8gE,MAEfvyC,IACA,IAE+B,aADNwC,KAAMqC,KAAKtG,GAASmE,IAC9BA,KAAKC,SAChBzC,IACA2zC,IAEJ,CAAE,MAAO99D,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CACAyrB,GAAUa,IAAS,IACdA,EACHkwC,KAAM,GACNE,YAAY,EACZC,iBAAkB,KAClBC,gBAAiB,QAErB,GA0VoCyD,CAAqBviE,EAAQgc,IAC9B7e,SACF,eAMLge,gBAAA,OAAK/d,UAAU,yDAAwDD,SAAA,CACrEF,eAAA,KACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QAASA,KACPonD,OA/RR17B,EA+R2B9mC,EAAQ8mC,KA9R7DvoC,QAAQC,IAAI,oBAAqBsoC,QACjCwmB,EAA4BxmB,GAFFA,KAgSO,EAAA3pC,SAEA6C,EAAQyrC,QAEXtwB,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDF,eAAA,KAAAE,SAAIwjE,EAAc3gE,EAAQ8mC,QAC1B7pC,eAAA,UACEG,UACEQ,EAAMihE,mBAAqBnjC,EACvB,SACA,GAENtgB,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACHqwC,iBACErwC,EAAUqwC,mBAAqBnjC,EAC3B,KACAA,MAETv+B,SAEDF,eAAA,OACEsgB,IAAKpb,GAAOY,YACZsb,IAAI,iBAITzgB,EAAMihE,mBAAqBnjC,GAC1BvgB,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MACEC,QAASA,IApWxBqnD,EAAC/D,EAAMhjC,KAC5B/N,GAAUa,IAAS,IACdA,EACHkwC,KAAMA,EACNI,gBAAiBtwC,EAAUswC,kBAAoBpjC,EAAQ,KAAOA,KAC7D,EAgWmC+mC,CAAeziE,EAAQyrC,MAAO/P,GAC/Bv+B,SAAA,CAEDF,eAAA,OACEsgB,IAAKpb,GAAOa,UACZqb,IAAI,SAENphB,eAAA,KAAAE,SAAG,YAELge,gBAAA,MACEC,QAASA,KACPsnD,OAzXb1mD,EAyX+Bhc,EAAQgc,QAxXhE2R,GAAUa,IAAS,IACdA,EACHqwC,iBAAkB,KAClBG,aAAa,EACbC,SAAUjjD,MALaA,KA0XY,EAAA7e,SAAA,CAEDF,eAAA,OACEsgB,IAAKpb,GAAOc,YACZob,IAAI,WAENphB,eAAA,KAAAE,SAAG,6BAYzBge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKsgB,IAAKpb,GAAOW,mBAAoBub,IAAI,YACzClD,gBAAA,KAAAhe,SAAA,CAAG,oCAEDF,eAAA,SAAM,sCACNA,eAAA,SAAM,wCAMhBA,eAAA,OACEG,UACsB,IAApBQ,EAAMg/B,UAAkB,qBAAuB,cAChDz/B,SAEDF,eAAA,OAAKG,UAAU,wBAAuBD,SACnCS,EAAM0gE,kBAAkBxjE,OAAS,EACT,QADUmnE,EACjCrkE,EAAM0gE,yBAAiB,IAAA2D,OAAA,EAAvBA,EAAyB1jD,KAAKve,GAE1Bmb,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKsgB,IAAKpb,GAAOC,QAASic,IAAI,QAC9BphB,eAAA,KAAAE,SACG6C,EAAQsuC,YAAYxzC,OAAS,GAC1B,GAAGkF,EAAQsuC,YAAYlzC,MAAM,EAAG,SAChC4E,EAAQsuC,iBAGhBrxC,eAAA,KACE+7B,KAAMh5B,EAAQyrC,MACd1wB,OAAO,SACPme,IAAI,aAAY/7B,SAEhBF,eAAA,OAAKsgB,IAAKpb,GAAOE,aAAcgc,IAAI,oBAM3ClD,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKsgB,IAAKpb,GAAOW,mBAAoBub,IAAI,YACzCphB,eAAA,KAAAE,SAAG,sDAKXF,eAAA,OACEG,UACsB,IAApBQ,EAAMg/B,UAAkB,qBAAuB,cAChDz/B,SAEDge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,MAAAE,SAAI,aACJge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,QAAOD,SACnB,IAAIm7C,MAAM,IAAI/5B,KAAI,CAACg6B,EAAM7c,KACxB,MAAMyc,EAAgBzc,EAAQ,EAC9B,OACEvgB,gBAAA,SAAAhe,SAAA,CACEF,eAAA,SACEK,KAAK,QACL5C,MAAOy9C,EACP/8B,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACHnrB,OAAQ80C,QAIdl7C,eAAA,QACE++B,aAAcA,IACZrO,GAAUa,IAAS,IACdA,EACHsoB,MAAOqB,MAGXlc,aAAcA,IACZtO,GAAUa,IAAS,IACdA,EACHsoB,MAAO,SAEV35C,SAEAg7C,IAAkBv6C,EAAMk5C,OAASl5C,EAAMyF,QACtCpG,eAAA,OAAKsgB,IAAKpb,GAAOI,cAAe8b,IAAI,SAEpCphB,eAAA,OAAKsgB,IAAKpb,GAAOG,eAAgB+b,IAAI,aAGnC,MAIdlD,gBAAA,OAAK/d,UAAU,8CAA6CD,SAAA,CAC1DF,eAAA,QAAAE,SAAM,cACNF,eAAA,QAAAE,SAAM,oBAGVge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,SACEK,KAAK,WACLoe,YAAY,gBACZhhB,MAAOkD,EAAM2gE,QACb1iD,SAAWyd,GApuBRA,KACrB3L,GAAUa,IAAS,IACdA,EACH+vC,QAASjlC,EAAEve,OAAOrgB,SACjB,EAguBgCioE,CAAcrpC,KAEjCr8B,eAAA,UAAQme,QAASA,IAtmBPsT,WAC1B,GAAqB,OAAjB9wB,EAAMyF,QAAqC,KAAlBzF,EAAM2gE,QACjCpiE,MAAM,+CACD,CACL,IACI0yB,EAAO,CACTkhC,SAFYnyD,EAAMqgE,QAGlB2E,KAAMhlE,EAAMyF,OACZw/D,SAAUjlE,EAAM2gE,SAElBpyC,IACA,IAE+B,aADNwC,KAAMqC,KAAK5G,GAASyE,IAC9BA,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH+vC,QAAS,GACTmB,WAAY,IAAIlxC,EAAUkxC,WAAY,OAExCI,IAEJ,CAAE,MAAO59D,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CACF,GA4kBuC4gE,GAAsB3lE,SAC3CF,eAAA,OAAKsgB,IAAKpb,GAAOK,SAAU6b,IAAI,cAGlCzgB,EAAM4gE,aAAa1jE,OACE,QADIonE,EACtBtkE,EAAM4gE,oBAAY,IAAA0D,OAAA,EAAlBA,EAAoB3jD,KAAI,CAACve,EAAS07B,KAAW,IAADqnC,EAC1C,OACE5nD,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,KAAGG,UAAU,YAAWD,SAAE6C,EAAQiC,OAElChF,eAAA,KAAGG,UAAU,UAASD,SAAE6C,EAAQ6iE,WAChC5lE,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,QAAAhe,SAAA,CACQ,OAALS,QAAK,IAALA,GAAiB,QAAZmlE,EAALnlE,EAAO8hE,kBAAU,IAAAqD,GAAjBA,EAAoBrnC,GACnBz+B,eAAA,OACEme,QAASA,KACPolD,EAAgBxgE,EAAQgc,GAAI,EAAG0f,EAAM,EAEvCne,IAAW,OAANpb,SAAM,IAANA,QAAM,EAANA,GAAQQ,UACb0b,IAAI,UAGNphB,eAAA,OACEme,QAASA,KACPolD,EAAgBxgE,EAAQgc,GAAI,EAAG0f,EAAM,EAEvCne,IAAW,OAANpb,SAAM,IAANA,QAAM,EAANA,GAAQS,UACbyb,IAAI,WAIA,OAAPre,QAAO,IAAPA,OAAO,EAAPA,EAASygE,OAAQtlD,gBAAA,KAAAhe,SAAA,CAAW,OAAP6C,QAAO,IAAPA,OAAO,EAAPA,EAASygE,KAAK,mBAGpC,IAGV,WAIVxjE,eAAA,OACEG,UACsB,IAApBQ,EAAMg/B,UAAkB,qBAAuB,cAChDz/B,SAEDF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,YAC5BF,eAAA,OAAKG,UAAU,gBAAeD,SACrB,OAALS,QAAK,IAALA,KAAOusC,aAAa6lB,QAOpB/yD,eAAA,OACEohB,IAAI,cACJd,IAAKpb,GAAO4I,0BACZqQ,QAASA,IACPu0C,EAAoB/xD,EAAMusC,gBAV9BltC,eAAA,OACEohB,IAAI,eACJd,IAAKpb,GAAO6I,2BACZoQ,QAASA,IAAMu0C,WAavB1yD,eAAA,OAAKG,UAAU,mBAAkBD,UAC7B1C,aAAa,OAALmD,QAAK,IAALA,OAAK,EAALA,EAAOusC,gBACV,OAALvsC,QAAK,IAALA,OAAK,EAALA,EAAOusC,aAAa64B,QAAQloE,UACvB,OAAL8C,QAAK,IAALA,OAAK,EAALA,EAAOusC,aAAa64B,QAAQzkD,KAAI,CAACqqB,EAAMrM,IACrCt/B,eAAA,OAEEG,UAAU,sBACVge,QAASA,IA7db6nD,KACpB,IAAIC,EAAeD,EAASznE,MAAM,KAC9B2nE,EACgB,GAAlBD,EAAa,GAAU,GAAuB,GAAlBA,EAAa,GAAUA,EAAa,GAEtD3hE,SAASkmC,cAAc,WAE7Bq5B,cAAcC,YAClBzhE,KAAKw+C,UAAU,CAAEujB,OAAQ8B,IACzB,IACD,EAmdsCC,CAAax6B,EAAKy6B,cAAclmE,SAE/CF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CACzBF,eAAA,SAAOG,UAAU,UAASD,SAAE,WAC1Bo/B,EAAM,QAERt/B,eAAA,SAAOG,UAAU,YAAWD,SACzByrC,EAAKo6B,kBAXTzmC,WAoBft/B,eAAA,UACEme,QAASA,IACPuS,GAAUa,IAAS,IAAA80C,EAAA,MAAM,IACpB90C,EACH8wC,OAAa,OAAL1hE,QAAK,IAALA,GAAe,QAAV0lE,EAAL1lE,EAAO6gE,gBAAQ,IAAA6E,OAAV,EAALA,EAAiB/kD,KAAK+a,GAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGg9B,UACxC,IACFn5D,SAEK,OAALS,QAAK,IAALA,GAAe,QAAVukE,EAALvkE,EAAO6gE,gBAAQ,IAAA0D,OAAV,EAALA,EAAiB5jD,KAAK+a,GAAO,OAADA,QAAC,IAADA,OAAC,EAADA,EAAGg9B,mBAKxCr5D,eAAA,OACEG,UACsB,IAApBQ,EAAMg/B,UAAkB,qBAAuB,cAChDz/B,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SACf,QAAlBilE,EAAAxkE,EAAMsgE,oBAAY,IAAAkE,GAAlBA,EAAoBtnE,OACnBmC,eAAA,OACE+e,GAAG,kBACH5e,UAAU,gBACVqE,MAAO,CACLjE,OAAQ,OACR2rC,SAAU,OACVgnB,UAAW,SACX3M,QAAS,OACTrmD,SAEFF,eAACmzD,KAAc,CACbC,WAAYzyD,EAAMsgE,aAAapjE,OAC/Bw1D,MAAM,EACNE,SAAS,EACTC,iBAAiB,kBAAiBtzD,SAElCF,eAAA,OAAKG,UAAU,4BAA2BD,SACvCS,EAAMsgE,aAAa3/C,KAAI,CAACve,EAAS07B,IAChCvgB,gBAAA,OAAiB/d,UAAU,uBAAsBD,SAAA,CAC/CF,eAAA,OACEG,UAAU,4BACVge,QAASA,IACPo0C,EAAyB,SAAUxvD,GACpC7C,SAEDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OACEsgB,IAAKvd,EAAQquC,eACbhwB,IAAI,kBAIVlD,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1Cge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,OACEG,UAAU,yBACVge,QAASA,IACPo0C,EAAyB,SAAUxvD,GACpC7C,SAEDF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQyqC,gBAGbxtC,eAAA,OAAKG,UAAU,gBAAeD,SAC3B6C,EAAQgwD,QACP/yD,eAAA,OACEsgB,IAAKpb,GAAO4I,0BACZsT,IAAI,aACJjD,QAASA,IACPu0C,EAAoB3vD,KAIxB/C,eAAA,OACEsgB,IAAKpb,GAAO6I,2BACZqT,IAAI,iBACJjD,QAASA,IACPu0C,EAAoB3vD,UAM9B/C,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAAC,MACxB6C,EAAQiC,UAGhBhF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,UACEme,QAASA,IACPo0C,EACE,SACAxvD,GAEH7C,SACF,uBA5DCu+B,WAwElBvgB,gBAAA,OACE/d,UAAU,wBACVqE,MAAO,CAAE+sC,UAAW,SAAU3Q,OAAQ,QAAS1gC,SAAA,CAE/CF,eAAA,OAAKsgB,IAAKpb,GAAOgE,iBAAkBkY,IAAI,cACvCphB,eAAA,KAAAE,SAAG,yCAON,EAkRE0kE,KAEH5kE,eAAA,OAAKG,UAAU,gCAA+BD,SA7QxDF,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,OAAKG,UAAU,+BACfH,eAAA,OAAKG,UAAU,4BAA2BD,SACvCq0D,aA4QGv0D,eAAA,OAAKG,UAAU,yBAAwBD,SAxMjDF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC1C1C,aAAQmD,EAAMusC,cA8DZ,KA7DFvsC,EAAMusC,aAAao5B,kBAAkB10C,KAAK/zB,OACxCqgB,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,qBAE9BF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,mBAAkBD,SAC7B1C,aAAQmD,EAAMusC,cAiDZ,KAhDAvsC,EAAMusC,aAAao5B,kBAAkB10C,KAAK/zB,OACxC8C,EAAMusC,aAAao5B,kBAAkB10C,KAAKtQ,KACxC,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,uBAAsBD,SAAA,CAEhCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKvd,EAAQwqC,eAGtBrvB,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQyqC,gBAGbtvB,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,SAAAhe,SAAA,CACEF,eAAA,QAAAE,SACEF,eAAA,OACEsgB,IAAKpb,GAAOyI,oBAGhB3N,eAAA,QAAAE,SAAO6C,EAAQ0qC,sBAIrBztC,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC3B6C,EAAQgwD,QACP/yD,eAAA,OAAKsgB,IAAKpb,GAAO2I,kBAEjB7N,eAAA,OAAKsgB,IAAKpb,GAAO0I,8BAhCtB6wB,KA0Cb,YAKV,sBAiJT99B,EAAMohE,aACL/hE,eAAA,OACEG,UAAU,mCACVge,QAAUke,IACJA,EAAEve,OAAO48B,UAAUvR,SAAS,wBAC9BzY,GAAUa,IAAS,IACdA,EACHwwC,aAAcxwC,EAAUwwC,eAE5B,EACA7hE,SAEFge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,MAAAE,SAAI,gBACJge,gBAAA,KAAAhe,SAAA,CAAG,uCAEDF,eAAA,SAAM,uBAERke,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEme,QAASA,KACPuS,GAAUa,IAAS,IACdA,EACHwwC,aAAcxwC,EAAUwwC,eACvB,EACH7hE,SACH,OAGDF,eAAA,UAAQme,QAASA,IAliCJsT,WACvB,IAAIG,EAAO,CACT7S,GAAIpe,EAAMqhE,UAEZ9yC,IACA,IAE+B,aADNwC,KAAMqC,KAAKrG,GAASkE,IAC9BA,KAAKC,SAChBzC,IACA2zC,IAEJ,CAAE,MAAO99D,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CACAyrB,GAAUa,IAAS,IACdA,EACHywC,SAAU,KACVD,aAAa,KACZ,EA+gC8BwE,GAAmBrmE,SAAC,gBAKlDS,EAAMg6C,aACL36C,eAAA,OACEG,UAAU,mCACVge,QAAUke,IACJA,EAAEve,OAAO48B,UAAUvR,SAAS,wBAC9BzY,GAAUa,IAAS,IACdA,EACHopB,aAAcppB,EAAUopB,eAE5B,EACAz6C,SAEFge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,UACEme,QAASA,KACPuS,GAAUa,IAAS,IACdA,EACHopB,aAAcppB,EAAUopB,eACvB,EAELx6C,UAAU,QAAOD,SAEjBF,eAAA,OAAKsgB,IAAKpb,GAAOkD,UAAWgZ,IAAI,YAElCphB,eAAA,MAAAE,SAAI,WACJF,eAAA,KAAAE,SAAG,gGAIHF,eAAA,MAAIG,UAAU,YAAWD,SACF,QADE6gE,EACtBpgE,EAAMwhE,sBAAc,IAAApB,OAAA,EAApBA,EAAsBz/C,KAAKve,GAExBmb,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL2E,KAAK,SACLvH,MAAOsF,EACP6b,SAAUA,IACR8R,GAAUa,IAAS,IACdA,EACH6wC,qBAAsBr/D,QAI5B/C,eAAA,SAAOihD,IAAI,SAAQ/gD,SAAE6C,WAK7B/C,eAAA,YACE4e,SAAWyd,IAnyCIA,KACzB3L,GAAUa,IAAS,IACdA,EACH2wC,OAAQ7lC,EAAEve,OAAOrgB,SAChB,EAgyCS+oE,CAAkBnqC,EAAE,EAEtB5+B,MAAOkD,EAAMuhE,OACbrjC,KAAM,EACNpgB,YAAY,mBAEdze,eAAA,OAAAE,SACEF,eAAA,UAAQme,QAASA,IA5uCFsT,WACzB,GAAqB,KAAjB9wB,EAAMuhE,QAAgD,KAA/BvhE,EAAMyhE,qBAC/BljE,MAAM,oDACD,CACL,IACI0yB,EAAO,CACTkhC,SAFYnyD,EAAMqgE,QAGlBlgC,YAAangC,EAAMuhE,OACnBnjD,GAAIpe,EAAMshE,SACVwE,OAAQ9lE,EAAMyhE,sBAEhBlzC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKpG,GAASiE,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH0wC,SAAU,KACVtnB,aAAa,EACbunB,OAAQ,GACRE,qBAAsB,OAExB9gE,QAAQC,IAAI,WAAY2d,EAAS0S,KAAK8B,SAE1C,CAAE,MAAOzuB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CACF,GA+sCiCyhE,GAAqBxmE,SAAC,oBAK5C,IC/5CAQ,qBATUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBusC,UAAW1sC,EAAME,aAAawsC,UAC9BrsC,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA3DOU,IACpB,IAAI,OAAEN,EAAM,UAAEusC,EAAS,QAAEhsC,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAQ/D,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,8BAA6BD,SAT5CqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC2mE,GAA4B,CAC3Bt5B,UAAWA,EACXrsC,SAAUA,EACVK,QAASA,EACTF,eAAgBA,OAKpBnB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC2mE,GAA4B,CAC3Bt5B,UAAWA,EACXrsC,SAAUA,EACVK,QAASA,EACTF,eAAgBA,aAO3BL,GAAUd,eAACD,KAAW,MACd,I,4BC9CA6mE,OAhBIA,IAEf5mE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,wB,OCwH3B2mE,OA5HQzlE,IACrB,IAAI,mBAAE0lE,EAAkB,SAAEC,GAAa3lE,EAEvC,MAaM4lE,EAAmBA,CAACC,EAAYxoC,KACpC,IAAI,MAAE99B,GAAUsmE,EAChB,OACEjnE,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAiB/d,UAAU,6BAA4BD,SAAA,CACrDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACvCgnE,EAAkBvmE,GACnBX,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB4wC,KAAOnwC,EAAMwmE,WAAWp1B,OAAO,kCAItC/xC,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxBknE,EAAmBzmE,EAAM0mE,kBAb1B5oC,IAmBD,EAGT6oC,EAAqBA,CAACL,EAAYxoC,KACtC,IAAI,MAAE99B,GAAUsmE,EAChB,OACEjnE,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAiB/d,UAAU,+BAA8BD,SAAA,CACvDF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxBknE,EAAmBzmE,EAAM0mE,gBAKlCnpD,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACxCgnE,EAAkBvmE,GACnBX,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB4wC,KAAOnwC,EAAMwmE,WAAWp1B,OAAO,oCAd9BtT,IAmBD,EAITyoC,EAAqBxzC,IACzB,IAAI6zC,EAOJ,OALEA,EADmB,UAAjB7zC,EAAQrzB,KACI,EAEA,EAGRknE,GACN,KAAK,EACH,OACEvnE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKoT,EAAQ8zC,eAI1B,KAAK,EACH,OACExnE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAEwzB,EAAQ+nC,WAK7C,QACE,OAAO,KACX,EAGI2L,EAAsB70B,IAC1B,IAAIv0C,EAAM,GAOV,OANsBu0C,EAAKh0C,MAAM,KAEjBJ,MAAM,EAAG,GAAGg6B,SAASp1B,IACnC/E,GAAY+E,EAAQ,GAAG0kE,aAAa,IAG/BzpE,CAAG,EAGZ,OACEgC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,yBAAyB4e,GAAG,yBAAwB7e,SAhHtD6mE,IACZA,EAASzlD,KAAI,CAACve,EAAS07B,IAE1B17B,EAAQpC,MAAM0mE,OAAOvoE,gBACrBgoE,EAAmBY,SAAS5oE,cAErBkoE,EAAiBjkE,EAAS07B,GAE1B6oC,EAAmBvkE,EAAS07B,KAyG9BkpC,CAAYZ,UAIV,E,OC/CAa,OA1EKxmE,IAClB,IAAI,eACFymE,EAAc,uBACdC,EAAsB,iBACtBC,EAAgB,kBAChBC,EAAiB,mBACjBC,EAAkB,kBAClBC,GACE9mE,EACJ,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACvC2nE,EAAe5oB,cAAcphD,OAC5BqgB,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKunD,EAAe5oB,kBAE3B/gC,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAS8d,QAASA,IAAM8pD,IAAqB/nE,SACxDF,eAAA,OAAKsgB,IAAKpb,GAAOiJ,sBAGrBnO,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAS8d,QAASA,IAAM+pD,IAAoBhoE,SACvDF,eAAA,OAAKsgB,IAAKpb,GAAOkJ,4BAKvB,KAEJ8P,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,SAAO/d,UAAU,qBAAoBD,SAAA,CACnCF,eAAA,SACEK,KAAK,OACL2E,KAAK,aACL+Z,GAAG,eACHgiC,OAAO,UACPniC,SAAWnB,GAAUuqD,EAAkBvqD,KAEzCzd,eAAA,OAAKsgB,IAAKpb,GAAOwJ,qBAIvB1O,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,QAAME,SAAWX,GAAUsqD,EAAiBtqD,GAAOvd,SAAA,CACjDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,OACLoe,YAAY,eACZhhB,MAAOoqE,EAAeM,IACtBvpD,SAAWnB,GAAUqqD,EAAuBrqD,OAGhDzd,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAQH,SACnBF,eAAA,OAAKsgB,IAAKpb,GAAOyJ,kCASxB,ECxDf,MAAMy5D,GAAOnmE,EAAQ,KA0ZNvB,qBAtBUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrB4lE,mBAAoBnmE,EAAM0nE,eAAevB,mBACzClmE,eAAgBD,EAAME,aAAaD,mBAIXuvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCk4C,sBAAwBx4C,IACtBK,EAASo4C,GAAwCz4C,GAAS,KAKjDpvB,EAxZQU,IACrB,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCqrD,kBAAmB,CAAC,EACpBC,QAAS,CAAC,EACV1B,SAAU,GACVc,eAAgB,CACdM,IAAK,GACLnpB,UAAW,CAAC,EACZC,cAAe,MAInB,IAAI,QACF59C,EAAO,SACPy3B,EAAQ,SACR93B,EAAQ,mBACR8lE,EAAkB,eAClBlmE,EAAc,aACdsuB,EAAY,cACZE,EAAa,sBACbk5C,GACElnE,EAEJI,qBAAU,KAIRknE,GAAc,GAYb,IAEH,MAAMA,EAAej3C,UACnB,IAOIk3C,GAPA,SAAEjB,EAAQ,YAAEkB,GAAgB9B,EAE3BY,GAAakB,IAChB1pE,MAAM,4DACNmC,EAAQg/C,QAAQ,uBAIlB,IACEsoB,QAAeP,GAAKS,OAAOC,OAAOF,EACpC,CAAE,MAAO3jE,GACP3D,QAAQC,IAAI0D,EACd,CAIA8jE,EAAwBJ,GAExBK,EAAkBL,GAElBM,EAAkBN,GAElBO,EAAmBP,EAAO,EAItBQ,EAAiB13C,UACrB,IAAIG,EAAO,CACT81C,SAAU1mE,EAASgE,MAErBkqB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1Q,GAAQuO,GAC1C,GAAwB,MAApB1S,EAAS2S,OAMX,OALAzC,IACAk5C,EAAsB,CACpBZ,SAAUxoD,EAAS0S,KAAK81C,SACxBkB,YAAa1pD,EAAS0S,KAAKN,QAEtBpS,EAAS0S,KAAKN,KAEzB,CAAE,MAAOrsB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAII8jE,EAA2BJ,IAC/BA,EAAO5M,GAAG,sBAAsBtqC,UAC9B,IACE,MAAMH,QAAc63C,IACpBR,EAAOS,YAAY93C,EACrB,CAAE,MAAOrsB,GACP3D,QAAQC,IAAI0D,EACd,IACA,EAIE+jE,EAAqBL,IACzBA,EAAO5M,GAAG,gBAAgBtqC,UACxB,IACE,MAAMH,QAAc63C,IACpBR,EAAOS,YAAY93C,EACrB,CAAE,MAAOrsB,GACP3D,QAAQC,IAAI0D,EACd,IACA,EAIEikE,EAAsBP,IAC1BA,EAAO5M,GAAG,iBAAiBtqC,UAGzBvC,IACA,IACE,MAAM63C,QAAiB0B,EAAQY,cAC1B7rE,aAAQupE,KACXA,EAASuC,MAAMnxC,SAAQ1G,UACrB,GAA2B,UAAvB1uB,EAAQpC,MAAMN,KAAkB,CAClC,IAAI84C,QAAYp2C,EAAQwmE,MAAMC,yBAC9BzmE,EAAQpC,MAAM6mE,SAAWruB,CAC3B,MACEp2C,EAAQpC,MAAM6mE,SAAW,IAC3B,IAEFp4C,IACAsB,GAAUa,IAAS,IAAWA,EAAWw1C,SAAUA,EAASuC,UAC5DG,IAEJ,CAAE,MAAOxkE,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,IACA,EAIE65C,EAAoBx3C,UACxB,IAAI,eAAEi4C,GAAmB9oE,EACzBsuB,IACA,IAEE,MAAMy6C,QAA4BhB,EAAOiB,oCAEnCC,EAA0BF,GAEhC,IAAIG,EAA0BH,EAAoBhpE,MAAM2oE,MAAMv3C,MAC3DhvB,GACQgb,SAAShb,EAAQgnE,cAAgBL,IAK5C,GAAII,EAAyB,CAE3B,IAAIj3C,QAAyBm3C,EAAcF,GAEvCj3C,EAAiBxuB,SACnBqsB,GAAUa,IAAS,IACdA,EACHi3C,kBAAmBsB,EACnBrB,QAAS51C,EAAiBjB,SAE5Bq4C,EAAYp3C,EAAiBjB,MAEjC,MAEEs4C,EAAcvB,EAElB,CAAE,MAAO1jE,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGI46C,EAAgBv4C,UACpB,IAEE,MAAO,CAAEptB,OAAQ,EAAGutB,WADA42C,EAAkB2B,aAExC,CAAE,MAAOllE,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CAAEZ,OAAQ,EAAGutB,KAAM,KAC5B,GAaIi4C,EAA4Bp4C,UAChCk4C,EAAoBhpE,MAAM2oE,MAAMnxC,SAAQ1G,UACtC,IAAIoB,QAAyBm3C,EAAcjnE,GAE3C,GAAI8vB,EAAiBxuB,OAAQ,CAC3B,IAAIokE,EAAU51C,EAAiBjB,KAEmB,WAA9C62C,EAAQ2B,aAAav4C,OAAO/yB,oBAjBd2yB,WACtB,UAC4Bg3C,EAAQ4B,OACpC,CAAE,MAAOplE,GACP3D,QAAQC,IAAI0D,EACd,GAaYqlE,CAAgB7B,EAE1B,IACA,EAIEwB,EAAcx4C,UAClB,UAC4Bg3C,EAAQ7jE,QAEhC2lE,EAAkB9B,EAEtB,CAAE,MAAOxjE,GACP3D,QAAQC,IAAI0D,GAGZyjE,GACF,GAIIwB,EAAgBz4C,UACpB,IAAI,eAAEi4C,GAAmB9oE,EACzB,MAAM6nE,QAAgBE,EAAOuB,cAAc,CACzCH,WAAY,GAAGL,IACfc,aAAc,WAAWd,MAE3Bh5C,GAAUa,IAAS,IACdA,EACHi3C,kBAAmB,CAAC,EACpBC,QAASA,MAEXwB,EAAYxB,EAAQ,EAGhB8B,EAAqB9B,IACzBA,EAAQ1M,GAAG,gBAAgBtqC,UACzBf,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IACXt2C,EAAUs2C,eACbM,IAAK,GACLlpB,cAAe,GACfD,UAAW,CAAC,OAGhByrB,EAAmB/2C,EAAQ,GAC3B,EAGE+2C,EAAqBh5C,UACzB,GAA2B,UAAvBiC,EAAQ/yB,MAAMN,KAChB,GAA2B,UAAvBqzB,EAAQ/yB,MAAMN,KAAkB,CAClC6uB,IACA,IAAIiqB,QAAYzlB,EAAQ61C,MAAMC,yBAC1BrwB,IACFzlB,EAAQ/yB,MAAM6mE,SAAWruB,EACzB/pB,IAEJ,MACEsE,EAAQ/yB,MAAM6mE,SAAW,KAG7B92C,GAAUa,IAAS,IACdA,EACHw1C,SAAU,IAAIx1C,EAAUw1C,SAAUrzC,OAEpC+1C,GAA2B,EA2CvBiB,EAAuBzqB,GACXC,IAAIC,gBAAgBF,GAmChCwpB,EAA4BA,KAChC,IAAIkB,EAAyBrmE,SAASkmC,cACpC,2BAGFmgC,EAAuBrI,SAAS,EAAGqI,EAAuBvtB,aAAa,EAGzE,OACEp9C,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAC4mE,GAAU,IACX5mE,eAAC6mE,GAAa,CACZC,mBAAoBA,EACpBC,SAAUpmE,EAAMomE,WAElB/mE,eAAC4nE,GAAU,CACTC,eAAgBlnE,EAAMknE,eACtBC,uBA/EsBrqD,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IAAKt2C,EAAUs2C,eAAgBM,IAAK1qE,MACnD,EA0EKsqE,iBArFgBtqD,IACxBA,EAAMY,iBAZYusD,MAClB,MAAM,eAAE/C,EAAc,QAAEY,GAAY9nE,EAChCknE,EAAeM,MACjBM,EAAQmC,YAAY5P,OAAO6M,EAAeM,KAAKrqE,QAC/C4yB,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IAAKt2C,EAAUs2C,eAAgBM,IAAK,QAExD,EAKAyC,EAAa,EAoFL5C,kBAxEiBvqD,IACzB,IAAI,MAAEuiC,GAAUviC,EAAMK,OAClBmhC,EAAgByrB,EAAoB1qB,EAAM,IAE9CtvB,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IACXt2C,EAAUs2C,eACb5oB,cAAeA,EACfD,UAAWgB,EAAM,GACjBmoB,IAAK,OAEN,EA6DKF,mBArDiBA,KACN3jE,SAASkmC,cAAc,iBAC7B/sC,MAAQ,GACrBizB,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IACXt2C,EAAUs2C,eACbM,IAAK,GACLlpB,cAAe,GACfD,UAAW,CAAC,MAEb,EA2CKkpB,kBAxCgBA,KACxB,IAAI,eAAEL,EAAc,QAAEY,GAAY9nE,EAClC,GAAIknE,EAAe5oB,cAAcphD,OAAQ,CACvC,IAAI60B,EAAW,IAAIiuB,SACnBjuB,EAASkuB,OAAO,OAAQinB,EAAe7oB,WACvCypB,EAAQmC,YAAYl4C,GACpBhC,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IACXt2C,EAAUs2C,eACb5oB,cAAe,GACfD,UAAW,CAAC,MAGlB,WA8BW,IC5OAt+C,qBApBUC,IAChB,CACLmmE,mBAAoBnmE,EAAM0nE,eAAevB,uBAIjB32C,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCk4C,sBAAwBx4C,IACtBK,EAASo4C,GAAwCz4C,GAAS,KAKjDpvB,EAvJ4BU,IACzC,IAAI,QACFC,EAAO,SACPy3B,EAAQ,eACRl4B,EAAc,SACdI,EAAQ,mBACR8lE,EAAkB,sBAClBwB,EAAqB,aACrBp5C,EAAY,cACZE,GACEhuB,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC0tD,qBAAqB,IAOjBjH,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B9iE,EAASq4B,YACxC,IACD,EAqDH,OACEr5B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,4CAA2CD,SACxDge,gBAAA,OAAK/d,UAAU,kDAAiDD,SAAA,CAC9DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,KApE7B9c,EAAQo0D,QAoE4C,EAAAv1D,SACtCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,sBAGrB1N,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,sBAIlCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAChC1C,aAAQoD,GAAgD,KApEjDgxB,KACnB,OAAQA,EAAK0b,gBACX,IAAK,iBACH,OACEttC,eAAA,UACE+e,GAAG,SACHuB,IAAK,sCAAsCsR,EAAK4c,QAChDm2B,OAAQf,EACR/N,MAAM,yEACNC,iBAAe,IAGrB,IAAK,WACH,OACE91D,eAAA,UACE+e,GAAG,SACHuB,IAAK,sCAAsCsR,EAAKk5C,aAEhDnG,OAAQf,EACR/N,MAAM,yEACNC,iBAAe,IAGrB,QACE,OAAO,KACX,EA2CsCyO,CAAY3jE,OAG3CD,EAAMkqE,oBACL7qE,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gBAE9BF,eAAC+qE,GAAa,CAAC1pE,QAASA,EAASy3B,SAAUA,SAI/C94B,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7Cge,gBAAA,OACE/d,UAAU,8BACVge,QAASA,IAzDasT,WACpC,IAAIG,EAAO,CACT81C,SAAU1mE,EAASgE,MAErBkqB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1Q,GAAQuO,GAClB,MAApB1S,EAAS2S,SACXzC,IACAk5C,EAAsB,CACpBZ,SAAUxoD,EAAS0S,KAAK81C,SACxBkB,YAAa1pD,EAAS0S,KAAKN,QAE7BZ,GAAUa,IAAS,IAAWA,EAAWs5C,qBAAqB,MAC9Dt4C,OAAO+vC,SAAS,EAAGh+D,SAASm3D,KAAKre,cAErC,CAAE,MAAOn4C,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAsC6B+lE,GAAgC9qE,SAAA,CAE/CF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gBAE9BF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKpb,GAAO0J,6BAQtB,IC9DAlO,qBATUC,IAChB,CACLC,eAAgBD,EAAME,aAAaD,eACnCE,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA9DYU,IACzB,IAAI,eAAER,EAAc,QAAES,EAAO,SAAEy3B,EAAQ,OAAEh4B,EAAM,SAAEE,EAAQ,eAAEG,GACzDC,EASF,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,oCAAmCD,SAVlDqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACirE,GAAiC,CAChCrqE,eAAgBA,EAChBS,QAASA,EACTL,SAAUA,OAKdkd,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,mCAAkCD,SAC/CF,eAACmiD,GAAoB,MAEvBjkC,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACirE,GAAiC,CAChCrqE,eAAgBA,EAChBS,QAASA,EACTL,SAAUA,cAOrBF,GAAUd,eAACD,KAAW,MACd,I,mBC9CAmrE,OApBM3uC,IAA8B,IAA7B,MAAE4uC,EAAK,OAACC,EAAM,QAACC,GAAQ9uC,EAE3C,OACEre,gBAAA,OAAK/d,UAAU,GAAGqE,MAAO,CAAGC,QAAS,OAAOs5B,eAAe,MAAMD,WAAW,SAAS6jB,aAAa,QAAQzhD,SAAA,CACtGF,eAAA,KACEG,UAAW,2BACXge,QAASktD,EACT7mE,MAAO,CAAC2nC,OAAO,aAGjBnsC,eAAA,KACEG,UAAW,0BACXge,QAASitD,EACT5mE,MAAO,CAAC2nC,OAAO,eAGb,E,QCgIGm/B,OA3IsB/uC,IAK9B,IAL+B,QACpCl7B,EAAO,UACPmwC,EAAS,UACT3d,EAAS,MACTvC,GACDiL,EACCgvC,KAAMC,oBAAoBC,UAAY,2CAA2CF,KAAM1M,wBAEvF,MAAO6M,EAAUC,GAAexuD,mBAAS,OAClCyuD,EAASC,GAAc1uD,mBAAS,OAChC41B,EAASsrB,GAAclhD,oBAAS,IAChCguD,EAAOW,GAAY3uD,mBAAS,MAC5B4uD,EAAWC,GAAgB7uD,mBAAS,MAE3C3b,qBAAU,KACWiwB,WACjB,IACE,MAAMvS,QAAiBwS,KAAMC,IAC3B,gEACE6f,EAAUhD,MAAMy9B,MAAM,cAAc,SAC/Bz6B,EAAU06B,WACjB,CACEv4C,QAAS,CACPC,cAAe,GAAGC,KAAavC,KAEjCkqC,aAAc,gBAIM,MAApBt8C,EAAS2S,SACXg6C,EAAW3sD,EAAS0S,MACpBysC,GAAW,GAEf,CAAE,MAAOp5D,GACP3D,QAAQ2D,MAAM,sBAAuBA,GACrCo5D,GAAW,EACb,GAGF8N,EAAY,GACX,CAAC36B,EAAUhD,MAAOgD,EAAU06B,SAAU56C,EAAOuC,IAEhDryB,qBAAU,KACR,MAAM4qE,EAAqBA,KACzB,MAAMC,EAAW5tE,KAAKgjD,IAAIlvB,OAAOioB,WAAa,GAAI,KAClDwxB,EAAaK,EAAS,EAMxB,OAHAD,IACA75C,OAAOmR,iBAAiB,SAAU0oC,GAE3B,IAAM75C,OAAOoR,oBAAoB,SAAUyoC,EAAmB,GACpE,IAEH5qE,qBAAU,KACR,MAAM8qE,EAAcA,KACd/5C,OAAOioB,YAAc,KACvBsxB,EAAS,KACAv5C,OAAOioB,YAAc,KAAOjoB,OAAOioB,WAAa,KACzDsxB,EAAS,KAETA,EAAS,EACX,EAMF,OAHAv5C,OAAOmR,iBAAiB,SAAU4oC,GAClCA,IAEO,IAAM/5C,OAAOoR,oBAAoB,SAAU2oC,EAAY,GAC7D,IAcH,OACEtsE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,6CAA4CD,SAAA,CACxD,IACDge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QApBCuuB,KACrBrrC,EAAQo0D,QAAQ,EAmB4Bv1D,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAOwI,gBAAiB0T,IAAI,aAG1CphB,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,YAAWD,SAAEsxC,EAAUH,mBAG1CrxC,eAAA,OAAKG,UAAU,gBAAeD,SAC3B6yC,EACC/yC,eAAA,QAEAke,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAACkrE,GAAY,CACXE,OA9BGmB,KACnBT,GAAUU,GAA0B,IAAZA,GAAgB,EA8BxBnB,QA3BIoB,KACpBX,GAAUU,GAAcA,EAAY,KAAI,EA2BxBV,SAAUA,EACVX,MAAOA,IAETnrE,eAAA,OAAK+e,GAAG,UAAU5e,UAAU,sBAAqBD,SAC/CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAC0sE,KAAQ,CACPC,KAAM,CAAE/6C,KAAMg6C,GACdgB,cAAeC,IAAA,IAAC,SAAEnB,GAAUmB,EAAA,OAAKlB,EAAYD,EAAS,EACtDoB,cAAgBzwC,GAAMA,EAAEhe,iBACxB0uD,WAAW,SAAQ7sE,SAElBm7C,MAAM2xB,KAAK,IAAI3xB,MAAMqwB,IAAW,CAACuB,EAAIxuC,IACpCz+B,eAACktE,KAAI,CAEHhc,WAAYzyB,EAAQ,EACpBn+B,MAAOyrE,EACPZ,MAAOA,GAHF,QAAQ1sC,EAAQ,0BAelC,ECnEA/9B,qBAVUC,IAChB,CACL6wC,UAAW7wC,EAAME,aAAa2wC,UAC9BxwC,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBmwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,aAIXnzB,EA5DOU,IACpB,IAAI,UAAEowC,EAAS,QAAEnwC,EAAO,SAAEL,EAAQ,eAAEG,EAAc,MAAEmwB,EAAK,UAAEuC,GACzDzyB,EAQF,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,8BAA6BD,SAT5CqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACsrE,GAA4B,CAC3BjqE,QAASA,EACTmwC,UAAWA,EACX3d,UAAWA,EACXvC,MAAOA,OAKXtxB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACsrE,GAA4B,CAC3BjqE,QAASA,EACTmwC,UAAWA,EACX3d,UAAWA,EACXvC,MAAOA,cAOV,I,0CC1CAs1C,OAhBIA,IAEf5mE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,wB,QCwH3B2mE,OA5HQzlE,IACrB,IAAI,mBAAE0lE,EAAkB,SAAEC,GAAa3lE,EAEvC,MAaM4lE,EAAmBA,CAACC,EAAYxoC,KACpC,IAAI,MAAE99B,GAAUsmE,EAChB,OACEjnE,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAiB/d,UAAU,6BAA4BD,SAAA,CACrDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACvCgnE,EAAkBvmE,GACnBX,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB4wC,KAAOnwC,EAAMwmE,WAAWp1B,OAAO,kCAItC/xC,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxBknE,EAAmBzmE,EAAM0mE,kBAb1B5oC,IAmBD,EAGT6oC,EAAqBA,CAACL,EAAYxoC,KACtC,IAAI,MAAE99B,GAAUsmE,EAChB,OACEjnE,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAiB/d,UAAU,+BAA8BD,SAAA,CACvDF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxBknE,EAAmBzmE,EAAM0mE,gBAKlCnpD,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACxCgnE,EAAkBvmE,GACnBX,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB4wC,KAAOnwC,EAAMwmE,WAAWp1B,OAAO,oCAd9BtT,IAmBD,EAITyoC,EAAqBxzC,IACzB,IAAI6zC,EAOJ,OALEA,EADmB,UAAjB7zC,EAAQrzB,KACI,EAEA,EAGRknE,GACN,KAAK,EACH,OACEvnE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKoT,EAAQ8zC,eAI1B,KAAK,EACH,OACExnE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAEwzB,EAAQ+nC,WAK7C,QACE,OAAO,KACX,EAGI2L,EAAsB70B,IAC1B,IAAIv0C,EAAM,GAOV,OANsBu0C,EAAKh0C,MAAM,KAEjBJ,MAAM,EAAG,GAAGg6B,SAASp1B,IACnC/E,GAAY+E,EAAQ,GAAG0kE,aAAa,IAG/BzpE,CAAG,EAGZ,OACEgC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,yBAAyB4e,GAAG,yBAAwB7e,SAhHtD6mE,IACZA,EAASzlD,KAAI,CAACve,EAAS07B,IAE1B17B,EAAQpC,MAAM0mE,OAAOvoE,gBACrBgoE,EAAmBY,SAAS5oE,cAErBkoE,EAAiBjkE,EAAS07B,GAE1B6oC,EAAmBvkE,EAAS07B,KAyG9BkpC,CAAYZ,UAIV,E,QC/CAa,OA1EKxmE,IAClB,IAAI,eACFymE,EAAc,uBACdC,EAAsB,iBACtBC,EAAgB,kBAChBC,EAAiB,mBACjBC,EAAkB,kBAClBC,GACE9mE,EACJ,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACvC2nE,EAAe5oB,cAAcphD,OAC5BqgB,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKunD,EAAe5oB,kBAE3B/gC,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAS8d,QAASA,IAAM8pD,IAAqB/nE,SACxDF,eAAA,OAAKsgB,IAAKpb,GAAOiJ,sBAGrBnO,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAS8d,QAASA,IAAM+pD,IAAoBhoE,SACvDF,eAAA,OAAKsgB,IAAKpb,GAAOkJ,4BAKvB,KAEJ8P,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,SAAO/d,UAAU,qBAAoBD,SAAA,CACnCF,eAAA,SACEK,KAAK,OACL2E,KAAK,aACL+Z,GAAG,eACHgiC,OAAO,UACPniC,SAAWnB,GAAUuqD,EAAkBvqD,KAEzCzd,eAAA,OAAKsgB,IAAKpb,GAAOwJ,qBAIvB1O,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,QAAME,SAAWX,GAAUsqD,EAAiBtqD,GAAOvd,SAAA,CACjDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,OACLoe,YAAY,eACZhhB,MAAOoqE,EAAeM,IACtBvpD,SAAWnB,GAAUqqD,EAAuBrqD,OAGhDzd,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAQH,SACnBF,eAAA,OAAKsgB,IAAKpb,GAAOyJ,kCASxB,ECxDf,MAAMy5D,GAAOnmE,EAAQ,KAwZNvB,qBAtBUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrB4lE,mBAAoBnmE,EAAM0nE,eAAevB,mBACzClmE,eAAgBD,EAAME,aAAaD,mBAIXuvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCk4C,sBAAwBx4C,IACtBK,EAASo4C,GAAwCz4C,GAAS,KAKjDpvB,EAtZQU,IACrB,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCqrD,kBAAmB,CAAC,EACpBC,QAAS,CAAC,EACV1B,SAAU,GACVc,eAAgB,CACdM,IAAK,GACLnpB,UAAW,CAAC,EACZC,cAAe,MAInB,IAAI,QACF59C,EAAO,SACPy3B,EAAQ,SACR93B,EAAQ,mBACR8lE,EAAkB,eAClBlmE,EAAc,aACdsuB,EAAY,cACZE,EAAa,sBACbk5C,GACElnE,EAEJI,qBAAU,KAIRknE,GAAc,GAYb,IAEH,MAAMA,EAAej3C,UACnB,IAOIk3C,GAPA,SAAEjB,EAAQ,YAAEkB,GAAgB9B,EAE3BY,GAAakB,IAChB1pE,MAAM,4DACNmC,EAAQg/C,QAAQ,uBAIlB,IACEsoB,QAAeP,GAAKS,OAAOC,OAAOF,EACpC,CAAE,MAAO3jE,GACP3D,QAAQC,IAAI0D,EACd,CAIA8jE,EAAwBJ,GAExBK,EAAkBL,GAElBM,EAAkBN,GAElBO,EAAmBP,EAAO,EAItBQ,EAAiB13C,UACrB,IAAIG,EAAO,CACT81C,SAAU1mE,EAASgE,MAErBkqB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1Q,GAAQuO,GAC1C,GAAwB,MAApB1S,EAAS2S,OAMX,OALAzC,IACAk5C,EAAsB,CACpBZ,SAAUxoD,EAAS0S,KAAK81C,SACxBkB,YAAa1pD,EAAS0S,KAAKN,QAEtBpS,EAAS0S,KAAKN,KAEzB,CAAE,MAAOrsB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAII8jE,EAA2BJ,IAC/BA,EAAO5M,GAAG,sBAAsBtqC,UAC9B,IACE,MAAMH,QAAc63C,IACpBR,EAAOS,YAAY93C,EACrB,CAAE,MAAOrsB,GACP3D,QAAQC,IAAI0D,EACd,IACA,EAIE+jE,EAAqBL,IACzBA,EAAO5M,GAAG,gBAAgBtqC,UACxB,IACE,MAAMH,QAAc63C,IACpBR,EAAOS,YAAY93C,EACrB,CAAE,MAAOrsB,GACP3D,QAAQC,IAAI0D,EACd,IACA,EAIEikE,EAAsBP,IAC1BA,EAAO5M,GAAG,iBAAiBtqC,UAGzBvC,IACA,IACE,MAAM63C,QAAiB0B,EAAQY,cAC1B7rE,aAAQupE,KACXA,EAASuC,MAAMnxC,SAAQ1G,UACrB,GAA2B,UAAvB1uB,EAAQpC,MAAMN,KAAkB,CAClC,IAAI84C,QAAYp2C,EAAQwmE,MAAMC,yBAC9BzmE,EAAQpC,MAAM6mE,SAAWruB,CAC3B,MACEp2C,EAAQpC,MAAM6mE,SAAW,IAC3B,IAEFp4C,IACAsB,GAAUa,IAAS,IAAWA,EAAWw1C,SAAUA,EAASuC,UAC5DG,IAEJ,CAAE,MAAOxkE,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,IACA,EAIE65C,EAAoBx3C,UACxB,IAAI,eAAEi4C,GAAmB9oE,EACzBsuB,IACA,IAEE,MAAMy6C,QAA4BhB,EAAOiB,oCAEnCC,EAA0BF,GAEhC,IAAIG,EAA0BH,EAAoBhpE,MAAM2oE,MAAMv3C,MAC3DhvB,GACQgb,SAAShb,EAAQgnE,cAAgBL,IAK5C,GAAII,EAAyB,CAE3B,IAAIj3C,QAAyBm3C,EAAcF,GAEvCj3C,EAAiBxuB,SACnBqsB,GAAUa,IAAS,IACdA,EACHi3C,kBAAmBsB,EACnBrB,QAAS51C,EAAiBjB,SAE5Bq4C,EAAYp3C,EAAiBjB,MAEjC,MAEEs4C,EAAcvB,EAElB,CAAE,MAAO1jE,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGI46C,EAAgBv4C,UACpB,IAEE,MAAO,CAAEptB,OAAQ,EAAGutB,WADA42C,EAAkB2B,aAExC,CAAE,MAAOllE,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CAAEZ,OAAQ,EAAGutB,KAAM,KAC5B,GAaIi4C,EAA4Bp4C,UAChCk4C,EAAoBhpE,MAAM2oE,MAAMnxC,SAAQ1G,UACtC,IAAIoB,QAAyBm3C,EAAcjnE,GAE3C,GAAI8vB,EAAiBxuB,OAAQ,CAC3B,IAAIokE,EAAU51C,EAAiBjB,KAEmB,WAA9C62C,EAAQ2B,aAAav4C,OAAO/yB,oBAjBd2yB,WACtB,UAC4Bg3C,EAAQ4B,OACpC,CAAE,MAAOplE,GACP3D,QAAQC,IAAI0D,EACd,GAaYqlE,CAAgB7B,EAE1B,IACA,EAIEwB,EAAcx4C,UAClB,UAC4Bg3C,EAAQ7jE,QAEhC2lE,EAAkB9B,EAEtB,CAAE,MAAOxjE,GACP3D,QAAQC,IAAI0D,GACZstB,OAAOuG,SAASwM,QAClB,GAII4kC,EAAgBz4C,UACpB,IAAI,eAAEi4C,GAAmB9oE,EACzB,MAAM6nE,QAAgBE,EAAOuB,cAAc,CACzCH,WAAY,GAAGL,IACfc,aAAc,WAAWd,MAE3Bh5C,GAAUa,IAAS,IACdA,EACHi3C,kBAAmB,CAAC,EACpBC,QAASA,MAEXwB,EAAYxB,EAAQ,EAGhB8B,EAAqB9B,IACzBA,EAAQ1M,GAAG,gBAAgBtqC,UACzBf,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IACXt2C,EAAUs2C,eACbM,IAAK,GACLlpB,cAAe,GACfD,UAAW,CAAC,OAGhByrB,EAAmB/2C,EAAQ,GAC3B,EAGE+2C,EAAqBh5C,UACzB,GAA2B,UAAvBiC,EAAQ/yB,MAAMN,KAChB,GAA2B,UAAvBqzB,EAAQ/yB,MAAMN,KAAkB,CAClC6uB,IACA,IAAIiqB,QAAYzlB,EAAQ61C,MAAMC,yBAC1BrwB,IACFzlB,EAAQ/yB,MAAM6mE,SAAWruB,EACzB/pB,IAEJ,MACEsE,EAAQ/yB,MAAM6mE,SAAW,KAG7B92C,GAAUa,IAAS,IACdA,EACHw1C,SAAU,IAAIx1C,EAAUw1C,SAAUrzC,OAEpC+1C,GAA2B,EA2CvBiB,EAAuBzqB,GACXC,IAAIC,gBAAgBF,GAmChCwpB,EAA4BA,KAChC,IAAIkB,EAAyBrmE,SAASkmC,cACpC,2BAGFmgC,EAAuBrI,SAAS,EAAGqI,EAAuBvtB,aAAa,EAGzE,OACEp9C,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAC4mE,GAAU,IACX5mE,eAAC6mE,GAAa,CACZC,mBAAoBA,EACpBC,SAAUpmE,EAAMomE,WAElB/mE,eAAC4nE,GAAU,CACTC,eAAgBlnE,EAAMknE,eACtBC,uBA/EsBrqD,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IAAKt2C,EAAUs2C,eAAgBM,IAAK1qE,MACnD,EA0EKsqE,iBArFgBtqD,IACxBA,EAAMY,iBAZYusD,MAClB,MAAM,eAAE/C,EAAc,QAAEY,GAAY9nE,EAChCknE,EAAeM,MACjBM,EAAQmC,YAAY5P,OAAO6M,EAAeM,KAAKrqE,QAC/C4yB,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IAAKt2C,EAAUs2C,eAAgBM,IAAK,QAExD,EAKAyC,EAAa,EAoFL5C,kBAxEiBvqD,IACzB,IAAI,MAAEuiC,GAAUviC,EAAMK,OAClBmhC,EAAgByrB,EAAoB1qB,EAAM,IAE9CtvB,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IACXt2C,EAAUs2C,eACb5oB,cAAeA,EACfD,UAAWgB,EAAM,GACjBmoB,IAAK,OAEN,EA6DKF,mBArDiBA,KACN3jE,SAASkmC,cAAc,iBAC7B/sC,MAAQ,GACrBizB,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IACXt2C,EAAUs2C,eACbM,IAAK,GACLlpB,cAAe,GACfD,UAAW,CAAC,MAEb,EA2CKkpB,kBAxCgBA,KACxB,IAAI,eAAEL,EAAc,QAAEY,GAAY9nE,EAClC,GAAIknE,EAAe5oB,cAAcphD,OAAQ,CACvC,IAAI60B,EAAW,IAAIiuB,SACnBjuB,EAASkuB,OAAO,OAAQinB,EAAe7oB,WACvCypB,EAAQmC,YAAYl4C,GACpBhC,GAAUa,IAAS,IACdA,EACHs2C,eAAgB,IACXt2C,EAAUs2C,eACb5oB,cAAe,GACfD,UAAW,CAAC,MAGlB,WA8BW,ICzWAmuB,OA/B6B/rE,IAC1C,IAAI,QAAEC,EAAO,SAAEy3B,GAAa13B,EAM5B,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,mDAAkDD,SAC/Dge,gBAAA,OAAK/d,UAAU,yDAAwDD,SAAA,CACrEF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAS8d,QAASA,KAV3C9c,EAAQkyB,KAAK,eAUoD,EAAArzB,SACnDF,eAAA,OAAKsgB,IAAKpb,GAAOwI,0BAKzB1N,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAC+qE,GAAa,CAAC1pE,QAASA,EAASy3B,SAAUA,cAK1C,ECwCAp4B,cARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA1DaU,IAC1B,IAAI,QAAEC,EAAO,SAAEy3B,EAAQ,OAAEh4B,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EAS9D,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,sCAAqCD,SATpDqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACmtE,GAAkC,CACjC9rE,QAASA,EACTy3B,SAAUA,OAKd5a,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAACmiD,GAAoB,MAEvBjkC,gBAAA,OAAK/d,UAAU,sCAAqCD,SAAA,CAClDF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACmtE,GAAkC,CACjC9rE,QAASA,EACTy3B,SAAUA,cAOrBh4B,GAAUd,eAACD,KAAW,MACd,I,gBChER,MAAMqtE,GACJ,2BADIA,GAEH,mC,QCyCKC,OAxC0BjsE,IACvC,IAAI,wBAAEksE,EAAuB,yBAAEC,GAA6BnsE,EAE5D,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACtDF,eAAA,OAAKG,UAAU,gDAA+CD,SAC5DF,eAAA,OAAKG,UAAU,kCAAiCD,SAC7CotE,EAAwBzvE,OACrByvE,EAAwBhsD,KAAI,CAACve,EAAS07B,IAElCvgB,gBAAA,OAAiB/d,UAAU,gCAA+BD,SAAA,CACxDF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAE,aAC3Bu+B,EAAQ,UAIdz+B,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEK,KAAK,SACL8d,QAASA,IAAMovD,EAAyBxqE,GAAS7C,SAClD,gBAbGu+B,KAqBd,uBAID,E,QCcA+uC,OAhDsBpsE,IACnC,IAAI,gBAAEqsE,EAAe,OAAEr4C,EAAM,WAAEtU,GAAe1f,EAE9C,MAAMwiE,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B1uC,MAC/B,IACD,EAeH,OACEp1B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,4CAA2CD,SAAA,CACxDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,IAAM2C,IAAa5gB,SAClCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,sBAGrB1N,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,sBAIlCF,eAAA,OAAKG,UAAU,sBAAqBD,UA5BvB8gE,EA6BEyM,EA3BnBztE,eAAA,UACE+e,GAAG,SACHuB,IAAK,mCAAmC0gD,IACxC2D,OAAQf,EACR/N,MAAM,yEACNC,iBAAe,cAPAkL,KAiCR,ECmFAtgE,qBAPUC,IAChB,CACL+sE,oBAAqB/sE,EAAME,aAAa6sE,oBACxC1sE,SAAUL,EAAMM,KAAKC,QAIVR,EAnHiCU,IAC9C,IAAI,oBAAEssE,EAAmB,SAAE1sE,GAAaI,EAExC,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACN28C,wBAAyB,GACzBG,gBAAiB,KAGnBjsE,qBAAU,KACHhE,aAAQkwE,IACXC,GACF,GACC,IAEH,MAAMA,EAAmBl8C,UACvB,IAAIkC,EAAU,CACZ,SAAUy5C,GACV,UAAWA,IAGb,IACE,IAAIluD,QAAiBwS,KAAMC,IACzB,yCAAY+7C,EAAoB5C,aAChC,CACEn3C,YAGyB,MAAzBzU,EAAS2S,OAAOyrC,MAEhBp+C,EAAS0S,KAAKg8C,eAAe,iBAC7B1uD,EAAS0S,KAAKi8C,aAAahwE,QAE3B6yB,GAAUa,IAAS,IACdA,EACH+7C,wBAAyBpuD,EAAS0S,KAAKi8C,gBAI/C,CAAE,MAAO5oE,GACP3D,QAAQC,IAAI0D,EACd,GAGIsoE,EAA4BvM,IAChCtwC,GAAUa,IAAS,IACdA,EACHk8C,gBAAiBzM,EACjBrwC,KAAM,KACL,EAGC7P,EAAaA,KACjB4P,GAAUa,IAAS,IAAWA,EAAWZ,KAAM,KAAK,EAyBtD,OACE3wB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,iDAAgDD,SAC7Dge,gBAAA,OAAK/d,UAAU,uDAAsDD,SAAA,CACnD,IAAfS,EAAMgwB,KACL3wB,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAAE,SAGEF,eAAA,OAAKsgB,IAAKpb,GAAOwI,sBAGrB1N,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,+BAIhC,KAEJF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SA5C1BywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAACqtE,GAA+B,CAC9BC,wBAAyB3sE,EAAM2sE,wBAC/BC,yBAA0BA,IAGhC,KAAK,EACH,OACEvtE,eAACwtE,GAA2B,CAC1BC,gBAAiB9sE,EAAM8sE,gBACvBr4C,OAAQp0B,EAASq4B,QACjBvY,WAAYA,IAGlB,QACE,OAAO,KACX,EAyB8CmT,CAAWtzB,EAAMgwB,gBAIpD,IC5CAjwB,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA1DiBU,IAC9B,IAAI,QAAEC,EAAO,SAAEy3B,EAAQ,OAAEh4B,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EAS9D,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,0CAAyCD,SATxDqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC8tE,GAAsC,CACrCzsE,QAASA,EACTL,SAAUA,OAKdkd,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACrDF,eAACmiD,GAAoB,MAEvBjkC,gBAAA,OAAK/d,UAAU,0CAAyCD,SAAA,CACtDF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC8tE,GAAsC,CACrCzsE,QAASA,EACTL,SAAUA,cAOrBF,GAAUd,eAACD,KAAW,MACd,I,wBC8EAguE,OA1ImB3sE,IAChC,IAAI,sBAAE4sE,EAAqB,aAAEC,GAAiB7sE,EAE9C,MAAOu+B,EAAWC,GAAgBziB,mBAAS,GAE3C,OACEnd,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,qCAAoCD,SAAA,CACjDF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO2N,iBAAkBuO,IAAI,mBAEzCphB,eAAA,OAAKG,UAAU,4BAA2BD,UACtC1C,aAA6B,OAArBwwE,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBE,iBACV,OAArBF,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBE,cAAc5sD,KAAI,CAACve,EAASZ,IAE/CnC,eAAA,OAAAE,SACEF,eAAA,UACEme,QAASA,KACPyhB,EAAaz9B,EAAI,EAEnBhC,UAAWw/B,IAAcx9B,GAAO,SAASjC,SAGxC6C,EAAQorE,eAFJhsE,UAQjBnC,eAAA,OAAKG,UAAU,2CAA0CD,SACrD1C,aAA6B,OAArBwwE,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBI,SAqG7B,uBApGqB,OAArBJ,QAAqB,IAArBA,OAAqB,EAArBA,EAAuBI,QACpBtpB,QAAQupB,GACPA,EAAYC,YAAYC,MACrBC,GAAaA,EAASF,cAAgB3uC,EAAY,MAGtDre,KAAI,CAACve,EAASZ,IAEX+b,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKsgB,IAAKvd,EAAQ0pC,KAAMrrB,IAAI,mBAC5BphB,eAAA,KACEwE,MAAO,CACLy6B,gBAAiBl8B,EAAQ0rE,eACzBhvE,MAAOsD,EAAQ2rE,eACfxuE,SAED6C,EAAQ4rE,gBAEX3uE,eAAA,MAAAE,SAAK6C,EAAQuxC,kBAEft0C,eAAA,KAAGG,UAAU,sBAAqBD,SAC/B6C,EAAQ+9B,cAEX5iB,gBAAA,OAAK/d,UAAU,8CAA6CD,SAAA,CAC1Dge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OACEsgB,IAAKpb,GAAOoJ,uBACZ8S,IAAI,aAENphB,eAAA,KAAAE,SAAI6C,EAAQ66D,cAEqB,IAAlC76D,EAAQ6rE,uBACP1wD,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKsgB,IAAKpb,GAAOwN,eAAgB0O,IAAI,SACrClD,gBAAA,KAAAhe,SAAA,CAAI6C,EAAQ6rE,sBAAsB,wBAKtCC,WAAW9rE,EAAQwxC,QACjBs6B,WAAW9rE,EAAQwgD,YACrBsrB,WAAW9rE,EAAQwxC,UAEnBr2B,gBAAA,OAAK/d,UAAU,yCAAwCD,SAAA,CACrDF,eAAA,OAAKsgB,IAAKpb,GAAO0N,YAAawO,IAAI,UAClClD,gBAAA,KAAAhe,SAAA,CACEge,gBAAA,QAAAhe,SAAA,CACGzB,KAAKoB,MACHgvE,WAAW9rE,EAAQwgD,UAClBsrB,WAAW9rE,EAAQwxC,QACnB,KACF,OAEI,IAAI,YAKlBr2B,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CAAC,SAEzB2uE,WAAW9rE,EAAQwxC,QAClBs6B,WAAW9rE,EAAQwgD,eAGrBsrB,WAAW9rE,EAAQwxC,QACjBs6B,WAAW9rE,EAAQwgD,YACrBsrB,WAAW9rE,EAAQwxC,UAEnBr2B,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAAC,SAE5BF,eAAA,QAAMG,UAAU,+BAA8BD,SAC3C2uE,WAAW9rE,EAAQwxC,mBAM9Br2B,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEG,UAAU,UACVqE,MAAO,CAAElE,MAAOyC,EAAQo2B,cAAgB,QACxChb,QAASA,IAAM8vD,EAAalrE,GAAS7C,SACtC,kBAGC6C,EAAQo2B,cACRn5B,eAAA,UACEme,QAASA,IAAM8vD,EAAalrE,GAC5B5C,UAAU,MAAKD,SAChB,0BAWZ,E,qBC3IR,MAeM4uE,GAA0Bh/C,IAC9B,CAELzvB,KAAM,8BACLyvB,YAIQi/C,GAA+Bj/C,IACnC,CAELzvB,KAAM,kCACLyvB,Y,gBC+EUpvB,qBAdUC,IAChB,CACLO,KAAMP,EAAMM,KAAKC,SAIOivB,IACnB,CACLE,QAAUP,IACRK,EAASG,GAAoBR,GAAS,KAK7BpvB,EAjGWU,IACxB,MAAM,iBAAE4tE,EAAgB,gBAAEC,EAAe,QAAE5+C,EAAO,KAAEnvB,GAASE,GAEtD8tE,EAAUC,GAAehyD,mBAAS,KAClCiyD,EAAcC,GAAoBlyD,qBAgDzC,OACEe,gBAACwe,KAAK,CACJC,KAAMqyC,EACNz7B,OAAQ07B,EACRz5B,gBAAgB,uBAChB5B,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,EAACz1C,UAAU,uBAEpCH,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,MAAAhe,SAAA,CAAI,qCAAkCF,eAAA,SAAM,6BAC5Cke,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,SACEK,KAAK,QACLoe,YAAY,iBACZhhB,MAAOyxE,EACPtwD,SA/Deyd,IACzB8yC,EAAY9yC,EAAEve,OAAOrgB,MAAM,IAgEnBuC,eAAA,OAAK+e,GAAG,YAAW7e,SAAEkvE,OAGvBpvE,eAAA,OAAKG,UAAU,gBAAgBge,QAtCbmxD,MAW1B,SAAuB71C,GAErB,MADmB,6BACDlC,KAAKkC,EACzB,CAXO81C,CAFSL,EAASpxE,QAGrBuxE,EAAiB,kBAEjBA,EAAiB,IAhCE59C,WACrB,MAAMG,EAAO,CACX6H,MAAOy1C,GAGT,IACE,MAAMhwD,QAAiBwS,KAAMqC,KAC3BvI,GACAoG,GAGF,GAA6B,MAAzB1S,EAAS0S,KAAKC,OAAgB,CAChCo9C,IACA,MAAMO,EAAiB,IAClBtuE,EACHu4B,MAAOy1C,GAET7+C,EAAQm/C,EACV,MACEH,EAAiBnwD,EAAS0S,KAAK8B,QAEnC,CAAE,MAAOzuB,GACP3D,QAAQC,IAAI0D,EACd,GAUEwqE,GACF,EA8BgEvvE,SACxDF,eAAA,UAAAE,SAAQ,0BAIR,I,QCyTGQ,qBA7BUC,IACvBW,QAAQC,IAAI,eAAgBZ,GACrB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,SACtB79C,SAAUL,EAAMM,KAAKC,KACrBwuE,QAAS/uE,EAAMgvE,eAAeD,QAC9Br2C,QAAS14B,EAAMM,KAAKC,KAAKm4B,QACzBu2C,SAAUjvE,EAAMM,KAAKC,KAAK0uE,aAIHz/C,IAClB,CACL0/C,cAAgB//C,IACdK,EFnYqBL,KAClB,CACLzvB,KAAM,eACNyvB,YEgYWggD,CAAWhgD,GAAS,EAE/BigD,sBAAwBjgD,IACtBK,EF/XgCL,KAC7B,CACLzvB,KAAM,2BACNyvB,YE4XWkgD,CAAsBlgD,GAAS,EAE1Cg/C,uBAAyBh/C,IACvBK,EAAS2+C,GAAuBh/C,GAAS,EAE3Cg/C,uBAAyBh/C,IACvBK,EAAS2+C,GAAuBh/C,GAAS,KAKhCpvB,EAnYUU,IACvB,MAAM,eACJ6uE,EAAc,OACd17B,EAAM,MACNjjB,EAAK,UACLuC,EAAS,cACTg8C,EAAa,sBACbE,EAAqB,uBACrBjB,EAAsB,SACtB9tE,EAAQ,WACRkvE,EAAU,YACVC,EAAW,QACXT,EAAO,SACPE,GACExuE,GAEGgvE,EAAaC,GAAkBlzD,mBAAS,CAC7CmzD,gBAAgB,EAChBC,cAAc,KAGTC,EAAcC,GAAmBtzD,oBAAS,IAgB3C,KAAEnY,EAAI,OAAEw0B,EAAM,MAAEC,EAAK,QAAEW,EAAO,SAAExJ,EAAQ,QAAEyI,EAAO,iBAAEpG,GACvDjyB,GAEK0vE,EAAcC,GAAmBxzD,mBAAS,CAAC,GAElD3b,qBAAU,KACRovE,GAAiB,GAChB,IAEH,MAAMC,EAAc,IAAIvhC,KAaxB,IAAIwhC,EAXFD,EAAYphC,cACZ,KACCohC,EAAYrhC,WAAa,GAC1B,IACAqhC,EAAYthC,UAOQ,KALpBshC,EAAYE,WACZ,IACAF,EAAYG,aACZ,IACAH,EAAYI,cAGd,MAAML,EAAkBn/C,UACtB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAC3B,GAAGvI,0BACD6mD,EAAev7B,WAAau7B,EAAev7B,WAAa,4BAG1Du7B,EAAe37B,aAAe27B,EAAe37B,aAAe,0BAEhDC,GAAkB,kEAGxB9a,wBACKD,IACX,CAAE7F,YAGyB,MAAzBzU,EAAS0S,KAAKC,SAChB8+C,EAAgBzxD,EAAS0S,MACzBi+C,EAAc3wD,EAAS0S,KAAKs/C,UAC5BpC,EAAuB5vD,EAAS0S,MAChCm+C,EAAsB,CACpB5tD,UAAWnhB,EAAS0f,QAAQ,GAAGyB,UAC/ByO,WACA8jB,WAA0B,OAAdu7B,QAAc,IAAdA,KAAgBv7B,WACV,OAAdu7B,QAAc,IAAdA,OAAc,EAAdA,EAAgBv7B,WAChB,GACJoN,WAAYvN,EACZiO,oBAAmC,OAAdytB,QAAc,IAAdA,KAAgB1sB,SACjC0sB,EAAe1sB,SAAShP,OACxB,GACJkO,SAAUquB,EACVpuB,iBAAgC,OAAdutB,QAAc,IAAdA,KAAgBrS,SAC9BqS,EAAerS,SACf,GACJrb,MAAOrjC,EAAS0S,KAAKs/C,WAG3B,CAAE,MAAOzzB,GACPn8C,QAAQC,IAAIk8C,EACd,GAGI0zB,EAAqB90C,IACzB,GAAGuzC,GAAYK,EAAe92C,aAC5Bs3C,GAAgB,GAChBp0C,EAAE+0C,kBACF/0C,EAAEhe,qBAEC,CACH,MAuBMgzD,EAvBgB,CACpB,CACEC,MAAOtsE,EACPyrC,MAAO,QAET,CACE6gC,MAAO93C,EACPiX,MAAO,iBAET,CACE6gC,MAAO73C,EACPgX,MAAO,SAET,CACE6gC,MAAOl3C,EAAQz5B,MACf8vC,MAAO,SAET,CACE6gC,MAAOl3C,EAAQG,KACfkW,MAAO,SAIyBqU,QACjC/hD,GAA8B,KAAlBA,EAAQuuE,OAAkC,OAAlBvuE,EAAQuuE,QAG/C,GAAID,EAAcxzE,OAAS,EAAG,CACRwzE,EAAc/vD,KAAKqqB,GAASA,EAAK8E,QAAO7rC,KAAK,MAE/C3F,SAAS,UAzH/BoxE,GAAgB9+C,IAAS,IACpBA,EACH++C,gBAAgB,KA0HhB,CACA/9C,OAAO8S,eAAiB,IAC1B,CAAC,EAgMH,OACEnnB,gBAAA2f,YAAA,CAAA39B,SAAA,CACGvC,OAAOC,KAAK8yE,GAAc7yE,SACxB47B,EAAM57B,OA9LTmC,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAK+e,GAAG,oBAAmB7e,SACzBge,gBAAA,QACElZ,KAAK,aACLuvB,OAAO,qFACPimC,OAAO,OAAMt6D,SAAA,CAEbF,eAAA,SACEK,KAAK,SACL2E,KAAK,cACLvH,MAAOizE,EAAaa,cAEtBvxE,eAAA,SAAOK,KAAK,SAAS2E,KAAK,WAAWvH,MAAM,OAC3CuC,eAAA,SAAOK,KAAK,SAAS2E,KAAK,SAASvH,MAAO82C,IAE1Cv0C,eAAA,SAAOK,KAAK,SAAS2E,KAAK,WAAWvH,MAAM,QAC3CuC,eAAA,SACEK,KAAK,SACL2E,KAAK,eAKLvH,MAAO,GACLizE,EAAac,oEAOjBxxE,eAAA,SACEK,KAAK,SACL2E,KAAK,aASLvH,MAAO,GACO,OAAZizE,QAAY,IAAZA,OAAY,EAAZA,EAAcc,oEAOlBxxE,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLvH,MAAOizE,EAAaQ,WAEtBlxE,eAAA,SACEK,KAAK,SACL2E,KAAK,cACLvH,MAAOizE,EAAae,cAGtBzxE,eAAA,SACEK,KAAK,SACL2E,KAAK,cACLvH,MAAOizE,EAAagB,UAGtB1xE,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MAAOwyE,EAAev7B,WAAau7B,EAAev7B,WAAa,KAGjE10C,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLvH,MAAqB,OAAdwyE,QAAc,IAAdA,KAAgBrS,SAAyB,OAAdqS,QAAc,IAAdA,OAAc,EAAdA,EAAgBrS,SAAW,KAG/D59D,eAAA,SACEK,KAAK,SACL2E,KAAK,iBACLvH,MAAOwyE,EAAe1sB,SAAW0sB,EAAe1sB,SAAW,KAG7DvjD,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MACEwyE,EAAe37B,aAAe27B,EAAe37B,aAAe,KAIhEt0C,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MAAe,OAARuD,QAAQ,IAARA,OAAQ,EAARA,EAAUihB,QAGnBjiB,eAAA,SACEK,KAAK,SACL2E,KAAK,aACLvH,MAAOwyE,EAAe17B,OAAS07B,EAAe17B,OAAS,KAEzDv0C,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLvH,MAAOwyE,EAAe9tD,UAAY8tD,EAAe9tD,UAAY,KAG/DniB,eAAA,SAAOK,KAAK,SAAS2E,KAAK,cAAcvH,MAAO82C,IAE/Cv0C,eAAA,SAAOK,KAAK,SAAS2E,KAAK,eAAevH,MAAOuH,IAChDhF,eAAA,SAAOK,KAAK,SAAS2E,KAAK,cAAcvH,MAAO+7B,IAC/Cx5B,eAAA,SAAOK,KAAK,SAAS2E,KAAK,gBAAgBvH,MAAOg8B,IACjDz5B,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MAAO28B,EAAQu3C,eAEjB3xE,eAAA,SACEK,KAAK,SACL2E,KAAK,eACLvH,MAAO28B,EAAQG,KAAOH,EAAQG,KAAO,KAEvCv6B,eAAA,SACEK,KAAK,SACL2E,KAAK,gBACLvH,MAAO28B,EAAQz5B,MAAQy5B,EAAQz5B,MAAQ,KAGzCX,eAAA,SAAOK,KAAK,SAAS2E,KAAK,UAAUvH,MAAOmzB,IAC3C5wB,eAAA,SAAOK,KAAK,SAAS2E,KAAK,SAASvH,MAAO47B,IAC1Cr5B,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MAAOw1B,EAAiB9R,YAI1BnhB,eAAA,SAAOK,KAAK,SAAS2E,KAAK,QAAQvH,MAAOizE,EAAaQ,WAEtDlxE,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLvH,MAAOizE,EAAaQ,WAgBtBlxE,eAAA,UAAQK,KAAK,SAAUF,UAAmC,KAAb,OAAXgwE,QAAW,IAAXA,OAAW,EAAXA,EAAatyE,QAAesyE,EAAc,UAAUjwE,SAAyB,KAAb,OAAVgwE,QAAU,IAAVA,OAAU,EAAVA,EAAYryE,QAAeqyE,EAAa,mBAqBpIlwE,eAAA,UAAQK,KAAK,SAAWF,UAAmC,KAAb,OAAXgwE,QAAW,IAAXA,OAAW,EAAXA,EAAatyE,QAAesyE,EAAc,UAC7EhyD,QAASgzD,EAAkBjxE,SAAyB,KAAb,OAAVgwE,QAAU,IAAVA,OAAU,EAAVA,EAAYryE,QAAeqyE,EAAa,cAS3D,OAAXE,QAAW,IAAXA,OAAW,EAAXA,EAAaE,iBACZtwE,eAAC4xE,GAAgB,CACf5C,iBAAkBoB,EAAYE,eAC9BrB,gBAhUYp3B,KAClBw4B,GAAgB9+C,IAAS,IACpBA,EACH++C,gBAAgB,KACf,MAgUA,I,QC/QQuB,OA3FIt1C,IASZ,IATa,WAClBmY,EAAU,YACVo9B,EAAW,WACXC,EAAU,cACVC,EAAa,YACbC,EAAW,kBACXC,EAAiB,4BACjBC,EAA2B,yBAC3BC,GACD71C,EACC,MAAO81C,EAAYC,GAAiBn1D,mBAAS,MAE7C3b,qBAAU,KACR+wE,GAAe,GACd,IAEH,MAAMA,EAAgB9gD,UACpB,IACE,MAAMvS,QAAiBwS,KAAMC,IAC3B,+EAA+E+iB,KAGpD,MAAzBx1B,EAAS0S,KAAKC,QAChBygD,EAAc,IAAIpzD,EAAS0S,KAAKA,KAAK4gD,aAEzC,CAAE,MAAOvtE,GAAQ,GAGnB,OACEiZ,gBAACwe,KAAK,CACJC,MAAM,EACN4W,OAAQ2+B,EACR18B,gBAAgB,mBAAkBt1C,SAAA,CAElCF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,MAAAE,SAAI,YACJF,eAAA,OAAKG,UAAU,SAAQD,SACrBge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,OAAKsgB,IAAKpb,GAAOkW,OAAQgG,IAAI,gBAC7BphB,eAAA,QAAAE,SAAM,yBAGVge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,SACEK,KAAK,OACLoe,YAAY,8BACZhhB,MAAOs0E,EACPnzD,SAAWyd,GAAM+1C,EAAyB/1C,KAE5Cr8B,eAAA,UACEme,QAAS8zD,EACT9xE,UAAWgyE,EAA4BjyE,SACxC,aAIHF,eAAA,OAAKG,UAAU,cAAaD,SACf,OAAVmyE,QAAU,IAAVA,OAAU,EAAVA,EAAY/wD,KAAKlG,GAEd8C,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKsgB,IAAKpb,GAAOkW,OAAQgG,IAAI,gBAC7BlD,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,SAAQD,SAAEkb,EAAOq3D,cAChCzyE,eAAA,OAAKG,UAAU,cAAaD,SAAEkb,EAAOs3D,sBAIzC1yE,eAAA,OACEG,UAAU,YACVge,QAASA,IAAM6zD,EAAc52D,EAAOq3D,aAAavyE,SAEjDF,eAAA,UAAQmf,SAAUgzD,EAA4BjyE,SAAC,mBAQzDF,eAAA,OAAKG,UAAU,WAAWge,QAAS+zD,EAAkBhyE,SACnDF,eAAA,UAAAE,SAAQ,kBAIR,E,QCxEGyyE,OAjBWp2C,IAA6B,IAA5B,YAAEsb,EAAW,MAAE+6B,GAAOr2C,EAC/C,OACEre,gBAACwe,KAAK,CACJC,MAAM,EACN4W,OAAQsE,EACRrC,gBAAgB,YAChB5B,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB13B,gBAACwe,KAAMmX,KAAI,CAAA3zC,SAAA,CACTF,eAAA,OAAKG,UAAU,MAAKD,SAAC,yBACrBF,eAAA,OAAKG,UAAU,uBAAsBD,SAAE0yE,SAEnC,E,QCyBGC,OArCOt2C,IAAsC,IAArC,YAAEsb,EAAW,eAAEi7B,GAAgBv2C,EACpD,MAAM,SACJgR,EAAQ,KACRvoC,EAAI,eACJy/D,EAAc,SACd/a,EAAQ,YACR5oB,GACEgyC,EACJ,OACE50D,gBAACwe,KAAK,CAACC,MAAM,EAAM4W,OAAQsE,EAAarC,gBAAgB,kBAAiBt1C,SAAA,CACvEF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKsgB,IAAKitB,EAAUnsB,IAAI,QACxBlD,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CAAC,MAAI8E,KAC/BhF,eAAA,OAAKG,UAAU,WAAUD,SAAEwpD,UAI/B1pD,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAAE,SACEF,eAACigE,GAAc,CAAC9B,SAAUsG,QAI9BvmD,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,MAAAE,SAAI,kBACH4gC,YAID,EC2mBGiyC,OAznBiBA,KAAO,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAGpC,MAAMhkD,EAAWimC,eAEXge,EAAiB9d,cACpB31D,GAAUA,EAAMgvE,eAAe0E,kBAG5BnlD,EAAeA,KACnBiB,EAASC,KAAyB,EAG9BhB,EAAgBA,KACpBe,EAASC,KAA0B,EAc/BgF,EAASkhC,cAAa31D,GAAUA,EAAMM,KAAKC,KAAKm4B,UAChDv4B,EAASw1D,cAAa31D,GAAUA,EAAMI,GAAGD,SAEzCmvE,EAAiB3Z,cACpB31D,GAAUA,EAAM2zE,oBAAoBC,6BAGvCjzE,QAAQC,IAAI,wBAAyB0uE,GAErC,MAUM,WAAEv7B,GAAeu7B,GAChB6B,EAAa0C,GAAkBr3D,mBAAS,OACxCs3D,EAAYC,GAAiBv3D,oBAAS,IACtC40D,EAAYC,GAAiB70D,mBAAS,KACtCw3D,EAAgBC,GAAqBz3D,mBAAS,IAC9C03D,EAAaC,GAAkB33D,sBAC/B43D,EAAgBC,GAAqB73D,oBAAS,IAC9C83D,EAAWC,GAAgB/3D,oBAAS,IACpCg4D,EAAWC,GAAgBj4D,oBAAS,IACpCk4D,EAAoBC,GAAyBn4D,oBAAS,IACtD21D,EAAgByC,GAAqBp4D,mBAAS,OAE9Ck6B,EAAQm+B,GAAar4D,mBAAS,QAE/B9b,EAAUm1B,uBAEVsK,GAAyB,OAAXgxC,QAAW,IAAXA,GAAsC,QAA3BkB,EAAXlB,EAAa2D,iCAAyB,IAAAzC,OAA3B,EAAXA,EAAwClyC,cAAe,GACrE40C,GACJ50C,EAAYjjC,OAAS,IACjBijC,EAAYs6B,UAAU,EAAG,KAAO,MAChCt6B,EAGNt/B,qBAAU,KACiBiwB,WACvB,IAAK,IAADkkD,EAAAv3C,EAAAw3C,EACF,MAAM12D,QAAiBwS,KAAMC,IAC3B,wFAAwF+iB,KAE1F8/B,EAAet1D,EAAS0S,KAAKA,MAC7BkjD,EACEjG,WAA2C,QAAjC8G,EAACz2D,EAAS0S,KAAKA,KAAKikD,qBAAa,IAAAF,OAAA,EAAhCA,EAAkCG,cAC3CjH,WAA6B,QAAnBzwC,EAAClf,EAAS0S,KAAKA,YAAI,IAAAwM,GAAe,QAAfw3C,EAAlBx3C,EAAoBy3C,qBAAa,IAAAD,OAAf,EAAlBA,EAAmCryB,UAEpD,CAAE,MAAOt+C,GACP3D,QAAQ2D,MAAMA,EAChB,GAGF8wE,EAAkB,GACjB,CAACrhC,IAEJ,MAAMu9B,GAAcxgD,UAClB,GAA0B,IAAtBsgD,EAAWl0E,OAAf,CAKAqxB,IACA,IACE,MAAMqqC,EAAc,CAClBlgC,QAASjE,EACTsf,WAAYA,EACZshC,SAAU5B,EAAelD,SACzB38B,OACEs6B,WAAsB,OAAXiD,QAAW,IAAXA,OAAW,EAAXA,EAAa+D,cAAcC,cACpCjH,WAAsB,OAAXiD,QAAW,IAAXA,OAAW,EAAXA,EAAa+D,cAActyB,WAAa,EACvDkvB,YAAaV,GAGT7yD,QAAiBwS,KAAMqC,KAC3B,yEACAwlC,GAG2B,MAAzBr6C,EAAS0S,KAAKC,SAChBzC,IACAulB,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKA,KAAKC,OAC3B6B,QAASxU,EAAS0S,KAAKA,KAAK8B,UAG9BohD,EAAe51D,EAAS0S,KAAKA,KAAKqkD,gBAElCrB,EAAkBC,EAAc31D,EAAS0S,KAAKA,KAAKqkD,gBACnD/D,MAGF5wE,QAAQC,IAAI,qBAAsB2d,EACpC,CAAE,MAAOja,GACP3D,QAAQ2D,MAAM,wBAAyBA,GACvCitE,IACF,CApCA,MAFEhzE,MAAM,+BAsCR,EAaIg3E,GAAgBzkD,UACpB,IAAK,IAAD0kD,EACFjnD,IACA,IAAIqqC,EAAc,CAChB6c,YAAavB,EAEbwB,YAAwB,OAAXvE,QAAW,IAAXA,GAAgC,QAArBqE,EAAXrE,EAAawE,2BAAmB,IAAAH,OAArB,EAAXA,EAAkCI,eAC/Cl2E,KAAM,UACN21E,SAAU5B,EAAelD,SACzB3vD,SAAS,GAGX,MAAMrC,QAAiBwS,KAAMqC,KAAK3I,GAASmuC,GAER,IAADid,EAAlC,GAA6B,MAAzBt3D,EAAS0S,KAAKC,OAChBzC,IACA0lD,EAAiC,QAAnB0B,EAACt3D,EAAS0S,KAAKA,YAAI,IAAA4kD,OAAA,EAAlBA,EAAoBP,eAEvC,CAAE,MAAOhxE,GACPmqB,GACF,GAqCF9tB,QAAQC,IAAI,cAAeuwE,GAE3B,MAIMI,GAAoBA,KACxB8C,GAAkB,EAAM,EAmBpB7C,GAA8BA,IACR,IAAtBJ,EAAWl0E,OACN,kBAGF,GAGHu0E,GAA4B/1C,IAChC21C,EAAc31C,EAAEve,OAAOrgB,MAAM,EAGzBg5E,GAAarzC,IACjBoyC,EAAUpyC,EAAI,EAUVszC,GAAwB,OAAX5E,QAAW,IAAXA,GAAsC,QAA3BmB,EAAXnB,EAAa2D,iCAAyB,IAAAxC,OAA3B,EAAXA,EAAwC0D,YAGrDC,GAAuBF,IAA6B,eAAfA,GAM3C,OACEx4D,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC47C,GAAe,IAChB19B,gBAAA,OACE1Z,MAAO,CACLlF,WAAY,WACZmF,QAAS,OACTs5B,eAAgB,SAChB84C,IAAK,OACL36C,WAAY,QACZh8B,SAAA,CAEFge,gBAAA,OAAK1Z,MAAO,CAAEywD,UAAW,QAAS/0D,SAAA,CAChCge,gBAAA,OAAK/d,UAAU,YAAYge,QAjBpBs3C,KACbp0D,EAAQo0D,QAAQ,EAgBiCv1D,SAAA,CACzCF,eAAA,OAAKsgB,IAAKpb,GAAOsX,SAAU4E,IAAI,SAAS,UAG1ClD,gBAAA,OAAK+D,MAAM,4CAA2C/hB,SAAA,CACpDge,gBAAA,OAAK+D,MAAM,uCAAsC/hB,SAAA,CAC/CF,eAAA,OAAKiiB,MAAM,OAAM/hB,SACH,OAAX4xE,QAAW,IAAXA,GAAsC,QAA3BoB,EAAXpB,EAAa2D,iCAAyB,IAAAvC,OAA3B,EAAXA,EAAwChxD,SAE3CliB,eAAA,OAAKsgB,IAAKpb,GAAOoW,YAAa8F,IAAI,YACtB,OAAX0wD,QAAW,IAAXA,GAAsC,QAA3BqB,EAAXrB,EAAa2D,iCAAyB,IAAAtC,OAA3B,EAAXA,EAAwCxE,gBACvC3uE,eAAA,OACEG,UAAU,YACVqE,MAAO,CACLy6B,gBACa,OAAX6yC,QAAW,IAAXA,GAAsC,QAA3BsB,EAAXtB,EAAa2D,iCAAyB,IAAArC,OAA3B,EAAXA,EAAwC3E,eAC1ChvE,MACa,OAAXqyE,QAAW,IAAXA,GAAsC,QAA3BuB,EAAXvB,EAAa2D,iCAAyB,IAAApC,OAA3B,EAAXA,EAAwC3E,eAC1CxuE,SAEU,OAAX4xE,QAAW,IAAXA,GAAsC,QAA3BwB,EAAXxB,EAAa2D,iCAAyB,IAAAnC,OAA3B,EAAXA,EAAwC3E,mBAI/CzwD,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBge,gBAAA,OACE/d,UAAW,QAAkB,SAAXk3C,EAAoB,SAAW,IACjDl5B,QAASA,IAAMs4D,GAAU,QAAQv2E,SAAA,CAEjCF,eAAA,KAAGG,UAAU,0BAA4B,iBAG3C+d,gBAAA,OACE/d,UAAW,QAAkB,aAAXk3C,EAAwB,SAAW,IACrDl5B,QAASA,IAAMs4D,GAAU,YAAYv2E,SAAA,CAErCF,eAAA,KAAGG,UAAU,uBAAyB,iBAI1C+d,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OACEG,UAAU,uBACVge,QAzEc24D,KAC5B,MAEM39B,EAAM,uCAFQp7B,SAAoB,OAAX+zD,QAAW,IAAXA,OAAW,EAAXA,EAAaiF,sBAG1CxkD,OAAO0K,KAAKkc,EAAK,SAAU,sBAAsB,EAqEJj5C,SAE/BF,eAAA,OAAKsgB,IAAKpb,GAAOqW,SAAU6F,IAAI,eAGjCphB,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,KAAG+7B,KAAM,OAAkB,OAAX+1C,QAAW,IAAXA,OAAW,EAAXA,EAAakF,mBAAmB92E,SAC9CF,eAAA,OAAKsgB,IAAKpb,GAAOsW,UAAW4F,IAAI,sBAO9B,SAAXi2B,GACCn5B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAACw/B,GAAM,CAACC,KAAgB,OAAXqyC,QAAW,IAAXA,KAAahxC,aAAY5gC,SACpCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,sCAAqCD,SAAA,CAClDF,eAAA,MAAAE,SAAI,gBAEJF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CACjCu0E,EAAa3zC,EAAc40C,GAC3B50C,EAAYjjC,OAAS,KACpBmC,eAAA,UACEG,UAAU,gBACVge,QAASA,IAAMu2D,GAAeD,GAAYv0E,SAEzCu0E,EAAa,YAAc,4BAS5Cz0E,eAACw/B,GAAM,CAACC,KAAiB,OAAXqyC,QAAW,IAAXA,MAAamF,mBAAkB/2E,SAC3Cge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,MAAAE,SAAI,wBAENF,eAAA,OAAKwE,MAAO,CAAElE,MAAO,OAAQC,OAAQ,SAAUL,SAC7CF,eAACigE,GAAc,CAAC9B,SAAqB,OAAX2T,QAAW,IAAXA,OAAW,EAAXA,EAAamF,2BAI7Cj3E,eAACw/B,GAAM,CACLC,IACa,OAAXqyC,QAAW,IAAXA,GAAsC,QAA3ByB,EAAXzB,EAAa2D,iCAAyB,IAAAlC,OAA3B,EAAXA,EAAwC2D,gBACrCr5E,QAAS,EACbqC,SAEDge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,MAAAE,SAAI,oBACJF,eAAA,OAAKG,UAAU,uBAAsBD,SACvB,OAAX4xE,QAAW,IAAXA,GAAsC,QAA3B0B,EAAX1B,EAAa2D,iCAAyB,IAAAjC,GAAiB,QAAjBC,EAAtCD,EAAwC0D,uBAAe,IAAAzD,OAA5C,EAAXA,EAAyDnyD,KACxD,CAAC61D,EAAS14C,IACRvgB,gBAAA,OAAiB/d,UAAU,sBAAqBD,SAAA,CAC9CF,eAAA,OACEsgB,IAAK62D,EAAQ1qC,KACbrrB,IAAK+1D,EAAQnyE,KACb7E,UAAU,iBAEZH,eAAA,QAAMG,UAAU,sBAAqBD,SAClCi3E,EAAQnyE,SAPHy5B,YAgBpBz+B,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OACEsgB,IAAW,OAANpb,SAAM,IAANA,QAAM,EAANA,GAAQiW,oBACbiG,IAAK,sBACLjhB,UAAU,iBAEZH,eAAA,QAAMG,UAAU,2BAA0BD,SAAC,qDAOjDF,eAACw/B,GAAM,CAACC,IAAe,OAAXqyC,QAAW,IAAXA,OAAW,EAAXA,EAAasF,aAAav5E,QAAS,EAAEqC,SAC/Cge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,MAAAE,SAAI,oBACJF,eAACg8B,KAAM,CAlPrBd,UAAU,EACVC,aAAc,EACdC,eAAgB,EAChBuD,UAAU,EACV4B,MAAO,IACP3B,cAAe,IACf4B,QAAS,SACT9E,QAAQ,EACRH,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,KAuNYl7B,SACN,OAAX4xE,QAAW,IAAXA,GAAyB,QAAd4B,EAAX5B,EAAasF,oBAAY,IAAA1D,OAAd,EAAXA,EAA2BpyD,KAAKuyC,GAC/B7zD,eAAA,OAA4BG,UAAU,gBAAeD,SACnDge,gBAAA,OACE1Z,MAAO,CACLy6B,gBAAiB,UACjBsnB,QAAS,OACTjmD,MAAO,SACPJ,SAAA,CAEFF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAY,OAAPuzC,QAAO,IAAPA,OAAO,EAAPA,EAAStmB,SAAUnsB,IAAY,OAAPyyC,QAAO,IAAPA,OAAO,EAAPA,EAAS7uD,SAE7CkZ,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,MAAW,OAAP2zD,QAAO,IAAPA,OAAO,EAAPA,EAAS7uD,QAC3ChF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,UAAQme,QAASA,KA7MzCo3D,EA6MkE1hB,QA5MlEyhB,GAAsB,IA4MqDp1E,SAAC,oBAbzC,OAAP2zD,QAAO,IAAPA,OAAO,EAAPA,EAASx6B,kBAuB3Br5B,eAACw/B,GAAM,CAACC,IAAe,OAAXqyC,QAAW,IAAXA,GAA0B,QAAf6B,EAAX7B,EAAauF,qBAAa,IAAA1D,OAAf,EAAXA,EAA4B91E,QAAS,EAAEqC,SACjDge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,MAAAE,SAAI,kBACJF,eAAA,MAAAE,SACc,OAAX4xE,QAAW,IAAXA,GAA0B,QAAf8B,EAAX9B,EAAauF,qBAAa,IAAAzD,OAAf,EAAXA,EAA4BtyD,KAAI,CAACqqB,EAAMlN,IACtCz+B,eAAA,MAAAE,SAAiByrC,EAAK3mC,MAAby5B,YAKjBz+B,eAACw/B,GAAM,CAACC,IAAe,OAAXqyC,QAAW,IAAXA,GAAgB,QAAL+B,EAAX/B,EAAawF,WAAG,IAAAzD,OAAL,EAAXA,EAAkBh2E,QAAS,EAAEqC,SACvCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,MAAAE,SAAI,uCACJF,eAACu3E,KAAS,CAACp3E,UAAU,gBAAeD,SACtB,OAAX4xE,QAAW,IAAXA,GAAgB,QAALgC,EAAXhC,EAAawF,WAAG,IAAAxD,OAAL,EAAXA,EAAkBxyD,KAAI,CAACg2D,EAAK74C,IAC3BvgB,gBAACq5D,KAAUC,KAAI,CAAaC,SAAUh5C,EAAM57B,WAAW3C,SAAA,CACrDF,eAACu3E,KAAU5hC,OAAM,CAAAz1C,SAAEo3E,EAAItyE,OACvBhF,eAACu3E,KAAU1jC,KAAI,CAAA3zC,SAAEo3E,EAAIx2C,gBAFFrC,eAWrB,aAAX4Y,GACCr3C,eAAA,OAAKG,UAAU,wBAAuBD,SACxB,OAAX4xE,QAAW,IAAXA,GAAoB,QAATiC,EAAXjC,EAAa9kC,eAAO,IAAA+mC,OAAT,EAAXA,EAAsBzyD,KAAKo2D,GAExBx5D,gBAAA,OAEE/d,UAAU,aACVqE,MAAO,CAAElF,WAAYo4E,EAAIj4E,OACzB0e,QAASA,KAAMmoB,OAlcT1U,EAkcwB8lD,EAjc9CvnD,EACEiY,GAAoB9B,eAAe,CACjCqG,UAAW/a,EAAKgb,OAChBC,YAAajb,EAAKkb,SAClBC,YAAanb,EAAK6a,aAGtBprC,EAAQkyB,KAAK,sBARS3B,KAkc6B,EAAA1xB,SAAA,CAEnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,YAAYmgB,IAAKo3D,EAAIjrC,KAAMrrB,IAAI,QAC9ClD,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CAAC,IAAEw3E,EAAIzlC,gBAC/B/zB,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACvBw3E,EAAIC,aAAa,mBAKxB33E,eAAA,OACEG,UAAU,aACVmgB,IAAKpb,GAAOuX,gBACZ2E,IAAI,YAlBDs2D,EAAI9qC,eA2BrB1uB,gBAAA,OACE/d,UAAU,0CACVqE,MAAO,CAAEywD,UAAW,QAAS/0D,SAAA,CAE7BF,eAAA,OAAKG,UAAU,SAAQD,SACrBge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,OAAKsgB,IAAKpb,GAAOkW,OAAQgG,IAAI,gBAC7BphB,eAAA,QAAAE,SAAM,oBACNF,eAAA,UAAQG,UAAU,eAAege,QA1StBy5D,KACrB5C,GAAkB,EAAK,EAyS4C90E,SAAC,sBAM9Dge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,SACEK,KAAK,OACLoe,YAAY,8BACZhhB,MAAOs0E,EACPnzD,SAAWyd,GAAM+1C,GAAyB/1C,KAE5Cr8B,eAAA,UAEEme,QAAS8zD,GACT9xE,UAAWgyE,GAA4BjyE,SACxC,aAKHge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CAEzCF,eAAA,OAAKsgB,IAAKpb,GAAOqX,QAAS6E,IAAI,SAC9BlD,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,iBAAgBD,SAAC,wBAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,cAE3BF,eAAA,QAAAE,SACc,OAAX4xE,QAAW,IAAXA,GAAgC,QAArBkC,EAAXlC,EAAawE,2BAAmB,IAAAtC,OAArB,EAAXA,EAAkCuC,0BAM3Cv2E,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,SACEK,KAAK,WACLkhB,QAAS0zD,EACTr2D,SAxZgBnB,IAC5B,MAAM8D,EAAU9D,EAAMK,OAAOyD,QAC7B2zD,EAAa3zD,GAETA,GAEF20D,IACF,EAkZY/2D,SACuD,KAA1C,OAAX2yD,QAAW,IAAXA,GAAgC,QAArBmC,EAAXnC,EAAawE,2BAAmB,IAAArC,OAArB,EAAXA,EAAkCsC,uBAM1Cr4D,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,MAAAE,SAAI,kBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,QAAAE,SAAM,iBACNge,gBAAA,QAAAhe,SAAA,CAAM,SAEH2uE,WAAsB,OAAXiD,QAAW,IAAXA,GAA0B,QAAfoC,EAAXpC,EAAa+D,qBAAa,IAAA3B,OAAf,EAAXA,EAA4B4B,cAAch2E,QACpD,SAINoe,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,QAAAE,SAAM,aACNge,gBAAA,QAAM/d,UAAU,WAAUD,SAAA,CAAC,WACrB2uE,WAAsB,OAAXiD,QAAW,IAAXA,GAA0B,QAAfqC,EAAXrC,EAAa+D,qBAAa,IAAA1B,OAAf,EAAXA,EAA4B5wB,UAAUzjD,QAAQ,SAGjEoe,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,QAAAE,SAAM,oBACNge,gBAAA,QAAM/d,UAAU,WAAUD,SAAA,CAAC,WAEV,OAAdy0E,QAAc,IAAdA,OAAc,EAAdA,EAAgB70E,QAAQ,SAG7Boe,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,QAAAE,SAAM,gBACNge,gBAAA,QAAAhe,SAAA,CAAM,SAAE20E,WAIZ32D,gBAAA,OAAK/d,UAAU,QAAQge,QAjXb05D,KAChBzC,GAAa,EAAK,EAgX8Bl1E,SAAA,CACxCF,eAAA,OAAKsgB,IAAW,OAANpb,SAAM,IAANA,QAAM,EAANA,GAAQmW,OAAQ+F,IAAI,UAAU,0BAI1B,OAAd6uD,QAAc,IAAdA,KAAgB92C,eAChBn5B,eAAC83E,GAAe,CACd7H,eAAgBA,EAChB17B,OAAQ,IACR27B,WAAY,iBACZC,YAAa,kBAIhByG,IACC14D,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CAAC,eACZF,eAAA,QAAAE,SAAOw2E,cAK1B3B,GACC/0E,eAAC6xE,GAAU,CACTz8C,OAAQA,EACRsf,WAAYA,EACZ0/B,eAAgBA,EAChBtC,YAAaA,EACbC,WAAYA,EACZC,cAAeA,EACfC,YAAaA,GACbC,kBAAmBA,GACnBC,4BAA6BA,GAC7BC,yBAA0BA,KAI7B+C,GACCn1E,eAAC2yE,GAAiB,CAChB96B,YAnZWkgC,KACjB3C,GAAa,EAAM,EAmZbxC,MAAkB,OAAXd,QAAW,IAAXA,OAAW,EAAXA,EAAakG,mBAIvB3C,GACCr1E,eAAC6yE,GAAa,CACZh7B,YAlZoBogC,KAC1B3C,GAAsB,EAAM,EAkZtBxC,eAAgBA,IAInBhyE,GAAUd,eAACD,KAAW,MACd,E,QC1TAW,qBAtBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtBuB,OAAQz0B,EAAMM,KAAKC,KAAKm4B,YAIAlJ,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC8nD,eAAiBpoD,IACfK,EAASoG,GAA+BzG,GAAS,KAIxCpvB,EAlUIU,IACjB,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,eAAE8oD,EAAc,UAAErkD,EAAS,MAAEvC,GAAUlwB,EACxE,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCg7D,YAAa,GACbC,YAAa,GACbC,aAAc,GACdC,aAAc,GACdC,YAAa,MAGRC,EAAUC,GAAet7D,oBAAS,GAEzC,IAAI9b,EAAUm1B,uBACdh1B,qBAAU,KACRk3E,IACAC,IACAC,GAAgB,GACf,IAEHp3E,qBAAU,KACRq3E,EAAel4E,EAAM03E,aAAa,GACjC,CAAC13E,EAAM03E,eAEV,MAAMK,EAAgBjnD,UACpBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKhK,IACL,MAAzB7K,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH4mD,YAAaj5D,EAAS0S,KAAKA,SAE7BinD,EAAe35D,EAAS0S,KAAKA,KAAK,GAAG7S,IAEzC,CAAE,MAAO9Z,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI4zE,EAAiBpnD,UACrBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IAAIM,EAAO,CACTknD,WAAY/5D,GAEd,IACE,MAAMG,QAAiBwS,KAAMqC,KAAK/J,GAAS4H,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH6mD,YAAal5D,EAAS0S,KAAKA,SAE7BsmD,EAAeh5D,EAAS0S,KAAKA,MAEjC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAwBI8zE,EAActnD,UAClBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IAAIM,EAAO,CACTknD,WAAYE,EACZ34E,KAAM,GAER,IAE+B,aADNqxB,KAAMqC,KAAK7J,GAAS0H,EAAM,CAAE+B,aACtC/B,KAAKC,QAChBzC,IAEFupD,GACF,CAAE,MAAO1zE,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAQIg0E,EAAiBxnD,UACrBvC,IACA,IAAI0C,EAAO,CACTknD,WAAYE,EACZ34E,KAAM,GAER,IAE+B,aADNqxB,KAAMqC,KAAK7J,GAAS0H,IAC9BA,KAAKC,QAChBzC,IAGFupD,GACF,CAAE,MAAO1zE,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAcI2zE,EAAiBnnD,UACrBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK5J,IACL,MAAzBjL,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHgnD,YAAar5D,EAAS0S,SAG5B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI0zE,EAAclnD,UAClBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMqC,KAAK1J,GAAS,CAAEsJ,YAChB,MAAzBzU,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH+mD,aAAcp5D,EAAS0S,KAAKA,UAG9BxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAUF,OACEiZ,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,WAAWge,QArDL+6D,KACzB73E,EAAQkyB,KAAK,uBAAuB,EAoDsBrzB,SAAA,CACpDF,eAAA,OAAKsgB,IAAKpb,GAAO8M,iBAAkBoP,IAAI,cACvCphB,eAAA,OAAKG,UAAU,QAAOD,SAAES,EAAM23E,aAAaz6E,SAC3CmC,eAAA,OAAKG,UAAU,OAAMD,SAAC,gBAExBge,gBAAA,OAAK/d,UAAU,UAAUge,QAjERuuB,KACrBrrC,EAAQkyB,KAAK,CACXC,SAAU,mBACV7yB,MAAO,CAAEw4E,UAAWx4E,EAAM43E,cAC1B,EA6DmDr4E,SAAA,CAC/CF,eAAA,OAAKsgB,IAAKpb,GAAOgM,iBAAkBkQ,IAAI,aACvCphB,eAAA,OAAKG,UAAU,QAAOD,SAAES,EAAM43E,YAAYa,QAC1Cp5E,eAAA,OAAKG,UAAU,OAAMD,SAAC,eAG1BF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,WAAAE,SACEF,eAAA,UACEG,UAAU,mBACVye,SA9IgBnB,IAC1BiT,GAAUa,IAAS,IACdA,EACH8mD,aAAc56D,EAAMK,OAAOrgB,SAC1B,EA2IOA,MAAOkD,EAAM03E,aAAan4E,SAExB1C,aAAQmD,EAAMw3E,aAYZ,KAXAx3E,EAAMw3E,YAAYt6E,OAChB8C,EAAMw3E,YAAY72D,KAAKve,GAEnB/C,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,UAAyBvC,MAAOsF,EAAQgc,GAAG7e,SACxC6C,EAAQs2E,UADEt2E,EAAQgc,QAM3B,SAKVb,gBAAA,WAAS/d,UAAU,iBAAgBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAAC,mBAChCF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,mCAAkCD,SAC7C1C,aAAQmD,EAAMy3E,aA4DZ,KA3DAz3E,EAAMy3E,YAAYv6E,OAChB8C,EAAMy3E,YAAY92D,KAAKve,IACrB,OACE/C,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAwB/d,UAAU,MAAKD,SAAA,CACrCge,gBAAA,OACEC,QAASA,KAAMm7D,OArKlBn2B,EAqKoCpgD,EApK7DmsB,IACA7tB,EAAQkyB,KAAK,CACXC,SAAU,gBACV7yB,MAAO,CAAEwiD,QAASA,UAEpB/zB,IANyB+zB,KAqK6C,EAC1ChjD,UAAU,oBAAmBD,SAAA,CAE7BF,eAAA,OACEG,UAAU,WACVmgB,IAAKvd,EAAQinC,MACb5oB,IAAI,aAGNlD,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,YAAWD,SACrB6C,EAAQqgD,eAEXllC,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBge,gBAAA,QAAM/d,UAAU,aAAYD,SAAA,CAAC,SACzB,IACD6d,SACChb,EAAQygD,kBACRF,eAAe,SAAS,QAG5BtjD,eAAA,QAAAE,SACEge,gBAAA,UAAAhe,SAAA,CAAQ,UAAG6C,EAAQm2C,MAAM,mBAKjCl5C,eAAA,OAAKG,UAAU,cAAaD,UAnFzC84E,EAoFuBj2E,EAAQi2E,KAnF7Br4E,EAAM23E,aAAaxzB,QAAQ/hD,GACjCA,EAAQi2E,MAAQA,IAEX,GA0FgBh5E,eAAA,OACEme,QAASA,IAzKb66D,KAC5BP,GAAY,GACZQ,EAAeD,EAAK,EAwKcO,CAAqBx2E,EAAQi2E,MAE/B74E,UAAU,uBACVmgB,IAAKpb,GAAOmN,iBACZ+O,IAAI,kBAfNphB,eAAA,OACEme,QAASA,IA1LhB66D,KACzBP,GAAY,GACZM,EAAYC,EAAK,EAyLiBQ,CAAkBz2E,EAAQi2E,MAE5B74E,UAAU,gBACVmgB,IAAKpb,GAAO+M,iBACZmP,IAAI,uBArCFre,EAAQi2E,QAtD7BA,KAyGY,IAGP,mBAOf,I,UCvTP,MAKMS,GAAetlD,aAAY,CAC/BnvB,KAAM,WACNovB,aAPmB,CACnBmgD,2BAA4B,CAAC,EAC7BmF,aAAc,IAMdrlD,SAAU,CACRslD,8BAA+BA,CAACh5E,EAAO4zB,KACrC5zB,EAAM4zE,2BAA6BhgD,EAAOzE,OAAO,EAGnD8pD,gBAAiBA,CAACj5E,EAAO4zB,KACvB5zB,EAAM+4E,aAAenlD,EAAOzE,OAAO,MAK1B6pD,8BAA6B,GAAEC,gBAAgB,IAC5DH,GAAajlD,QAEAilD,UAAoB,Q,+BC4hBpB/4E,qBA3CUC,IAChB,CACL+uE,QAAS/uE,EAAMgvE,eAAeD,QAC9Bp+C,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtBwF,QAAS14B,EAAMM,KAAKC,KAAKm4B,QACzBtI,UAAWpwB,EAAMk5E,UAAU9oD,cAMHZ,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCC,QAAUP,IACRK,EAASG,GAAoBR,GAAS,EAGxC6pD,8BAAgC7pD,IAC9BK,EAASwpD,GAA8B7pD,GAAS,EAGlD8pD,gBAAkB9pD,IAChBK,EAASypD,GAAgB9pD,GAAS,EAGpCi/C,4BAA8Bj/C,IAC5BK,EAAS4+C,GAA4Bj/C,GAAS,EAEhDwG,aAAexG,IACbK,EAASoG,GAA6BzG,GAAS,EAGjDi/C,kCAIWruE,EA5gBoBU,IAAW,IAAD04E,EAAAC,EAC3C,IAAI,QACF14E,EAAO,SACPL,EAAQ,eACRG,EAAc,aACd+tB,EAAY,cACZE,EAAa,QACbiB,EAAO,8BACPspD,EAA6B,gBAC7BC,EAAe,4BACf7K,EAA2B,QAC3BW,EAAO,MACPp+C,EAAK,UACLuC,EAAS,QACTwF,EAAO,UACPtI,EAAS,aAETuF,GACEl1B,EAEJE,QAAQC,IAAI,2BAA4BmuE,GAExC,MAAMsK,EAAiC,CACrC3iC,OAAQ,EACR4iC,WAAY,KACZC,kBAAmB,MACnB3lC,OAAQ,UACRniB,MAAO,GACPxB,SAAU,KACVupD,SAAU,yCACVC,kBAAmB,UACnBl4D,OAAQ,mBACRm4D,gBACE,iEACFl4D,UAAW,GACXy4B,WAAY,sBACZ9Z,YAAa,2eAcbyiB,SAAU,OACVqa,SAAU,YACV+Y,YAAa,aACbniC,aAAc,OACd/H,KACE,8EACFsV,SAAU,EACVu4B,UAAW,EACXC,YAAa,KACbC,cAAe,KACfrhD,cAAc,EACdub,WAAY,IACZ+lC,uBAAwB,CACtB,CAAEj6E,OAAQ,iBACV,CAAEA,OAAQ,SACV,CAAEA,OAAQ,kBAEZ8zC,aAAc,2CACdomC,iBAAkB,KAClBC,YAAa,IACbC,kBAAmB,qCACnBC,aAAc,EACdC,KAAM,KACNl5B,gBAAiB,GACjBm5B,YAAa,KACbrW,UAAW,KACXrwB,cAAe,0CAGjB,IAAIvb,EAAWkK,wBACXI,EAAc,OAARtK,QAAQ,IAARA,GAAe,QAAPghD,EAARhhD,EAAUn4B,aAAK,IAAAm5E,GAAK,QAALC,EAAfD,EAAiB12C,WAAG,IAAA22C,GAApBA,EAAsBl8E,OAC5Bi7B,EAASn4B,MAAMyiC,IACf,kBAEJ,MAAOziC,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNqqD,eAAgB,CACd9oD,SAAU,GACVF,QAAS,GACTM,QAAS,IAEX2oD,mBAAoB,CAAC,EACrBhL,eAAgB,CAAC,EACjBiL,YAAa,CAAC,EACd5uC,YAAa,CAAC,EACd6uC,cAAe,CAAC,EAChBC,uBAAwB,CAAC,EACzBC,cAAe,CAAC,EAChBC,YAAY,EACZC,gBAAiB,GACjBC,iBAAkB,GAClBC,SAAU,CAAC,EACXC,cAAe,EACfC,YAAY,EACZ3N,sBAAuB,CAAC,IAG1BxsE,qBAAU,KAGU,cAAduvB,GAA2Bk9C,EAAa+L,GAC5C1jD,EAAa,YAAY,GAExB,IAqBH90B,qBAAU,KACRo6E,IApB+BnqD,WAC/BvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI,GAAG3E,MAEP,MAAzB9N,EAAS0S,KAAKC,SAChBzC,IACA9tB,QAAQC,IAAI2d,EAAS0S,KAAKA,MAC1BlB,GAAUa,IAAS,IACdA,EACHy8C,sBAAuB9uD,EAAS0S,KAAKA,SAG3C,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAKA42E,EAA0B,GACzB,IAEHr6E,qBAAU,KACJb,EAAM26E,aACRQ,IACAC,IACF,GACC,CAACp7E,EAAMq6E,eAAe9oD,WAEzB,MAAM2+C,EAAc,IAAIvhC,KAEtBuhC,EAAYphC,cAEXohC,EAAYrhC,WAEbqhC,EAAYthC,UAEZshC,EAAYE,WAEZF,EAAYG,aAEZH,EAAYI,aAEd,MAAM2K,EAAqBA,KACzBlrD,GAAUa,IAAS,IACdA,EACHypD,eAAgB,IACXzpD,EAAUypD,eACb9oD,SAAU/wB,EAAegyB,cAAc,GAAGhR,UAC1C6P,QAAS7wB,EAAe+xB,aAAalR,SACrCsQ,QAASnxB,EAAeiyB,aAAaxC,UAEvC0qD,YAAY,KACX,EAGCQ,EAAwBrqD,UAC5B,IAAIupD,EAAiB,IAAKr6E,EAAMq6E,gBAChC9rD,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B,GAAGvO,gBAAoB43D,EAAe9oD,qBAAqB8oD,EAAe1oD,0BAG/C,MAAzBpT,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH0pD,mBAAoB/7D,EAAS0S,KAAKA,KAClC0pD,YAAY,MAGlB,CAAE,MAAOr2E,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAEI82E,EAA4BtqD,UAEhCvC,IACA,IAAI0C,EAAO,CACTmH,OAAQ,GACR5X,UAAWhgB,EAAe6xB,cAAc,GAAG7R,WAG7C,IACE,MAAMjC,QAAiBwS,KAAMqC,KAAK/O,GAAQ4M,GAEb,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH6pD,uBAAwBl8D,EAAS0S,KAAKA,KACtC0pD,YAAY,MAGlB,CAAE,MAAOr2E,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI+2E,EAAuB,SAACC,GAAsC,IAA3BC,EAAatqB,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,IAAAA,UAAA,GACpDlhC,GAAUa,IAAS,IACdA,EACHZ,KAAMsrD,EACNN,WAAYO,KAEhB,EAEMjO,EAAex8C,UACnBmoD,EAAgB,KAChBlpD,GAAUa,IAAS,IACdA,EACHoqD,YAAY,MAEdtoD,KAAUC,OAAO,CACftuB,KAAM,4BACNgZ,WAAY,CACVqb,QAASr4B,EAASq4B,QAClB8iD,aAAcn7E,EAASw4B,OACvBrX,UAAyB,OAAd8tD,QAAc,IAAdA,OAAc,EAAdA,EAAgB9tD,UAC3Bi6D,YAA2B,OAAdnM,QAAc,IAAdA,OAAc,EAAdA,EAAgB/tD,OAC7BwyB,WAA0B,OAAdu7B,QAAc,IAAdA,OAAc,EAAdA,EAAgBv7B,WAC5BJ,aAA4B,OAAd27B,QAAc,IAAdA,OAAc,EAAdA,EAAgB37B,gBAIlC5jB,GAAUa,IAAS,IACdA,EACH0+C,eAAgBA,MAGlB0J,EAA8B1J,GAE9B5uE,EAAQkyB,KAAK,YAA0B,OAAd08C,QAAc,IAAdA,OAAc,EAAdA,EAAgBv7B,aAAa,EAsGxD,OACE10C,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDge,gBAAA,OAAK/d,UAAU,0CAAyCD,SAAA,CACtDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,YAAWD,SACvBS,EAAMg7E,YACL37E,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAACm+D,KAAG,CAAAn8E,SAAA,CACFF,eAACs8E,KAAG,CAACC,GAAI,EAAGC,GAAI,GAAIC,GAAI,GAAGv8E,SACzBF,eAAA,OACEG,UAAU,eACVmgB,IAAKpb,GAAOoS,gBACZ8J,IAAI,aAGRphB,eAACs8E,KAAG,CAACn8E,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,KAAAE,SAAG,yBACHF,eAAA,OAAKsgB,IAAKpb,GAAOiS,WAAY7W,MAAO,GAAI8gB,IAAI,SAC5CphB,eAAA,QAAAE,SAAOS,EAAM86E,SAASiB,qBAG1B18E,eAACs8E,KAAG,CAACn8E,UAAU,gDAA+CD,SAC5DF,eAACm8B,IAAI,CAACh8B,UAAU,gBAAgBi8B,GAAG,UAASl8B,SAAC,kCASzDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,SAAQD,SACrBge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACxBS,EAAMg7E,YACL37E,eAAA,OAAKG,UAAU,MAAKD,SAClBge,gBAAA,MACE/d,UAAU,0CACV4e,GAAG,QACH7a,KAAK,UAAShE,SAAA,CAEdF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UACS,mBAAPijC,EACI,kBACA,WAENrkB,GAAG,sBACH,iBAAe,MACf,iBAAe,mBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,kBACd,gBAAc,QAAOhE,SACtB,sBAKHF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UACS,cAAPijC,EACI,kBACA,WAENrkB,GAAG,iBACH,iBAAe,MACf,iBAAe,cACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,aACd,gBAAc,QAAOhE,SACtB,sBAOTF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/Bge,gBAAA,OAAK/d,UAAU,cAAc4e,GAAG,eAAc7e,SAAA,CAC5CF,eAAA,OACEG,UACS,mBAAPijC,EACI,4BACA,gBAENrkB,GAAG,kBACH7a,KAAK,WACL,kBAAgB,sBAAqBhE,SAErCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,YAAYqE,MAAO,CAAE+hD,QAAS,KAAMrmD,SA/H/Cy8E,MAC1B,IAAI,KACFhsD,EAAI,eAEJs/C,EAAc,sBAEdjC,GACErtE,EAEJ,OAAQgwB,GACN,KAAK,EACH,OACE3wB,eAAC+tE,GAAwB,CACvBE,aAAcA,EACdD,sBAAuBA,IAI7B,KAAK,EACH,OACEhuE,eAAC+yE,GAAuB,CACtBiJ,qBAAsBA,EACtB/L,eAAgBA,IAGtB,QACE,OAAO,KACX,EAqGyB0M,SAKP38E,eAAA,OACEG,UACS,cAAPijC,EACI,4BACA,gBAENrkB,GAAG,aACH7a,KAAK,WACL,kBAAgB,iBAAgBhE,SAEhCF,eAAC48E,GAAS,0BAUnB,ICtbAl8E,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA5DIU,IACjB,IAAI,OAAEN,EAAM,SAAEE,EAAQ,QAAEK,EAAO,eAAEF,GAAmBC,EACpD,MAAOk5C,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAQnC,OANAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAC1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAEDp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,2BAA0BD,SACtCo6C,GAAe,IAEdp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpB16C,SAAUA,EACVG,eAAgBA,IAElBnB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC68E,GAAyB,CACxB77E,SAAUA,EACVK,QAASA,EACTF,eAAgBA,OAKpBnB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC68E,GAAyB,CACxB77E,SAAUA,EACVK,QAASA,EACTF,eAAgBA,WAM1BnB,eAAC67C,GAAgB,OAElB/6C,GAAUd,eAACD,KAAW,MACd,I,wBChCA+8E,OA/BgBvgD,IAIxB,IAADwgD,EAAA,IAJ0B,kBAC9BC,EAAiB,uBACjBC,EAAsB,8BACtBC,GACD3gD,EACC,MAAM4gD,EAA8B,OAAjBH,QAAiB,IAAjBA,GAAwB,QAAPD,EAAjBC,EAAmBv/E,aAAK,IAAAs/E,OAAP,EAAjBA,EACfx+E,MAAM,QACP+iB,KAAI,CAAC87D,EAAW3+C,IAAUz+B,eAAA,KAAAE,SAAgBk9E,GAAR3+C,KAErC,OACEvgB,gBAACwe,KAAK,CACJC,KAAMsgD,EACN1pC,OAAQ2pC,EACR1nC,gBAAgB,6BAChB5B,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SACvBF,eAAA,MAAAE,SAAI,2BAGNF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,uCAAsCD,SAClDi9E,UAID,E,UCzBGE,OAJO9gD,IAA6B,IAA5B,QAAE+gD,EAAO,UAAEn9E,GAAWo8B,EAC3C,OAAOv8B,eAACu9E,KAAO,CAACC,UAAU,SAASF,QAASA,EAASn9E,UAAWA,GAAa,ECwPhEO,qBAPUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,YAIc,KAAzBn+C,EA1OU67B,IAKlB,IALmB,iBACxBkhD,EAAgB,sBAChBC,EAAqB,UACrB7pD,EAAS,MACTvC,GACDiL,EACC,MAAM,OAAEgY,EAAM,SAAEgP,EAAQ,aAAE/O,EAAY,YAAEmiC,GAAgB8G,GACjD1qC,EAASsrB,GAAclhD,oBAAS,IAChCwgE,EAAcC,GAAmBzgE,mBAAS,KAE1Cxc,EAAO+vB,GAAYvT,mBAAS,CACjC6/D,kBAAmB,CACjBA,kBAAmB,CAAC,EACpBC,wBAAwB,GAE1BY,iBAAiB,EACjBnE,aAAc,KAGhBl4E,qBAAU,KAGNue,YAAW,KACTzb,SAASw5E,gBAAgBC,UAAY,EACrCz5E,SAASm3D,KAAKsiB,UAAY,CAAC,GAC1B,GAOE,KACLz5E,SAASw5E,gBAAgBC,UAAY,EACrCz5E,SAASm3D,KAAKsiB,UAAY,CAAC,IAE5B,IAEH,MA6DMC,EAAwBvsD,UAC5B,MAAMG,EAAO,CACX5sB,KAAM,gBACNi5E,MAAO,wBAGT,IACE,MAAM/+D,QAAiBwS,KAAMqC,KAAKnJ,GAASgH,GAEM,MAA7C7T,SAASA,SAASmB,EAAS0S,KAAKC,UAClCnB,GAAUa,IAAS,IACdA,EACHyrD,kBAAmB,IACdzrD,EAAUyrD,kBACbA,kBAAmB99D,EAAS0S,KAAKA,KAAK,OAK9C,CAAE,MAAOyK,GACP/6B,QAAQC,IAAI86B,EAAE3I,QAChB,GAGF,OACExV,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKsgB,IAAKpb,GAAOqN,WAAY6O,IAAI,qBACjClD,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,KAAGG,UAAU,mBAAkBD,SAAC,0BAChCge,gBAAA,KAAG/d,UAAU,cAAaD,SAAA,CAAC,eACZ,IACbF,eAAA,QAAMG,UAAU,cAAaD,SAAC,uBAAyB,8BAM7Dge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,SACEK,KAAK,OACLoe,YAAY,sBACZG,SAlDiByd,IACzB3L,GAAUa,IAAS,IACdA,EACHmoD,aAAcr9C,EAAEve,OAAOrgB,SACtB,EA+CKA,MAAOkD,EAAM+4E,aACb36D,GAAG,aACH/Z,KAAK,aACLk5E,UAAU,MAGZl+E,eAAA,OAAKG,UAAU,iBAAgBD,SAC5B6yC,EACC/yC,eAACq9E,GAAa,CACZC,QAAS,SACTn9E,UAAW,2BAEXQ,EAAMk9E,gBACR79E,eAAA,OAAKsgB,IAAKpb,GAAOuN,WAAY2O,IAAI,yBAC/BzgB,EAAM+4E,aAAa77E,OAAS,EAC9BmC,eAAA,QAAMme,QAlGOsT,UACvB4sC,GAAW,GAEX,MAAM1qC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAE3BM,EAAO,CACXusD,cAAex9E,EAAM+4E,aACrBhlC,WAA4B,OAAhB+oC,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB/oC,YAGhC,IACE,MAAMx1B,QAAiBwS,KAAMqC,KAAKpJ,GAASiH,EAAM,CAAE+B,YAEZ,MAAnC5V,SAASmB,EAAS0S,KAAKC,SACzBwsC,GAAW,GACX3tC,GAAUa,IAAS,IACdA,EACHssD,iBAAiB,MAEnBH,EAAsB/8E,EAAM+4E,cAC5B/kC,GAAgBz1B,EAAS0S,QAEzBysC,GAAW,GACX1pB,GAAgBz1B,EAAS0S,MAE7B,CAAE,MAAOyK,GACPgiC,GAAW,GACX/8D,QAAQC,IAAI86B,EAAE3I,QAChB,GAqE0CxzB,SAAC,UAEjCF,eAAA,QACEme,QAASA,IACPw2B,GAAgB,CACd9iB,OAAQ,IACR6B,QAAS,2BAEZxzB,SACF,eAOPge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,KAAGG,UAAU,qBAAoBD,SAAC,kBAClCge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,KAAAE,SAAG,iBAAgB,UAAGq0C,KAExBr2B,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,KAAAE,SAAG,aAAY,UAAGqjD,KAEpBrlC,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAG,gBAAe,UAAGs0C,QAGzBt2B,gBAAA,OAAK/d,UAAU,gDAA+CD,SAAA,CAC5DF,eAAA,OACEsgB,IAAKpb,GAAOsN,oBACZ4O,IAAI,6BACJ,OACG,IACLphB,eAAA,QACEG,UAAU,kBACVge,QAASA,KA3JjBuS,GAAUa,IAAS,IACdA,EACHyrD,kBAAmB,IACdzrD,EAAUyrD,kBACbC,wBAAwB,YAI5Be,KAmJqD99E,SAC9C,yBAKHge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CAAC,eACtBF,eAAA,QAAMG,UAAU,WAAUD,SAAEy2E,OAG1C32E,eAAC83E,GAAe,CACd7H,eAAgBwN,EAChBlpC,OAAQC,EACR07B,WAAY,oBAAe17B,IAC3B27B,YAAa,qBAIhBxvE,EAAMq8E,kBAAkBC,wBACvBj9E,eAAC88E,GAAsB,CACrBG,uBACEt8E,EAAMq8E,kBAAkBC,uBAE1BC,8BAvK8BA,KACpCxsD,GAAUa,IAAS,IACdA,EACHyrD,kBAAmB,IACdzrD,EAAUyrD,kBACbC,wBAAwB,MAEzB,EAiKGD,kBAAmBr8E,EAAMq8E,kBAAkBA,oBAI/Ch9E,eAACqqC,KAAc,CAAC0K,UAAW,QAC1B,IC5EQr0C,cAfUC,IAEhB,CACL88E,iBAAkB98E,EAAM2zE,oBAAoBC,2BAC5CvzE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAIEgvB,IAAQ,CAClCutD,sBAAwB5tD,IACtBK,EAASypD,GAAgB9pD,GAAS,KAIvBpvB,EAxJS67B,IAAkF,IAAjF,iBAAEkhD,EAAgB,sBAAEC,EAAqB,QAACr8E,EAAO,eAACF,EAAc,SAACH,GAAUu7B,EAClG,MAAM,aAAE+X,EAAY,YAAExT,GAAgB28C,EAEtCj8E,qBAAU,KAGNue,YAAW,KACTzb,SAASw5E,gBAAgBC,UAAY,EACrCz5E,SAASm3D,KAAKsiB,UAAY,CAAC,GAC1B,GAOE,KACLz5E,SAASw5E,gBAAgBC,UAAY,EACrCz5E,SAASm3D,KAAKsiB,UAAY,CAAC,IAE5B,IACH,MAAOzjC,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAGDp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CAEGo6C,GAAe,IAEVp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5CrB,eAACC,WAAQ,CAAAC,SACLF,eAAC47C,GAAe,CAACv6C,QAASA,MAIpC6c,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCge,gBAAA,OAAK/d,UAAU,+CAA8CD,SAAA,CAC3DF,eAACm8B,IAAI,CAACC,GAAI,SAASl8B,SACjBF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,OAGnCphB,eAAA,MAAAE,SAAI,uBAGNF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3Cge,gBAAA,OAAK/d,UAAU,qCAAoCD,SAAA,CACjDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKsgB,IAAKpb,GAAOoN,gBAAiB8O,IAAI,iBACtCphB,eAAA,KAAGG,UAAU,qBAAoBD,SAAEo0C,OAGrCt0C,eAAA,KAAGG,UAAU,iBAAgBD,SAAE4gC,IAE/B9gC,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,MAAI/d,UAAU,oBAAmBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,UACJF,eAAA,MAAAE,SAAI,aACJF,eAAA,MAAAE,SAAI,WACJF,eAAA,MAAAE,SAAI,YACJF,eAAA,MAAAE,SAAI,oBAKVF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,MAAAE,SAAI,oBACJge,gBAAA,MAAI/d,UAAU,4BAA2BD,SAAA,CACvCge,gBAAA,MAAI/d,UAAU,2BAA0BD,SAAA,CACtCF,eAAA,OAAKsgB,IAAKpb,GAAO6N,cAAeqO,IAAI,iBACpCphB,eAAA,KAAAE,SAAG,yCAELge,gBAAA,MAAI/d,UAAU,2BAA0BD,SAAA,CACtCF,eAAA,OAAKsgB,IAAKpb,GAAO8N,eAAgBoO,IAAI,kBACrCphB,eAAA,KAAAE,SAAG,0CAELge,gBAAA,MAAI/d,UAAU,2BAA0BD,SAAA,CACtCF,eAAA,OAAKsgB,IAAKpb,GAAO+N,aAAcmO,IAAI,gBACnCphB,eAAA,KAAAE,SAAG,8BAELge,gBAAA,MAAI/d,UAAU,2BAA0BD,SAAA,CACtCF,eAAA,OAAKsgB,IAAKpb,GAAOgO,iBAAkBkO,IAAI,mBACvCphB,eAAA,KAAAE,SAAG,oCAELge,gBAAA,MAAI/d,UAAU,2BAA0BD,SAAA,CACtCF,eAAA,OAAKsgB,IAAKpb,GAAOiO,gBAAiBiO,IAAI,kBACtCphB,eAAA,KAAAE,SAAG,8BAELge,gBAAA,MAAI/d,UAAU,2BAA0BD,SAAA,CACtCF,eAAA,OAAKsgB,IAAKpb,GAAOkO,gBAAiBgO,IAAI,mBACtCphB,eAAA,KAAAE,SAAG,gDAMXF,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OACEsgB,IAAKpb,GAAOmO,eACZlT,UAAU,cACVihB,IAAI,qBAIVphB,eAAA,OAAKG,UAAU,yCAAwCD,SACrDF,eAACo+E,GAAgB,CACfX,iBAAkBA,EAClBC,sBAAuBA,gBAMhC,I,wCCqOQh9E,oBACb,MAZ0ByvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAlW0BU,IACvC,IAAI,QACFC,EAAO,eACPF,EAAc,aACd+tB,EAAY,cACZE,EAAa,cACbivD,EAAa,YACbxmC,EAAW,gBACXymC,GACEl9E,GACA,cAAE+xB,EAAa,aAAED,EAAY,aAAEE,GAAiBjyB,EACpD,MAAOR,EAAO+vB,GAAYvT,mBAAS,CACjCohE,UAAW,CACT5xC,UAAW,GACX6xC,SAAU,GACV7vB,WAAY,GACZ8vB,YAAa,GACbC,cAAe,CACb1/B,UAAW,CAAC,EACZ2/B,eAAgB,KAGpBC,kBAAmB,CAAC,EACpBC,cAAe,CAAC,IAGlBr9E,qBAAU,KACR+qC,IACAuyC,GAAkB,GACjB,IAEH,MAAMvyC,EAAiB9a,UACrB,IAAIG,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,UAGzB,IACE,MAAM9C,QAAiBwS,KAAMqC,KAAKlR,GAAO+O,GAEZ,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHqtD,kBAAmB1/D,EAAS0S,KAAKA,QAGvC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGI65E,EAAmBrtD,UACvB,IAAIG,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5B4qC,WAAYsxB,GAGd,IACE,MAAMn/D,QAAiBwS,KAAMqC,KAAK7O,GAAQ0M,GAC1CtwB,QAAQC,IAAI2d,GAEiB,MAAzBA,EAAS0S,KAAKC,SAChBvwB,QAAQC,IAAI2d,GACZwR,GAAUa,IAAS,IACdA,EACHstD,cAAe3/D,EAAS0S,KAAKA,SAGnC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGI85E,EAAyBthE,IAC7B,IAAI,KAAEzY,EAAI,MAAEvH,GAAUggB,EAAMK,OACxBqyC,EAAYxvD,EAAMk+E,cAAc3sC,MAAMngB,MACvCmgB,GAAUA,EAAMwc,UAAYjxD,IAE/B,OAAQuH,GACN,IAAK,QACH0rB,GAAUa,IAAS,IACdA,EACHgtD,UAAW,IACNhtD,EAAUgtD,UACbC,SAAU/gF,EACVkxD,WAAYwB,EAAUxB,gBAG1B,MACF,IAAK,eACHj+B,GAAUa,IAAS,IACdA,EACHgtD,UAAW,IACNhtD,EAAUgtD,UACbE,YAAahhF,OAMrB,EA0CIitE,EAAuBzqB,GACXC,IAAIC,gBAAgBF,GAmFtC,OACE/hC,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAACqqC,KAAc,IAEfrqC,eAAA,OAAKG,UAAU,0CAAyCD,SACtDge,gBAAA,OAAK/d,UAAU,gDAA+CD,SAAA,CAC5DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAMlCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,2BAIlCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,QAAME,SAAWX,GAnFRgU,WACvBhU,EAAMY,iBACN,IAAIkgE,EAAY,IAAK59E,EAAM49E,WAC3Bj9E,QAAQC,IAAI,SAAUZ,EAAM49E,WAC5B,IAAI7rD,EAAW,IAAIiuB,SAQnB,GAPAjuB,EAASkuB,OAAO,YAAaztB,EAAc,GAAGhR,WAC9CuQ,EAASkuB,OAAO,WAAY1tB,EAAalR,UACzC0Q,EAASkuB,OAAO,WAAYxtB,EAAaxC,UACzC8B,EAASkuB,OAAO,aAAc7iC,SAASsgE,EAAc1xC,YACrDja,EAASkuB,OAAO,WAAY7iC,SAASwgE,EAAUC,WAC/C9rD,EAASkuB,OAAO,aAAc29B,EAAU5vB,YACxCj8B,EAASkuB,OAAO,WAAY29B,EAAUE,aAClCF,EAAUG,cAAcC,eAAe9gF,OACzC,IAAK,IAAI+5D,EAAI,EAAGA,EAAI2mB,EAAUG,cAAc1/B,UAAUnhD,OAAQ+5D,IAC5DllC,EAASkuB,OAAO,UAAW29B,EAAUG,cAAc1/B,UAAU4Y,IAIjE1oC,IACA,MAAM8vD,EAAS,CACbrrD,QAAS,CAAE,eAAgB,wBAE7B,IACE,MAAMzU,QAAiBwS,KAAMqC,KAAKxQ,GAAQmP,EAAUssD,GACpD19E,QAAQC,IAAI2d,GACiB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAyoB,IACAymC,IACA3pC,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXryB,EAAQkyB,KAAK,aAEbnE,IACAyoB,IACAlD,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAASxU,EAAS0S,KAAK8B,UAG7B,CAAE,MAAOzuB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EAAMia,SAIpB,GAmCyC+/D,CAAiBxhE,GAAOvd,SAAA,CACjDF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,QAAAE,SACGS,EAAMi+E,kBAAkB5xC,SAnCzBkyC,MACpB,IAAIC,EAOJ,OANcx+E,EAAMi+E,kBAAkB5xC,QAC9B1rB,KAAKve,IACPA,EAAQ6pC,SAAuB,OAAbyxC,QAAa,IAAbA,OAAa,EAAbA,EAAe1xC,aACnCwyC,EAAkBp8E,EAAQ+pC,SAC5B,IAEKqyC,CAAe,EA2BkCD,OAGxCl/E,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7Bge,gBAAA,UACElZ,KAAK,QACL4Z,SAAWnB,GAAUshE,EAAsBthE,GAC3CqB,UAAQ,EAAA5e,SAAA,CAERF,eAAA,UAAQvC,MAAM,GAAEyC,SAAC,kBACf1C,aAAQmD,EAAMk+E,eAeZ,KAdAl+E,EAAMk+E,cAAc3sC,MAAMr0C,OACxB8C,EAAMk+E,cAAc3sC,MAAM5wB,KACxB,CAACve,EAAS07B,IAENz+B,eAAA,UAEEvC,MAAOsF,EAAQ2rD,SAASxuD,SAEvB6C,EAAQ4rD,YAHJlwB,KAQb,YAKZz+B,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,YACEgF,KAAK,eACLvH,MAAOkD,EAAM49E,UAAUE,YACvB5/C,KAAK,IACLpgB,YAAY,oBACZG,SAAWnB,GAAUshE,EAAsBthE,GAC3CqB,UAAQ,QAIdZ,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,6BAA4BD,SACxCS,EAAM49E,UAAUG,cAAcC,eAAe9gF,OAC1C8C,EAAM49E,UAAUG,cAAcC,eAAer9D,KAC3C,CAACve,EAAS07B,IAENvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,OAAKsgB,IAAKvd,IACV/C,eAAA,QAAMme,QAASA,IA1JjCihE,CAACr8E,IACf,IAAIs8E,EAAS1+E,EAAM49E,UAAUG,cAAcC,eACvCW,EAASD,EAAOhkB,QAAQt4D,IACZ,IAAZu8E,GACFD,EAAOE,OAAOD,EAAQ,GAExB5uD,GAAUa,IAAS,IACdA,EACHgtD,UAAW,IACNhtD,EAAUgtD,UACbG,cAAe,IACVntD,EAAUgtD,UAAUG,cACvB1/B,UAAW,IAAKztB,EAAUgtD,UAAUv/B,WACpC2/B,eAAgB,IAAIU,QAGvB,EA0IkDD,CAAQr8E,GAAS7C,SAAC,QAF/Bu+B,KAShB,OAENz+B,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,SAAO/d,UAAU,qBAAoBD,SAAA,CACnCF,eAAA,SACEK,KAAK,OACL0e,GAAG,eACHgiC,OAAO,mCACPy+B,UAAQ,EACR5gE,SAAWnB,GAvNVA,KACzB,IAAI,MAAEuiC,GAAUviC,EAAMK,OACtB,GAAInd,EAAM49E,UAAUG,cAAcC,eAAe9gF,QAAU,EAAG,CAC5D,IAAI4hF,EAAW/U,EAAoB1qB,EAAM,IAOzCtvB,GAAUa,IAAS,IACdA,EACHgtD,UAAW,IACNhtD,EAAUgtD,UACbG,cAAe,IACVntD,EAAUgtD,UAAUG,cACvB1/B,UAAWgB,EACX2+B,eAAgB,IACXptD,EAAUgtD,UAAUG,cAAcC,eACrCc,QAKV,MACEvgF,MAAM,oBACNwxB,GAAUa,IAAS,IACdA,EACHgtD,UAAW,IACNhtD,EAAUgtD,UACbG,cAAe,IACVntD,EAAUgtD,UAAUG,cACvB1/B,UAAW,CAAC,OAKpB,EAkL6C0gC,CAAkBjiE,KAGzCzd,eAAA,OAAKG,UAAU,gCAA+BD,SAAC,sBAKnDF,eAAA,OAAKG,UAAU,2BAEjBH,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAQH,SAAC,+BAU/B,ICrRAQ,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAhEUU,IACvB,IAAI,OACFN,EAAM,QACNO,EAAO,SACPL,EAAQ,eACRG,EAAc,cACdk9E,EAAa,YACbxmC,EAAW,gBACXymC,GACEl9E,EASJ,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kCAAiCD,SAmB9CF,eAAA,OAAKG,UAAU,kCAAiCD,SAC1CF,eAAC2/E,GAA+B,CAC9B9nC,YAAaA,EACbx2C,QAASA,EACTF,eAAgBA,EAChBk9E,cAAeA,EACfC,gBAAiBA,UAK5Bx9E,GAAUd,eAACD,KAAW,MACd,I,QC3DA6/E,OARsBrjD,IAAmB,IAAlB,SAAE4hC,GAAU5hC,EAChD,OACEv8B,eAAA,OAAKwE,MAAO,CAAEjE,OAAQ,QAASD,MAAO,SAAUJ,SAC9CF,eAACi+D,GAAW,CAACE,SAAUA,KACnB,ECcK0hB,OAnBI,SAACC,GAAyD,IAAjCC,EAAInuB,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAC,KAAMouB,EAAWpuB,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAC,KAC/DpwD,qBAAU,KACN,MAAMy+E,EAAS37E,SAAS47E,cAAc,UAWtC,OATAD,EAAO3/D,IAAM,8DACb2/D,EAAOxuD,OAAQ,EAEfwuD,EAAOE,OAAS,KACd5tD,OAAO6tD,QAAQC,SAAS,EAG1B/7E,SAASm3D,KAAK6kB,YAAYL,GAEnB,KACL37E,SAASm3D,KAAK8kB,YAAYN,EAAO,CAClC,GACA,CAACH,EAAwBC,EAAMC,GACxC,E,QCNeQ,OATWjkD,IAAqB,IAApB,WAAEkkD,GAAYlkD,EACvC,OACEre,gBAAA,OAAK/d,UAAU,4BAA4Bge,QAASsiE,EAAWvgF,SAAA,CAC7DF,eAAA,OAAKG,UAAU,cAAcmgB,IAAKpb,GAAOsB,UAAW4a,IAAI,cAAmB,IAAI,qBAE3E,E,QCSKs/D,OAbCnkD,IAA6B,IAA5B,WAAEkkD,EAAU,QAAC/sD,GAAS6I,EACrC,OACEre,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKsgB,IAAKpb,GAAOqB,eAAgB6a,IAAI,cACrCphB,eAAA,KAAAE,SAAIwzB,OAGN1zB,eAACwgF,GAAiB,CAACC,WAAYA,MAC9B,E,QCUQE,OArBWpkD,IAA+D,IAA9D,QAAEx5B,EAAO,MAAE07B,EAAK,UAAEmiD,EAAS,YAACC,EAAW,eAACC,GAAgBvkD,EACjF,OACEv8B,eAAA,OAEEG,UAAU,sBACVge,QAASA,IAAMyiE,EAAU79E,GAAS7C,SAElCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CAAC,IAAE,aAAa2gF,EAAY99E,EAAQg+E,gBAC/D7iE,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CAAC,KAAG4gF,EAAe/9E,EAAQi+E,aAEjD9iE,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,IAAI,cAELF,eAAA,QAAAE,SAAO6C,EAAQk+E,OAAOj8E,OAAa,WAXlCy5B,EAcD,E,QCSKyiD,OA1Ba3kD,IAMrB,IANsB,MAC3BkC,EAAK,QACL17B,EAAO,UACP69E,EAAS,YACTC,EAAW,eACXC,GACDvkD,EACC,OACEv8B,eAAA,OAEEG,UAAU,sBACVge,QAASA,IAAMyiE,EAAU79E,GAAS7C,SAElCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACxB,IACA,aAAa2gF,EAAY99E,EAAQg+E,gBAEpC7iE,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CAAC,IAAE4gF,EAAe/9E,EAAQi+E,aAEhDhhF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,uBAX9Bu+B,EAaD,E,QCIK0iD,OA1BU5kD,IAMlB,IANmB,MACxBkC,EAAK,QACL17B,EAAO,UACP69E,EAAS,YACTC,EAAW,eACXC,GACDvkD,EACC,OACEv8B,eAAA,OAEEG,UAAU,sBACVge,QAASA,IAAMyiE,EAAU79E,GAAS7C,SAElCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACxB,IACA,aAAa2gF,EAAY99E,EAAQg+E,gBAEpC7iE,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CAAC,IAAE4gF,EAAe/9E,EAAQi+E,aAEhDhhF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,4BAXjCu+B,EAaD,E,QCOK2iD,OA5BU7kD,IAMlB,IANmB,KACxBI,EAAI,YACJkb,EAAW,gBACXwpC,EAAe,gBACf/C,EAAe,eACfgD,GACD/kD,EACC,OACEv8B,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,qBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTF,eAACqhF,EAAe,CACd/C,gBAAiBA,EACjBzmC,YAAaA,EACbwmC,cAAeiD,UAIjB,E,uCCVKC,OAdKhlD,IAAmB,IAAlB,SAAEilD,GAAUjlD,EAC/B,OACEv8B,eAAA,OAAKG,UAAW,IAAGqhF,EAAW,0BAA4B,IAAKthF,SAC7DF,eAACyhF,KAAW,CACVtoC,IAAKqoC,EACLlhF,MAAM,OACNC,OAAO,OACPJ,UAAU,gBACVw/D,UAAQ,KAEN,E,QCMK+hB,OAjBcnlD,IAAkD,IAAjD,KAAEI,EAAI,MAAEqN,EAAK,2BAAE23C,GAA4BplD,EACvE,OACEv8B,eAAA69B,YAAA,CAAA39B,SACEge,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQouC,EACRnsC,gBAAgB,oBAAmBt1C,SAAA,CAEnCF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTF,eAAA,OAAKsgB,IAAK0pB,EAAO5oB,IAAI,qBAGxB,ECwEQwgE,OAlFUrlD,IAOlB,IAADslD,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,IAPoB,cACxBC,EAAa,eACbC,EAAc,cAEdC,EAAa,eACbtB,EAAc,YACdD,GACDtkD,EACC,MAAO8lD,EAAqBC,GAA0BnlE,oBAAS,IACxDkiE,EAAQkD,GAAaplE,mBAAS,MAW/BqlE,EAAgBx4C,GACbA,EACLhqC,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKsgB,IAAK0pB,EAAO5oB,IAAI,cAErBphB,eAAA,QACEG,UAAU,aACVge,QAASA,IAjBgBkhE,KACjCiD,GAAuB,GACvBC,EAAUlD,EAAO,EAeMoD,CAA0Bz4C,GAAO9pC,SACjD,oBAKH,KAGN,OACEge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAACwe,KAAK,CACJC,KAAMulD,EACN3uC,OAAQ4uC,EACR3sC,gBAAgB,oBAChB5B,UAAQ,EAAA1zC,SAAA,CAERge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,aAChB2gF,EAAyB,OAAbuB,QAAa,IAAbA,OAAa,EAAbA,EAAerB,cAExC/gF,eAAA,OAAKG,UAAU,eAAcD,SAC1B4gF,EAA4B,OAAbsB,QAAa,IAAbA,OAAa,EAAbA,EAAepB,YAGhCwB,EAA0B,OAAbJ,QAAa,IAAbA,GAA+B,QAAlBP,EAAbO,EAAeM,cAAc,UAAE,IAAAb,OAAlB,EAAbA,EAAiC7hC,aAInDhgD,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,oBAAmBD,SAClB,OAAbkiF,QAAa,IAAbA,GAAqB,QAARN,EAAbM,EAAenB,cAAM,IAAAa,OAAR,EAAbA,EAAuB98E,OAG1BhF,eAAA,OAAKG,UAAU,eAAcD,SAAe,OAAbkiF,QAAa,IAAbA,GAAqB,QAARL,EAAbK,EAAenB,cAAM,IAAAc,OAAR,EAAbA,EAAuBY,SAEtD3iF,eAAA,OAAAE,SAAMsiF,EAA0B,OAAbJ,QAAa,IAAbA,GAA4B,QAAfJ,EAAbI,EAAeQ,WAAW,UAAE,IAAAZ,OAAf,EAAbA,EAA8BhiC,SAEjDhgD,eAACuhF,GAAW,CAACC,SAAuB,OAAbY,QAAa,IAAbA,GAAuB,QAAVH,EAAbG,EAAeS,MAAM,UAAE,IAAAZ,OAAV,EAAbA,EAAyBY,gBAItD7iF,eAAC0hF,GAAoB,CACnB13C,MAAOq1C,EACP1iD,KAAM0lD,EACNV,2BA5D6BA,KACjCW,GAAuB,EAAM,MA6DvB,ECkVKQ,OArZIvmD,IAaZ,IAba,kBAClBqiD,EAAiB,eACjBmE,EAAc,cACdC,EAAa,iBACbC,EAAgB,eAChB3B,EAAc,qBACd4B,EAAoB,oBACpB10B,EAAmB,gBACnB1B,EAAe,uBACfq2B,EAAsB,eACtBC,EAAc,gBACd9E,EAAe,UACf+E,GACD9mD,EAEC,MAAOI,EAAM2mD,GAAWnmE,oBAAS,IAC1BomE,EAAUC,GAAermE,mBAAS,MACnCyjE,EAAa3T,IACjBuW,EAAYvW,GACZwW,GAAiB,EAAK,EAGlBhD,EAAaA,IAAM6C,GAAQ,IAC1BpB,EAAeuB,GAAoBtmE,oBAAS,GAC7CglE,EAAiBA,IAAMsB,GAAiB,GA6DxC3C,EAAkBE,GACfhhF,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,KAGzCH,EAAe6C,IACnB,MAAMv1C,EAAO,IAAImB,KAAKo0C,GAoBtB,MAAO,GAJKv1C,EAAKoB,aAfE,CACjB,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OAIuBpB,EAAKqB,gBACjBrB,EAAKsB,eAEe,EAG7Bk0C,EAAmBA,IAErB3jF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAACwgF,GAAiB,CAACC,WAAYA,MAK/BmD,EAAiCA,KAAO,IAADC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3C,OAAQb,GACN,IAAK,WACH,OAAkB,OAAdN,QAAc,IAAdA,GAAqC,QAAvBc,EAAdd,EAAgBoB,6BAAqB,IAAAN,GAAM,QAANC,EAArCD,EAAuCjyD,YAAI,IAAAkyD,OAA7B,EAAdA,EAA6CjmF,QAAS,EACjD8lF,IAEA,KAGX,IAAK,aACH,OAAoB,OAAhBV,QAAgB,IAAhBA,GAAuC,QAAvBc,EAAhBd,EAAkBkB,6BAAqB,IAAAJ,GAAM,QAANC,EAAvCD,EAAyCnyD,YAAI,IAAAoyD,OAA7B,EAAhBA,EAA+CnmF,QAAS,EACnD8lF,IAEA,KAGX,IAAK,UACH,OAAiB,OAAbX,QAAa,IAAbA,GAAoC,QAAvBiB,EAAbjB,EAAemB,6BAAqB,IAAAF,GAAM,QAANC,EAApCD,EAAsCryD,YAAI,IAAAsyD,GAA1CA,EAA4CrmF,OACvC8lF,IAEA,KAGX,QACE,OAAO,KACX,EAoOF,OACE3jF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SAnWvB0+E,KAC/B,MAAMwF,EACJpkF,eAAA,OAAKG,UAAU,oCAAmCD,SAC9C1C,aAAQohF,GAkDN,KAjDAA,EAAkB5xC,QAAQnvC,OACxB+gF,EAAkB5xC,QAAQ1rB,KAAI,CAACve,EAAS07B,IAEpCz+B,eAAA,OAAAE,SAC8B,IAA3B6C,EAAQshF,eACPrkF,eAAA,OAAAE,SACEge,gBAAA,OAEE/d,UAAU,+BACVqE,MAAOrF,aACL4D,EAAQ6pC,SACN7uB,SAASujE,EAAe30C,WACtB5pC,EAAQ3D,WACR,MACJc,SAAA,CAEFF,eAAA,OACEwE,MAAO,CAAElE,MAAO,OAAQC,OAAQ,QAChC+f,IAAY,OAAPvd,QAAO,IAAPA,OAAO,EAAPA,EAASkqC,MACd7rB,IAAI,UAENphB,eAAA,UACEK,KAAK,SACL0e,GAAI,WAAWhc,EAAQ6pC,SACvBzsC,UAAW,mBACT4C,EAAQ6pC,SACR7uB,SAASujE,EAAe30C,WACpB,WACA,IAENxuB,QAASA,IACPqwC,EACE,KACAzrD,EAAQ6pC,OACR7pC,EAAQ+pC,SACR/pC,EAAQ0pC,MAGZjoC,MAAOjF,aAAqBwD,EAAQvD,YAAYU,SAE/C6C,EAAQ+pC,aAjCNrO,KAqCP,SAIV,OAIV,OAAOz+B,eAACC,WAAQ,CAAAC,SAAEkkF,GAAoB,EA4SvBE,CAAwB1F,KAE3B1gE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CAzOrDge,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,MACE/d,UAAU,iCACV4e,GAAG,YACH7a,KAAK,UAAShE,SAAA,CAEdF,eAAA,MACEG,UAAU,2BACV+D,KAAK,eAAchE,SAEnBF,eAAA,UACEG,UAAU,kCACV4e,GAAG,4BACH,iBAAe,OACf,iBAAe,yBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,wBACd,gBAAc,OACdia,QAASA,IAAM2uC,EAAgB,EAAG,YAAY5sD,SAC/C,eAIHF,eAAA,MACEG,UAAU,2BACV+D,KAAK,eAAchE,SAEnBF,eAAA,UACEG,UAAU,2BACV4e,GAAG,8BACH,iBAAe,OACf,iBAAe,2BACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,0BACd,gBAAc,QACdia,QAASA,IAAM2uC,EAAgB,EAAG,cAAc5sD,SACjD,iBAIHF,eAAA,MACEG,UAAU,2BACV+D,KAAK,eAAchE,SAEnBF,eAAA,UACEG,UAAU,2BACV4e,GAAG,2BACH,iBAAe,OACf,iBAAe,wBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,uBACd,gBAAc,QACdia,QAASA,IAAM2uC,EAAgB,EAAG,WAAW5sD,SAC9C,iBAMJ0jF,OAEH5jF,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,OACE/d,UAAU,iCACV4e,GAAG,mBAAkB7e,SAAA,CAGrBF,eAAA,OACEG,UAAU,4CACV4e,GAAG,wBACH7a,KAAK,WACL,kBAAgB,4BAA2BhE,SAE3CF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,4BAA2BD,SACtC1C,aAAQulF,GAyBR/iF,eAAA69B,YAAA,CAAA39B,SACEF,eAAC0gF,GAAO,CACND,WAAYA,EACZ/sD,QAAQ,2CA3BZqvD,EAAeoB,sBAAsBvyD,KAClC/zB,OACDklF,EAAeoB,sBAAsBvyD,KAAKtQ,KACxC,CAACve,EAAS07B,IAENz+B,eAAC2gF,GAAiB,CAChB59E,QAASA,EACT07B,MAAOA,EACPmiD,UAAWA,EACXC,YAAaA,EACbC,eAAgBA,MAMxB9gF,eAAA69B,YAAA,CAAA39B,SACEF,eAAC0gF,GAAO,CACND,WAAYA,EACZ/sD,QAAQ,mDAiBxB1zB,eAAA,OACEG,UAAU,gCACV4e,GAAG,0BACH7a,KAAK,WACL,kBAAgB,8BAA6BhE,SAE7CF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,4BAA2BD,SACtC1C,aAAQylF,GAuBRjjF,eAAC0gF,GAAO,CACND,WAAYA,EACZ/sD,QAAQ,gDAxBVuvD,EAAiBkB,sBAAsBvyD,KACpC/zB,OACDolF,EAAiBkB,sBAAsBvyD,KAAKtQ,KAC1C,CAACve,EAAS07B,IAENz+B,eAACkhF,GAAmB,CAClBn+E,QAASA,EACT07B,MAAOA,EACPmiD,UAAWA,EACXC,YAAaA,EACbC,eAAgBA,MAMxB9gF,eAAC0gF,GAAO,CACND,WAAYA,EACZ/sD,QAAQ,wDAetB1zB,eAAA,OACEG,UAAU,gCACV4e,GAAG,uBACH7a,KAAK,WACL,kBAAgB,2BAA0BhE,SAE1CF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,4BAA2BD,SACtC1C,aAAQwlF,GAuBRhjF,eAAC0gF,GAAO,CACND,WAAYA,EACZ/sD,QAAQ,gDAxBVsvD,EAAcmB,sBAAsBvyD,KACjC/zB,OACDmlF,EAAcmB,sBAAsBvyD,KAAKtQ,KACvC,CAACve,EAAS07B,IAENz+B,eAACmhF,GAAgB,CACf1iD,MAAOA,EACP17B,QAASA,EACT69E,UAAWA,EACXC,YAAaA,EACbC,eAAgBA,MAMxB9gF,eAAC0gF,GAAO,CACND,WAAYA,EACZ/sD,QAAQ,sEAoBlC1zB,eAAC4hF,GAAgB,CACfM,cAAeA,EACfC,eAAgBA,EAChBkB,UAAWA,EACXjB,cAAemB,EACfzC,eAAgBA,EAChBD,YAAaA,OAiBL7gF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAACohF,GAAgB,CACfzkD,KAAMA,EACNkb,YAhXAA,IAAMyrC,GAAQ,GAiXdjC,gBAAiBA,GACjB/C,gBAAiBA,EACjBgD,eAAgBA,qBASvB,ECjPA5gF,oBAAQ,MAXKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAnKqBU,IAClC,IAAI,QAAEC,EAAO,eAAEF,EAAc,aAAE+tB,EAAY,cAAEE,GAAkBhuB,GAC3D,cAAE+xB,EAAa,aAAED,EAAY,aAAEE,GAAiBjyB,EACpD,MAAOR,EAAO+vB,GAAYvT,mBAAS,CACjCyhE,kBAAmB,CAAC,EACpBmE,eAAgB,CAAC,EACjBE,iBAAkB,CAAC,EACnBD,cAAe,CAAC,EAChB1B,eAAgB,CACd30C,UAAW,IAEb43C,WAAY,EACZC,aAAc,CAAC,EACfnB,UAAW,aAGb7hF,qBAAU,KACR+qC,GAAgB,GACf,IAEH/qC,qBAAU,KACJb,EAAM2gF,eAAe30C,WACvB2xC,GACF,GACC,CAAC39E,EAAM2gF,eAAe30C,UAAWhsC,EAAM0iF,YAE1C,MAAM92C,EAAiB9a,UACrB,IAAIG,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,UAGzBkN,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlR,GAAO+O,GACZ,MAAzB1S,EAAS0S,KAAKC,QACZ3S,EAAS0S,KAAKA,KAAKob,QAAQnvC,QAC7B6yB,GAAUa,IAAS,IACdA,EACHqtD,kBAAmB1/D,EAAS0S,KAAKA,KACjC0vD,eAAgB,IACX/vD,EAAU+vD,eACb30C,UAAWztB,EAAS0S,KAAKA,KAAKob,QAAQ,GAAGJ,WAKnD,CAAE,MAAO3nC,GACP3D,QAAQC,IAAI0D,EACd,GAGIq5E,EAAkB7sD,UACtB,IAAI6vD,EAAiB,IAAK3gF,EAAM2gF,iBAC5B,WAAEiD,EAAU,UAAElB,GAAc1iF,EAC5BixB,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,SACvB4O,SAAUwC,EAAaxC,SACvBm8B,WAAYhvC,SAASujE,EAAe30C,WACpC83C,YAAaF,EACbG,WAAgC,YAApB/jF,EAAM0iF,UAA0B,IAAM,KAGpDn0D,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKvQ,GAAQoO,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACkB,aAAdi0D,EACF3yD,GAAUa,IAAS,IACdA,EACHwxD,eAAgB7jE,EAAS0S,KAAKA,SAET,eAAdyxD,EACT3yD,GAAUa,IAAS,IACdA,EACH0xD,iBAAkB/jE,EAAS0S,KAAKA,SAEX,YAAdyxD,GACT3yD,GAAUa,IAAS,IACdA,EACHyxD,cAAe9jE,EAAS0S,KAAKA,SAIrC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAsCF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAC8iF,GAAU,CACTlE,kBAAmBj+E,EAAMi+E,kBACzBmE,eAAgBpiF,EAAMoiF,eACtBE,iBAAkBtiF,EAAMsiF,iBACxBD,cAAeriF,EAAMqiF,cACrB1B,eAAgB3gF,EAAM2gF,eACtB4B,qBArCmBA,KAC3B7hF,EAAQkyB,KAAK,gBAAgB,EAqCrBi7B,oBAlCkBA,CAAC/wC,EAAOmvB,EAAQE,EAAUL,KACpD,IAAI,MAAEhvC,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACH+vD,eAAgB,IACX/vD,EAAU+vD,eACb30C,UAAWlvC,MAEZ,EA0BKqvD,gBA/CcA,CAACy3B,EAAYlB,KACnC3yD,GAAUa,IAAS,IACdA,EACHgzD,WAAYA,EACZlB,UAAWA,KACV,EA2CKF,uBAxBsBqB,IACzBhnF,aAAQgnF,GAMXtlF,MAAM,gCALNwxB,GAAUa,IAAS,IACdA,EACHizD,aAAcA,KAIlB,EAiBQpB,eAAgBziF,EAAM6jF,aACtBlG,gBAAiBA,EACjB+E,UAAW1iF,EAAM0iF,iBAId,ICzEA3iF,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAvEKU,IAClB,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAEpD,MAAOk5C,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EASnC,OAPAh5C,qBAAU,KACR+wB,OAAOmR,iBAAiB,SAAU+W,GAE3B,KACLloB,OAAOoR,oBAAoB,SAAU8W,EAAS,IAE/C,CAACH,IAEFt6C,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CAChCo6C,GAAe,IACdp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAExC6c,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAC2kF,GAA0B,CACzBtjF,QAASA,EACTF,eAAgBA,MAIpBnB,eAAC67C,GAAgB,UAMrB77C,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAC47C,GAAe,CAACv6C,QAASA,MAI9B6c,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAC2kF,GAA0B,CACzBtjF,QAASA,EACTF,eAAgBA,MAIpBnB,eAAC67C,GAAgB,OAGlB/6C,GAAUd,eAACD,KAAW,QAEhB,I,wBCLA6kF,OAjEiBxjF,IAC9B,IAAI,YAAEyjF,EAAW,oBAAEC,EAAmB,SAAEzxC,EAAQ,kBAAE0xC,GAAsB3jF,EACpEC,EAAUm1B,uBAed,OACEx2B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC3BF,eAAA,UAAQme,QAASA,KAX7B9c,EAAQo0D,QAW4C,EAAAv1D,SACtCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,sBAGrB1N,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,WAAUD,SAEvBF,eAAA,OAAKG,UAAU,gBAAeD,SAC1B1C,aAAQqnF,GAEN,KADA,GAAGA,EAAY1wB,oBAIvBj2C,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,KAAAE,SAAG,0DACHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,8BAOtC,E,+BC4GA8kF,OA7KM,SACnBC,EACAC,GAEI,IADJpF,EAAsBluB,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGqzB,EAEzB,MAAOE,EAAgBC,GAAqBjoE,mBAAS,KAC9CkoE,EAAoBC,GAAyBnoE,mBAAS,KACtDooE,EAAaC,GAAkBroE,oBAAS,GAE/C3b,qBAAU,KACRikF,EAAa,CACXC,aAAc5jB,IAEZmjB,GAAmB,GACrBU,EAAQ,CACND,aAAcxiB,MAGdgiB,EACFU,EAAkBV,GAElBW,EAAaZ,GAEfa,GAAa,GACZ,CAAChG,IAEJ,MAAMhgE,EAAQimE,aAAS,CACrBjd,OAAQ,CACNkd,UAAW,CAAC,MAIV,WAAEC,EAAU,YAAEH,EAAW,QAAEH,EAAO,aAAEF,EAAY,YAAE3jB,GAAgBhiD,EA0ClE+lE,EAAgBjoE,IACpB,MAAMsoE,EAAa5hF,SAAS+4B,iBAC1B,gCAAgCzf,OAElC,IAAIuoE,GAAsB,EAC1B,IAAK,MAAMC,KAAYF,EACrB,GAAIE,EAAS7kE,QAAS,CACpB4kE,GAAsB,EACtB,KACF,CAGFX,GAAgBa,IACVF,GAKJ,EAGEP,EAAqBV,IACzBM,GAAe,KACTN,GAKJ,EAGEhiB,EAAUA,KACd,MAAMojB,EAAenB,EAAepzD,MACjCw0D,GAAQA,EAAIC,iBAAmBvB,IAElC,IAAIwB,EAIJ,OAHIH,IACFG,EAAmBH,EAAaxkB,aAE3B2kB,CAAgB,EAkCHC,MAUtB,MAAO,CACLC,eAXoBD,EAQW5mE,EAAM8mE,WAPrBC,WAAW,OAClBH,EAAYtrB,UAAU,GAEtBsrB,EAQTI,WA7HiBA,KACjB,MAAMroD,EAAQ0mD,EAAetyB,WAC1B0zB,GAAQA,EAAIC,iBAAmBvB,IAElC,IAAe,IAAXxmD,EAAc,CAChB,MAAMsoD,EAAa,IAAI5B,GACvB4B,EAAWtoD,GAAOqjC,YAAcA,EAChCsjB,EAAkB2B,EACpB,MACE3B,EAAkB,IACbD,EACH,CACEqB,eAAgBvB,EAChBnjB,YAAaA,IAGnB,EA8GAklB,eA1GqB,WAA8B,IAA7BC,EAAer1B,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,IAAAA,UAAA,GACrC,MAAMnzB,EAAQ4mD,EAAmBxyB,WAC9B0zB,GAAQA,EAAIC,iBAAmBvB,IAGlC,IAAe,IAAXxmD,EAAc,CAChB,MAAMsoD,EAAa,IAAI1B,GACvB0B,EAAWtoD,GAAOwoD,gBAAkBA,EACpC3B,EAAsByB,EACxB,MACEzB,GAAuB4B,GAAY,IAC9BA,EACH,CACEV,eAAgBvB,EAChBgC,gBAAiBA,KAIzB,EAyFEE,WA5CiBA,KACjB,MAAMC,EAAqB/B,EAAmBtzD,MAC3Cw0D,GAAQA,EAAIC,iBAAmBvB,IAElC,IAAIoC,EACJ,MAAMnB,EAAa5hF,SAAS+4B,iBAAiB,0BACvCiqD,EAAahjF,SAAS+4B,iBAC1B,0CAoBF,OAlBI+pD,GACFC,EAAuBD,EAAmBH,gBAC1ChB,IACAC,EAAW/tD,SAASiuD,IAClBA,EAASjnE,UAAW,CAAI,IAE1BmoE,EAAWnvD,SAASovD,IAClBA,EAAUpoE,UAAW,CAAI,MAG3BkoE,GAAuB,EACvBnB,EAAW/tD,SAASiuD,IAClBA,EAASjnE,UAAW,CAAK,IAE3BmoE,EAAWnvD,SAASovD,IAClBA,EAAUpoE,UAAW,CAAK,KAGvBkoE,CAAoB,EAkB3B9B,cACAM,eACAD,oBACAH,eACA3jB,cACA6jB,UACAziB,UACA4iB,cAEJ,ECurCe0B,OAr1CYpmF,IAAW,IAADqmF,EAAAC,EAAAC,EAAAC,EAAAC,EACnC,IAAI,qBACFC,EAAoB,gBACpB7C,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,yBACrBC,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,mBACtBC,EAAkB,iBAClBC,EAAgB,cAChBC,EAAa,SACbtnF,GACEI,EAEJ,MAAM,cACJulF,EAAa,WACbG,EAAU,eACVE,EAAc,WACdG,EAAU,YACV5B,EAAW,aACXM,EAAY,kBACZD,GACEZ,GACFC,EACA6C,EAAqB7C,GAAiBsD,iBAGjCC,EAAiBC,GAAsBtrE,mBAAS,KAEhDurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASr4B,EAASq4B,QAClBuvD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAGTioD,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,OAqC5BmrF,EAAWA,KACD1kF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,UACV,GAWGvsD,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAC1B6F,EAAWC,GAAgBjsE,oBAAS,IAEpCksE,EAAWC,GAAgBnsE,oBAAS,IACpCosE,EAAYC,GAAiBrsE,oBAAS,GACvCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,IAG1CvJ,EAAM4J,GAAWxsE,oBAAS,IAC1BysE,EAAKC,GAAU1sE,oBAAS,IACxB2sE,EAAWC,GAAe5sE,oBAAS,IAEnC6sE,EAAQC,GAAa9sE,oBAAS,GAErC0iE,GAAWmK,GACXnK,GAAWoF,EAAiBlF,EAAM6J,GAElC,MAAMM,EAAYA,KAChBL,GAAO,GACPE,GAAY,EAAM,EAEdI,EAAiBA,KACrBN,GAAO,EAAM,EAGTO,EAAaA,KACjBL,GAAY,EAAK,EA+BbM,GAAcA,CAACC,EAAGC,EAAIC,KACrBZ,GAAOU,GAAKnD,IACR,sCACGyC,GAAOW,GAAMA,EAAGlvB,QAAQmvB,IAAa,GAAKrD,IAC7C,mCAEA,wBAeLsD,GAA4BA,KAE9B3C,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,GACF,EAGIU,GAA6B3F,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DssF,IAEAD,GACF,EAEIW,GAAqBA,CAACC,EAAcC,KACxC,MAAMnmD,EAAUm7C,EAAmB,OAAZ+K,QAAY,IAAZA,OAAY,EAAZA,EAAcrkB,OAASqkB,EAAaE,aAE3D,OACEhrF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,+CACA,+CACL/kF,SAEA0kC,EAAQ/mC,OACL+mC,EAAQtjB,KAAI,CAACve,EAAS07B,IAElBvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,GAAG5B,YAC3B/lF,EAAQ+lF,UACwB,IAAhC/lF,EAAQkoF,oBAIdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxCjD,EAAaZ,GACbmF,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAvCRhoC,KA+Cd,QAEG,EAIT6sD,GAAoBA,CAACR,EAAcC,KACvC,MAAMnmD,EAAUm7C,EAAmB,OAAZ+K,QAAY,IAAZA,OAAY,EAAZA,EAAcrkB,OAASqkB,EAAaE,aAC3D,OACEhrF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA0kC,EAAQ/mC,OACL+mC,EAAQtjB,KAAI,CAACve,EAAS07B,IAElBvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,EAAKm9C,YAAc/lF,EAAQ+lF,YAI1ClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCjD,EAAaZ,GACbmF,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAvCRhoC,KA+Cd,QAEG,EAIT8sD,GAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEye,YAAY,oBACZhhB,MAAOqqF,EAAqBiD,GAAkBxC,eAC9C3pE,SAAWnB,IACTmoE,EAAkBnoE,EAAMK,OAAOrgB,OAC/B0qF,EACE1qE,EAAMK,OAAOrgB,MAAM4iD,QAAQ,YAAa,IAAIliD,MAAM,EAAG,KAEvDisF,GAAY,EAEdjrE,UAAUmpE,GAVLyC,SAkBXK,GAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,GAAoBG,IACjB,CAAEvtC,OAAQutC,IAGbC,GAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAf6jF,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA7EnC,IAAD6jF,EAAAE,CAkFT,EAGIC,GAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,GAC1B2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAIzCuiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,UAItCuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAK3Cz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,GAA0BnsD,GAC1B2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAItCuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAIzCuiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAGpCuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAI9B,QAAfytD,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAK3Cz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,GAA0BnsD,GAC1B2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAtDzC,IAADytD,EAAAC,CA2DT,EAaF,MAAMvoB,GAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B9iE,EAASq4B,YACxC,KAOF,IAAI0qC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEmoB,GAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACzCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,EAAE,EAGDkvC,GAAwBvpF,IAC5B,OAAIg9E,EAEA//E,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,WAnDU1tF,EAwDD,OAAP+E,QAAO,IAAPA,OAAO,EAAPA,EAASwpF,gBApDtB,IAAIC,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,EAmD5BmC,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQl7C,EAAQwpF,gBAMpBvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,UApEF,IAAU1tF,CAyElC,EAGI0uF,GAAe3pF,IACnB,MAAMi+D,EAAUj+D,EAAQ4pF,iBAClBC,EAAe7pF,EAAQ8pF,eACvBC,EAAsB/pF,EAAQgqF,uBAC9BC,EAAoBjqF,EAAQkqF,qBAE5BC,GAAWnN,GAAQ6M,GAAgBI,EACnCvf,EAAkByf,EAAUN,EAAe5rB,EAC3CmsB,EAAuBD,EACzBF,EACAF,EAIJ,GAFmB,uDAEJv1D,KAAKk2C,GAClB,OAAO,KAGT,MAAM2f,EACJjE,IAAcpJ,EACV,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGN,OAAIoN,GAAwD,KAAhCA,EAAqBrvF,OAE7CogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,GAAgBlsF,SACjEktF,IAEFjE,EACCnpF,eAAC4/E,GAA4B,CAC3BzhB,SAAUgvB,EACVhtF,UAAU,gBAEV,QAKN+d,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC1ButE,GACCztE,eAAA,UACEG,UAAU,yBACVge,QAASiuE,GAAgBlsF,SAExBktF,IAIJjE,EACCnpF,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,GACR/N,MAAM,0EACNC,iBAAe,IAEf,OAGV,EAGF,OACE91D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFxpF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAIxBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBunF,EACa,QADbC,EACxBI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAC/C,SAEJznF,eAAA,UAAQme,QAASA,IAAMsiE,IAAavgF,SAAC,cAEvCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAM/pF,SACpC8pF,EACChqF,eAAA,OACEsgB,IAAKpb,GAAOqK,oBACZ6R,IAAI,UAGNphB,eAAA,OACEsgB,IAAKpb,GAAOoK,mBACZ8R,IAAI,WAIVphB,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAO/pF,SACrC8pF,EACChqF,eAAA,OACEsgB,IAAKpb,GAAOkK,mBACZgS,IAAI,SAGNphB,eAAA,OACEsgB,IAAKpb,GAAOmK,oBACZ+R,IAAI,kBAMdlD,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,qBAM/CF,eAAA,OACEG,UAAU,qCACVD,SAEC4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,GAAoBlpF,EAAS07B,MAV7BA,KAeX,cAKZvgB,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,iDAAgDD,SAAA,CAC7Dge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,YAE9BmC,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,QAAAE,SAAOymF,MAET3mF,eAAA,OAAKG,UAAU,sBAAqBD,SACjC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAAiBsH,aACpCvsF,eAAA,UAAQme,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SACnC6/E,EAAO,SAAM,OAGhB,QAIN7hE,gBAAA,OAAK1Z,MAAO,CAAE0uD,UAAW,OAAQ3M,QAAS,QAASrmD,SAAA,CACjDF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCge,gBAAA,KAAAhe,SAAA,CAAG,iBAEDge,gBAAA,QAAAhe,SAAA,CACG,IACqC,QADlCynF,EACHG,EAAqB7C,UAAgB,IAAA0C,OAAA,EAArCA,EAAuCtnF,aAI9C6d,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,KAAG/d,UAAU,kBAAiBD,SAAA,CAAC,YACnB+kF,EAAkB,KAE9BjlF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAAE,SACEF,eAAA,OAAK+e,GAAG,uBAAsB7e,SAC3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAAC0xB,EAAMvU,KAC9B,GAAIA,GAASwmD,EACX,OAAOjlF,eAAA69B,YAAA,CAAA39B,SAAGosF,GAAqBt5C,IACjC,IAEF,cAMZhzC,eAAA,OAAKG,UAAU,4BAA2BD,SAn4BxCotF,MACpB,GAAIxF,EAAqBjqF,OAAQ,CAC/B,IAAI0vF,EAAezF,EAEnB,OAAOyF,EAAajsE,KAAI,CAACvf,EAAK61D,KAC5B,IAAIjnC,EAAMtwB,EASV,OARAA,EAAO0B,EAAIyrF,YAET78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAED6xB,GACN,KAAK,EACH,OAAOk6D,GAAmB0C,EAAa31B,GAAIA,EAAGmoB,GAChD,KAAK,EACH,OAAOwL,GAAiB3zB,GAC1B,KAAK,EACH,OAAO0zB,GAAkBiC,EAAa31B,GAAIA,GAC5C,QACE,OAAO,KACX,GAEJ,CACE,OAAO,IACT,EAy2BqB01B,KAGHttF,eAACqqC,KAAc,IAEfnsB,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOsE,QAAS4X,IAAI,OAEhCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UAAQme,QAASA,IAAMkqE,IAAmBnoF,SAAC,sBAQnDge,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsBhvD,OAoBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QAniCMwvE,KAChC,IACEj8D,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChB43D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpCW,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAihC4C/E,SACpC,mBAONinF,KACCnnF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqB7C,GACpB/mE,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,cACH4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KACnB,CAACve,EAAS07B,IAENvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,EACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ6qF,WAFb7qF,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GACRlF,EAEG,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ8qF,iBAFb9qF,EAAQ8lF,IAAM,WAS7B,QAGgC,QAArCjB,EAAAE,EAAqB7C,UAAgB,IAAA2C,GAArCA,EAAuC90B,SACpC45B,GACE5E,EAAqB7C,IAEvB,MAGNjlF,eAAA69B,YAAA,CAAA39B,SAEIge,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,cAEH4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KACnB,CAACve,EAAS07B,IAENvgB,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEG,UACEs+B,IAAUwmD,GACVlF,EACI,OACA,OAEN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ6qF,YAGpB5tF,eAAA,KACEG,UACEs+B,IAAUwmD,GACRlF,GACCh9E,EAAQ8qF,eAEP,OADA,OAGN7vC,wBAAyB,CACvBC,OACG8hC,GACAh9E,EAAQ8qF,eAEL9qF,EAAQ8qF,eADR9qF,EAAQ6qF,cAxBV7qF,EAAQ8lF,OAgCxB,QAGLf,EAAqBxmE,KAAI,CAAC0xB,EAAMvU,IACxBz+B,eAAA69B,YAAA,CAAA39B,SAAGwsF,GAAY15C,oBAWxC90B,gBAAA,OACE1Z,MAAO,CACLo8B,OAAQ,iBACRn8B,QAAS,eACThF,MAAO,UACPquF,WAAY,UACZ7qC,SAAU,OACV8qC,UAAW,SACX3uD,WAAY,MACZ4uD,WAAY,QACZ9tF,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OAAKsgB,IAAKpb,GAAOuK,mBAAoB2R,IAAI,OACnC,IACRphB,eAAA,QACEwE,MAAO,CAAEquC,eAAgB,OAAQ1G,OAAQ,WACzChuB,QAjrCgB8vE,KAClC,IACEv8D,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,QACX63D,GACF,GAEJ,CAAE,MAAOzkF,GAAQ,GAwqCsC/E,SACtC,uBAKHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP2oE,IAlpCZxiF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,IAA2B,IAAvBy+B,EAAkB,GAAU,KACrCiE,SAAU,WA+oCcnB,IAjkCxBD,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,IA8jCwBrE,EAAaZ,EAAkB,EAAE,EACjC/kF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjD/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEmf,SAAUomE,EACVplF,UACEolF,EAAc,mBAAqB,gBAErCpnE,QAASA,KACP6oE,GAAe,GACfmD,GAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACPsiE,GAAY,EACZvgF,SACH,cAKHF,eAAA,OAAKG,UAAU,qBAAoBD,SAGA,gBAAhC,QAFA2nF,EAAAC,EACC7C,UACD,IAAA4C,OAAA,EAFAA,EAEE2F,YAAY1uF,eACbof,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,UACEG,UAAU,WACVge,QAASA,KACP6oE,GAAe,GACfmD,GAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACP6pE,IAEAgB,IACAyB,KACA5E,EAAaZ,EAAkB,EAAE,EACjC/kF,SACH,YAKHge,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,UACEmf,SAAUomE,EACVplF,UACEolF,EACI,mBACA,gBAENpnE,QAASA,KACP6oE,GAAe,GACfmD,GAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACP2oE,IACAkB,IAEAgB,IACAyB,KACA5E,EAAaZ,EAAkB,EAAE,EACjC/kF,SACH,kCAehB,E,QCpzCAguF,OAvCK3xD,IAOb,IAPc,KACnBI,EAAI,OACJ4W,EAAM,gBACN46C,EAAe,YACfC,EAAW,OACXC,KACG56C,GACJlX,EASC,OACEre,gBAACo1B,GAAM,CAAC3W,KAAMA,EAAM4W,OAAQA,KAAYE,EAAMtzC,UAAU,cAAaD,SAAA,CACnEge,gBAAA,OAAK/d,UAAU,sDAAqDD,SAAA,CAClEF,eAAA,OAAKsgB,IAAKpb,GAAOkS,eAAgB9W,MAAO,GAAI8gB,IAAI,UAChDphB,eAAA,KAAGG,UAAU,eAAcD,SAAEkuF,IAC7BpuF,eAAA,KAAGG,UAAU,gBAAeD,SAAC,qBAE/Bge,gBAAA,KAAG/d,UAAU,wBAAuBD,SAAA,CAAC,wBACbkuF,EAAY,oBAAiBpuF,eAAA,SAAOquF,EAAO,OAEnEruF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAG,UAASl8B,SAAC,2BAIzCge,gBAAA,KAAG/d,UAAU,wBAAuBD,SAAA,CAAC,iCACJ,IAC/BF,eAAA,QAAMme,QAASgwE,EAAgBjuF,SAAC,mBAE3B,E,QCfEouF,OAtBO/xD,IAAsC,IAArC,KAAEI,EAAI,OAAE4W,EAAM,KAAE3hB,KAAS6hB,GAAMlX,EAKpD,OACEre,gBAACo1B,GAAM,CAAC3W,KAAMA,EAAM4W,OAAQA,EAAQpzC,UAAU,sBAAuBszC,EAAIvzC,SAAA,CACvEF,eAAA,KAAGG,UAAU,cAAaD,SAAC,8BAC3BF,eAAA,KAAAE,SAAG,8EAIHF,eAAA,MAAAE,SACG0xB,EAAKtQ,KAAKm6B,IACT,OAAOz7C,eAAA,MAAAE,UAbQzC,EAa0Bg+C,EAAMh+C,MAZ9CuC,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQxgD,OAYvBg+C,EAAM18B,IAbPthB,KAa4C,MAG/DuC,eAAA,KAAGG,UAAU,mBAAkBD,SAAC,4BACzB,ECuqCEQ,qBAvBUC,IAChB,CACLitD,SAAUjtD,EAAME,aAAa0tF,aAC7BptF,eAAgBR,EAAMQ,eACtBgvD,UAAWxvD,EAAME,aAAasvD,UAC9BnC,YAAartD,EAAME,aAAamtD,gBAIR79B,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCo7B,uBAAyB17B,IACvBK,EAASkY,GAAyBmjB,uBAAuB17B,GAAS,KAKzDpvB,EA/pCeU,IAC5B,IAAI,QACFC,EAAO,SACPL,EAAQ,SACR4sD,EAAQ,UACRuC,EAAS,uBACT3E,EAAsB,eACtBrqD,EAAc,aACd+tB,EAAY,cACZE,EAAa,YACb4+B,EAAW,UACXwgC,GACEptF,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACdiD,qBAAsB,GACtB2G,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,EACTC,WAAW,EACXT,YAAa,EACb70C,WAAW,EACX80C,OAAQ,cACR70C,kBAAkB,EAClBC,eAAgB,GAChBq1C,eAAgB,CAAC,KAEZ3P,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,IAEzC8xE,EAAuBjiD,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,qBACC,EAICkK,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,qBACC,EA+BL,IAAImK,EAxBJ5tF,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAGpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,IACAr1C,GAAa,GACZ,IAEHx4C,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB3uF,EAAMkkF,YAAYn3B,eAElC,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAGV,MAAM2+D,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAGpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,GACb12B,cAAco2B,GAGhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJg2B,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EA+F9D+hC,EAAaA,KACT,IAAIrgD,MACH4zB,UAEL7vB,EAAW5hB,UACf,IAAIozD,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQqnF,GAiJX3lF,MAAM,mCAjJmB,CACzB,IAAI2zB,OAnGqBpB,WAC3B,GAA6B,QAAzB+8D,EAAU7tF,MAAMN,KAAgB,CAClC,IAAIuxB,EAAO,CACTuiC,cAAe0wB,EAAY1wB,cAC3BhyC,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CusC,SAAUyB,EAAUhB,QACpB2D,SAAU+xB,EAAY7jB,SAExB9xC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKrQ,GAAQkO,GAC1C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBwB,KAAUC,OAAO,CACftuB,KAAM,qBACNgZ,WAAY,CACV4xE,cAAeh+D,EAAKuiC,cACpBzF,SAAUyB,EAAUhB,QACpBR,WAAYwB,EAAUf,UACtBrC,WAAuB,OAAXiB,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACzBsF,aAAc+b,EAAYnhB,YAC1BimB,SAAUlhC,EAAKkhC,YAGnB1jC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACAlwB,MAAMggB,EAAS0S,KAAK8B,SACpBryB,EAAQkyB,KAAK,UACN,CACLlvB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAIP,OAHA3D,QAAQC,IAAI0D,GACZmqB,IACA/tB,EAAQkyB,KAAK,UACN,CACLlvB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,CACF,MAAO,GAA6B,aAAzBy7D,EAAU7tF,MAAMN,KAAqB,CAC9C,IAAIuxB,EAAO,CACTuiC,cAAe0wB,EAAY1wB,cAC3BhyC,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CusC,SAAUyB,EAAUhB,SAEtBjgC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKnQ,GAAQgO,GAC1C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBwB,KAAUC,OAAO,CACftuB,KAAM,0BACNgZ,WAAY,CACV6xE,mBAAoBj+D,EAAKuiC,cACzBzF,SAAUyB,EAAUhB,QACpBR,WAAYwB,EAAUf,UACtBrC,WAAuB,OAAXiB,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACzBsF,aAAc+b,EAAYnhB,eAI9Bzd,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACAlwB,MAAMggB,EAAS0S,KAAK8B,SACpBryB,EAAQkyB,KAAK,UACN,CACLlvB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFAmqB,IACA/tB,EAAQkyB,KAAK,UACN,CACLlvB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,CACF,GAU+B+8D,CAAqBjL,GAElD,GADAvjF,QAAQC,IAAI,mBAAoBsxB,GAC5BA,EAAiBxuB,OAAQ,CAC3BwuB,EAAiBjB,KAAKmB,QAAQnB,KAAKm+D,gBAAgB53D,SAChDp1B,IAciC,IAADitF,GAb/BjtF,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAKN,OAArB3nF,EAAQ6qF,YACV7qF,EAAQ2oF,OAAuB,QAAjBsE,EAAGjtF,EAAQ2oF,cAAM,IAAAsE,OAAA,EAAdA,EACbI,WACA,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEJrtF,EAAQ6qF,SAAW7qF,EAAQ6qF,SACxBwC,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,iDAGNrtF,EAAQ0jE,OAAOtuC,SAASk4D,IACtBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAuBN,IAAIvmD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBACEj1D,EAAiBjB,KAAKmB,QAAQnB,KAAKm+D,gBACrCpB,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAG3C,CACF,CAEA,EAGIC,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAGjB5G,EAA4BA,KAChC,IAAI,gBAAE9C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IAEXc,IACAC,IACAC,IAEI1L,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,GACrB,EAIImuB,EAAsBh/D,UAC1B,IAAI,gBAAEwzD,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EACzDiwF,EAAqB9I,EAAqB7C,GAC1C4L,EAEF,4DADAhM,EAAY9yC,OAER,OACuB,8BAAvB8yC,EAAY9yC,OACZ,OACA,QACFngB,EAAO,CACTi8B,SAAU+iC,EAAmB/iC,SAC7Bg7B,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5B+E,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,cAE9B5hE,IACA,MAAMhQ,QAAiBwS,KAAMqC,KAAKjO,GAAQ8L,GAC1C,GAA6B,MAAzB1S,EAAS0S,KAAKC,OAAgB,CAMhC,GALAnB,GAAUa,IAAS,IACdA,EACH+2D,cAAeppE,EAAS0S,KAAKA,SAE/BxC,KACKlQ,EAAS0S,KAAKA,KAOjB,OANAk2D,EAAqB7C,GAAiBsD,eAAiB,GACvD73D,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsBA,WAExB5oF,MAAMggB,EAAS0S,KAAK8B,SAGtBi9D,GACF,MAAoC,MAAzBzxE,EAAS0S,KAAKC,SACvBnB,GAAUa,IAAS,IACdA,EACH+2D,cAAeppE,EAAS0S,KAAKA,SAE/B++D,KAEFvhE,GAAe,EAKXuhE,EAAqBl/D,UACzB,IAAI,gBACFwzD,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,YACpBjD,GACElkF,EACAiwF,EAAqB9I,EAAqB7C,GAC1CrzD,EAAO,CACTo/D,eAAgBJ,EAAmBI,eACnClI,UAAW8H,EAAmBlG,qBAAqB,GAC/CkG,EAAmBlG,qBAAqB,GAAG5B,UACT,mBAAlC8H,EAAmBpD,YACnBoD,EAAmBrI,eACnB,GACJ16B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B3lC,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CusC,SAAUyB,EAAUhB,QAEpB9uD,KAC2B,QAAzBmuF,EAAU7tF,MAAMN,KAAiB,gBAAkB,qBACrD8wF,WAAqC,QAAzB3C,EAAU7tF,MAAMN,KAAiB,MAAQ,WACrD+wF,cAAevM,EAAY1wB,cAC3BhyC,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CusC,SAAUyB,EAAUhB,QACpB2D,SAAU+xB,EAAY7jB,QACtB3nC,QAASr4B,EAASq4B,QAClBg4D,SAAU,EACVf,WAAYM,EAAmBX,eAC/BqB,QAASV,EAAmBU,QAC5BC,cAAc,EACdC,cAAc,GAUhBtiE,IACA,IACE,MAAMuiE,EAA+B,QAAzBjD,EAAU7tF,MAAMN,KAAiBsjB,GAAS+C,GAGzB,aAFNgL,KAAMqC,KAAK09D,EAAK7/D,IAE1BA,KAAKC,QAChBzC,IAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAGI+iF,EAAwBA,KAC5B,IAAI,gBAAE/C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDC,IACAC,IAIE5I,EAAqB7C,GAAiB0F,aACtC7C,EAAqB7C,GAAiBxe,OAAO3hB,QAC1CinC,GAAMA,EAAEd,sBACTptF,OAEFiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAK,CAC9D5B,UAAW0B,IAMJ,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EACE7C,GACAkG,wBAAwB,GAAKxrF,OAAO6qF,GACtC1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EACE7C,GACAkL,0BAA0B,GAAK3F,EACjC1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,EAAQ+lF,YAAc0B,IAG/B,IAAqB,IAAjBmH,EAAoB,CACtB,IAAIC,EAAM,CACR9I,UAAW0B,GAEb1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA+zF,EAEJ,MACE9J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,GAM7C,IAFP7C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAMO,IAFP1C,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwBttF,OAC9D,EACA2sF,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAEF,IAOK,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EAAqB7C,GAAiBkL,0BACnCtyF,OACH,EACA2sF,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EACE7C,GACAkL,0BAA0B90B,QAAQmvB,GACpC,GAKF1C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IACIo0E,EADQp0E,EACe4iC,QAAQ,WAAY,IAE/CwxC,EAAiBA,EACdxxC,QAAQ,KAAM,OACdA,QAAQ,KAAM,IACdA,QAAQ,MAAO,KAElB,MAAMyxC,EAAWD,EAAex2B,QAAQ,KACxC,IAAkB,IAAdy2B,EAAiB,CACnB,MAAMC,EAAcF,EAAez2B,UAAU,EAAG02B,GAC1CE,EAAcH,EAAez2B,UAAU02B,EAAW,EAAGA,EAAW,GACtED,EAAiBE,EAAc,IAAMC,CACvC,CAEA,IAAI,gBAAE/M,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EACE7C,GACAsD,eAAiBsJ,EAAe/zF,OAE9BgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EA0C7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EACE7C,GACA2G,iBAAmB9D,EAAqB7C,GAAiB2G,gBAE3Dl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BA/CpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAE3C,GAA4B,OAAxBuJ,EAAU7tF,MAAMN,KAAe,CACjC,IAAIuxB,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAK1P,GAAQuN,EAC5C,MAAO,GAA4B,YAAxB48D,EAAU7tF,MAAMN,KAAoB,CAC7C,IAAIuxB,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAK1P,GAAQuN,EAC5C,GA6BAsgE,CAAepK,EAAqB7C,GAAiB,EAGjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAO7D,GALAmnF,EAAqB7C,GAAiBoM,UAAYvJ,EAChD7C,GACAoM,SAEF3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAGlCvJ,EAAqB7C,GAAiB4D,GAIxD,KAAO,CAGWf,EAAqB7C,GAAiB4D,GAIxD,GAEIuJ,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAE1BiK,IACAC,IACAhgE,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAEhB,EAGC6L,EAAmBC,IACvB5hE,GAAUa,IAAS,IACdA,EACHs9D,WAAYluF,EAAMkuF,aACjB,EAGC6B,EAAoBA,KACxBhgE,GAAUa,IAAS,IACdA,EACHs9D,WAAW,KACV,EAGC0D,EAAiBA,KACrB,IAAI1N,EAAc,IAAKlkF,EAAMkkF,aACA,QAAzB2J,EAAU7tF,MAAMN,MAClBgzB,KAAUC,OAAO,CACftuB,KAAM,sBACNgZ,WAAY,CACV4xE,cAAe/K,EAAY1wB,cAC3BzF,SAAUyB,EAAUhB,QACpBR,WAAYwB,EAAUf,UACtBrC,WAAuB,OAAXiB,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACzBsF,aAAc+b,EAAYnhB,YAC1BimB,SAAU+xB,EAAY/xB,YAK1B0/B,KAGkC,aAAzBhE,EAAU7tF,MAAMN,OACzBgzB,KAAUC,OAAO,CACftuB,KAAM,2BACNgZ,WAAY,CACV6xE,mBAAoBhL,EAAY1wB,cAChCzF,SAAUyB,EAAUhB,QACpBR,WAAYwB,EAAUf,UACtBrC,WAAuB,OAAXiB,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACzBsF,aAAc+b,EAAYnhB,eAG9B2lD,IAIF,EA2JIzN,EAAoBA,KACxB1jF,EAAQkyB,KAAK,gBAAgB,EAkDzBi/D,EAAuB/gE,UAC3B,MAAM,YAAEozD,GAAgBlkF,EACxB,IAAIixB,EAAO,CAAC,EAGVA,EAD2B,QAAzB48D,EAAU7tF,MAAMN,KACX,CACLA,KAAM,gBACN8wF,WAAY,MACZC,cAAevM,EAAY1wB,cAC3BhyC,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CusC,SAAUyB,EAAUhB,QACpB2D,SAAU+xB,EAAY7jB,QACtB3nC,QAASr4B,EAASq4B,SAGb,CACLh5B,KAAM,qBACN8wF,WAAY,WACZC,cAAevM,EAAY1wB,cAC3BhyC,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CusC,SAAUyB,EAAUhB,QACpB2D,SAAU+xB,EAAY7jB,QACtB3nC,QAASr4B,EAASq4B,SAItB,IACE,MAAMna,QAAiBwS,KAAMqC,KAAK9I,GAAS2G,GAC3CtwB,QAAQC,IAAI,uBAAwB2d,EAAS0S,MAChB,MAAzB1S,EAAS0S,KAAKC,SACW,gCAAvB3S,EAAS0S,KAAKA,MAChBtwB,QAAQC,IACN,uCACA2d,EAAS0S,KAAKA,KAAK5hB,OAErB0gB,GAAUqa,IACD,IACFA,EACHqjD,YAAalvE,EAAS0S,KAAKA,KAAK5hB,MAChCupC,UAAWr6B,EAAS0S,KAAKA,KAAK5hB,MAAQ,EACtCq+E,OAAQnvE,EAAS0S,KAAKA,KAAKkP,gBAGE,IAA7B5hB,EAAS0S,KAAKA,KAAK5hB,QACrB1O,QAAQC,IACN,oDACA2d,EAAS0S,KAAKA,KAAK5hB,OAErB1O,QAAQC,IAAI,kCACZF,EAAQkyB,KAAK,CACXC,SAAU,uBAKdnyB,EAAQkyB,KAAK,CACXC,SAAU,qBAIlB,CAAE,MAAOvuB,GACP3D,QAAQC,IAAI0D,EACd,GAEI+0C,EAAcvoB,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzG,IACJ,MAAzBhM,EAAS0S,KAAKC,SAChBvwB,QAAQC,IAAI2d,EAAS0S,MACrBlB,GAAUa,IACD,IACFA,EACHkoB,eAAgB,IAAIv6B,EAAS0S,KAAKA,UAI1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAEF,OACEiZ,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAACkuF,GAAW,CACVvxD,KAAMh8B,EAAM44C,UACZhG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,oBAAqB,EAEhD26D,gBAAiBA,IACfz9D,GAAUqa,IACD,IAAKA,EAAMyO,kBAAkB,EAAMD,WAAW,MAGzD60C,YAAaztF,EAAMytF,YACnBC,OAAQ1tF,EAAM0tF,SAEhBruF,eAACsuF,GAAa,CACZ3xD,KAAMh8B,EAAM64C,iBACZjG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,oBAAqB,EAEhD5B,KAAMjxB,EAAM84C,iBAGdz5C,eAAA,OAAKG,UAAU,0CAAyCD,SACtDF,eAAA,OAAKG,UAAU,uCAAsCD,SAvJvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAAC4kF,GAAoB,CACnBC,YAAalkF,EAAMkkF,YACnBxxC,SAAUA,EACV0xC,kBAAmBA,IAGzB,KAAK,EACH,OACE/kF,eAACwnF,GAAiB,CAChBM,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBkK,EAClBjK,cAAe3nF,EAAM2nF,cACrBtnF,SAAUA,EACV6tF,UAAWluF,EAAMkuF,UACjBwD,gBAAiBA,EACjB3B,kBAAmBA,IAIzB,QACE,OAAO,KACX,EA4GOz8D,CAAWtzB,EAAMgwB,YAGb,IChnCAjwB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EArCgBU,IAC7B,MAAMotF,EAAYxrD,wBAGlB,IAAI,QAAE3hC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,MAAEL,GAAUS,EAS3C,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAMvCF,eAACyyF,GAAoB,CAACpxF,QAASA,EAASmtF,UAAWA,EAAWxtF,SAAUA,QAG/EF,GAAUd,eAACD,KAAW,MACd,I,wBCrBAoqC,OAdIA,IAEfnqC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKsgB,IAAKpb,GAAO2E,0B,QCuLdnJ,oBAAQ,MA1BKyvB,IACnB,CACLJ,WAAYA,KACVI,EAASG,KAAyB,EAEpCjB,gBAAiBA,KACfc,EAASC,KAA4B,EAEvC+W,mBAAoBA,KAClBhX,EAASiY,GAAoBjB,qBAAqB,EAEpDjX,qBAAsBA,KACpBC,EAASM,KAA6C,EAExD+W,yBAA0BA,KACxBrX,EAASkY,KAAoD,EAE/DV,oBAAqBA,KACnBxX,EAASmY,KAA8C,EAEzDH,mBAAoBA,KAClBhY,EAASoY,KAAwC,KAKxC7nC,EA5KMU,IACnB,IAAI,QACFC,EAAO,SACPL,EAAQ,WACR+uB,EAAU,gBACVV,EAAe,qBACfa,EAAoB,mBACpBiX,EAAkB,yBAClBK,EAAwB,oBACxBG,EAAmB,mBACnBQ,GACE/mC,EAaJ,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,mCAAkCD,SAC/Cge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA4B,OAAhBA,EAASgE,SAGnChF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAA8B,SAAlBA,EAASw4B,WAGnCx5B,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,iBAAgBD,SACA,IAA1Bc,EAASm4B,aACRjb,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKsgB,IAAKpb,GAAO8J,mBAAoB,cAErC,YAKVkP,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,UACEG,UAAU,6CACVE,KAAK,SACL0e,GAAG,sBACH,iBAAe,WACf,gBAAc,QAAO7e,SAErBF,eAAA,QAAMG,UAAU,gBAAeD,SAC7BF,eAAA,QAAMG,UAAU,sBAAqBD,SACjC1C,aAAQwD,GAORhB,eAAA,OAAKsgB,IAAKpb,GAAO+H,iBANjBjM,EAASgpC,MAAMnsC,OACbmC,eAAA,OAAKsgB,IAAKtf,EAASgpC,QAEnBhqC,eAAA,OAAKsgB,IAAKpb,GAAO+H,uBAQ3BjN,eAAA,OACEG,UAAU,qCACV,kBAAgB,sBAAqBD,SAErCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5B1C,aAAQwD,GAORhB,eAAA,OAAKsgB,IAAKpb,GAAO+H,iBANjBjM,EAASgpC,MAAMnsC,OACbmC,eAAA,OAAKsgB,IAAKtf,EAASgpC,QAEnBhqC,eAAA,OAAKsgB,IAAKpb,GAAO+H,mBAMvBiR,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CACzB1C,aAAQwD,GAA4B,OAAhBA,EAASgE,KAAe,OAEhDhF,eAAA,KAAGG,UAAU,iBAAgBD,SACzB1C,aAAQwD,GAEN,aADAA,EAASw4B,SAGfx5B,eAAA,KAAGG,UAAU,iBAAgBD,SACA,IAA1Bc,EAASm4B,aACRjb,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKsgB,IAAKpb,GAAO8J,mBAAoB,cAErC,UAGRhP,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,KACE/d,UAAU,iBACVge,QAASA,KAnGnC4R,IACAV,IACAa,IACAiX,IACAK,IACAG,IACAQ,SACA9mC,EAAQkyB,KAAK,MA4F+CrzB,SAAA,CAElCF,eAAA,OAAKsgB,IAAKpb,GAAOwH,WAAY,kBAInC1M,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAACm8B,IAAI,CAACC,GAAG,gBAAel8B,SACtBge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO2H,WAAY,gBAGjC7M,eAACm8B,IAAI,CAACC,GAAG,iBAAgBl8B,SACvBge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAC3BF,eAAA,OAAKsgB,IAAKpb,GAAOyH,WAAY,iDAc9C,IC7HAjM,qBANUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,QAIVR,EAzBaU,IAC1B,IAAI,SAAEJ,EAAQ,QAAEK,GAAYD,EAC5B,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3Cge,gBAAA,OAAK/d,UAAU,qCAAoCD,SAAA,CACjDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAACmqC,GAAU,MAEbnqC,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAACoqC,GAAW,CAACppC,SAAUA,EAAUK,QAASA,WAIhDrB,eAACqqC,KAAc,MACN,ICuBA3pC,qBANUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,UAINJ,EAvCkBU,IAC/B,IAAI,QAAEC,EAAO,OAAEP,GAAWM,EAU1B,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,0CAAyCD,UAVxDqyB,OAAOioB,WAYHx6C,eAACC,WAAQ,CAAAC,SACPF,eAAC0yF,GAAkB,WAW1B5xF,GAAUd,eAACD,KAAW,MACd,I,wBCqDA6kF,IC9FX+N,GD8FW/N,GAxFexjF,IAC5B,IAAI,YAAEyjF,EAAW,SAAExxC,EAAQ,oBAAEyxC,GAAwB1jF,EAgBrD,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,6CAA4CD,SACzDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,QACV7yB,MAAO,CAAEyiC,IAAK,SACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAE2kF,EAAYr3B,aACxCxtD,eAAA,OAAKG,UAAU,8BAA6BD,SAC1Cge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAAC,aAClB,IACT1C,aAAQqnF,GAEN,KADA,GArCxB,SAAkBzrB,GAChB,IAAIw5B,EAAIn0F,KAAKC,MAAM06D,EAAU,IACzB2yB,EAAI3yB,EAAU,GAGlB,OAFAw5B,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GAEZ,KADX7G,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GACF,MACvB,CA+B2B8G,CAAShO,EAAYn3B,yBAalCxvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OACEsgB,IAAK,kCAAkCukE,EAAYiO,qBACnD1xE,IAAI,yBAGRphB,eAAA,KAAAE,SAAG,0DACHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAhEzB6yF,MAAO,IAADC,EAC7B,OAA0B,OAAnBlO,QAAmB,IAAnBA,GAA6B,QAAVkO,EAAnBlO,EAAqBmO,gBAAQ,IAAAD,GAA7BA,EAA+BE,UAClC,cACA,YAAY,EA8DCH,oBAQN,E,QCzFf,SAASI,KAAa,OAAOA,GAAWx1F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAGF,GAASj4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS6hC,GAAQl3D,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO42D,GAAS,CACtD7yF,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAMm0E,KAAOA,GAAkB,gBAAoB,IAAK,CAClE5zE,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAMM,GAA0B,aAAiBV,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAW91F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAASwiC,GAAQ73D,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiBO,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWz2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAASyiC,GAAS93D,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiBQ,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAW12F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS0iC,GAAS/3D,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiBS,IAClC,ICw7DA9M,OAv8DYpmF,IAAW,IAADqmF,EAAAC,EACnC,IAAI,qBACFI,EAAoB,gBACpB7C,EAAe,eACfyJ,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,yBACrBC,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,mBACZ7J,EAAkB,iBAClBC,EAAgB,gCAChBoG,EAA+B,oBAC/BU,EAAmB,oBACnBF,EAAmB,uBACnBnP,EAAsB,gBACtBX,EAAe,gBACf4P,EAAe,mBACf4B,EAAkB,OAClBv7D,EAAM,aACNlG,EAAY,cACZE,EAAa,WACbmlE,EAAU,aACVC,EAAY,gBACZC,EAAe,UACfC,EAAS,SACThkE,EAAQ,KACRqvD,GACE3+E,EAEJ,MAAO4oF,EAAQC,GAAa9sE,oBAAS,IAE9BqrE,EAAiBC,GAAsBtrE,mBAAS,KAEhDurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAGft/B,qBAAU,KACJ+wB,OAAO6tD,SACT7tD,OAAO6tD,QAAQC,SACjB,GACC,CAACP,IAEJt+E,qBAAU,KACJ+wB,OAAO6tD,SACT7tD,OAAO6tD,QAAQC,SACjB,GACC,CAACP,IAEJD,GAAWoF,EAAiBlF,GAE5B,MAAM4U,EAAqBA,KAAO,IAADC,EAQb,SANF,2DAAdL,EACI,OACc,yBAAdA,EACA,OACA,SAGJr1F,MAAM,sDAENA,MAAM,0CAER,MAAM21F,IAAmC,OAAtB/U,QAAsB,IAAtBA,GAAsC,QAAhB8U,EAAtB9U,EAAwByI,sBAAc,IAAAqM,IAAtCA,EAAwC/2F,QAG3D42F,GAAiBI,EAAW,EAG9BrzF,qBAAU,KACR,IAAIqvF,EACY,2DAAd0D,EACI,OACc,yBAAdA,EACA,OACA,QAEa,SAAf1D,GACF/Q,EAAuBgV,eAAiB,GAAKH,IAC7C7U,EAAuBgV,cAAgB,GAAKL,GAAgB,IACpC,SAAf5D,IACT/Q,EAAuBgV,eAAiB,IAAMH,IAC9C7U,EAAuBgV,cAAgB,IAAML,GAAgB,GAC/D,GACC,CAAC3U,IAGJ,MAAMiJ,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,OAiD5Bk3F,EAAyBhsD,iBAAO,OAgB/BpM,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAC1BiG,EAAYC,GAAiBrsE,oBAAS,IAGtCksE,EAAWC,GAAgBnsE,oBAAS,GACrCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,GAE3CxrB,EAAqBzhC,IACzBA,EAAEhe,iBACFoiE,GAAY,EAGdj/E,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,GAC7B,KACLvrC,OAAOoR,oBAAoB,WAAYm6B,EAAkB,IAE1D,IACHt8D,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,EAAkB,GACrD,CAACnhC,IAGJ,MAsCMq4D,EAAiBA,KACrBtkE,GAAUa,IAAS,IACdA,EACHwuD,MAAOxuD,EAAUwuD,QAChB,EAGC8K,EAAqBA,CAACC,EAAcC,EAAkBhL,KACvC,IAADkV,EAwDQC,EAKtBC,EAyDKC,EAtHT,OAAY,GAARrV,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEmB,QAAnB+0F,EAAAnK,EAAarkB,cAAM,IAAAwuB,GAAnBA,EAAqBp3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,IAAM3nF,EAAQ+lF,UACtC4L,GAAa3xF,EAAQ+lF,UAI3BlqE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBA/BRhoC,KAuCd,SAIO,GAARshD,OAEuBriF,IAA9BotF,EAAaE,cACiB,OAA9BF,EAAaE,eACD,OAAZF,QAAY,IAAZA,GAA0B,QAAdoK,EAAZpK,EAAcE,oBAAY,IAAAkK,OAAd,EAAZA,EAA4Br3F,QAAS,EAGnCmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEyB,QAAzBi1F,EAAArK,EAAaE,oBAAY,IAAAmK,GAAzBA,EAA2Bt3F,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KAAO3nF,EAAQ+lF,UACvC4L,GAAa3xF,EAAQ+lF,UAI3BlqE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WAE1C3pE,SAAUq1E,IAEZt2E,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAhCRhoC,KAwCd,UAKVu2D,IAGEh1F,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEmB,QAAnBk1F,EAAAtK,EAAarkB,cAAM,IAAA2uB,GAAnBA,EAAqBv3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KAAO3nF,EAAQ+lF,UACvC4L,GAAa3xF,EAAQ+lF,UAI3BlqE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBA/BRhoC,KAuCd,eApHP,CAyHP,EAGI6sD,EAAoBA,CAACR,EAAcC,EAAkBhL,KACzD,OACU,GAARA,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAkBhClqE,SAAWnB,GACTyqE,EACEzqE,EACA1a,EAAQ+lF,UACRrrE,EAAMK,OAAOyD,WAInBrD,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAlDRhoC,KA0Dd,SAIO,GAARshD,OAEuBriF,IAA9BotF,EAAaE,cACiB,OAA9BF,EAAaE,eACD,OAAZF,QAAY,IAAZA,GAA0B,QAAduK,EAAZvK,EAAcE,oBAAY,IAAAqK,OAAd,EAAZA,EAA4Bx3F,QAAS,EAGnCmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAaE,aAAantF,OACvBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,aAG3C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAhCRhoC,KAwCd,UAKVu2D,IAEEh1F,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,aAG3C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAhCRhoC,KAwCd,eApHP,EAAoB,IAAD42D,CAyH1B,EAGI9J,GAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAAOi3F,GAAa,GACpB91E,SAAWnB,GAAU0qE,EAAuB1qE,GAC5C0B,SAAUq1E,GALLzJ,SAaXK,GAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,GAAoBG,IACjB,CAAEvtC,OAAQutC,IAGbS,GAAsBA,CAACjL,EAAUviD,KACrC,MAAM,OAAEitD,EAAM,aAAEa,GAAiBvL,EACjB0K,EAAOzsF,SAAS,UAChBysF,EAAOzsF,SAAS,QAChC,IAAIq2F,EAAgBvV,EAAO2L,EAASa,EAUpC,GANGxM,GACCwM,GAAiBA,EAAalsC,QAAQ,WAAY,IAAIviD,SAExDw3F,EAAgB5J,GAGdzG,IAAoBxmD,EACtB,OAAI62D,GAAiBA,EAAcz3F,OAE/BmC,eAAA,SACEG,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB+qD,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QA2Cf,CACL,IAsBI82D,EAtBAC,EAAa,GACbC,EAAkB,GA0BtB,OAxBIzU,EAAS2J,YACX6K,EAAa,eACJxU,EAAS4K,gBAClB4J,EAAa,iBACJxU,EAAS2K,SAClB6J,EAAa,aACmB,IAAf,OAARxU,QAAQ,IAARA,OAAQ,EAARA,EAAU0U,WACnBD,EAAkB,eACc,IAAf,OAARzU,QAAQ,IAARA,OAAQ,EAARA,EAAU0U,WACnBD,EAAkB,WAElBD,EADSxU,EAAS6K,UACL,WAEA,GAGX7K,EAAS2K,WACX8J,EAAkB,cAGhBzU,EAAS4K,kBACX2J,EAAyB,kBAIzBv1F,eAAA,SACEG,UAAW,kBAAkBq1F,KAAcC,KAAmBF,IAC9Dp3E,QAASA,KACPiqE,EAAmB3pD,GACnB+qD,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,OAepB,GAEIgtD,GAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAf6jF,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,mBA7EjD,IAAD0qE,EAAAE,CAkFT,EA0TyBlE,EAAqBjqF,OA6BhD,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,mCAAkCD,SAC/CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAGFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,cAGDF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAev1B,QAElBn5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAet1B,UAElBp5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAer1B,QAAU,EACtBq1B,EAAer1B,QACf,IAAG,IAAMq1B,EAAer1B,gBAIlCr5D,eAAA,UACEG,UAAU,mBACVge,QAASA,KAEPsiE,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAKlCge,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOsE,QAAS4X,IAAI,OAEhCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UACEme,QAASA,KACPkqE,EAAiBvI,EAAuB,EACxC5/E,SACH,sBAuBTge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,4BAA2BD,SAExCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAE9CmC,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAev1B,QAElBn5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAet1B,UAElBp5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAer1B,QAAU,EACtBq1B,EAAer1B,QACf,IAAG,IAAMq1B,EAAer1B,gBAIlCn7C,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAClB2G,gBACD5rF,eAAA,OACEsgB,IAAKpb,GAAO6T,aACZ5Y,UAAU,cACVge,QAASA,IAAM8zE,IACf7wE,IAAI,QAGNphB,eAAA,OACEsgB,IAAKpb,GAAO4T,YACZ3Y,UAAU,cACVge,QAASA,IAAM8zE,IACf7wE,IAAI,UAsBT0+D,EAAuByM,aACtBvsF,eAAA,UAAQG,UAAW,cAAcD,SAE9B6/E,EAAO,SAAM,MAGhB,WAKR7hE,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7BvC,OAAOC,KAAK6wF,GAAiCntE,KAC5C,CAACurB,EAAapO,IAEVvgB,gBAAA,OAAiB+D,MAAM,wBAAuB/hB,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAI8tB,EACJ7nC,KAAK,UACLvH,MAAOovC,EACPtrB,QAASsrB,IAAgBsyC,EACzBvgE,SAAUA,IACRqwE,EAAoBpiD,KAGxB7sC,eAAA,SAAOihD,IAAKpU,EAAY3sC,SAAE2sC,MAXlBpO,OAkBlBz+B,eAAA,OAAKG,UAAU,kCAAiCD,SAC7Ci/E,GACCxhF,OAAOC,KACL6wF,EAAgCtP,IAChC79D,KAAI,CAACq0E,EAAal3D,IAEhBvgB,gBAAA,OAAiB+D,MAAM,wBAAuB/hB,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAI42E,EACJ3wF,KAAK,UACLvH,MAAOk4F,EACPp0E,QAASo0E,IAAgB5G,EACzBnwE,SAAUA,IACRuwE,EAAoBwG,KAGxB31F,eAAA,SAAOihD,IAAK00C,EAAYz1F,SAAEy1F,MAXlBl3D,aAuBtBvgB,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SAyDnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAGhC/mE,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CA1Vb01F,MAC/B,MAAM,SAAEC,EAAQ,eAAEC,GAAmBhW,GAA0B,CAAC,EAE1DiW,EAAmBhW,EACrB8V,EACAC,GAEAD,EAEJ,OACE71F,eAAA,OAAAE,SACEF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ83C,MAGR,EA2UmBH,GAlgBGI,MAC9B,MAAM,OAAEC,EAAM,aAAEC,GAAiBpW,GAA0B,CAAC,EACtDqW,EAAUF,GAAUA,EAAOh3F,SAAS,QACpCm3F,EAAUH,GAAUA,EAAOh3F,SAAS,UACpCo3F,EAAWJ,GAAUA,EAAOh3F,SAAS,WAG3C,MAAMq3F,EAAaL,GAAUA,EAAOh3F,SAAS,eAGvCs3F,EAAe,gCAGfC,EAAiBA,CAACvqB,EAAOlG,IACtB,IAAIA,KAGb,IAAIA,EAAUkwB,EAOd,OALIK,IAEFvwB,EAJYkwB,EAIM51C,QAAQk2C,EAAcC,IAGtCzW,EAEA7hE,gBAAA,OAAAhe,SAAA,CAYG+1F,GACCj2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQg4C,KAKbG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAI/B+1F,GAAgBA,EAAap4F,OAAOD,OAAS,EAE7CqgB,gBAAA,OAAAhe,SAAA,CACGg2F,GACCl2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQi4C,KAKbE,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAKjC+d,gBAAA,OAAAhe,SAAA,CACG+1F,GACCj2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQg4C,KAIbG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,mBAIvC,EA0a2B61F,GACDh2F,eAAA,OAAAE,SAtnBL4gF,MACrB,MAAM,OAAE4K,EAAM,aAAEa,GAAiBzM,GAA0B,CAAC,EACtDqW,EAAUzK,GAAUA,EAAOzsF,SAAS,QACpCm3F,EAAU1K,GAAUA,EAAOzsF,SAAS,UACpCo3F,EAAW3K,GAAUA,EAAOzsF,SAAS,WAC3C,IAAIw3F,EAAW,GAEf,MAAMH,EAAa5K,GAAUA,EAAOzsF,SAAS,eAGvCs3F,EAAe,gCAGfC,EAAiBA,CAACvqB,EAAOlG,IACtB,IAAIA,KAGb,IAAIA,EAAU2lB,EAOd,GALI4K,IAEFvwB,EAJY2lB,EAIMrrC,QAAQk2C,EAAcC,IAGtCL,EAAS,CACX,MACMlqB,EADc,oCACMyqB,KAAKhL,GAC3Bzf,GAASA,EAAM,KACjBwqB,EAAWxqB,EAAM,GAErB,CAEA,OAAI8T,EAEA7hE,gBAAA,OAAAhe,SAAA,CAeGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,EAAO0E,WACb,gBACA,mDAMPgG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAI/BosF,GAAgBA,EAAazuF,OAAOD,OAAS,EAE7CqgB,gBAAA,OAAAhe,SAAA,CACGqsF,GACCvsF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQsuC,EAAa6D,WACnB,gBACA,mDAMPgG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAKjC+d,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,EAAO0E,WACb,gBACA,mDAKPgG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,mBAIvC,EAwgBgC2gF,eAKd9gF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3B4/E,QAC4BpiF,IAA3BoiF,GAt6CFwN,EAACxN,EAAwBC,KAC7C,GAC6B,OAA3BD,QAC2BpiF,IAA3BoiF,EACA,CACA,IAAInvD,EACAtwB,EAAOy/E,EAAuB0N,YAUlC,OAPE78D,EADW,mBAATtwB,EACK,EACW,oBAATA,EACF,EAEA,EAGDswB,GACN,KAAK,EACH,OAAOk6D,EACL/K,EACAmF,EACAlF,GAEJ,KAAK,EACH,OAAOwL,GAAiBtG,EAAiBlF,GAC3C,KAAK,EACH,OAAOuL,EACLxL,EACAmF,EACAlF,GAEJ,QACE,OAAO,KAEb,CACA,EAo4CsBuN,CAAcxN,EAAwBC,QAM5C//E,eAACqqC,KAAc,IAEfnsB,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsBhvD,OAoBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QA1iDQwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAqhD0C/E,SACpC,mBAOPge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OACE1Z,MAAO,CACLywD,UAAW,MACXtT,aAAc,MACdliD,MAAO,UACPwjD,SAAU,YACV/iD,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OAAKsgB,IAAKpb,GAAOuK,uBACX,IACRzP,eAAA,QACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QAnlDY8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GAqkD2DlvB,SACtC,uBAIHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EACE9C,EAAkB,GA3iDlC0R,MAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAyiDxCH,EAAW,EACXz2F,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SACtBonF,EAAkB,EAChBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KAEPwyE,EAAmB7Q,GACnBW,GAAY,EACZvgF,SACH,aAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EACE/C,EAAkB,EAClBnF,GAhlDjBkJ,MACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA8kDxC9N,EAAU,EACV9oF,SACH,gCAiCfF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAqExBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBunF,EACa,QADbC,EACxBI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAC/C,SAEJznF,eAAA,UAAQme,QAASA,IAAMsiE,IAAavgF,SAAC,mBAIvCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,6BAM/CF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAE3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,GAAoBlpF,EAAS07B,MAV7BA,KAeX,0BAoCb,ECzoBA/9B,qBArBUC,IAChB,CACLitD,SAAUjtD,EAAMy2F,uBAAuBxpC,SACvCzsD,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCo7B,uBAAyB17B,IACvBK,EAASkY,GAAgDvY,GAAS,KAKzDpvB,EA/yCeU,IAC5B,IAAI,QACFC,EAAO,SACPusD,EAAQ,uBACRpC,EAAsB,eACtBrqD,EAAc,aACd+tB,EAAY,cACZE,EAAa,SACbpuB,GACEI,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACdC,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtB2G,gCAAiC,CAAC,EAClCnG,eAAe,EACfrD,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,EACT9O,uBAAwB,CAAC,EACzBuX,iBAAiB,EACjB3C,UAAW,GACX3U,MAAM,EACNqO,YAAa,EACb70C,WAAW,EACX80C,OAAQ,cACR70C,kBAAkB,EAClBC,eAAgB,GAChBq1C,eAAgB,CAAC,KAGZ3P,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,KACxCq3E,EAAcC,GAAmBt3E,oBAAS,GAEjD3b,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAEpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,IACAiI,IACAt9C,GAAa,GACZ,IAEHx4C,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB3uF,EAAMkkF,YAAYn3B,eAElC,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAEV,MAAMkgE,EAEJ,2DADAlwF,EAAMkkF,YAAY9yC,OAEd,OAC4B,yBAA5BpxC,EAAMkkF,YAAY9yC,OAClB,OACA,QAEAk9C,EAAuBjiD,IAC3B,IAAI,qBAAE86C,GAAyBnnF,EAE/B,MAAMuuF,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,IAAIsS,EAAKtS,EAETuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,GAEF7H,EAAS/D,EAAgB,EAGrB+D,EAAY/D,IACF3gF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,UACV,EAGEiG,EAAuBD,IAC3B,IAAI,qBAAEpH,GAAyBnnF,EAE/BquF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAGhBx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAEF,IAAIsS,EAAKtS,EAETuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,GAGF7H,EAAS/D,EAAgB,EAG3B,IAAImK,EACJ,MAAME,EAAwB1xB,IAC5B,IAAIgxB,EAAUjuF,EAAMiuF,QACpBA,GAAoB,IAGpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,IACbxwF,MAAM,gDACNmpF,EAAiB1nF,EAAMm/E,wBACvB2X,IACAz+B,cAAco2B,IAGhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJg2B,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAG9D0pC,EAAyB7lE,UAC7B,IAAIG,EAAO,CACTi8B,SAAUD,EAASC,UAGrB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlQ,GAAQ+N,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHuzD,oBAAqB5lE,EAAS0S,KAAKA,SAErCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAiCIuyF,EAA4B/lE,MAChCo8B,EACAg7B,EACA77C,EACAkiD,EACAn9C,KAEA,MAAMngB,EAAO,CACXi8B,WACAg7B,MACA77C,UACAkiD,UACAn9C,UAGF,IACE,MAAM7yB,QAAiBwS,KAAMqC,KAAKrI,GAASkG,GAGd,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAK,GAC3C8iE,UAAWx1E,EAAS0S,KAAKA,KAAK,GAAG8iE,aAIvC,CAAE,MAAOzvF,GACP3D,QAAQC,IAAI0D,EACd,GA6BI0qF,EAAaA,KACT,IAAIrgD,MACH4zB,UAqBL7vB,EAAW5hB,UAAa,IAADuhE,EAC3B,IAAIlO,EAAsB,IAAKnkF,EAAMmkF,qBACjCD,EAAc,IAAKlkF,EAAMkkF,aAM7B,GAJwB,OAAnBC,QAAmB,IAAnBA,GAA6B,QAAVkO,EAAnBlO,EAAqBmO,gBAAQ,IAAAD,GAA7BA,EAA+BE,gBAtBEzhE,WACtC,IACE,MAAMG,EAAO,CACXyH,QAASr4B,EAASq4B,QAClBw0B,SAAUltD,EAAMkkF,YAAYh3B,UAKD,aAFNn8B,KAAMqC,KAAK1H,GAASuF,IAE9BA,KAAKC,QAChB3yB,MAAM,kCAEV,CAAE,MAAOu+C,GACPn8C,QAAQC,IAAIk8C,EACd,GASQi6C,GAGHl6F,aAAQsnF,IAAyBtnF,aAAQqnF,GA+H5C3lF,MAAM,mCA/HoD,CAC1D,IAAI2zB,OAxHqBpB,WAC3B,IAAIG,EAAO,CACTi8B,SAAUg3B,EAAYh3B,UAExB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKtI,GAASmG,GAC3C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GA6F+B+8D,CAAqBjL,GAClD,MAAM8S,EA3DeC,KACvB,MAAMC,EAAyB,CAAC,EAChC,IAAK,IAAIjgC,EAAI,EAAGA,EAAIggC,EAAU/5F,OAAQ+5D,IAAK,CAAC,IAADkgC,EAAAC,EAAAC,EAAAC,EACzCL,EAAUhgC,GAAe,WAAIA,EACxBigC,EAAuBD,EAAUhgC,GAAY,SAK1B,OAAtBigC,QAAsB,IAAtBA,MAAkC,OAATD,QAAS,IAATA,GAAc,QAALE,EAATF,EAAYhgC,UAAE,IAAAkgC,OAAL,EAATA,EAA0B,UAC5B,OAAtBD,QAAsB,IAAtBA,GAAqD,QAA/BE,EAAtBF,EAAkC,OAATD,QAAS,IAATA,GAAc,QAALI,EAATJ,EAAYhgC,UAAE,IAAAogC,OAAL,EAATA,EAA0B,gBAAE,IAAAD,GAArDA,EACU,OAATH,QAAS,IAATA,GAAc,QAALK,EAATL,EAAYhgC,UAAE,IAAAqgC,OAAL,EAATA,EAA+B,cAOjCJ,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cAC3BrkC,KAAKqkE,EAAUhgC,IANjBigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cACzB,CAACggC,EAAUhgC,IAXfigC,EAAuBD,EAAUhgC,GAAY,SAAK,CAChD,CAACggC,EAAUhgC,GAAiB,cAAI,CAACggC,EAAUhgC,IAgBjD,CACA,OAAOigC,CAAsB,EAoCcK,CACvCrlE,EAAiBjB,KAAKmB,QAAQnB,MAG1B1S,QAAiBi5E,EAAkBtlE,EAAiBjB,KAAKmB,SAE/D,GAAIF,EAAiBxuB,OAAQ,CAAC,IAAD+zF,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3BlmE,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAADi2F,EACtDj2F,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAK/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAsBJ,IAAIvmD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KACpD68D,gCAAiCkJ,EACjChJ,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,WACvCrL,gBAAiB/lE,MAGnBs4E,EACkB,OAAhB3kE,QAAgB,IAAhBA,GAAsB,QAANulE,EAAhBvlE,EAAkBjB,YAAI,IAAAwmE,GAAS,QAATC,EAAtBD,EAAwBrlE,eAAO,IAAAslE,GAAgB,QAAhBC,EAA/BD,EAAiCzmE,KAAK1S,UAAS,IAAAo5E,OAA/B,EAAhBA,EAAiDzqC,SACjC,OAAhBh7B,QAAgB,IAAhBA,GAAsB,QAAN0lE,EAAhB1lE,EAAkBjB,YAAI,IAAA2mE,GAAS,QAATC,EAAtBD,EAAwBxlE,eAAO,IAAAylE,GAAgB,QAAhBC,EAA/BD,EAAiC5mE,KAAK1S,UAAS,IAAAu5E,OAA/B,EAAhBA,EAAiD5P,IACjC,OAAhBh2D,QAAgB,IAAhBA,GAAsB,QAAN6lE,EAAhB7lE,EAAkBjB,YAAI,IAAA8mE,GAAS,QAATC,EAAtBD,EAAwB3lE,eAAO,IAAA4lE,GAAgB,QAAhBC,EAA/BD,EAAiC/mE,KAAK1S,UAAS,IAAA05E,OAA/B,EAAhBA,EAAiD5rD,QACjC,OAAhBna,QAAgB,IAAhBA,GAAsB,QAANgmE,EAAhBhmE,EAAkBjB,YAAI,IAAAinE,GAAS,QAATC,EAAtBD,EAAwB9lE,eAAO,IAAA+lE,GAAgB,QAAhBC,EAA/BD,EAAiClnE,KAAK1S,UAAS,IAAA65E,OAA/B,EAAhBA,EAAiDjI,aACjDD,EAEJ,MACE3xF,MAAM,0BAEV,CAEA,EAGIi5F,EAAoB1mE,UACxB,GAAqC,IAAjC8F,EAAK0hE,wBAA+B,CACtC,MAAMC,EAA0B3hE,EAAK3F,KAAKihC,WACvC9vD,GAAYA,EAAQ8lF,KAAOtxD,EAAK0hE,0BAGnC,OAAIC,GAA2B3hE,EAAK3F,KAAK/zB,OAAS,EACzCq7F,EAGFA,EAA0B,CACnC,CACE,OAAO,CACT,EAGI3I,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAEjB5G,EAA6BwP,IACjC,IAAI,gBAAEtS,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IACP1K,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf2tD,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,GAGFt+D,OAAO+vC,SAAS,EAAG,GACrB,EAIIquB,EAAqBl/D,UACzB,IAAI,gBACFwzD,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,YACpBjD,EAAW,uBACX/E,EAAsB,UACtB4U,GACE/zF,EAEJW,QAAQC,IAAI,mCAAoCmzF,GAEhD,IAAIlE,EAAiBD,EAAkB5B,GAEnCiC,EAAqB9I,EAAqB7C,GAE1CrzD,EAAO,CAAC,EAGVA,EADoC,mBAAlCg/D,EAAmBpD,YACd,CACLwD,eAAgBJ,EAAmBI,eACnCmI,WAAqB,OAATzE,QAAS,IAATA,KAAW72F,OAAS62F,EAAY,GAE5C7mC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAC5BsI,QAASz4F,EAAMo/E,KAAO,EAAI,GAGrB,CACLiR,eAAgBJ,EAAmBI,eAEnCnjC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAC5BsI,QAASz4F,EAAMo/E,KAAO,EAAI,EAC1B+I,UAAW8H,EAAmBlG,qBAAqB7sF,OAC/C+yF,EAAmBlG,qBACnBgK,EAAU72F,OACV,CAAC62F,GACD,IAIRxlE,IAM+B,IAADu4D,EAAAC,EAAAC,EAAAC,EAHD,aAFNl2D,KAAMqC,KAAKpI,GAASiG,IAE9BA,KAAKC,QAChBzC,IAEwB,KAApB61D,GACFuS,EAC0B,QADD/P,EACvBK,EAAqByP,UAAG,IAAA9P,OAAA,EAAxBA,EAA0B55B,SACF,QADU65B,EAClCI,EAAqByP,UAAG,IAAA7P,OAAA,EAAxBA,EAA0BmB,IACF,QADKlB,EAC7BG,EAAqByP,UAAG,IAAA5P,OAAA,EAAxBA,EAA0B36C,QACF,QADS46C,EACjCE,EAAqByP,UAAG,IAAA3P,OAAA,EAAxBA,EAA0BkJ,aAC1BD,KAIJzhE,IACAlwB,MAAM,6CACkB,KAApB+lF,GACFuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,GAGN,EAGI7I,EAAwBA,CAACuP,EAAIzX,KAA4B,IAAD8U,EAC5D,IAAI,gBAAE3P,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACxC4vF,EAAkB5B,GAYN,IAAD0K,GAV5BvR,EAAqB7C,GAAiByF,qBAAqB7sF,OAAS,GACtEiqF,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAElD/D,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,GAKvC,qBAFoB,OAAtB/L,QAAsB,IAAtBA,GAAmC,QAAb8U,EAAtB9U,EAAwB0N,mBAAW,IAAAoH,OAAb,EAAtBA,EAAqC91F,mBAG3B,QAAfu6F,EAAA14F,EAAM+zF,iBAAS,IAAA2E,OAAA,EAAfA,EAAiBx7F,QAAS,GAC5BiqF,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAElD/D,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAItD,IAAIhiD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf8mD,EAAmB4G,GAEnBhlE,OAAO+vC,SAAS,EAAG,EAAE,EA0CjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,EAAO,MAAE9jB,GAAUggB,EAAMK,QAE3B,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GAGFumE,EAAqB7C,GAAiByF,qBAAqB,GAAKF,EAEhE1C,EAAqB7C,GAAiB,GAAKuF,EAE3C1C,EAAqB7C,GAAiByQ,UAAY,GAKzC,IAFP5N,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DX,EACF1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAI1DpI,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,EACxDpI,EAAqB7C,GAAiByQ,UAAY,GAGpDhlE,GAAUa,IAAS,IACdA,EACHu2D,uBACA4M,UAAW,MACV,EA4BCxM,EAA0BA,CAACwJ,EAAQlH,EAAUjpE,KACjD,IAAI,gBAAE0jE,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,IAAYynF,KAGA,IAAjBmH,EACF7J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA2sF,GAGF1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAcJjhE,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtBrgB,EAAQA,EAAM4iD,QAAQ,aAAc,IACpC,IAAI,gBACF4kC,EAAe,qBACf6C,EAAoB,cACpBQ,EAAa,uBACbxI,GACEn/E,EAEJA,EAAM+zF,UAAYj3F,EAAMK,OAExB4yB,GAAUa,IAAS,IACdA,KACAA,EAAUm9D,eACb5G,uBACA4M,UAAWj3F,KACV,EAcCw0F,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAjBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAC3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAKhO,GAAQ6L,EAAK,EAU/CsgE,CAAepK,EAAqB7C,GAAiB,EAGjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAM7D,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAClD,IAAIz/D,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,KAAO,CACL,IAAIA,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,GAGI0nE,EAAc7nE,UAClB,UACyBC,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGImtF,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EA0C7D0K,EAAuB/gE,MAAO8nE,EAAaC,KAC/C,MAAM5nE,EAAO,CACXvxB,KAAM,kBACNm5F,UAAWA,EACXD,YAAaA,EACbpI,WAAY,QACZtjC,SAAUltD,EAAMkkF,YAAYh3B,UAE9B,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAK9I,GAAS2G,GAC3CtwB,QAAQC,IAAI,uBAAwB2d,EAAS0S,MAChB,MAAzB1S,EAAS0S,KAAKC,QACW,gCAAvB3S,EAAS0S,KAAKA,OAChBtwB,QAAQC,IACN,uCACA2d,EAAS0S,KAAKA,KAAK5hB,OAErB0gB,GAAUqa,IACD,IACFA,EACHqjD,YAAalvE,EAAS0S,KAAKA,KAAK5hB,MAChCupC,UAAWr6B,EAAS0S,KAAKA,KAAK5hB,MAAQ,EACtCq+E,OAAQnvE,EAAS0S,KAAKA,KAAKkP,gBAGE,IAA7B5hB,EAAS0S,KAAKA,KAAK5hB,QACrB1O,QAAQC,IACN,oDACA2d,EAAS0S,KAAKA,KAAK5hB,OAErB1O,QAAQC,IAAI,kCACZF,EAAQkyB,KAAK,CACXC,SAAU,mBAKpB,CAAE,MAAOvuB,GACP3D,QAAQC,IAAI0D,EACd,GAEI+0C,EAAcvoB,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzG,IACJ,MAAzBhM,EAAS0S,KAAKC,SAChBvwB,QAAQC,IAAI2d,EAAS0S,MACrBlB,GAAUa,IACD,IACFA,EACHkoB,eAAgB,IAAIv6B,EAAS0S,KAAKA,UAI1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGImjF,EAAsB5B,IAAoB,IAADiT,EAC7C,IAAI,qBAAE3R,GAAyBnnF,EAE/B,MAAM,YAAEkkF,EAAW,gBAAEI,EAAe,uBAAEnF,GAA2Bn/E,EAYhC,IAAD+4F,GAV5B5R,EAAqB7C,GAAiByF,qBAAqB7sF,OAAS,GACtEiqF,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAElD/D,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,GAKvC,qBAFoB,OAAtB/L,QAAsB,IAAtBA,GAAmC,QAAb2Z,EAAtB3Z,EAAwB0N,mBAAW,IAAAiM,OAAb,EAAtBA,EAAqC36F,mBAG3B,QAAf46F,EAAA/4F,EAAM+zF,iBAAS,IAAAgF,OAAA,EAAfA,EAAiB77F,QAAS,GAC5BiqF,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAElD/D,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAItDn7D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MAGnBgR,EACE1P,EAAqBtB,GAAgB34B,SACrCi6B,EAAqBtB,GAAgBqC,IACrCf,EAAqBtB,GAAgBx5C,QACrC86C,EAAqBtB,GAAgBsK,aACrCD,EACD,EAGGxI,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCg5F,EAAc,GAElB7R,EAAqB3vD,SAASp1B,IAC5B,GAA0C,mBAAtCA,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,KAEF1C,IACA,IAAI2D,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,OArNIotB,WACzB,IAAIG,EAAO,CACTi8B,SAAUg3B,EAAYh3B,UAExB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlI,GAAS+F,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUqa,IACD,IACFA,EACH+jD,eAAgB5vE,EAAS0S,KAAKwoE,UAGlC94F,QAAQC,IAAI,aAAc2d,EAAS0S,KAAKA,MACxC4gE,EACEtzE,EAAS0S,KAAKwoE,MAAMC,eACpBn7E,EAAS0S,KAAKwoE,MAAME,kBAEtBlrE,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GA+LEmrE,CAAmB1V,IAUnBz1D,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAC9B,EAGIymE,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,IAAIr4D,EAAiB,CACnByrB,SAAUg3B,EAAYh3B,SACtBhkB,KAAMlpC,EAAM+tF,eAAet1B,SAG7B,IACE,MAAMl6C,QAAiBwS,KAAMqC,KAAKnI,GAASwW,GAC3C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GACP,MAAO,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAGI+jE,EAAyBhmE,UAAa,IAADipE,EACzC,IAAI,gBACFzV,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,YACpBjD,EAAW,UACX6P,GACE/zF,EAEA6vF,EAAiBD,EAAkB5B,GAEnCiC,EAAqB9I,EAAqB7C,GAE1C4L,EAC+B,WAAjClwF,EAAMkkF,YAAY8V,YACd,OACkC,SAAjB,QAAjBD,EAAA/5F,EAAMkkF,mBAAW,IAAA6V,OAAA,EAAjBA,EAAmBC,aACnB,OACA,QAEF/oE,EAAO,CAAC,EAEVA,EADoC,mBAAlCg/D,EAAmBpD,YACd,CACLwD,eAAgBjzE,SAAS6yE,EAAmBI,gBAE5CmI,WAAqB,OAATzE,QAAS,IAATA,KAAW72F,OAAS62F,EAAY,GAE5C7mC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAE5B8J,QAAS/V,EAAY+V,SAGhB,CACL5J,eAAgBjzE,SAAS6yE,EAAmBI,gBAE5ClI,UAA6B,OAAlB8H,QAAkB,IAAlBA,KAAoBlG,qBAC3BkG,EAAmBlG,qBACnB/pF,EAAM+zF,UAAU72F,OAChB,CAAC8C,EAAM+zF,WACP,GAEJ7mC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAE5B8J,QAAS/V,EAAY+V,SAIzB1rE,WAEuBwC,KAAMqC,KAAKpI,GAASiG,IAE9BA,KAAKC,OAChBzC,GAGF,EAGI21D,EAAoBA,KACxB1jF,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACd,EAGEy3D,EAAuBA,KAC3BnqE,GAAUa,IAAS,IACdA,EACHwuD,MAAOxuD,EAAUwuD,QAChB,EA4DL,OACE7hE,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAACkuF,GAAW,CACVvxD,KAAMh8B,EAAM44C,UACZhG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,iBAAkB,EAE7C26D,gBAAiBA,IACfz9D,GAAUqa,IACD,IAAKA,EAAMyO,kBAAkB,EAAMD,WAAW,MAGzD60C,YAAaztF,EAAMytF,YACnBC,OAAQ1tF,EAAM0tF,SAEhBruF,eAACsuF,GAAa,CACZ3xD,KAAMh8B,EAAM64C,iBACZjG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,iBAAkB,EAE7C5B,KAAMjxB,EAAM84C,iBAEdz5C,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAAA,OAAKG,UAAU,uCAAsCD,SAhFvCywB,KAAU,IAADmqE,EAC3B,OAAQnqE,GACN,KAAK,EACH,OACE3wB,eAAC4kF,GAAoB,CACnBC,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,EACV0xC,kBAAmBA,IAGzB,KAAK,EACH,OACE/kF,eAACwnF,GAAiB,CAChBM,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAClBvI,uBAAwBn/E,EAAMm/E,uBAC9BwI,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACfqlE,gBAAiBA,EACjBD,aAAcA,EACdD,WAAiB,OAAL5zF,QAAK,IAALA,GAAkB,QAAbm6F,EAALn6F,EAAOkkF,mBAAW,IAAAiW,OAAb,EAALA,EAAoB/oD,OAChCrhB,SAAUA,EACV+mE,uBAAwBA,EACxBoD,qBAAsBA,EACtB9a,KAAMp/E,EAAMo/E,KACZ8E,YAAalkF,EAAMkkF,YACnB6P,UAAW/zF,EAAM+zF,YAIvB,QACE,OAAO,KACX,EA2BOzgE,CAAWtzB,EAAMgwB,YAGb,IChxCAjwB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EAvBQU,IACrB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAACE,GAAaI,EACnC,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAACC,WAAQ,CAAAC,SACLF,eAACyyF,GAAoB,CAACzxF,SAAUA,EAAUK,QAASA,UAI1DP,GAAUd,eAACD,KAAW,MACd,I,gCCqYAg7F,OAvZkB35F,IAC/B,IAAI,kBACF45F,EAAiB,2BACjBC,EAA0B,gBAC1BhW,EAAe,cACf3tD,EAAa,WACb4jE,EAAU,YACV/I,GACE/wF,EAGJ,MA6BMypF,EAAsBC,GAExB9qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACrD4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAE1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBACVqE,MAAO22F,EAAmBp4F,GAAS7C,SAAA,CAEnCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KACEG,UAAU,iBACVqE,MAAO42F,EAAyBr4F,GAAS7C,SACzC,GAAGkrF,EAAoB3sD,UAE3Bz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,QAEVjiE,MAAO62F,EAAuBt4F,YAzB5B07B,KAgCd,SAMN6sD,EAAqBR,GAEvB9qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACpD4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBACVqE,MAAO22F,EAAmBp4F,GAAS7C,SAAA,CAEnCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KACEG,UAAU,iBACVqE,MAAO42F,EAAyBr4F,GAAS7C,SACzC,GAAGkrF,EAAoB3sD,UAE3Bz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,QAEVjiE,MAAO62F,EAAuBt4F,YAxB5B07B,KA+Bd,SAMN8sD,EAAoBT,GAEtB9qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SACEK,KAAK,SACLoe,YAAY,oBACZhhB,MAAOqtF,EAAavC,eACpBppE,UAAQ,UA0CdksE,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAGbJ,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAYf08D,EAAsBp4F,GACtBA,EAAQmoF,YAAcnoF,EAAQkoF,qBAKvBloF,EAAQmoF,WAJV,CACLjsD,gBAAiB,UACjBspB,OAAQ,sBAOAxlD,EAAQmoF,YAAcnoF,EAAQkoF,oBACjC,CACLhsD,gBAAiB,UACjBspB,OAAQ,0BAHL,EAQH6yC,EAA4Br4F,GAC5BA,EAAQmoF,YAAcnoF,EAAQkoF,qBAIvBloF,EAAQmoF,WAHV,CACLzrF,MAAO,YAMCsD,EAAQmoF,YAAcnoF,EAAQkoF,oBACjC,CACLxrF,MAAO,gBAFJ,EAMH47F,EAA0Bt4F,GAC1BA,EAAQmoF,YAAcnoF,EAAQkoF,qBAIvBloF,EAAQmoF,WAHV,CACLzrF,MAAO,YAMCsD,EAAQmoF,YAAcnoF,EAAQkoF,oBACjC,CACLxrF,MAAO,gBAFJ,EA8BT,OACEO,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACrDge,gBAAA,OAAK/d,UAAU,+CAA8CD,SAAA,CAC3DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,IAAM+8E,IAAah7F,SAClCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,sBAGrB1N,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,uBAIlCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gBAE9BF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,YACEvC,OAjLEwnF,EAAkB,GACjBpiF,WAiLH2+C,IA9KG85C,MACrB,IAAIC,EAAiB,EAIrB,OAHIN,EAA2Bp9F,SAC7B09F,EAAiBN,EAA2Bp9F,QAEvC09F,EAAe14F,UAAU,EAyKTy4F,YAKbp9E,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,QAAM/d,UAAU,kBAAiBD,SAAA,CAC/BF,eAAA,SAAOG,UAAU,mBAAkBD,SA7K5C+kF,EAAkB,IAgLTjlF,eAAA,SAAOG,UAAU,WAAUD,SAAC,MAC5BF,eAAA,SAAOG,UAAU,kBAAiBD,SA9KjBs7F,MACjC,IAAID,EAIJ,OAHIN,EAA2Bp9F,SAC7B09F,EAAiBN,EAA2Bp9F,QAEvC09F,CAAc,EA0KFC,UAIPx7F,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,gBAAeD,SAC3B+6F,EAA2Bp9F,OAC1Bo9F,EAA2BhW,GAAiBoM,SAC1CrxF,eAAA,OACEsgB,IAAKpb,GAAO2I,gBACZsQ,QAASA,IAAMg0E,MAGjBnyF,eAAA,OACEsgB,IAAKpb,GAAO0I,gBACZuQ,QAASA,IAAMg0E,MAGjB,YAIVj0E,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAE,cA7ElBu7F,MACzB,GAAIR,EAA2Bp9F,OAAQ,CACrC,IAAI0vF,EAAe0N,EAEnB,OAAI1N,EAAatI,GAAiBrX,eAAe,aACxC2f,EAAatI,GAAiByW,UAE9B,IAEX,CACE,OAAO,IACT,EAkEyDD,SAE7Cz7F,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAE,kBAzFlBy7F,MACzB,GAAIV,EAA2Bp9F,OAAQ,CAErC,OADmBo9F,EACChW,GAAiBuI,WACvC,CACE,OAAO,IACT,EAmF6DmO,YAGnD37F,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KACEG,UAAU,eACV69C,wBAzMS49C,MACzB,GAAIX,EAA2Bp9F,OAAQ,CAErC,MAAO,CAAEogD,OADUg9C,EACWhW,GAAiByG,OACjD,CACE,OAAO,IACT,EAmMyCkQ,SAI/B57F,eAAA,OAAKG,UAAU,wBAAuBD,SA7W5BotF,MACpB,IAAI2N,EAA2Bp9F,OAwB7B,OAAO,KAxB8B,CACrC,IACE8yB,EADE48D,EAAe0N,EAEjB56F,EAAOktF,EAAatI,GAAiBuI,YAUvC,OAPE78D,EADW,mBAATtwB,EACK,EACW,oBAATA,EACF,EAEA,EAGDswB,GACN,KAAK,EACH,OAAOk6D,EAAmB0C,EAAatI,IACzC,KAAK,EACH,OAAOsG,EAAiBgC,EAAatI,IACvC,KAAK,EACH,OAAOqG,EAAkBiC,EAAatI,IACxC,QACE,OAAO,KAEb,CAEA,EAmVkDqI,KAExCpvE,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,mBAE9BF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KACEG,UAAU,eACV69C,wBAzKO69C,MACzB,GAAIZ,EAA2Bp9F,OAAQ,CAErC,MAAO,CAAEogD,OADUg9C,EACWhW,GAAiB2I,SACjD,CACE,OAAO,IACT,EAmK2CiO,YAQjC77F,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,IAAMmZ,IAAgBp3B,SAAC,wBAO3C,E,QClWA47F,OAlDe16F,IAC5B,IAAI,WAAEojD,GAAepjD,EACrB,MAAMwjC,EAAU,CACdm3D,kBAAkB,EAClBC,eAAe,EACfC,MAAO,SACPh9D,gBAAiB,UACjB1+B,OAAQ,IACRie,MAAO,CACL+zB,KAAM,IAER2pD,MAAO,CACLC,aAAa,GAEfC,MAAO,CAAC,EACRxqE,KAAM,CACJ,CACEvxB,KAAM,SAENg8F,oBAAqB,UACrBC,oBAAqB,UACrB93C,WAAY,CACV,CACE/T,MAAO,UACPhxC,MAAO,UACPu0F,EAAGr0F,OAAO6kD,EAAW+3C,UAEvB,CACE9rD,MAAO,MACPhxC,MAAO,UACPu0F,EAAGr0F,OAAO6kD,EAAWg4C,aAEvB,CACE/rD,MAAO,SACPhxC,MAAO,UACPu0F,EAAGr0F,OAAO6kD,EAAWi4C,mBAM/B,OACEz8F,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAC08F,KAAa,CAAC93D,QAASA,OAEjB,EC+KA+3D,OAnNYv7F,IAAW,IAAD04E,EAEnC,MAAOh5E,EAAQ87F,GAAaz/E,oBAAS,GACrC,IAAI9b,EAAUm1B,uBACd,MAAMsC,EAAWkK,wBACA,OAARlK,QAAQ,IAARA,GAAe,QAAPghD,EAARhhD,EAAUn4B,aAAK,IAAAm5E,GAAfA,EAAiB12C,IAA1B,IACI,kBAAEy5D,EAAiB,cAAEC,EAAa,MAAEC,GAAU37F,EAC9CmpD,EAAUsyC,EAAkBG,WAE7BH,EAAkBI,MAAQJ,EAAkBK,kBAAqB,KACxCp9F,QAAQ,GA6DpC,OANA0B,qBAAU,KACRue,YAAW,KACT68E,GAAU,EAAM,GACf,KAAK,GACP,IAGD1+E,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OACEG,UAAU,UACVge,QAASA,IAAM9c,EAAQo0D,SAIvBv1D,SAEAF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAGnB1N,eAAA,OAAKG,UAAU,eAAcD,SAE3Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKsgB,IAAKpb,GAAOoE,QAAS8X,IAAI,KAC9BphB,eAAA,MAAAE,SAAK28F,EAAkBM,OACvBn9F,eAAA,QAAAE,SAAM,YAERge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKsgB,IAAKpb,GAAOqE,SAAU6X,IAAI,KAC/BphB,eAAA,MAAAE,SAAK28F,EAAkBI,QACvBj9F,eAAA,QAAAE,SAAM,gBAGVF,eAAA,OAAKG,UAAU,6BAuCf+d,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,MAAAE,SAAI,UACJge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,WACf08F,EAAkBN,WAErBr+E,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,QACf08F,EAAkBL,cAErBt+E,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,WACf08F,EAAkBJ,sBAIzBz8F,eAACo9F,GAAmB,CAAC54C,WAAYq4C,OAEnC3+E,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,mBAAmBge,QAvJnCk/E,KACfh8F,EAAQkyB,KAAK,CACXC,SAAU,oBACV7yB,MAAO,CACLk8F,sBAEF,EAiJkE38F,SAAA,CAClDF,eAAA,QAAAE,SAAM,+BACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,eAGnClD,gBAAA,OAAK/d,UAAU,mBAAmBge,QArJlCm/E,KAChBj8F,EAAQkyB,KAAK,CACXC,SAAU,qBACV7yB,MAAO,CACLk8F,sBAEF,EA+ImE38F,SAAA,CACnDF,eAAA,QAAAE,SAAM,yBACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,eAGnClD,gBAAA,OAAK/d,UAAU,mBAAmBge,QAnJlCo/E,KAChBl8F,EAAQkyB,KAAK,CACXC,SAAU,oBACV7yB,MAAO,CACLk8F,sBAEF,EA6ImE38F,SAAA,CACnDF,eAAA,QAAAE,SAAM,sBACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,eAGnClD,gBAAA,OAAK/d,UAAU,mBAAmBge,QAjJlCq/E,KAChBn8F,EAAQkyB,KAAK,CACXC,SAAU,aACV7yB,MAAO,CACLk8F,sBAEF,EA2ImE38F,SAAA,CACnDF,eAAA,QAAAE,SAAM,aACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,eAGnClD,gBAAA,OAAK/d,UAAU,mBAAmBge,QA/IlCs/E,KAYhBp8F,EAAQkyB,KAAK,CACXC,SAAU,2BACV7yB,MAAO,CACL4pD,YAEF,EA8HmErqD,SAAA,CACnDF,eAAA,QAAAE,SAAM,wBACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,gCAgBhDtgB,GAAUd,eAACD,KAAW,MACtB,ECDQW,qBAlBUC,IAChB,CACL+8F,eAAgB/8F,EAAMy2F,uBAAuBsG,mBAIrBvtE,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAM1B1vB,EAzMqBU,IAClC,IAAI,QAAEC,EAAO,eAAEq8F,EAAc,aAAExuE,EAAY,cAAEE,GAAkBhuB,EAC/D,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNqqE,kBAAmB,CAAC,EACpB6B,kBAAmB,CAAC,EACpB5B,2BAA4B,GAC5BhW,gBAAiB,IAEnBzjF,qBAAU,KACRm8F,GAAsB,GACrB,IAEHn8F,qBAAU,MAELhE,aAAQmD,EAAMq6F,oBACfx9F,aAAQmD,EAAMk8F,oBACC,IAAfl8F,EAAMgwB,MAENitE,GACF,GACC,CAACj9F,EAAMq6F,oBAEVx5F,qBAAU,KACHhE,aAAQmD,EAAMq6F,oBAAqC,IAAfr6F,EAAMgwB,MAC7CktE,GACF,GACC,CAACl9F,EAAMgwB,OAEV,MAAMgtE,EAAuBA,KAC3BjtE,GAAUa,IAAS,IACdA,EACHypE,kBAAmB0C,KAClB,EAGCE,EAAYnsE,UAChB,IACIG,EAAO,CACTi8B,SAFsB,IAAKltD,EAAMq6F,mBAELntC,UAG9B,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAKxO,GAAQqM,GACb,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHsrE,kBAAmB39E,EAAS0S,KAAKA,QAGvC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGI44F,EAAgCpsE,UACpC,IAAIupE,EAAoB,IAAKr6F,EAAMq6F,mBAE/BppE,EAAO,CACTi8B,SAAUmtC,EAAkBntC,SAC5BiwC,gBAAiB9C,EAAkB8C,iBAGrC5uE,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKjQ,GAAQ8N,GACb,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH0pE,2BAA4B/7E,EAAS0S,KAAKA,SAE5CxC,MAEAA,IACAlwB,MAAMggB,EAAS0S,KAAK8B,SAExB,CAAE,MAAOzuB,GACPmqB,IACA9tB,QAAQC,IAAI0D,GACZ/F,MAAM,0BACR,GAGIo4B,EAAgBA,KACpB,IAAI2tD,EAAkBtkF,EAAMskF,gBACK,IAAItkF,EAAMs6F,4BAEZp9F,SAAWonF,EAAkB,EAC1D5jF,EAAQo0D,UAER/kC,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,MAErC1yD,OAAO+vC,SAAS,EAAG,GACrB,EAGIy7B,EAAgBA,KACpBrtE,GAAUa,IAAS,IAAWA,EAAWZ,KAAM,KAAK,EAGhDuqE,EAAaA,KACjBxqE,GAAUa,IAAS,IAAWA,EAAWZ,KAAM,KAAK,EAGhDmsE,EAAgBA,KACpBz7F,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACd,EAGE+uD,EAAcA,KAClB,IAAI,gBAAElN,EAAe,2BAAEgW,GAA+Bt6F,EAMtD,GAJAs6F,EAA2BhW,GAAiBoM,UACzC4J,EAA2BhW,GAAiBoM,SAE/C3gE,GAAUa,IAAS,IAAWA,EAAW0pE,iCACrCA,EAA2BhW,GAAiBoM,SAAU,CACxD,IAAIz/D,EAAO,CACTvxB,KAAM,EACN2yD,aAAcioC,EAA2BhW,GAAiB4D,IAC1Dh3D,OAAQ,GAEVynE,EAAY1nE,EACd,KAAO,CACL,IAAIA,EAAO,CACTvxB,KAAM,EACN2yD,aAAcioC,EAA2BhW,GAAiB4D,IAC1Dh3D,OAAQ,GAEVynE,EAAY1nE,EACd,GAGI0nE,EAAc7nE,UAClB,UACyBC,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GA8BF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,8CAA6CD,SA9B9CywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAAC28F,GAAiB,CAChBE,kBAAmBl8F,EAAMk8F,kBACzBkB,cAAeA,EACfjB,cAAeA,EACfz7F,QAASA,IAGf,KAAK,EACH,OACErB,eAAC+6F,GAAuB,CACtBC,kBAAmBr6F,EAAMq6F,kBACzBC,2BAA4Bt6F,EAAMs6F,2BAClChW,gBAAiBtkF,EAAMskF,gBACvB3tD,cAAeA,EACf4jE,WAAYA,EACZ/I,YAAaA,IAGnB,QACE,OAAO,KACX,EAOOl+D,CAAWtzB,EAAMgwB,WAGb,ICvIAjwB,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA/CcU,IAC3B,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAACE,EAAQ,eAAEG,GAAmBC,EAUnD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,sCAAqCD,SAVpDqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACg+F,GAA0B,CAAC38F,QAASA,OAGvC6c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC47C,GAAe,IAChB57C,eAACg+F,GAA0B,CAAC38F,QAASA,WAK7CrB,eAAC67C,GAAgB,IAChB/6C,GAAUd,eAACD,KAAW,MACd,I,wBCsBA6kF,IC1EX,GD0EWA,GAnEexjF,IAC5B,IAAI,YAAEyjF,EAAW,oBAAEC,EAAmB,SAAEzxC,EAAQ,kBAAE0xC,GAAsB3jF,EASxE,OARAE,QAAQC,IAAIsjF,EAAYr3B,YAStBxtD,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CAC5B5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SACAF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAE2kF,EAAYr3B,aAExCtvC,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAAC,aAE3B1C,aAAQqnF,GAEN,KADA,GA3BtB,SAAkBzrB,GAChB,IAAIw5B,EAAIn0F,KAAKC,MAAM06D,EAAU,IACzB2yB,EAAI3yB,EAAU,GAGlB,OAFAw5B,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GAEZ,KADX7G,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GACF,MACvB,CAqByB8G,CAAShO,EAAYn3B,uBAIhCxvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OACEsgB,IAAK,kCAAkCukE,EAAYiO,qBACnD1xE,IAAI,yBAGRphB,eAAA,KAAAE,SAAG,0DACHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,8BAOtC,E,QCrEf,SAAS,KAAa,OAAO,GAAWvC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICi0CArM,OAh1CYpmF,IAAW,IAADqmF,EAAAC,EACnC,IAAI,qBACFI,EAAoB,gBACpB7C,EAAe,uBACfnF,EAAsB,eACtB4O,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,mBACZ7J,EAAkB,iBAClBC,EAAgB,gCAChBoG,EAA+B,oBAC/BU,EAAmB,oBACnBF,EAAmB,gBACnB9P,EAAe,gBACf4P,EAAe,OACf35D,EAAM,aACNlG,EAAY,cACZE,EAAa,WACbqxD,EAAU,YACV5oC,EAAW,KACXlb,EAAI,SACJjM,GACEtvB,EAEJI,qBAAU,KAEkB,GAAxBktF,EAAev1B,OACW,GAA1Bu1B,EAAet1B,SACW,GAA1Bs1B,EAAer1B,UAEfn6D,MAAM,gDACNmpF,EAAiBvI,GACnB,GACC,CAAC4O,EAAer1B,UAEnB,MAAO2wB,EAAQC,GAAa9sE,oBAAS,IAE9BqrE,EAAiBC,GAAsBtrE,mBAAS,KAChD4iE,EAAM4J,GAAWxsE,oBAAS,GAEjC0iE,GAAWC,EAAwBC,GACnCF,GAAWC,EAAwBkK,GAEnC,MAAOtB,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAITioD,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,OAiD5Bk3F,EAAyBhsD,iBAAO,OAgB/BsgD,EAAWC,GAAgBnsE,oBAAS,IACpCosE,EAAYC,GAAiBrsE,oBAAS,GACvCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,GAqC3CuB,EAAqBA,CAACC,EAAcC,EAAkBhL,KAKvD,IAADkV,EAJF,GACU,GAARlV,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAEb,OACEzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEmB,QAAnB+0F,EAAAnK,EAAarkB,cAAM,IAAAwuB,GAAnBA,EAAqBp3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,IAAM3nF,EAAQ+lF,UACP,GAA/B/lF,EAAQkoF,oBAIdrsE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAnCRhoC,KA2Cd,SAIL,GAAY,GAARshD,EAAe,CAAC,IAADmV,EAKtBC,EAJF,QACgCz3F,IAA9BotF,EAAaE,cACiB,OAA9BF,EAAaE,eACD,OAAZF,QAAY,IAAZA,GAA0B,QAAdoK,EAAZpK,EAAcE,oBAAY,IAAAkK,OAAd,EAAZA,EAA4Br3F,QAAS,EAErC,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEyB,QAAzBi1F,EAAArK,EAAaE,oBAAY,IAAAmK,GAAzBA,EAA2Bt3F,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,IAAM3nF,EAAQ+lF,UACP,GAA/B/lF,EAAQkoF,oBAIdrsE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAnCRhoC,KA2Cd,SAhKd/N,GAAUa,IAAS,IACdA,EACHwuD,MAAOxuD,EAAUwuD,SAoKf+K,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAAkBL,qBACpC7sF,OACCiqF,EAAqBiD,GAClBL,qBAAqB,IAAM3nF,EAAQ+lF,UACP,GAA/B/lF,EAAQkoF,oBAIdrsE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,EAAiBtoF,EAAQ0jE,iBAlChDhoC,IA0ClB,GAGI6sD,EAAoBA,CAACR,EAAcC,EAAkBhL,IAE/C,GAARA,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,GAAuB,GAAnB17B,EAAQq2F,QACV,OACEl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,aAG3C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAhCRhoC,EAuCd,IAEF,SAKF,GAARshD,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAC5B17B,EAAQq2F,QAERl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,aAG3C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAhCRhoC,MAkFhB,cApGL,EA2GH8sD,EAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAAOqqF,EAAqB7C,GAAiBsD,gBAAkB,GAC/D3pE,SAAWnB,GAAU0qE,EAAuB1qE,IAJvCstE,SA2CjB,IAAIkT,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAMutF,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAGbS,EAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAIzCuiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,UAItCuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAK3Cz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAItCuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAIzCuiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAGpCuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAI9B,QAAfqtD,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAK3Cz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QArCzC,IAADqtD,EAAAE,CA0CT,EAEIP,EAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAIjD4/D,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAG5C4/D,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAKnDlD,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAI9C4/D,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAIjD4/D,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAG5C4/D,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAItC,QAAf8qE,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAKnDlD,gBAAA,SACE/d,UAAU,iCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aA7EjD,IAAD8qE,EAAAC,CAkFT,EAGF,OACEnsF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,+CAA8CD,SAC3DF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAGFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,cAIDF,eAAA,UACEG,UAAU,mBACVge,QAASA,KACPsiE,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOuE,SAAU2X,IAAI,OAEjCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UACEG,UAAU,SACVge,QAASA,IACPkqE,EAAiBvI,GAClB5/E,SACF,WAGDF,eAAA,UAAQme,QAAS05B,EAAY33C,SAAC,wBAKtCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAE9CmC,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAev1B,QAElBn5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAet1B,UAElBp5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAer1B,QAAU,EACtBq1B,EAAer1B,QACf,IAAG,IAAMq1B,EAAer1B,gBAIlCn7C,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAClB2G,gBACD5rF,eAAA,OACEsgB,IAAKpb,GAAO6T,aACZ5Y,UAAU,cACVge,QAASA,IAAM8zE,IACf7wE,IAAI,gBAGNphB,eAAA,OACEsgB,IAAKpb,GAAO4T,YACZ3Y,UAAU,cACVge,QAASA,IAAM8zE,IACf7wE,IAAI,kBAKT0+D,EAAuByM,aACtBvsF,eAAA,UACEG,UAAW,cACXge,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAE7B6/E,EAAO,SAAM,MAGhB,WAKR7hE,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BAAyBD,SAAC,oBAGvCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7BvC,OAAOC,KAAK6wF,GAAiCntE,KAC5C,CAACurB,EAAapO,IAEVvgB,gBAAA,OAEE+D,MAAM,wBAAuB/hB,SAAA,CAE7BF,eAAA,SACEK,KAAK,QACL0e,GAAI8tB,EACJ7nC,KAAK,UACLvH,MAAOovC,EACPtrB,QAASsrB,IAAgBsyC,EACzBvgE,SAAUA,IACRqwE,EAAoBpiD,KAGxB7sC,eAAA,SAAOihD,IAAKpU,EAAY3sC,SACrB2sC,MAdEpO,UAsBjBvgB,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BAAyBD,SAAC,oBAGvCF,eAAA,OAAKG,UAAU,kCAAiCD,SAC7Ci/E,GACCxhF,OAAOC,KACL6wF,EAAgCtP,IAChC79D,KAAI,CAACq0E,EAAal3D,IAEhBvgB,gBAAA,OAEE+D,MAAM,wBAAuB/hB,SAAA,CAE7BF,eAAA,SACEK,KAAK,QACL0e,GAAI42E,EACJ3wF,KAAK,UACLvH,MAAOk4F,EACPp0E,QAASo0E,IAAgB5G,EACzBnwE,SAAUA,IACRuwE,EAAoBwG,KAGxB31F,eAAA,SAAOihD,IAAK00C,EAAYz1F,SACrBy1F,MAdEl3D,UAqBjBvgB,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACtB,IACfF,eAAA,QAAAE,SACG4nF,EAAqB7C,GAAiBuI,uBAK/CtvE,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,YAAYP,OAAOslF,GAAmB,OAGzCjlF,eAAA,OAAKG,UAAU,MAAKD,SAnjBxC6/E,EAEA//E,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,UAKjCuS,EAA0C,OAAtBne,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,cAE5CvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuByM,gBAMnCvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,mBAkiBvB1rF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3B4/E,QACiCpiF,IAAlCoiF,EAAuBrZ,OA58BvB6mB,EAACxN,EAAwBC,KAC7C,IAAIpvD,EACAtwB,EAA6B,OAAtBy/E,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB0N,YAAY1uF,cAU/C,OAPE6xB,EADW,mBAATtwB,EACK,EACyB,oBAAvBA,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EACL/K,EACAmF,EACAlF,GAEJ,KAAK,EACH,OAAOwL,EAAiBtG,EAAiBlF,GAC3C,KAAK,EACH,OAAOuL,EAAkBxL,EAAwBmF,EAAiBlF,GACpE,QACE,OAAO,KACX,EAo7BwBuN,CAAcxN,EAAwBC,GACtC,QAIR//E,eAACqqC,KAAc,IAEfnsB,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsBhvD,OAoBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QA/jCQwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAC7C5d,QAAQC,IAAI,uBAAwB2d,GACP,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAyiC0C/E,SACpC,mBAOPge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OACE1Z,MAAO,CACLywD,UAAW,MACXtT,aAAc,MACdliD,MAAO,UACPwjD,SAAU,YACV/iD,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OACEsgB,IAAKpb,GAAOuK,mBACZ2R,IAAI,oBAEA,IACRphB,eAAA,QACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QA3mCY8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GA6lC2DlvB,SACtC,uBAIHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EACE9C,EAAkB,GApkClC0R,MAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAkkCxCH,EAAW,EACXz2F,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SACtBonF,EAAkB,EAChBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,aAKHge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEG,UACE2nF,EAAqB7C,IACrB6C,EAAqB7C,GAClB2G,gBACC,UACA,GAENztE,QAASA,IAAM8zE,IAAe/xF,SAC/B,oBAGDF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GAjnCvD+D,MACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA8mCxC9N,EAAU,EACV9oF,SACH,iCAUfF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAIxBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBunF,EACa,QADbC,EACxBI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAC/C,SAEJznF,eAAA,UAAQme,QAASA,IAAMsiE,IAAavgF,SAAC,mBAIvCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,6BAM/CF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAE3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,EAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,EAAoBlpF,EAAS07B,MAV7BA,KAeX,0BAUb,EC91CR,MAAMy/D,GAAqB,qBACrBC,GAA4B,4BAC5BC,GAAgC,gCCqB9B,OArBUtuE,IAChB,CACLzvB,KAAM8uB,GACNW,YAkBW,GAPaA,IACnB,CACLzvB,KAAM8uB,GACNW,YAIW,GAdgBA,IACtB,CACLzvB,KAAM8uB,GACNW,YCsrCWpvB,qBAtBUC,IAChB,CACLitD,SAAUjtD,EAAM09F,aAAaC,YAC7Bn9F,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrCmuE,sBAAwBzuE,IACtBK,EAASquE,GAAiC1uE,GAAS,KAK1CpvB,EArqCeU,IAC5B,IAAI,QACFC,EAAO,SACPusD,EAAQ,sBACR2wC,EAAqB,eACrBp9F,EAAc,aACd+tB,EAAY,cACZE,EAAa,SACbpuB,GACEI,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACdC,oBAAqB,CAAC,EAEtBgD,qBAAsB,GACtBhI,uBAAwB,CAAC,EACzB2O,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,EACTR,YAAa,EACb70C,WAAW,EACX80C,OAAQ,cACR70C,kBAAkB,EAClBC,eAAgB,GAChBq1C,eAAgB,CAAC,KAKZ3P,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,IAEzC8xE,EAAuBjiD,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3BG,EAAS/D,EAAgB,EAIrBkK,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3BG,EAAS/D,EAAgB,EA+B3B,IAAImK,EAxBJ5tF,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAEpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,IACAiI,IACAt9C,GAAa,GACZ,IAEHx4C,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB3uF,EAAMkkF,YAAYn3B,eAElC,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAGV,MAAM2+D,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAGpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,GACb12B,cAAco2B,GAGhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJg2B,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAG9D0pC,EAAyB7lE,UAC7B,IAAIG,EAAO,CACTi8B,SAAUD,EAASC,UAGrB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlQ,GAAQ+N,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHuzD,oBAAqB5lE,EAAS0S,KAAKA,SAErCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAiCIuyF,EAA4B/lE,MAAOo8B,EAAUg7B,KAKjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAEF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK7N,GAAS0L,GAEd,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAK,OAE7CxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GA4BI0qF,EAAaA,KACT,IAAIrgD,MACH4zB,UAGL7vB,EAAW5hB,UAEf,IAAIqzD,EAAsB,IAAKnkF,EAAMmkF,qBACjCD,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQsnF,IAAyBtnF,aAAQqnF,GAwH5C3lF,MAAM,mCAxHoD,CAC1D,IAAI2zB,OA5FqBpB,WAC3B,IAAIG,EAAO,CACTi8B,SAAUg3B,EAAYh3B,UAExB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9N,GAAQ2L,GAC1C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GAiE+B+8D,CAAqBjL,GAClD,MAAM8S,EArCeC,KACvB,MAAMC,EAAyB,CAAC,EAChC,IAAK,IAAIjgC,EAAI,EAAGA,EAAIggC,EAAU/5F,OAAQ+5D,IACpCggC,EAAUhgC,GAAe,WAAIA,EACxBigC,EAAuBD,EAAUhgC,GAAY,SAKhDigC,EAAuBD,EAAUhgC,GAAY,WAC5CigC,EAAuBD,EAAUhgC,GAAY,SAC5CggC,EAAUhgC,GAAiB,cAG7BigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cACzB,CAACggC,EAAUhgC,IAEfigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cAC3BrkC,KAAKqkE,EAAUhgC,IAfjBigC,EAAuBD,EAAUhgC,GAAY,SAAK,CAChD,CAACggC,EAAUhgC,GAAiB,cAAI,CAACggC,EAAUhgC,KAiBjD,OAAOigC,CAAsB,EAccK,CACvCrlE,EAAiBjB,KAAKmB,QAAQnB,MAEhC,GAAIiB,EAAiBxuB,OAAQ,CAAC,IAAD+zF,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3BjB,EACkB,OAAhB3kE,QAAgB,IAAhBA,GAAsB,QAANulE,EAAhBvlE,EAAkBjB,YAAI,IAAAwmE,GAAS,QAATC,EAAtBD,EAAwBrlE,eAAO,IAAAslE,GAAM,QAANC,EAA/BD,EAAiCzmE,YAAI,IAAA0mE,GAAK,QAALC,EAArCD,EAAwC,UAAE,IAAAC,OAA1B,EAAhBA,EAA4C1qC,SACV,QADkB2qC,EACpD3lE,EAAiBjB,KAAKmB,QAAQnB,YAAI,IAAA4mE,GAAK,QAALC,EAAlCD,EAAqC,UAAE,IAAAC,OAAL,EAAlCA,EAAyC5P,KAG3Ch2D,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAADi2F,EACtDj2F,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAK/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAsBJ,IAAIvmD,EAAO8lD,IACXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KACpD68D,gCAAiCkJ,EACjChJ,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAG3C,MACEpxF,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAEjB5G,EAA6BwP,IACjC,IAAI,gBAAEtS,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IACP1K,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf8mD,IAEAp+D,OAAO+vC,SAAS,EAAG,GACnBk1B,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAE7B,EAGIG,EAAY/D,IAChB,MAAMwZ,EAAmBn6F,SAAS2kF,uBAChC,kCAIF,GACEwV,EAAiB5gG,OAAS,GAC1BonF,EAAkB,GAClBA,EAAkBwZ,EAAiB5gG,OACnC,CACA,MACM6gG,EADgBD,EAAiBxZ,EAAkB,GACzByZ,UARf,GASQp6F,SAAS2kF,uBAChC,sCACA,GACe3mB,SAAS,CACxB9b,IAAKk4C,EACLxV,SAAU,UAEd,MAAO,GAAIuV,EAAiB5gG,OAAS,GAAyB,IAApBonF,EAAuB,CACtC3gF,SAAS2kF,uBAChC,sCACA,GACe3mB,SAAS,CACxB9b,IAAK,EACL0iC,SAAU,UAEd,GAoEIyH,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,qBAAE7G,EAAoB,YAAEjD,GACxDlkF,EACFW,QAAQC,IAAI,8BAA+BumF,GAE3C,IAAI8I,EAAqB9I,EAAqB7C,GAC9C3jF,QAAQC,IAAI,4BAA6BqvF,GACzC,IAAIC,EAEF,4DADAhM,EAAY9yC,OAER,OACuB,8BAAvB8yC,EAAY9yC,OACZ,OACA,QAEFngB,EAAO,CAAC,EAE8C,IAAD61D,EAAAC,EAAnB,mBAAlCkJ,EAAmBpD,YACrB57D,EAAO,CACLo/D,eAAgBJ,EAAmBI,eACnCmI,WAAiD,QAArC1R,EAAAK,EAAqB7C,UAAgB,IAAAwC,GAAgB,QAAhBC,EAArCD,EAAuCc,sBAAc,IAAAb,GAArDA,EACR7pF,OACAiqF,EAAqB7C,GAAiBsD,eACtC,GACJ16B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,cAG9Bl/D,EAAO,CAELo/D,eAAgBJ,EAAmBI,eAKnClI,UAAW8H,EAAmBlG,qBAAqB7sF,OAC/C+yF,EAAmBlG,qBACnB,GACJ78B,SAAU+iC,EAAmB/iC,SAE7BojC,cAAeL,EAAmBK,cAElCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,cAIhCxvF,QAAQC,IAAI,YAAaqwB,GACzB1C,IACA,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,2EACAnC,GAEFtwB,QAAQC,IAAI,aAAc2d,GACG,MAAzBA,EAAS0S,KAAKC,QAChBzC,GACF,EAkCI44D,EAAyBuP,IAAQ,IAAD3C,EAAA6E,EACpC,IAAI,gBACFxU,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IAIE7I,EAAqB7C,GAAiB0F,aAChB,OAAtB7K,QAAsB,IAAtBA,GAA8B,QAAR8U,EAAtB9U,EAAwBrZ,cAAM,IAAAmuB,GAAsC,QAAtC6E,EAA9B7E,EAAgC9vC,QAAQinC,GAAMA,EAAEd,6BAAoB,IAAAwO,GAApEA,EACI57F,OAEJiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf2tD,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3Bt2D,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAKF,GAKvD,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DX,EACF1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,IAAYynF,KAGA,IAAjBmH,EACF7J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA2sF,GAGF1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGlD7C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAElB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAwB7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAjBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAC3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAK1P,GAAQuN,EAAK,EAU/CsgE,CAAepK,EAAqB7C,GAAiB,EAGjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAM7D,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAClD,IAAIz/D,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,KAAO,CACL,IAAIA,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,GAGI0nE,EAAc7nE,UAClB,UACyBC,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGImtF,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAC1B,MAAM,qBAAEsB,GAAyBnnF,EAGjC+vB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MAInBgR,EACE1P,EAAqBtB,GAAgB34B,SACrCi6B,EAAqBtB,GAAgBqC,IACtC,GAEIlsD,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,GAC3B+E,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCoC,EAAU+8E,EAEV6Z,EAAc,GAElB,GAA0C,mBAAtC52F,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,CACA1C,IACA,IAAI2D,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,QACnB+qB,IACAmvE,EAAsB1Z,GACtBhtC,IACA8mD,MAKAvvE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAE9B,EAGIymE,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,IAAIr4D,EAAiB,CAInByrB,SAAUg3B,EAAYh3B,SAEtBhkB,KAAM,IAgBR,IACE,MAAM3qB,QAAiBwS,KAAMqC,KAAK5N,GAAQic,GAC1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAGIqxD,EAAoBA,KACxB1jF,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACd,EAqDEu7D,EAA2BltE,UAC/B,IAAIG,EAAO,CACTi8B,SAAUltD,EAAMkkF,YAAYh3B,UAE9B3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9K,GAAS2I,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUqa,IACD,IACFA,EACH+jD,eAAgB5vE,EAAS0S,KAAKA,SAGlCtwB,QAAQC,IAAI,aAAc2d,EAAS0S,KAAKA,MACxC4gE,EACEtzE,EAAS0S,KAAKA,KAAKyoE,eACnBn7E,EAAS0S,KAAKA,KAAK0oE,kBAErBlrE,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAEIojE,EAAuB/gE,MAAO8nE,EAAaC,KAC/C,MAAM5nE,EAAO,CACXvxB,KAAM,gBACNm5F,UAAWA,EACXD,YAAaA,EACbpI,WAAY,MACZtjC,SAAUltD,EAAMkkF,YAAYh3B,UAE9B,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAK9I,GAAS2G,GAC3CtwB,QAAQC,IAAI,uBAAwB2d,EAAS0S,MAChB,MAAzB1S,EAAS0S,KAAKC,QACW,gCAAvB3S,EAAS0S,KAAKA,OAChBtwB,QAAQC,IACN,uCACA2d,EAAS0S,KAAKA,KAAK5hB,OAErB0gB,GAAUqa,IACD,IACFA,EACHqjD,YAAalvE,EAAS0S,KAAKA,KAAK5hB,MAChCupC,UAAWr6B,EAAS0S,KAAKA,KAAK5hB,MAAQ,EACtCq+E,OAAQnvE,EAAS0S,KAAKA,KAAKkP,gBAGE,IAA7B5hB,EAAS0S,KAAKA,KAAK5hB,QACrB1O,QAAQC,IACN,oDACA2d,EAAS0S,KAAKA,KAAK5hB,OAErB1O,QAAQC,IAAI,kCACZF,EAAQkyB,KAAK,CACXC,SAAU,kBAKpB,CAAE,MAAOvuB,GACP3D,QAAQC,IAAI0D,EACd,GAEI+0C,EAAcvoB,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzG,IACJ,MAAzBhM,EAAS0S,KAAKC,SAChBvwB,QAAQC,IAAI2d,EAAS0S,MACrBlB,GAAUa,IACD,IACFA,EACHkoB,eAAgB,IAAIv6B,EAAS0S,KAAKA,UAI1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAYF,OACEiZ,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAACkuF,GAAW,CACVvxD,KAAMh8B,EAAM44C,UACZhG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,gBAAiB,EAE5C26D,gBAAiBA,IACfz9D,GAAUqa,IACD,IAAKA,EAAMyO,kBAAkB,EAAMD,WAAW,MAGzD60C,YAAaztF,EAAMytF,YACnBC,OAAQ1tF,EAAM0tF,SAEhBruF,eAACsuF,GAAa,CACZ3xD,KAAMh8B,EAAM64C,iBACZjG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,gBAAiB,EAE5C5B,KAAMjxB,EAAM84C,iBAEdz5C,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,uCAAsCD,SAtKvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAAC4kF,GAAoB,CACnBC,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,EACV0xC,kBAAmBA,IAGzB,KAAK,EACH,OACE/kF,eAACwnF,GAAiB,CAChBM,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACf0wD,uBAAwBn/E,EAAMm/E,uBAC9BnjD,KAAMA,EACNkb,YAAaA,EACb4oC,WAAYA,IAIlB,QACE,OAAO,KACX,EAuHOxsD,CAAWtzB,EAAMgwB,YAGb,ICnoCAjwB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EAzBQU,IACrB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAACE,GAAaI,EAGnC,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAACC,WAAQ,CAAAC,SACLF,eAACyyF,GAAoB,CAAEzxF,SAAUA,EAAUK,QAASA,UAI3DP,GAAUd,eAACD,KAAW,MACd,I,wBC2BA6kF,ICrDX,GDqDWA,GA9CexjF,IAC5B,IAAI,YAAEyjF,EAAW,oBAAEC,EAAmB,SAAEzxC,EAAQ,kBAAE0xC,EAAiB,oBAAE6Z,GAAwBx9F,EAS7F,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,mDAAkDD,SAC/DF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CAC5B5I,SAAU,qBACVtzB,SACAF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAE2kF,EAAYl2B,eAG1CzwC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,KAAAE,SAAI0+F,EAAoBC,eACxB7+F,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,8BAOtC,E,QChDf,SAAS,KAAa,OAAO,GAAWvC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICs/DArM,OAhgEYpmF,IAAW,IAADqmF,EAAAC,EACnC,IAAI,qBACFI,EAAoB,uBACpBhI,EAAsB,gBACtBmF,EAAe,eACfyJ,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,YACZE,EAAW,oBACXC,EAAmB,mBACnBhK,EAAkB,iBAClBC,EAAgB,gCAChBoG,EAA+B,oBAC/BU,EAAmB,oBACnBF,EAAmB,gBACnB9P,EAAe,gBACf4P,EAAe,cACfzG,EAAa,OACblzD,EAAM,aACNlG,EAAY,cACZE,GACEhuB,EAEJ,MAAM,cACJulF,EAAa,WACbG,EAAU,eACVE,EAAc,WACdG,EAAU,YACV5B,EAAW,aACXM,EAAY,kBACZD,GACEZ,GACFC,EACA6C,EAAqB7C,GAAiBsD,iBAEjCyB,EAAQC,GAAa9sE,oBAAS,IAC9BqrE,EAAiBC,GAAsBtrE,mBAAS,KAEhDurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,MAGRqoD,EAAWC,GAAgBjsE,oBAAS,GAIrC4rE,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,QAqE3B8+B,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,GAE3ByR,EAAyBhsD,iBAAO,OAgB/BsgD,EAAWC,GAAgBnsE,oBAAS,GACrCssE,EAAyBA,IAAMH,GAAa,GAC5CI,EAAwBA,IAAMJ,GAAa,IAE1CvJ,EAAM4J,IAAWxsE,oBAAS,IAC1BysE,GAAKC,IAAU1sE,oBAAS,IACxB2sE,GAAWC,IAAe5sE,oBAAS,GAE1C0iE,GAAWoF,EAAiBlF,EAAMoH,KAClCtH,GAAWoF,EAAiB+E,EAAQ7C,KAEpC,MAIMgD,GAAiBA,KACrBN,IAAO,EAAM,EA0CTQ,GAAcA,CAACC,EAAGC,EAAIC,KACrBZ,IAAOjqF,OAAO2qF,IAAMnD,IAChB,sCAENyC,IACDW,GACApD,KACAoD,EAAGlvB,QAAQ17D,OAAO6qF,KAAc,EAEzB,mCAEA,wBASLI,GAA6B3F,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DssF,MApEFN,IAAO,GACPE,IAAY,GAsEZ,EAEIc,GAAqBA,CAACC,EAAcC,EAAkBhL,KAC1D,MAAMqL,EAAuB3sD,GACP,6BACDA,GAGrB,OACEz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,+CACA,+CACL/kF,SAEA4qF,EAAarkB,QAAUqkB,EAAarkB,OAAO5oE,OACxCitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,IAAI+sD,EAAazoF,EAAQ0jE,OAWzB,OARGsZ,GACD+K,EAAaE,cACbF,EAAaE,aAAavsD,KAE1B+sD,EACEV,EAAaE,aAAavsD,GAAOgoC,QAAU1jE,EAAQ0jE,QAIrDvoD,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAE1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,GAAG5B,YAC3B/lF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAIdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WAGxCjD,EAAaZ,EAAgB,IAGjC/mE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,GAAGkrF,EAAoB3sD,UAG5Bz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQutC,YAxCjC/sD,EA4CJ,IAGV,QAEG,EAIT6sD,GAAoBA,CAACR,EAAcC,EAAkBhL,KACzD,MAAMqL,EAAuB3sD,GACP,6BACDA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAGnB,OACExrF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,QAAUqkB,EAAarkB,OAAO5oE,OACxCitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,IAAI+sD,EAAazoF,EAAQ0jE,OAEzB,IACGsZ,GACD+K,EAAaE,cACbF,EAAaE,aAAantF,OAAS,EACnC,CACA,MAAMihG,EAAchU,EAAaE,aAAavsD,GAC1CqgE,GAAeA,EAAYr4B,SAC7B+kB,EAAasT,EAAYr4B,OAE7B,CAEA,OACEvoD,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAE1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MACpB4Z,GAASA,EAAKm9C,YAAc/lF,EAAQ+lF,YAI7ClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WAEvCjD,EAAaZ,EAAgB,IAGjC/mE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EAAiBG,YAvCxC/sD,EA2CJ,IAGV,QAEG,EAIT8sD,GAAmBA,CAACzL,EAAwBiL,IAE9C/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAGEK,KAAK,OACLoe,YAAY,oBAEZU,UAAUyqE,GACVnsF,MAAOqqF,EAAqBiD,GAAkBxC,eAE9C3pE,SAAWnB,IACT0qE,EAAuB1qE,GACvBmoE,EAAkBnoE,EAAMK,OAAOrgB,MAAM,GAVlCstF,SA+EXkB,GAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAeduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,GAAED,SACd,GAAGu+B,EAAQ,UAeXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAgBhBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,GAC1B2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAeXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAeduiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAcTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAeH,QAAfqtD,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAgBhBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,GAC1B2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QA3Fd,IAADqtD,EAAAE,CA2GT,EAEIP,GAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,YAInB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,gBAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,GAC1B2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAfikF,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,kCACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,GAC1B2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA9GnC,IAADikF,EAAAC,CAmHT,EAyByBrE,EAAqBjqF,OAchD,MAgFMuuF,GAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACzCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,EAAE,EAGDsvC,GAAe5M,IACnB,MAAM9e,EAAgC,OAAtB8e,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB6M,iBAClCC,EAAqC,OAAtB9M,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB+M,eAIvCpf,GAFWsS,GAAQ6M,EAESA,EAAe5rB,EAO3CosB,EACJjE,IAAcpJ,EACV,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGN,OAAItS,GAA8C,KAA3BA,EAAgB3vE,OAEnCogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,GAAgBlsF,SACjEktF,IAYFjE,GACCnpF,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,mBAMX,IACT,EAyKF,IAAI89F,GAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EACA,MAAO0rF,GAAYC,IAAiBrsE,oBAAS,GAE7C,OACEnd,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,GACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,IAAc,EAAM,IAIxB,GAGFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,IAAc,EAAK,EACnBtpF,SACH,cAIDF,eAAA,UACEG,UAAU,mBACVge,QAASA,KAEPsiE,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAUlCge,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOuE,SAAU2X,IAAI,OAEjCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UAAQme,QAASA,IAAMkqE,IAAmBnoF,SAAC,sBAwBnDF,eAAA,OAAKG,UAAU,4BAA2BD,SAExCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAmB9CmC,eAAA,QAAMG,UAAU,4BAA2BD,SACxCymF,IAEHzoE,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAClB2G,gBACD5rF,eAAA,OACEsgB,IAAKpb,GAAO6T,aACZ5Y,UAAU,cACVge,QAASA,IAAM8zE,MAGjBjyF,eAAA,OACEsgB,IAAKpb,GAAO4T,YACZ3Y,UAAU,cACVge,QAASA,IAAM8zE,QAoBpBnS,EAAuByM,aACtBvsF,eAAA,UACEG,UAAW,cACXge,QAASA,IAAMwrE,IAAS5J,GAAM7/E,SAG7B6/E,EAAO,SAAM,MAGhB,WAKR7hE,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BAAyBD,SAAC,oBAGvCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7BvC,OAAOC,KAAK6wF,GAAiCntE,KAC5C,CAACurB,EAAapO,IAEVvgB,gBAAA,OAAiB+D,MAAM,wBAAuB/hB,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAI8tB,EACJ7nC,KAAK,UACLvH,MAAOovC,EACPtrB,QAASsrB,IAAgBsyC,EACzBvgE,SAAUA,IACRqwE,EAAoBpiD,KAGxB7sC,eAAA,SAAOihD,IAAKpU,EAAY3sC,SAAE2sC,MAXlBpO,UAmBpBvgB,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BAAyBD,SAAC,oBAGvCF,eAAA,OAAKG,UAAU,kCAAiCD,SAC7Ci/E,GACCxhF,OAAOC,KACL6wF,EAAgCtP,IAChC79D,KAAI,CAACq0E,EAAal3D,IAEhBvgB,gBAAA,OAAiB+D,MAAM,wBAAuB/hB,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAI42E,EACJ3wF,KAAK,UACLvH,MAAOk4F,EACPp0E,QAASo0E,IAAgB5G,EACzBnwE,SAAUA,IACRuwE,EAAoBwG,KAGxB31F,eAAA,SAAOihD,IAAK00C,EAAYz1F,SAAEy1F,MAXlBl3D,UAkBpBvgB,gBAAA,OAAK/d,UAAU,0DAAyDD,SAAA,CACtEge,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACtB,IACfF,eAAA,QAAAE,SACG4nF,EAAqB7C,GAAiBuI,kBAGzChwF,aACAsqF,EAAqB7C,GAAiB8Z,YAEtC/+F,eAAA,OAAKG,UAAU,uBAAsBD,SAClC4nF,EAAqB7C,GAAiB8Z,kBAK/C7gF,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SAkDnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,YAAYP,OAAOslF,GAAmB,OAEzC/mE,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAzdd81F,MAC9B,MAAM,OAAEC,EAAM,aAAEC,GAAiBpW,GAA0B,CAAC,EACtDqW,EAAUF,GAAUA,EAAOh3F,SAAS,QACpCm3F,EAAUH,GAAUA,EAAOh3F,SAAS,UACpCo3F,EAAWJ,GAAUA,EAAOh3F,SAAS,WAG3C,MAAMq3F,EAAaL,GAAUA,EAAOh3F,SAAS,eAGvCs3F,EAAe,gCAGfC,EAAiBA,CAACvqB,EAAOlG,IACtB,IAAIA,KAGb,IAAIA,EAAUkwB,EAOd,OALIK,IAEFvwB,EAJYkwB,EAIM51C,QAAQk2C,EAAcC,IAGtCzW,EAEA7hE,gBAAA,OAAAhe,SAAA,CAYG+1F,GACCj2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQg4C,KAKbG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAI/B+1F,GAAgBA,EAAap4F,OAAOD,OAAS,EAE7CqgB,gBAAA,OAAAhe,SAAA,CACGg2F,GACCl2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQi4C,KAKbE,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAKjC+d,gBAAA,OAAAhe,SAAA,CACG+1F,GACCj2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQg4C,KAIbG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,mBAIvC,EAgY2B61F,GA7XA1J,MAC3B,MAAM,OAAEZ,EAAM,aAAEa,GAAiBzM,GAA0B,CAAC,EACtDqW,EAAUzK,GAAUA,EAAOzsF,SAAS,QACpCm3F,EAAU1K,GAAUA,EAAOzsF,SAAS,UACpCo3F,EAAW3K,GAAUA,EAAOzsF,SAAS,WAC3C,IAAIw3F,EAAW,GAEf,GAAIN,EAAS,CACX,MACMlqB,EADc,oCACMyqB,KAAKhL,GAC3Bzf,GAASA,EAAM,KACjBwqB,EAAWxqB,EAAM,GAErB,CAEA,OAAI8T,EAEA7hE,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,KAKb0K,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAI/B89F,GAAoB1R,GAEpBruE,gBAAA,OAAAhe,SAAA,CACGqsF,GACCvsF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQsuC,KAKb6J,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAKjC+d,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,KAIb0K,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,mBAIvC,EAwT2BmsF,aAoCTpuE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACZ,OAA3B4/E,QACiCpiF,IAAlCoiF,EAAuBrZ,OAt+CvB6mB,EAACxN,EAAwBC,KAC7C,IAAID,EA+BF,OAAO,KA/BmB,CAC1B,IAAInvD,EACFtwB,EAAOy/E,EAAuB0N,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,GACL/K,EACAmF,EACAlF,GAEJ,KAAK,EACH,OAAOwL,GAAiBzL,EAAwBmF,GAClD,KAAK,EACH,OAAOqG,GACLxL,EACAmF,EACAlF,GAEJ,QACE,OAAO,KAEb,CAEA,EAs8CwBuN,CAAcxN,EAAwBC,GACtC,GA7nBDD,KACvB,IAAIkf,EAAelf,EAAuBmf,SACtCC,EAAkB,aAEtB,IAAKnf,GAAQD,EAAuBqf,eAAgB,CAClD,MAAMC,EAAoBtf,EAAuBqf,eAC3CE,EAAuB,0CAG1BD,EAAkBthG,QAAUshG,EAAkBngG,SAAS,YAGxD+/F,EAAeI,EACfF,EAAkBG,EAEtB,CAEA,OACEr/F,eAAA69B,YAAA,CAAA39B,SACGinF,KACCjpE,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KAAAE,SAAIg/F,IACJl/F,eAAA,KACEG,UAAU,gBACV69C,wBAAyB,CACvBC,OAAQ+gD,KAGXtS,GAAY5M,OAGhB,EA+lBgBwf,CAAgBxf,SAMrB9/E,eAACqqC,KAAc,IAEfnsB,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsBhvD,OAoBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QA3nDQwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAsmD0C/E,SACpC,mBAoBPge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OACE1Z,MAAO,CACLywD,UAAW,MACXtT,aAAc,MACdliD,MAAO,UACPwjD,SAAU,YACV/iD,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OAAKsgB,IAAKpb,GAAOuK,uBACX,IACRzP,eAAA,QACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QAjrDY8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GAmqD2DlvB,SACtC,uBAIHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP2oE,IACAiB,EACE9C,EAAkB,GAnnDlC0R,MAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAknDxCH,GACAvN,GAAa,GACbvD,EAAaZ,EAAkB,EAAE,EACjC/kF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SACtBonF,EAAkB,EAChB/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEmf,SAAUomE,EACVplF,UACEolF,EACI,mBACA,gBAENpnE,QAASA,KACP6oE,GAAe,GACfmD,IAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,cAKHge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEmf,SAAUomE,EACVplF,UACEolF,EACI,mBACA,gBAENpnE,QAASA,KACP6oE,GAAe,GACfmD,IAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACP2oE,IACAkB,EAAsB/C,EAAkB,GAtrDvD+D,MACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAorDxC9N,GACAI,GAAa,GACbvD,EAAaZ,EAAkB,EAAE,EACjC/kF,SACH,0BAmDfF,eAAA,OACEG,UAAW,8BACTopF,GAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,IAAc,EAAM,IAGxBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CAEnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBunF,EACa,QADbC,EACxBI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAC/C,SAEJznF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,mBAqBHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAU3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,6BAM/CF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAE3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAGF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,GAAoBlpF,EAAS07B,MAX7BA,KAgBX,0BA4Bb,ECvjCA/9B,qBAtBUC,IAChB,CACLitD,SAAUjtD,EAAM09F,aAAaC,YAC7Bn9F,eAAgBR,EAAMQ,eACtBo+F,iBAAkB5+F,EAAM09F,aAAamB,sBAIbrvE,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCo7B,uBAAyB17B,IACvBK,EAASkY,GAAgDvY,GAAS,KAKzDpvB,EAn8BeU,IAC5B,IAAI,QACFC,EAAO,SACPusD,EAAQ,uBACRpC,EAAsB,eACtBrqD,EAAc,aACd+tB,EAAY,cACZE,EAAa,SACbpuB,EAAQ,iBACRu+F,GACEn+F,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACd+Z,oBAAqB,CAAC,EACtB9Z,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtBhI,uBAAwB,CAAC,EACzB2O,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,KAEJzP,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,IAEzC8xE,EAAuBjiD,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAEF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IAC1B,EAIGsG,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IAC1B,EA+BH,IAAIuG,EAxBJ5tF,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAEpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,IACAiI,IACAmI,GAAsB,GACrB,IAEHj+F,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB1hC,EAASF,eAEzB,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAGV,MAAM2+D,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAGpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,GACb12B,cAAco2B,GAGhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJomC,EAAuBhuE,UAC3B,MAAMG,EAAO,CACX+8B,WAAYf,EAASe,YAEvBz/B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKxN,GAAQqL,GAC1ClB,GAAUqgE,IAAQ,IACbA,EACH6N,oBAAqB1/E,EAAS0S,KAAKA,SAErCxC,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAGIuyF,EAA4B/lE,MAAOo8B,EAAUg7B,KAKjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAEF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKpH,GAASiF,GAEd,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAEIoqF,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAG9D0pC,EAAyB7lE,UAC7B,IAAIG,EAAO,CACTi8B,SAAUD,EAASC,UAIrB,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAKlQ,GAAQ+N,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHuzD,oBAAqB5lE,EAAS0S,KAAKA,SAErCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GA8DI0qF,EAAaA,KACT,IAAIrgD,MACH4zB,UAGL7vB,EAAW5hB,UAEgB9wB,EAAMmkF,oBAArC,IACID,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQqnF,GAiIX3lF,MAAM,mCAjImB,CACzB,IAAI2zB,OArEqBpB,WAC3B,IAAIG,EAAO,CACTsgB,MAAO2yC,EAAYl2B,WACnB5c,OAAuD,IAAhC,OAAd5wC,QAAc,IAAdA,OAAc,EAAdA,EAAgB6xB,cAAc,GAAG7R,WAC1C,OAA+B,cAArBo+E,EAAmC,OAAS,OAGxDrwE,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKvN,GAAQoL,GAC1C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GAuC+B+8D,CAAqBjL,GAClD,MAAM8S,EArCeC,KACvB,MAAMC,EAAyB,CAAC,EAChC,IAAK,IAAIjgC,EAAI,EAAGA,EAAIggC,EAAU/5F,OAAQ+5D,IACpCggC,EAAUhgC,GAAe,WAAIA,EACxBigC,EAAuBD,EAAUhgC,GAAY,SAKhDigC,EAAuBD,EAAUhgC,GAAY,WAC5CigC,EAAuBD,EAAUhgC,GAAY,SAC5CggC,EAAUhgC,GAAiB,cAG7BigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cACzB,CAACggC,EAAUhgC,IAEfigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cAC3BrkC,KAAKqkE,EAAUhgC,IAfjBigC,EAAuBD,EAAUhgC,GAAY,SAAK,CAChD,CAACggC,EAAUhgC,GAAiB,cAAI,CAACggC,EAAUhgC,KAiBjD,OAAOigC,CAAsB,EAccK,CACvCrlE,EAAiBjB,KAAKmB,QAAQnB,MAEhC,GAAIiB,EAAiBxuB,OAAQ,CAC3BmzF,EACE3kE,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi8B,SACtCh7B,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi3D,KAExCh2D,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAAD28F,EAAA1G,EACtDj2F,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAK/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEJrtF,EAAQk8F,SAA2B,QAAnBS,EAAG38F,EAAQk8F,gBAAQ,IAAAS,OAAA,EAAhBA,EACftP,WACA,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IAAS,IAADsP,EAC/BtP,EAAI5pB,OAAmB,QAAbk5B,EAAGtP,EAAI5pB,cAAM,IAAAk5B,OAAA,EAAVA,EACTvP,WACA,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAEJ,IAAIvmD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KACpD68D,gCAAiCkJ,EACjChJ,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAG3C,MACEpxF,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAEjB5G,EAA6BwP,IACjC,IAAI,gBAAEtS,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IACXgB,IACI1L,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,GAEnBk1B,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAE7B,EAGI8H,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,qBAAE7G,EAAoB,YAAEjD,GACxDlkF,EACEiwF,EAAqB9I,EAAqB7C,GAC1CrzD,EAAO,CACTo/D,eAAgBJ,EAAmBI,eACnClI,UAAW8H,EAAmBlG,qBAAqB,GAC/CkG,EAAmBlG,qBAAqB,GAAG5B,UACT,mBAAlC8H,EAAmBpD,YACnBoD,EAAmBrI,eACnB,GACJ0I,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,WAEhC54B,IACA,IAE+B,aADNwC,KAAMqC,KAAKtN,GAAQmL,IAC7BA,KAAKC,QAChBzC,IAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAGI+iF,EAAyBuP,IAC7B,IAAI,gBACFtS,EAAe,YACf0J,EAAW,uBACX7O,EAAsB,qBACtBgI,GACEnnF,EACA6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IAIE7I,EAAqB7C,GAAiB0F,aACtC7K,EAAuBrZ,OAAO3hB,QAAQinC,GAAMA,EAAEd,sBAAqBptF,OAEnEiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEf2tD,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAE3Bt2D,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAK,CAC9D5B,UAAW0B,IAMJ,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DX,EACF1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,EAAQ+lF,YAAc0B,IAG/B,IAAqB,IAAjBmH,EAAoB,CACtB,IAAIC,EAAM,CACR9I,UAAW0B,GAEb1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA+zF,EAEJ,MACE9J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,GAM7C,IAFP7C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAMO,IAFP1C,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwBttF,OAC9D,EACA2sF,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAEF,IAOK,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EAAqB7C,GAAiBkL,0BACnCtyF,OACH,EACA2sF,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EACE7C,GACAkL,0BAA0B90B,QAAQmvB,GACpC,GAKF1C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAElB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EA0B7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAjBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAC3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAK1P,GAAQuN,EAAK,EAU/CsgE,CAAepK,EAAqB7C,GAAiB,EAEjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAM7D,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAGlCvJ,EAAqB7C,GAAiB4D,GAIxD,KAAO,CAGWf,EAAqB7C,GAAiB4D,GAIxD,GAGIuJ,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAC1B,IAAI,qBAAEsB,GAAyBnnF,EAE/BgwF,IACAjgE,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MAInBgR,EACE1P,EAAqBtB,GAAgB34B,SACrCi6B,EAAqBtB,GAAgBqC,IACtC,EAGGR,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCg5F,EAAc,GAElB7R,EAAqB3vD,SAASp1B,IAC5B,GAA0C,mBAAtCA,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,KAEF1C,IACA,IAAI2D,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,QACnB+qB,IACA/tB,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,WAGhBhU,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAC5BryB,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,SAElB,EAGI+2D,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,MAAM,qBAAE3S,EAAoB,gBAAE7C,EAAe,eAAEyJ,GAAmB/tF,EAElE,IAAIyhC,EAAiB,CAInByrB,SAAUi6B,EAAqB7C,GAAiBp3B,SAEhDhkB,KAAM,IAiBR,IACE,MAAM3qB,QAAiBwS,KAAMqC,KAAK5N,GAAQic,GAC1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAGIqxD,EAAoBA,KACxB1jF,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACd,EAoDJ,OACEpjC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAAA,OAAKG,UAAU,uCAAsCD,SApDvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAAC4kF,GAAoB,CACnBC,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,EACV0xC,kBAAmBA,EACnB6Z,oBAAqBj+F,EAAMi+F,sBAGjC,KAAK,EACH,OACE5+F,eAACwnF,GAAiB,CAChBM,qBAAsBnnF,EAAMmnF,qBAC5BhI,uBAAwBn/E,EAAMm/E,uBAC9B2O,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,IAIrB,QACE,OAAO,KACX,EAOO6E,CAAWtzB,EAAMgwB,WAGb,IC/5BAjwB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EAvBQU,IACrB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,GAAYI,EACnC,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAACC,WAAQ,CAAAC,SACLF,eAACyyF,GAAoB,CAACzxF,SAAUA,EAAUK,QAASA,UAI1DP,GAAUd,eAACD,KAAW,MACd,I,wBCqDA6kF,IC7EX,GD6EWA,GAtEexjF,IAC5B,IAAI,YAAEyjF,EAAW,oBAAEC,EAAmB,SAAEzxC,EAAQ,kBAAE0xC,GAAsB3jF,EAYxE,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CAC5B5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SACAF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAa,OAAX2kF,QAAW,IAAXA,OAAW,EAAXA,EAAar3B,eAS3CtvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OACEsgB,IAAK,kCAAkCukE,EAAYiO,qBACnD1xE,IAAI,yBAGRphB,eAAA,KAAAE,SAAG,0DACHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,8BAOtC,E,QCxEf,SAAS,KAAa,OAAO,GAAWvC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICwoCA+L,OArpCWx+F,IAAW,IAADqmF,EAAAC,EAClC,IAAI,qBACFI,EAAoB,uBACpBhI,EAAsB,gBACtBmF,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,mBACZ7J,EAAkB,iBAClBC,EAAgB,oBAChB8G,EAAmB,oBACnBF,EAAmB,gBACnB9P,EAAe,gBACf4P,EAAe,OACf35D,EAAM,aACNlG,EAAY,cACZE,EAAa,oBACbywE,EAAmB,gCACnBpR,GACErtF,EAEJ,MAAM,cACJulF,EAAa,WACbG,EAAU,eACVE,EAAc,WACdG,EAAU,YACV5B,EAAW,aACXM,EAAY,kBACZD,GACEZ,GACFC,EACA6C,EAAqB7C,GAAiBsD,eACtCzI,GAGIiV,EAAyBhsD,iBAAO,OAE/BpM,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAC1B+F,EAAWC,GAAgBnsE,oBAAS,IACpC6sE,EAAQC,GAAa9sE,oBAAS,IAC9BqrE,EAAiBC,GAAsBtrE,mBAAS,KAChD4iE,EAAM4J,GAAWxsE,oBAAS,IAC1BysE,EAAKC,GAAU1sE,oBAAS,IACxBgsE,EAAWC,GAAgBjsE,oBAAS,IAEpCurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAGf++C,GAAWC,EAAwBC,EAAMoH,KACzCtH,GAAWC,EAAwBkK,EAAQ7C,KAE3C,MAAM4B,EAAqD,KAAzCL,EAAoBI,UAAUjrF,OA+C1C4rF,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,GAE3CY,GAAYA,KAChBL,GAAO,EAAK,EAERM,GAAiBA,KACrBN,GAAO,GACPT,GAAa,EAAM,EA0EfiB,GAAcA,CAACC,EAAGC,EAAIC,IACtB7qF,OAAO2qF,IAAMnD,IACR,qCACEoD,GAAMpD,KAAgBoD,EAAGlvB,QAAQ17D,OAAO6qF,KAAc,EACxD,mCAEA,wBAILC,GAA6BxF,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DqsF,KAEAC,IACF,EAGIS,GAA6B3F,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DssF,KAEAD,IACF,EAGIW,GAAqBA,CAACC,EAAcC,EAAkBhL,KAC1D,MAAMqL,EAAuB3sD,GACP,6BACDA,GAGrB,OACEz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,+CACA,+CACL/kF,SAEA4qF,EAAarkB,QAAUqkB,EAAarkB,OAAO5oE,OACxCitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,IAAI+sD,EAAazoF,EAAQ0jE,OAWzB,OARGsZ,GACD+K,EAAaE,cACbF,EAAaE,aAAavsD,KAE1B+sD,EACEV,EAAaE,aAAavsD,GAAOgoC,QAAU1jE,EAAQ0jE,QAIrDvoD,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,GAAG5B,YAC3B/lF,EAAQ+lF,UACwB,IAAhC/lF,EAAQkoF,oBAIdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxC+W,EAAoB98F,EAAQ+lF,WAC5BjD,EAAaZ,EAAgB,IAGjC/mE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,GAAGkrF,EAAoB3sD,UAG5Bz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQutC,YAtCjC/sD,EA0CJ,IAGV,QAEG,EAIT6sD,GAAoBA,CAACR,EAAcC,EAAkBhL,KACzD,MAAMqL,EAAuB3sD,GACP,6BACDA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAGnB,OACExrF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,QAAUqkB,EAAarkB,OAAO5oE,OACxCitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,IAAI+sD,EAAazoF,EAAQ0jE,OAEzB,IACGsZ,GACD+K,EAAaE,cACbF,EAAaE,aAAantF,OAAS,EACnC,CACA,MAAMihG,EAAchU,EAAaE,aAAavsD,GAC1CqgE,GAAeA,EAAYr4B,SAC7B+kB,EAAasT,EAAYr4B,OAE7B,CAEA,OACEvoD,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MACpB4Z,GAASA,EAAKm9C,YAAc/lF,EAAQ+lF,YAI7ClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCjD,EAAaZ,EAAgB,IAGjC/mE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EAAiBG,YArCxC/sD,EAyCJ,IAGV,QAEG,EAIT8sD,GAAmBA,CAACzL,EAAwBiL,IAE9C/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,OACLoe,YAAY,oBACZU,UAAUyqE,EACVnsF,MAAOqqF,EAAqBiD,GAAkBxC,eAC9C3pE,SAAWnB,IACT0qE,EAAuB1qE,GACvBmoE,EAAkBnoE,EAAMK,OAAOrgB,MAAM,GAPlCstF,SAgBXkB,GAAsBA,CAACjL,EAAUviD,IACjCwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBgsD,GAA0BhsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAGpCuiD,EAAS2J,YAEhB3qF,eAAA,SACEG,UAAU,8BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAK3Cz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAK3CgtD,GAAuBA,CAACzK,EAAUviD,KACtC,MAAM,OAAEitD,EAAM,aAAEa,GAAiBvL,EAC3BoV,EAAU1K,EAAOzsF,SAAS,UAC1Bk3F,EAAUzK,EAAOzsF,SAAS,QAChC,IAAIq2F,EAAgB,GAOpB,OALEA,EADEvV,EACc2L,EAEAa,GAAgBb,EAG9BzG,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBgsD,GAA0BhsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAW,SAAQg2F,EAAU,YAAc,IAAKj2F,SAClDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAG5C4/D,EAAS2J,YAEhBzsE,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAW,SAAQg2F,EAAU,YAAc,IAAKj2F,SAClDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAKnDlD,gBAAA,SACE/d,UAAU,iCACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAW,SAAQg2F,EAAU,YAAc,IAAKj2F,SAClDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,YAGvD,EAGIwiD,GAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,iCAAiC1uC,MACjC,KAIF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAI8vD,EAAqB,CAAE9vD,YAAa3T,EAAEzK,KAAKoe,aAC/Ck0B,eAAeC,QACb,qBACA9hE,KAAKw+C,UAAUi/C,GAEnB,CACF,GAAE,EAGE1T,GAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACzCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,EAAE,EAGDsvC,GAAcA,KAClB,MAAM1rB,EAAgC,OAAtB8e,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB6M,iBAClCC,EAAqC,OAAtB9M,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB+M,eAIvCpf,GAFWsS,GAAQ6M,EAESA,EAAe5rB,EAI3C++B,EAFa,uDAESxoE,KAAKk2C,GAE3B2f,EACJjE,IAAcpJ,EACV,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGN,OAAItS,GAA8C,KAA3BA,EAAgB3vE,OAEnCogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,GAAgBlsF,SACjEktF,IAGFjE,GAAa4W,EACZ//F,eAAA,UACE+e,GAAG,SACHP,MAAM,QACN8B,IAAKmtD,EACL9I,OAAQf,GACR/N,MAAM,0EACNC,iBAAe,IAEf,KACHqzB,IAAc4W,EACb//F,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,gBAEV,QAID,IACT,EAaF,MAgEOopF,GAAYC,IAAiBrsE,oBAAS,GAE7C,OACEnd,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,GACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,IAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,IAAc,EAAK,EACnBtpF,SACH,cAIDF,eAAA,UACEG,UAAU,mBACVge,QAASA,KAEPsiE,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAE9CmC,eAAA,QAAMG,UAAU,4BAA2BD,SACxCymF,IAEHzoE,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAClB2G,gBACD5rF,eAAA,OACEsgB,IAAKpb,GAAO6T,aACZ5Y,UAAU,cACVihB,IAAI,GACJjD,QAASA,IAAM8zE,MAGjBjyF,eAAA,OACEohB,IAAI,GACJd,IAAKpb,GAAO4T,YACZ3Y,UAAU,cACVge,QAASA,IAAM8zE,QAIpBnS,EAAuByM,aACtBvsF,eAAA,UACEG,UAAW,cACXge,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAE7B6/E,EAAO,SAAM,MAGhB,WAMR7hE,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BAAyBD,SAAC,oBAGvCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7BvC,OAAOC,KAAK6wF,GAAiCntE,KAC5C,CAACurB,EAAapO,IAEVvgB,gBAAA,OAAiB+D,MAAM,wBAAuB/hB,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAI8tB,EACJ7nC,KAAK,UACLvH,MAAOovC,EACPtrB,QAASsrB,IAAgBsyC,EACzBvgE,SAAUA,KACRkoE,IACAmI,EAAoBpiD,GACpB+9C,GAA0BnsD,EAAM,IAGpCz+B,eAAA,SAAOihD,IAAKpU,EAAY3sC,SAAE2sC,MAblBpO,UAqBpBvgB,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BAAyBD,SAAC,oBAGvCF,eAAA,OAAKG,UAAU,kCAAiCD,SAC7Ci/E,GACCxhF,OAAOC,KACL6wF,EAAgCtP,IAChC79D,KAAI,CAACq0E,EAAal3D,IAEhBvgB,gBAAA,OAAiB+D,MAAM,wBAAuB/hB,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAI42E,EACJ3wF,KAAK,UACLvH,MAAOk4F,EACPp0E,QAASo0E,IAAgB5G,EACzBnwE,SAAUA,KACRkoE,IACAqI,EAAoBwG,GACpB/K,GAA0BnsD,EAAM,IAGpCz+B,eAAA,SAAOihD,IAAK00C,EAAYz1F,SAAEy1F,MAblBl3D,UAmBpBvgB,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACtB,IACfF,eAAA,QAAAE,SACG4nF,EAAqB7C,GAAiBuI,oBAK7CtvE,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,YAAYP,OAAOslF,GAAmB,OAEzCjlF,eAAA,OAAKG,UAAU,MAAKD,SA7NjBosF,MAC3B,MAAM,OAAEZ,EAAM,aAAEa,GAAiBzM,GAA0B,CAAC,EACtDqW,EAAUzK,GAAUA,EAAOzsF,SAAS,QACpCm3F,EAAU1K,GAAUA,EAAOzsF,SAAS,UACpCo3F,EAAW3K,GAAUA,EAAOzsF,SAAS,WAE3C,OAAI8gF,EAEA7hE,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,KAKb0K,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,qBA/BHnC,EAmCRuuF,KA/Bb,IAAIC,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,EA8B5BqgB,gBAAA,OAAAhe,SAAA,CACGqsF,GACCvsF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQsuC,KAKb6J,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAKjC+d,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,KAIb0K,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAnEf,IAAUnC,CAuElC,EAgK8CsuF,YAI5BtsF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3B4/E,QACiCpiF,IAAlCoiF,EAAuBrZ,OAtsBvB6mB,EAACxN,EAAwBC,KAC7C,IAAID,EA+BF,OAAO,KA/BmB,CAC1B,IAAInvD,EACFtwB,EAAOy/E,EAAuB0N,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,GACL/K,EACAmF,EACAlF,GAEJ,KAAK,EACH,OAAOwL,GAAiBzL,EAAwBmF,GAClD,KAAK,EACH,OAAOqG,GACLxL,EACAmF,EACAlF,GAEJ,QACE,OAAO,KAEb,CAEA,EAsqBwBuN,CAAcxN,EAAwBC,GACtC,QAIR//E,eAACqqC,KAAc,IACfnsB,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOuE,SAAU2X,IAAI,OAEjCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UACEme,QAASA,IACPkqE,EAAiBvI,GAClB5/E,SACF,sBAQTge,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsB1qF,EAAQgc,QAoBjD/e,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QA/2BQwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IACrB,MAApBA,EAAS2S,SACXzC,IACAq6D,IACA90C,GAAgB,0CAChBg0C,EAAuB,CAAEG,UAAW,KACtC,GAEJ,CAAE,MAAO7jF,GAAQ,GAo2B0C/E,SACpC,mBAOPge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OACE1Z,MAAO,CACLywD,UAAW,MACXtT,aAAc,MACdliD,MAAO,UACPwjD,SAAU,YACV/iD,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OACEsgB,IAAKpb,GAAOuK,mBACZ2R,IAAI,oBAEA,IACRphB,eAAA,QACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QAz5BY8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GA24B2DlvB,SACtC,uBAIHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP2oE,IACAiB,EACE9C,EAAkB,GAEpBY,EAAaZ,EAAkB,GAl4B7C0R,MAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA+3BxCH,EAAW,EACXz2F,SACH,iBAOPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SACtBonF,EAAkB,EAChB/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEmf,WAAWomE,EACXplF,UACEolF,EACI,mBACA,gBAENpnE,QAASA,KACP6oE,GAAe,GACfmD,IAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,cAKHge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEmf,WAAWomE,EACXplF,UACEolF,EACI,mBACA,gBAENpnE,QAASA,KACP6oE,GAAe,GACfmD,IAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACP2oE,IACAkB,EAAsB/C,EAAkB,GACxCY,EAAaZ,EAAkB,GAp8B9C+D,MACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAi8BxC9N,EAAU,EACV9oF,SACH,oBA36BJ8/F,MACvB,IAAIhB,EAAelf,EAAuBmf,SACtCC,EAAkB,aAEtB,IAAKnf,GAAQD,EAAuBqf,eAAgB,CAClD,MAAMC,EAAoBtf,EAAuBqf,eAC3CE,EAAuB,0CAG1BD,EAAkBthG,QAAUshG,EAAkBngG,SAAS,YAGxD+/F,EAAeI,EACfF,EAAkBG,EAEtB,CAEA,OACEr/F,eAAA69B,YAAA,CAAA39B,SACGinF,KACCjpE,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KAAAE,SAAIg/F,IACJl/F,eAAA,KACEG,UAAU,gBACV69C,wBAAyB,CACvBC,OAAQ+gD,KAGXtS,GAAY5M,OAGhB,EAq5BYkgB,SAGLhgG,eAAA,OACEG,UAAW,8BACTopF,GAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,IAAc,EAAM,IAGxBtrE,gBAAA,OACE/d,UAAU,uBACVqE,MAAO,CAAEy7F,aAAc,OAAQC,YAAa,QAAShgG,SAAA,CAErDF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBunF,EACa,QADbC,EACxBI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAC/C,SAEJznF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OACE/d,UAAU,oDACVqE,MAAO,CAAE+hD,QAAS,QAASrmD,SAAA,CAE3BF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,qBAM/CF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAE3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IAENjrE,GAAG,QAAO7e,SAGT8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,GAAoBlpF,EAAS07B,MAZ7BA,KAiBX,0BAUb,ECLA/9B,qBAtBUC,IAChB,CACLitD,SAAUjtD,EAAM09F,aAAaC,YAC7Bn9F,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrCmuE,sBAAwBzuE,IACtBK,EAASquE,GAAiC1uE,GAAS,KAK1CpvB,EA1oCeU,IAC5B,IAAI,QACFC,EAAO,SACPusD,EAAQ,sBACR2wC,EAAqB,eACrBp9F,EAAc,aACd+tB,EAAY,cACZE,EAAa,SACbpuB,GACEI,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACdC,oBAAqB,CAAC,EACtBqb,gBAAiB,KACjBrY,qBAAsB,GACtBhI,uBAAwB,CAAC,EACzB2O,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,EACTR,YAAa,EACb70C,WAAW,EACX80C,OAAQ,cACR70C,kBAAkB,EAClBC,eAAgB,GAChBq1C,eAAgB,CAAC,KAEZ3P,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,IAIzC8xE,GAFelmD,iBAAO,IAECiE,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAO3B9oE,YAAW,KACTipE,EAAS/D,EAAiBj4C,EAAQ,GACjC,IAAI,GAGHmiD,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3BG,EAAS/D,EAAiBiK,EAAQ,EA+BpC,IAAIE,EAxBJ5tF,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAEpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,IACAiI,IACAt9C,GAAa,GACZ,IAEHx4C,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB3uF,EAAMkkF,YAAYn3B,eAElC,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAGV,MAAM2+D,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAGpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,GACb12B,cAAco2B,GAGhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJg2B,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAG9D0pC,EAAyB7lE,UAC7B,IAAIG,EAAO,CACTi8B,SAAUD,EAASC,UAGrB3+B,IACA,IAEE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,8EACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHuzD,oBAAqB5lE,EAAS0S,KAAKA,SAErCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAqCIuyF,EAA4B/lE,MAAOo8B,EAAUg7B,KAKjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAEF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,2EACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI46F,EAAuBrV,IAC3B95D,GAAUa,IACD,IACFA,EACH4uE,gBAAiB3V,KAEnB,EA6BEmF,EAAaA,KACT,IAAIrgD,MACH4zB,UAGL7vB,EAAW5hB,UAEf,IAAIqzD,EAAsB,IAAKnkF,EAAMmkF,qBACjCD,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQsnF,IAAyBtnF,aAAQqnF,GAwH5C3lF,MAAM,mCAxHoD,CAC1D,IAAI2zB,OA7GqBpB,WAC3B,IAAIG,EAAO,CACTi8B,SAAUg3B,EAAYh3B,UAExB3+B,IACA,IAEE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,yEACAnC,GAEF,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GA8E+B+8D,CAAqBjL,GAClD,MAAM8S,EArCeC,KACvB,MAAMC,EAAyB,CAAC,EAChC,IAAK,IAAIjgC,EAAI,EAAGA,EAAIggC,EAAU/5F,OAAQ+5D,IACpCggC,EAAUhgC,GAAe,WAAIA,EACxBigC,EAAuBD,EAAUhgC,GAAY,SAKhDigC,EAAuBD,EAAUhgC,GAAY,WAC5CigC,EAAuBD,EAAUhgC,GAAY,SAC5CggC,EAAUhgC,GAAiB,cAG7BigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cACzB,CAACggC,EAAUhgC,IAEfigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cAC3BrkC,KAAKqkE,EAAUhgC,IAfjBigC,EAAuBD,EAAUhgC,GAAY,SAAK,CAChD,CAACggC,EAAUhgC,GAAiB,cAAI,CAACggC,EAAUhgC,KAiBjD,OAAOigC,CAAsB,EAccK,CACvCrlE,EAAiBjB,KAAKmB,QAAQnB,MAEhC,GAAIiB,EAAiBxuB,OAAQ,CAC3BmzF,EACE3kE,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi8B,SACtCh7B,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi3D,KAGxCh2D,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAADi2F,EACtDj2F,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAK/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAsBJ,IAAIvmD,EAAO8lD,IACXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KACpD68D,gCAAiCkJ,EACjChJ,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAG3C,MACEpxF,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAGjB5G,EAA6BwP,IAAQ,IAAD3C,EAAA6E,EACxC,IAAI,gBACFxU,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EAGrD1I,EAAqB7C,EAAkB,GAAG0F,aACpB,OAAtB7K,QAAsB,IAAtBA,GAA8B,QAAR8U,EAAtB9U,EAAwBrZ,cAAM,IAAAmuB,GAAsC,QAAtC6E,EAA9B7E,EAAgC9vC,QAAQinC,GAAMA,EAAEd,6BAAoB,IAAAwO,GAApEA,EACI57F,OAEJiqF,EAAqB7C,EAAkB,GAAG0G,UAAW,EAErD7D,EAAqB7C,EAAkB,GAAG0G,UAAW,EAInD1G,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAIxB6I,IACAp+D,OAAO+vC,SAAS,EAAG,GACnBk1B,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAE7B,EAGIG,EAAY/D,IAChB,MAAMwZ,EAAmBn6F,SAAS2kF,uBAChC,kCAIF,GACEwV,EAAiB5gG,OAAS,GAC1BonF,EAAkB,GAClBA,EAAkBwZ,EAAiB5gG,OACnC,CACA,MACM6gG,EADgBD,EAAiBxZ,EAAkB,GACzByZ,UARf,GASQp6F,SAAS2kF,uBAChC,sCACA,GACe3mB,SAAS,CACxB9b,IAAKk4C,EACLxV,SAAU,UAEd,MAAO,GAAIuV,EAAiB5gG,OAAS,GAAyB,IAApBonF,EAAuB,CACtC3gF,SAAS2kF,uBAChC,sCACA,GACe3mB,SAAS,CACxB9b,IAAK,EACL0iC,SAAU,UAEd,GAGIyH,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,qBAAE7G,EAAoB,YAAEjD,GACxDlkF,EACEiwF,EAAqB9I,EAAqB7C,GAC1C4L,EAEF,4DADAhM,EAAY9yC,OAER,OACuB,8BAAvB8yC,EAAY9yC,OACZ,OACA,QAEFngB,EAAO,CAAC,EAE8C,IAAD61D,EAAAC,EAAzD,GAAsC,mBAAlCkJ,EAAmBpD,YACrB57D,EAAO,CACLo/D,eAAgBJ,EAAmBI,eACnCmI,WAAiD,QAArC1R,EAAAK,EAAqB7C,UAAgB,IAAAwC,GAAgB,QAAhBC,EAArCD,EAAuCc,sBAAc,IAAAb,GAArDA,EACR7pF,OACAiqF,EAAqB7C,GAAiBsD,eACtC,GACJ16B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,mBAEzB,GAAsC,oBAAlCF,EAAmBpD,YAAmC,CAAC,IAAD4S,EAC/DxuE,EAAO,CACLo/D,eAAgBrxF,OAAOixF,EAAmBI,gBAC1ClI,UAA6B,OAAlB8H,QAAkB,IAAlBA,GAAwC,QAAtBwP,EAAlBxP,EAAoBlG,4BAAoB,IAAA0V,GAAxCA,EAA0CviG,OACjD+yF,EAAmBlG,qBAAqBppE,KAAKqqB,IAAI,CAC/Cm9C,UAAWn9C,EAAKm9C,cAElB,GACJj7B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAetxF,OAAOixF,EAAmBK,eACzCC,eAAgBvxF,OAAOixF,EAAmBM,gBAC1CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAEhC,MACEl/D,EAAO,CACLo/D,eAAgBrxF,OAAOixF,EAAmBI,gBAC1ClI,UAAW,CAACnoF,EAAMw/F,iBAClBtyC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAetxF,OAAOixF,EAAmBK,eACzCC,eAAgBvxF,OAAOixF,EAAmBM,gBAC1CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,cAGhC5hE,IAK6B,aAJNwC,KAAMqC,KAC3B,2EACAnC,IAEWA,KAAKC,QAChBzC,GACF,EAGI44D,EAAyBuP,IAAQ,IAAD8I,EAAAC,EACpC,IAAI,gBACFrb,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IAIE7I,EAAqB7C,GAAiB0F,aAChB,OAAtB7K,QAAsB,IAAtBA,GAA8B,QAARugB,EAAtBvgB,EAAwBrZ,cAAM,IAAA45B,GAAsC,QAAtCC,EAA9BD,EAAgCv7C,QAAQinC,GAAMA,EAAEd,6BAAoB,IAAAqV,GAApEA,EACIziG,OAEJiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf2tD,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3Bt2D,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAK,CAC9D5B,UAAW0B,IAMJ,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DxrF,OAAO6qF,GACT1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,EAAQ+lF,YAAc0B,IAG/B,IAAqB,IAAjBmH,EAAoB,CACtB,IAAIC,EAAM,CACR9I,UAAW0B,GAEb1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA+zF,EAEJ,MACE9J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,GAM7C,IAFP7C,EAAqB7C,GAAiByF,qBAAqBrvB,QACzDmvB,IAMO,IAFP1C,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwBttF,OAC9D,EACA2sF,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAEF,IAOK,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EAAqB7C,GAAiBkL,0BACnCtyF,OACH,EACA2sF,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EACE7C,GACAkL,0BAA0B90B,QAAQmvB,GACpC,GAKF1C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAGtBrgB,EAAQA,EAAM4iD,QAAQ,UAAW,IAEjC,IAAI,gBAAE4kC,EAAe,qBAAE6C,GAAyBnnF,EAGhDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAc7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAjBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAC3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAKhO,GAAQ6L,EAAK,EAU/CsgE,CAAepK,EAAqB7C,GAAiB,EAGjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAM7D,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAClD,IAAIz/D,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,KAAO,CACL,IAAIA,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,GAGI0nE,EAAc7nE,UAClB,UACyBC,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGImtF,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAC1B,MAAM,qBAAEsB,GAAyBnnF,EAGjC+vB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MAInBgR,EACE1P,EAAqBtB,GAAgB34B,SACrCi6B,EAAqBtB,GAAgBqC,IACtC,EAGGR,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCoC,EAAU+8E,EAEV6Z,EAAc,GAElB,GAA0C,mBAAtC52F,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,CACA1C,IACA,IAAI2D,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,QACnB+qB,IACAmvE,EAAsB1Z,GACtB0b,MAKAnxE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAE9B,EAGIymE,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,IAAIr4D,EAAiB,CAInByrB,SAAUg3B,EAAYh3B,SAEtBhkB,KAAM,IAgBR,IACE,MAAM3qB,QAAiBwS,KAAMqC,KAAK5N,GAAQic,GAC1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAGIqxD,EAAoBA,KACxB1jF,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACd,EAGEm9D,EAAmC9uE,UACvC,IAAIG,EAAO,CACTi8B,SAAUltD,EAAMkkF,YAAYh3B,UAE9B3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9K,GAAS2I,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUqa,IACD,IACFA,EACH+jD,eAAgB5vE,EAAS0S,KAAKA,SAGlCtwB,QAAQC,IAAI,aAAc2d,EAAS0S,KAAKA,MACxC4gE,EACEtzE,EAAS0S,KAAKA,KAAKyoE,eACnBn7E,EAAS0S,KAAKA,KAAK0oE,kBAErBlrE,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAEIojE,EAAuB/gE,MAAO8nE,EAAaC,KAC/C,MAAM5nE,EAAO,CACXvxB,KAAM,gBACNm5F,UAAWA,EACXD,YAAaA,EACbpI,WAAY,MACZtjC,SAAUltD,EAAMkkF,YAAYh3B,UAE9B,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAK9I,GAAS2G,GACd,MAAzB1S,EAAS0S,KAAKC,QACW,gCAAvB3S,EAAS0S,KAAKA,OAChBtwB,QAAQC,IAAI2d,EAAS0S,MACrBlB,GAAUqa,IACD,IACFA,EACHqjD,YAAalvE,EAAS0S,KAAK5hB,MAC3BupC,UAAWr6B,EAAS0S,KAAK5hB,MAAQ,EACjCq+E,OAAQnvE,EAAS0S,KAAKA,KAAKkP,gBAGH,IAAxB5hB,EAAS0S,KAAK5hB,OAChB3O,EAAQkyB,KAAK,CACXC,SAAU,iBAKpB,CAAE,MAAOvuB,GACP3D,QAAQC,IAAI0D,EACd,GAEI+0C,EAAcvoB,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzG,IACJ,MAAzBhM,EAAS0S,KAAKC,SAChBvwB,QAAQC,IAAI2d,EAAS0S,KAAKyoB,MAC1B3pB,GAAUa,IACD,IACFA,EACHkoB,eAAgBv6B,EAAS0S,KAAKA,SAItC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAoDF,OACEiZ,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAACkuF,GAAW,CACVvxD,KAAMh8B,EAAM44C,UACZhG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,gBAAiB,EAE5C26D,gBAAiBA,IACfz9D,GAAUqa,IACD,IAAKA,EAAMyO,kBAAkB,EAAMD,WAAW,MAGzD60C,YAAaztF,EAAMytF,YACnBC,OAAQ1tF,EAAM0tF,SAEhBruF,eAACsuF,GAAa,CACZ3xD,KAAMh8B,EAAM64C,iBACZjG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,gBAAiB,EAE5C5B,KAAMjxB,EAAM84C,iBAEdz5C,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,uCAAsCD,SAxEvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAAC4kF,GAAoB,CACnBC,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,EACV0xC,kBAAmBA,IAGzB,KAAK,EACH,OACE/kF,eAACwnF,GAAiB,CAChBM,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERoR,oBAAqBA,EACrB1gB,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACf0wD,uBAAwBn/E,EAAMm/E,yBAIpC,QACE,OAAO,KACX,EA2BO7rD,CAAWtzB,EAAMgwB,YAGb,ICpmCAjwB,ICnCX,GDmCWA,iBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EAvBQU,IACrB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,GAAaI,EACpC,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAACC,WAAQ,CAAAC,SACPF,eAACyyF,GAAoB,CAAEzxF,SAAUA,EAAUK,QAASA,UAIzDP,GAAUd,eAACD,KAAW,MACd,I,QCvBf,SAAS,KAAa,OAAO,GAAWpC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICsjCA2M,OAvkC0Bp/F,IACvC,IAAI,qBACF0mF,EAAoB,gBACpB7C,EAAe,uBACfwb,EAAsB,0BACtB1Y,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,OAClBhzD,GACEh0B,EAEJ,MAAO2+E,EAAM4J,GAAWxsE,oBAAS,IAC1BgsE,EAAWC,GAAgBjsE,oBAAS,IACpC6sE,EAAOC,GAAa9sE,oBAAS,GAEpC0iE,GAAW4gB,EAAwB1gB,GACnCF,GAAW4gB,EAAwBzW,GAEnC,MA4BMK,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAIL7V,EAAqBA,CAACC,EAAc/K,IAC5B,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EAEP//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcE,aAAantF,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAMRz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAOR6sD,EAAoBA,CAACR,EAAc/K,IAC3B,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EAEP//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcE,aAAantF,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,cAvCL,EA8CH8sD,EAAmBA,KAAO,IAAD9D,EAC7B,OACEznF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAE9CppE,UAAQ,GALH8lE,QASF,EAoDTrhB,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,iCAAiC1uC,MACjC,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAI8vD,EAAqB,CAAE9vD,YAAa3T,EAAEzK,KAAKoe,aAC/Ck0B,eAAeC,QACb,qBACA9hE,KAAKw+C,UAAUi/C,GAEnB,CACF,GAAE,EAGE1T,EAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACvCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC/C,EAAE,EAwDL,IAAI6gD,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAMutF,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAqEbS,EAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAEhEF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAEhEF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAalBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAEhEF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYhBuiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAEhEF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAUTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAEhEF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWH,QAAfqtD,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAEhEF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYhBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAEhEF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QA9Dd,IAADqtD,EAAAE,CA0ET,EAEIP,EAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAAA,CAEhEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACrBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAAA,CAEhEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACXz+B,eAAA,OAAKG,UAAU,OAAMD,SACrBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKvCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAAA,CAEhEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAAA,CAEhEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAAA,CAEhEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAfikF,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAAA,CAEhEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,KAAOiqE,EAAmB3pD,GAAQ2qD,GAAa,EAAM,EAAElpF,SAAA,CAEhEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA7EnC,IAADikF,EAAAC,CAkFT,GAEK5C,EAAYC,GAAiBrsE,oBAAS,GAElB2qE,EAAqBjqF,OAChD,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACvCqpF,EACGvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEJtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,oBAAmBD,SAC5BF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,gBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAkBlCF,eAAA,OAAKG,UAAU,4BAA2BD,SAC1Cge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC3Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAE9CmC,eAAA,OAAKG,UAAU,aAAYD,SAC1BugG,EAAuBlU,aACpBvsF,eAAA,UACEG,UAAW,cACXge,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAG7B6/E,EAAO,SAAM,MAGhB,UAKR7hE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CAGtCF,eAAA,OAAKG,UAAU,yBAAwBD,SACvCge,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACxB,IACfF,eAAA,QAAAE,SACyB,OAAtBugG,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBjT,mBAI7BxtF,eAAA,OAAKG,UAAU,uBAAsBD,SAkBnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAGJ,OAA3Bwb,QAC0B/iG,IAA3B+iG,EACEzgG,eAAA,KACEG,UAAU,eACV69C,wBA3nBD49C,EAAC6E,EAAwB1gB,KAClD,GAAY,GAARA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,QAE7B,GAAY,GAAR3L,EAAe,CAGxB,OAFake,EAAoBwC,EAAuBlU,cAG/C,CACLtuC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBlU,cAG3B,CACLtuC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAGtC,CACE,MAAO,CACLztC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAEpC,EAsmBmDkQ,CACvB6E,EACA1gB,KAIJ,WAMR//E,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3BugG,QACiC/iG,IAAlC+iG,EAAuBh6B,OAj6BrB6mB,EAACmT,EAAwB1gB,KAC7C,IAAI0gB,EAuBF,OAAO,KAvBmB,CAC1B,IAAI9vE,EACFtwB,EAAOogG,EAAuBjT,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB4V,EAAwB1gB,GACpD,KAAK,EACH,OAAOwL,EAAiBkV,EAAwB1gB,GAClD,KAAK,EACH,OAAOuL,EAAkBmV,EAAwB1gB,GACnD,QACE,OAAO,KAEb,CAEA,EAy4BsBuN,CAAcmT,EAAwB1gB,GACtC,KAgBN7hE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GAC5CmE,GAAa,EAAM,EACnBlpF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,gBAEVtzB,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GACxCmE,GAAa,EAAM,EACnBlpF,SACH,gBAOTge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,eACJge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEg+C,wBAjrBD2iD,EAACF,EAAwB1gB,KAC9C,IAAa,IAATA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,UAE7B,IAAa,IAATlf,EAAgB,CAGzB,OAFake,EAAoBwC,EAAuBtB,gBAG/C,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBtB,gBAG3B,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,SAGtC,CACE,MAAO,CACLhhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAEpC,EA4pB+CiV,CACvBF,EACA1gB,KAvnBN2M,MAClB,MAAM1rB,EAAgC,OAAtBy/B,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB9T,iBAClCC,EAAqC,OAAtB6T,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB5T,eAIvCpf,GAFWsS,GAAQ6M,EAESA,EAAe5rB,EAI3C++B,EAFa,uDAESxoE,KAAKk2C,GAG3B2f,EACNjE,IAAcpJ,EACZ,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGF,OAAItS,GAA8C,KAA3BA,EAAgB3vE,OAEnCogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAGFjE,GAAa4W,EACZ//F,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,EACR/N,MAAM,0EACNC,iBAAe,IAEf,KACHqzB,IAAc4W,EACb//F,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,gBAEV,QAID,IACT,EA0kBqBusF,eAKT1sF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACtCge,gBAAA,OAAAhe,SAAA,CACAF,eAAA,UACMK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAG1BxpF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACzC8pF,EAAShqF,eAACg3F,GAAK,IAAKh3F,eAACi3F,GAAI,MAE1Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACzC8pF,EAAUhqF,eAACk3F,GAAI,IAAKl3F,eAACm3F,GAAK,YAM7Bj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,yBAM/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAC5B,OAApB4nF,QAAoB,IAApBA,KAAsBjqF,OACC,OAApBiqF,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBxmE,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAEEG,UAAW,mCAAkC6pF,EAAS,kCAAmC,IAAK9pF,SAE7F8pF,EAASyB,EAAqB1oF,EAAS07B,GAASwtD,EAAoBlpF,EAAS07B,IAHzEA,KAOX,0BAWX,ECr7BA/9B,qBAhBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,SAGGivB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EA7ImBU,IAChC,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,SAAEE,GAAaI,EACxD,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,GACtB7C,gBAAiB,EACjBwb,uBAAwB,CAAC,IAE3Bj/F,qBAAU,KACR88E,GAAiB,GAChB,IAEH,MAAMxlD,EAAWkK,wBAEXs7C,EAAkB7sD,UACtBvC,IACA,IAAI0C,EAAO,CAETi8B,SAAU/0B,EAASn4B,MAAM4pD,QAAQsD,UAEnC,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAK9N,GAAQ2L,GACb,MAAzB1S,EAAS0S,KAAKC,SAChB+uE,EACE1hF,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBAAiBp3B,SAC1C3uC,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBAAiB4D,KAG5Cn4D,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsB5oE,EAAS0S,KAAKA,SAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,CAAC,QACCA,GAEF,GAGIwxE,EAA4BnvE,MAAOo8B,EAAUg7B,KACjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAGF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK7N,GAAS0L,GAEf,KAAxB1S,EAAS0S,KAAKC,SAChBzC,IAEAsB,GAAUa,IAAS,IACdA,EACHkvE,uBAAwBvhF,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CAAC,QACCmqB,GACF,GA6CF,OACElR,gBAAA,OAAAhe,SAAA,CACEF,eAACwgG,GAA+B,CAC9B1Y,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvBwb,uBAAwB9/F,EAAM8/F,uBAC9B1Y,0BAjC6BgD,IACjC,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EAA0B/yC,EAAUg7B,GAChC5D,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAGxBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAoBI0lB,sBAhDyB+C,IAC7B,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EAA0B/yC,EAAUg7B,GACpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,EAAE,EAsCjB8lB,mBAlBsB5B,IAC1B,MAAM,SAAE34B,EAAQ,IAAEg7B,GAAQloF,EAAMmnF,qBAAqBtB,GAErDoa,EAA0B/yC,EAAUg7B,GAEpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAWCpxD,OAAQp0B,EAASo0B,SAElBt0B,GAAUd,eAACD,KAAW,MACnB,I,gBCsVKW,oBACb,MArB0ByvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCywE,iBAAmB/wE,IACjBK,EAASkY,GAA0CvY,GAAS,EAE9D07B,uBAAyB17B,IACvBK,EAASkY,GAAgDvY,GAAS,EAEpEkX,gBAAkBlX,IAChBK,EAASiY,GAAoBpB,gBAAgBlX,GAAS,KAK7CpvB,EAld2BU,IACxC,IAAI,QACFC,EAAO,SACPL,EAAQ,eACRG,EAAc,aACd+tB,EAAY,cACZE,EAAa,iBACbyxE,EAAgB,uBAChBr1C,EAAsB,gBACtBxkB,GACE5lC,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2jF,SAAU,EACVC,UAAW,CAAC,EACZC,iBAAkB,CAAC,IAErBx/F,qBAAU,KACRy/F,GAAc,GACb,CAACtgG,EAAMmgG,WAEV,MAAMG,EAAexvE,UACnB,IAAIqvE,EAAWngG,EAAMmgG,SACJ,IAAbA,EACFI,IACsB,IAAbJ,EACTK,IACsB,IAAbL,GACTM,GACF,EAGIF,EAAwBzvE,UAC5B,IAAI,cAAE0B,EAAa,aAAED,EAAY,aAAEE,GAAiBjyB,EAEhDywB,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,SACvB4O,SAAUwC,EAAaxC,SACvB49D,UAAW,EACX78B,KAAM,GAGRziC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1O,GAAQuM,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHwvE,UAAW7hF,EAAS0S,KAAKA,SAE3BxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIk8F,EAAuB1vE,UAC3B,IAAI,cAAE0B,EAAa,aAAED,EAAY,aAAEE,GAAiBjyB,EAEhDywB,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,SACvB4O,SAAUwC,EAAaxC,SACvB49D,UAAW,EACX78B,KAAM,GAGRziC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1O,GAAQuM,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHwvE,UAAW7hF,EAAS0S,KAAKA,SAE3BxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIm8F,EAAkB3vE,UACtB,IAAI,cAAE0B,EAAa,aAAED,EAAY,aAAEE,GAAiBjyB,EAEhDywB,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,SACvB4O,SAAUwC,EAAaxC,SACvB49D,UAAW,EACX78B,KAAM,GAGRziC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1O,GAAQuM,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHwvE,UAAW7hF,EAAS0S,KAAKA,SAE3BxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAEIo8F,EAAwB5jF,IAC5B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB,OAAQrgB,GACN,IAAK,kBACHizB,GAAUa,IAAS,IAAWA,EAAWuvE,SAAU,MACnD,MACF,IAAK,iBACHpwE,GAAUa,IAAS,IAAWA,EAAWuvE,SAAU,MACnD,MACF,IAAK,YACHpwE,GAAUa,IAAS,IAAWA,EAAWuvE,SAAU,MAIvD,EAEIQ,EAAmB1zC,IACnBA,EAAS4E,WACP5E,EAAS2zC,eACX/1C,EAAuBoC,GACvBvsD,EAAQkyB,KAAK,6BAGbr0B,MAAM,iCAAiC0uD,EAAS4zC,iBAGR,SAAtC5zC,EAASujC,WAAWryF,eACtBI,MAAM,0CACNmC,EAAQkyB,KAAK,YAEbstE,EAAiBjzC,GACjBvsD,EAAQkyB,KAAK,CACXC,SAAU,QACV7yB,MAAOitD,IAGb,EAoBI6zC,EAA2BA,IAE7BzhG,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,+BAA8BD,SACzC1C,aAAQmD,EAAMogG,WAoDZ,KAnDApgG,EAAMogG,UAAU9N,SAASp1F,OACvB8C,EAAMogG,UAAU9N,SAAS3xE,KAAI,CAACve,EAAS07B,IAGnCvgB,gBAAA,OAEE/d,UAAU,sBACVge,QAASA,IAAMmjF,EAAgBv+F,GAAS7C,SAAA,CAExCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,SAAAE,SAAQ,YAAY4wC,KAClB/tC,EAAQwqD,YACRxb,OAAO,iCAEX/xC,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB6C,EAAQyqD,iBAIfxtD,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,SAAAE,SAAQ,GAAG6C,EAAQ0qD,+BAA+B1qD,EAAQ2qD,2BAA2B3qD,EAAQ4qD,wBAE/F3tD,eAAA,OAAKG,UAAU,wBAAuBD,SACE,SAArC6C,EAAQouF,WAAWryF,cAClBkB,eAAA,SAAOG,UAAU,QAAOD,SAAC,WAEzBF,eAAA,OAAAE,SACG6C,EAAQmwF,UACPlzF,eAAA,SAAOG,UAAU,QAAOD,SAAC,gBAGvB6C,EAAQyvD,WACVxyD,eAAA,SAAOG,UAAU,QAAOD,SAAC,kBAIzBF,eAAA,SAAOG,UAAU,QAAOD,SAAC,yBAnChCu+B,KA6CX,aASZijE,EAA0BA,IAE5B1hG,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,+BAA8BD,SACzC1C,aAAQmD,EAAMogG,WAmDZ,KAlDApgG,EAAMogG,UAAU9N,SAASp1F,OACvB8C,EAAMogG,UAAU9N,SAAS3xE,KAAI,CAACve,EAAS07B,IAEnCvgB,gBAAA,OAEE/d,UAAU,sBACVge,QAASA,IAAMmjF,EAAgBv+F,GAAS7C,SAAA,CAExCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,SAAAE,SAAQ,YAAY4wC,KAClB/tC,EAAQwqD,YACRxb,OAAO,iCAEX/xC,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB6C,EAAQyqD,iBAIfxtD,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,SAAAE,SAAQ,GAAG6C,EAAQ0qD,+BAA+B1qD,EAAQ2qD,2BAA2B3qD,EAAQ4qD,wBAE/F3tD,eAAA,OAAKG,UAAU,wBAAuBD,SACE,SAArC6C,EAAQouF,WAAWryF,cAClBkB,eAAA,SAAOG,UAAU,QAAOD,SAAC,WAEzBF,eAAA,OAAAE,SACG6C,EAAQmwF,UACPlzF,eAAA,SAAOG,UAAU,QAAOD,SAAC,gBAGvB6C,EAAQyvD,WACVxyD,eAAA,SAAOG,UAAU,QAAOD,SAAC,kBAIzBF,eAAA,SAAOG,UAAU,QAAOD,SAAC,yBAnChCu+B,KA6CX,aASZkjE,EAAqBA,IAEvB3hG,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,+BAA8BD,SACzC1C,aAAQmD,EAAMogG,WAmDZ,KAlDApgG,EAAMogG,UAAU9N,SAASp1F,OACvB8C,EAAMogG,UAAU9N,SAAS3xE,KAAI,CAACve,EAAS07B,IAEnCvgB,gBAAA,OAEE/d,UAAU,sBACVge,QAASA,IAAMmjF,EAAgBv+F,GAAS7C,SAAA,CAExCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,SAAAE,SAAQ,YAAY4wC,KAClB/tC,EAAQwqD,YACRxb,OAAO,iCAEX/xC,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB6C,EAAQyqD,iBAIfxtD,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,SAAAE,SAAQ,GAAG6C,EAAQ0qD,+BAA+B1qD,EAAQ2qD,2BAA2B3qD,EAAQ4qD,wBAE/F3tD,eAAA,OAAKG,UAAU,wBAAuBD,SACE,SAArC6C,EAAQouF,WAAWryF,cAClBkB,eAAA,SAAOG,UAAU,QAAOD,SAAC,WAEzBF,eAAA,OAAAE,SACG6C,EAAQmwF,UACPlzF,eAAA,SAAOG,UAAU,QAAOD,SAAC,gBAGvB6C,EAAQyvD,WACVxyD,eAAA,SAAOG,UAAU,QAAOD,SAAC,kBAIzBF,eAAA,SAAOG,UAAU,QAAOD,SAAC,yBAnChCu+B,KA6CX,aAkClB,OACEz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,2CAA0CD,SACvDF,eAAA,OAAKG,UAAU,iDAAgDD,SAC7DF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5Cge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,SACEK,KAAK,QACL0e,GAAG,YACH/Z,KAAK,YACLvH,MAAM,YACNmhB,SAAWnB,GAAU4jF,EAAqB5jF,GAC1C8D,QAA4B,IAAnB5gB,EAAMmgG,WAEjB9gG,eAAA,SAAOwhB,QAAQ,YAAWthB,SAAC,WAE7Bge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,SACEK,KAAK,QACL0e,GAAG,iBACH/Z,KAAK,YACLvH,MAAM,iBACNmhB,SAAWnB,GAAU4jF,EAAqB5jF,GAC1C8D,QAA4B,IAAnB5gB,EAAMmgG,WAEjB9gG,eAAA,SAAOwhB,QAAQ,iBAAgBthB,SAAC,gBAElCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,SACEK,KAAK,QACL0e,GAAG,kBACH/Z,KAAK,YACLvH,MAAM,kBACNmhB,SAAWnB,GAAU4jF,EAAqB5jF,GAC1C8D,QAA4B,IAAnB5gB,EAAMmgG,WAEjB9gG,eAAA,SAAOwhB,QAAQ,kBAAiBthB,SAAC,sBAIvCF,eAAA,OAAKG,UAAU,8BAA6BD,SA3RnC0hG,MAMrB,OALejhG,EAAMmgG,UAMnB,KAAK,EACH,OAAOW,IACT,KAAK,EACH,OAAOC,IACT,KAAK,EACH,OAAOC,IACT,QACE,OAAO,KACX,EA6QeC,iBAOJ,ICnYAlhG,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAnDWU,IACxB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EAUpD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,mCAAkCD,SAVjDqyB,OAAOioB,YAAc,IAajBx6C,eAACC,WAAQ,CAAAC,SACPF,eAAC6hG,GAAgC,CAC/BxgG,QAASA,EACTL,SAAUA,EACVG,eAAgBA,MAKpBnB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,mCAAkCD,SAC/CF,eAAC6hG,GAAgC,CAC/BxgG,QAASA,EACTL,SAAUA,EACVG,eAAgBA,YAO3BL,GAAUd,eAACD,KAAW,MACd,I,gBC1DR,MAAM+hG,GAAU,UACVC,GAAc,cACdC,GAAqB,qBACrB7D,GAA4B,4BCsB1B,OAvBEruE,IACN,CAAEzvB,KAAM8uB,GAAqBW,YAsBzB,GAnBKA,IAChBxuB,QAAQC,IAAI,qCAAsCuuB,GAC3C,CAAEzvB,KAAM8uB,GAAyBW,YAiB7B,GAdWA,IACf,CACLzvB,KAAM8uB,GACNW,YC6gBSpvB,qBAlCUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtBmwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,cAGC1D,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCqW,gBAAkB3W,IAChBK,EAASiY,GAAoB3B,gBAAgB3W,GAAS,EAExDmyE,gBAAkBnyE,IAChBK,EAAS+xE,GAAmCpyE,GAAS,EAEvDyuE,sBAAwBzuE,IACtBK,EAAS+xE,GAAyCpyE,GAAS,EAE7DqyE,mBAAqBryE,IACnBK,EAAS+xE,GAAsCpyE,GAAS,EAG1DsyE,OAAStyE,IACPK,EAASkyE,GAAgCvyE,GAAS,KAKzCpvB,EAxgBkBU,IAAW,IAADkhG,EAAAC,EACzC,IAAI,eACFphG,EAAc,gBACdslC,EAAe,gBACfw7D,EAAe,sBACf1D,EAAqB,mBACrB4D,EAAkB,aAClBjzE,EAAY,cACZE,EAAa,MACbkC,EAAK,UACLuC,EAAS,OACTuuE,GACEhhG,GAEA,cAAE4xB,GAAkB7xB,EACpBE,EAAUm1B,uBAEd,MAAO71B,EAAO+vB,GAAYvT,mBAAS,CACjCqlF,aAAc,CAAC,EACfC,iBAAkB,CAAC,EACnBC,SAAU,GACVC,aAAc,KACdC,YAAY,EACZC,aAAc,YACdC,YAAa,KAcTC,EAAoBn1C,IACnBA,EAAS4E,aAC8B,SAAtC5E,EAASujC,WAAWryF,eACtBI,MAAM,0CACNmC,EAAQkyB,KAAK,YAEb0uE,EAAgBr0C,GAChBvsD,EAAQkyB,KAAK,cAEjB,EAeF/xB,qBAAU,KAKRwhG,uBAJoBC,KAClB1wE,OAAO+vC,SAAS,GAAI,GAAG,GAGS,GACjC,IAEH,MAKM4gC,EAAcA,KAClBC,IACAzyE,GAAUa,IAAS,IACdA,EACHqxE,YAAY,KACX,EAGCQ,EAAiB9iE,uBAAY7O,UACjCvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMqC,KAAKxH,GAAS,CAAC,EAAG,CAAEoH,YACpB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHuxE,YAAa5jF,EAAS0S,KAAKA,SAGjC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,IACC,CAAC4uB,EAAWvC,EAAOlC,EAAeF,IAE/Bm0E,EAAkB/iE,uBACtB7O,UACEvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK/N,GAAQ,CAAEopB,SAC5C,GAA6B,MAAzBlwB,EAAS0S,KAAKC,OAGhB,GAFAzC,IAEmC,MAA/B4D,EAAc,GAAG7R,UAAmB,CACtC,IAAImiF,EAAgB,GAEpB,IAAK,IAAI1rC,EAAI,EAAGA,EAAI14C,EAAS0S,KAAKA,KAAK/zB,OAAQ+5D,KAEpB,cAAvBj3D,EAAMkiG,cACN3jF,EAAS0S,KAAKA,KAAKgmC,GAAG7lB,OAAOjzC,cAAcG,SAAS,SAI7B,YAAvB0B,EAAMkiG,cACN3jF,EAAS0S,KAAKA,KAAKgmC,GAAG7lB,OAAOjzC,cAAcG,SAAS,SAHpDqkG,EAAc/vE,KAAKrU,EAAS0S,KAAKA,KAAKgmC,IAS1ClnC,GAAUa,IAAS,IACdA,EACHixE,aAAcc,KAElB,MACE5yE,GAAUa,IAAS,IACdA,EACHixE,aAActjF,EAAS0S,KAAKA,QAIpC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,IAEF,CAACtE,EAAMkiG,aAAc7vE,EAAe5D,EAAeF,IAG/Ci0E,EAAsB7iE,uBAAY7O,UACtC,IAAI,cAAE0B,EAAa,aAAED,GAAiB/xB,EAClCywB,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,UAEzBkN,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1N,GAAQuL,GAEb,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHkxE,iBAAkBvjF,EAAS0S,KAAKA,SAGtC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,IACC,CAAC9D,EAAgBiuB,EAAeF,IAE7Bq0E,EAAcjjE,uBAAY7O,UAC9B,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAK3M,IACL,MAAzBlI,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IAAAiyE,EAAA,MAAM,IACpBjyE,EACHmxE,SAAU,IAAIxjF,EAAS0S,KAAKA,KAAK6xE,WACjCd,aAAmC,QAAvBa,EAAEtkF,EAAS0S,KAAKA,KAAK,UAAE,IAAA4xE,OAAA,EAArBA,EAAuBp0D,KACtC,GAEL,CAAE,MAAOnqC,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,IACC,CAACA,IAEEs0E,EAAsBjmF,IAC1BiT,GAAUa,IAAS,IACdA,EACHoxE,aAAcllF,EAAMK,OAAOrgB,SAC1B,EAEL+D,qBAAU,KACUiwB,iBACV4xE,EAAgB1iG,EAAMgiG,aAAa,EAG3CrvC,EAAW,GACV,CAAC+vC,EAAiB1iG,EAAMgiG,eAmF3B,OAhBAnhG,qBAAU,KACR4hG,IACAG,IACAJ,GAAqB,GACpB,CAACC,EAAgBD,EAAqBI,IAEzC/hG,qBAAU,KACJb,EAAMgiG,cACRU,EAAgB1iG,EAAMgiG,aACxB,GACC,CAAChiG,EAAMgiG,aAAcU,IAExB7hG,qBAAU,KACR6hG,EAAgB1iG,EAAMgiG,aAAa,GAClC,CAAChiG,EAAMkiG,aAAcQ,EAAiB1iG,EAAMgiG,eAG7C3iG,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACD,MAAf,QAAhBoiG,EAAAtvE,EAAc,UAAE,IAAAsvE,OAAA,EAAhBA,EAAkBnhF,YAnDrBnhB,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,UACEG,UAAW,WACc,cAAvBQ,EAAMkiG,cAAgC,WAExC1kF,QAASA,IACPuS,GAAUqa,IAAI,IACTA,EACH83D,aAAc,gBAEjB3iG,SACF,cAGDF,eAAA,UACEG,UAAW,WACc,YAAvBQ,EAAMkiG,cAA8B,WAEtC1kF,QAASA,IACPuS,GAAUqa,IAAI,IACTA,EACH83D,aAAc,cAEjB3iG,SACF,sBA4BHge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,MAAI+D,MAAM,eAAelD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAChDF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,kBACNlD,GAAG,gBACH,iBAAe,MACf,iBAAe,aACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,YACd,gBAAc,OACdia,QA1EWwlF,KACvBjzE,GAAUa,IAAS,IACdA,EACHqxE,YAAY,KACX,EAsEmC1iG,SAC3B,iBAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,WACNlD,GAAG,gBACH,iBAAe,MACf,iBAAe,aACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,YACd,gBAAc,QACdia,QAAS+kF,EAAYhjG,SACtB,iBAI6B,MAAf,QAAhBqiG,EAAAvvE,EAAc,UAAE,IAAAuvE,OAAA,EAAhBA,EAAkBphF,YACK,aAAtBxgB,EAAMkiG,cACJ7iG,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,WACNlD,GAAG,mBACH,iBAAe,MACf,iBAAe,gBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,eACd,gBAAc,QACdia,QAAS+kF,EAAYhjG,SACtB,2BAnIO0jG,MACtB,IAAyB,IAArBjjG,EAAMiiG,WACR,OACE5iG,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,UACEG,UAAU,eACVye,SAAU8kF,EACVjmG,MAAOkD,EAAMgiG,aAAaziG,SAExB1C,aAAQmD,EAAM+hG,UAQZ,KAPA/hG,EAAM+hG,SAAS7kG,OACb8C,EAAM+hG,SAASphF,KAAKve,GAClB/C,eAAA,UAA2BvC,MAAOsF,EAAQqsC,KAAKlvC,SAC5C6C,EAAQqsC,MADErsC,EAAQqsC,QAIvB,QAKd,EAqHOw0D,MAEH5jG,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MAAM,4BACNlD,GAAG,YACH7a,KAAK,WACL,kBAAgB,gBAAehE,SAE/BF,eAAA,OAAKG,UAAU,sBAAqBD,UAChC1C,aAAQmD,EAAM6hG,eAAiB7hG,EAAM6hG,aAAa3kG,OAChD8C,EAAM6hG,aAAalhF,KAAI,CAACve,EAAS07B,IAE7BvgB,gBAAA,OAAiB/d,UAAU,kBAAiBD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,QAAAE,SAAO6C,EAAQyqD,iBAGnBxtD,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,KAAAE,SAAI6C,EAAQgvC,aAIhB7zB,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACrB6C,EAAQ62F,aAQR17E,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,UACEG,UAAU,WACVge,QAASA,KAjTvCogF,EAiT6Dx7F,QAhT7D1B,EAAQkyB,KAAK,iBAgTyDrzB,SACzC,YAIDF,eAAA,UACEG,UAAU,WACVge,QAASA,IAAM4kF,EAAiBhgG,GAAS7C,SAC1C,iBAlBHF,eAAA,UACEG,UAAU,UACVge,QAASA,IAAM4kF,EAAiBhgG,GAAS7C,SAC1C,cAoBHF,eAAA,UACEG,UAAU,WACVge,QAASA,KArVVyvC,SAqVkC7qD,GApV7CyvD,aAC8B,SAAtC5E,EAASujC,WAAWryF,eACtBI,MAAM,0CACNmC,EAAQkyB,KAAK,YAEb0uE,EAAgBr0C,GAChBvsD,EAAQkyB,KAAK,uBA8UmD,EAAArzB,SAC3C,kBAxCKu+B,KA+Cd,SAGRz+B,eAAA,OACEiiB,MAAM,gBACNlD,GAAG,YACH7a,KAAK,WACL,kBAAgB,gBAAehE,SAE/BF,eAAA,OAAKG,UAAU,mBAAkBD,SAC7B1C,aAAQmD,EAAM8hG,kBAsBZ,KArBA9hG,EAAM8hG,iBAAiBz1D,QAAQnvC,OAC7B8C,EAAM8hG,iBAAiBz1D,QAAQ1rB,KAAI,CAAC0xB,EAAMvU,IAEtCvgB,gBAAA,OAEE/d,UAAU,WACVge,QAASA,IArYT60B,KACxBvM,EAAgB,CAAEo9D,MAAO7wD,EAAKpG,OAAQk3D,QAAS9wD,EAAKlG,WACpDq1D,EAAmBxhG,EAAMkiG,cACzBxhG,EAAQkyB,KAAK,oBAAoB,EAkYMwwE,CAAiB/wD,GAAM9yC,SAAA,CAEtCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAK0yB,EAAK/F,MAAO7rB,IAAI,UAE5BphB,eAAA,MAAAE,SAAK8yC,EAAKlG,cAEZ9sC,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,cAX5Bqd,KAgBX,SAIVz+B,eAAA,OACEiiB,MAAM,gBACNlD,GAAG,eACH7a,KAAK,WACL,kBAAgB,mBAAkBhE,SAElCF,eAAA,OAAKG,UAAU,mBAAkBD,SAC7B1C,aAAQmD,EAAMmiG,aAmCZ,KAlCAniG,EAAMmiG,YAAYjlG,OAChB8C,EAAMmiG,YAAYxhF,KAAI,CAAC0xB,EAAMvU,IAEzBvgB,gBAAA,OAEE/d,UAAU,UACVge,QAASA,KA/ZRiwB,MAgaE4E,EAAKgxD,KAEF9kG,MAAM,0BAlaXkvC,EAiauB4E,EAAKixD,SAharD7B,EAAOh0D,GACP/sC,EAAQkyB,KAAK,uBAga+C,EAClCrzB,SAAA,CAEFF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,MAAAE,SAAK8yC,EAAKixD,aAEZjkG,eAAA,OAAKG,UAAU,QAAOD,SACnB8yC,EAAKgxD,KACJhkG,eAAA,OACEG,UAAU,aACVmgB,IAAKpb,GAAOiD,cACZiZ,IAAI,WAGNphB,eAAA,OACEG,UAAU,cACVmgB,IAAKpb,GAAO+C,SACZmZ,IAAI,cAtBLqd,KA6BX,kBAOf,I,QC7XQ/9B,qBAnBUC,IAChB,CACLQ,eAAgBR,EAAMQ,mBAGCgvB,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCqW,gBAAkB3W,IAChBK,EAASiY,GAAoB3B,gBAAgB3W,GAAS,KAK7CpvB,EA5GoBU,IACjC,IAAI,eAAED,EAAc,gBAAEslC,EAAe,gBAAEw7D,GAAoB7gG,EACvDC,EAAUm1B,uBACd,MAAO71B,EAAO+vB,GAAYvT,mBAAS,CACjCqlF,aAAc,CAAC,EACfC,iBAAkB,CAAC,IAQrBjhG,qBAAU,KACR2hG,GAAqB,GACpB,IAGH,MAAMA,EAAsB1xE,UAC1B,IAAI,cAAE0B,EAAa,aAAED,GAAiB/xB,EAClCywB,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,UAGzB,IACE,MAAM9C,QAAiBwS,KAAMqC,KAAK1N,GAAQuL,GACb,MAAzB1S,EAAS0S,KAAKC,QAEhBnB,GAAUa,IAAS,IACdA,EACHkxE,iBAAkBvjF,EAAS0S,KAAKA,QAGtC,CAAE,MAAO3sB,GAEP3D,QAAQC,IAAI0D,EACd,GAGI9F,EAA8BC,IAElC,MAAMC,EAAYD,EAAaA,EAAWb,MAAM,KAAO,KAEvD,OAAkB,OAAdc,EACK,CACLC,WAAY,0BAA0BD,EAAU,OAAOA,EAAU,iBAG5D,CACLC,WAAY,UAEhB,EAGF,IAAM0tC,QAASV,GAAgB3rC,EAAM8hG,iBACrC,OACEziG,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,mBAAkBD,SAC7B1C,aAAQ8uC,GAyBN,KAxBAA,EAAYzuC,OACVyuC,EAAYhrB,KAAI,CAAC0xB,EAAMvU,IAEnBvgB,gBAAA,OAEE/d,UAAU,WACVqE,MAAOrF,EACL6zC,EAAK5zC,YAEP+e,QAASA,KAAM4lF,OA7DPn3D,EA6DwBoG,EAAKlG,SA5DrDrG,EAAgB,CAAEo9D,MAAOj3D,SACzBvrC,EAAQkyB,KAAK,qBAFWqZ,KA6DuC,EAAA1sC,SAAA,CAE/Cge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAK0yB,EAAK/F,MAAO7rB,IAAI,WAE5BphB,eAAA,MAAAE,SAAK8yC,EAAKlG,cAEZ9sC,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAO2C,kBAAmBuZ,IAAI,cAdrCqd,KAmBX,QAGP,I,QClGA,MAAMylE,GAAqB,qBACrBC,GAA4B,4BAC5BC,GAAuB,uBAEvBC,GAAuB,uBACvBC,GAAoB,oBACpBC,GACX,kCCqCa,OA1CUz0E,IAChB,CACLzvB,KAAM8uB,GACNW,YAuCW,GAnCgBA,IACtB,CACLzvB,KAAM8uB,GACNW,YAgCW,GA5BqBA,IAC3B,CACLzvB,KAAM8uB,GACNW,YAyBW,GArBYA,IAClB,CACLzvB,KAAM8uB,GACNW,YAkBW,GAdYA,IAClB,CACLzvB,KAAM8uB,GACNW,YAWW,GAPSA,IACf,CACLzvB,KAAM8uB,GACNW,Y,QCiGWpvB,qBAPUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClB+qB,SAAUl+C,EAAMM,KAAK49C,YAIe,KAAzBn+C,EAjIWU,IACxB,MAAM,KAAEm2B,EAAI,MAAEjG,EAAK,UAAEuC,EAAS,aAAE3E,EAAY,cAAEE,GAAkBhuB,GAEzD2+E,EAAM4J,GAAWxsE,mBAAS,WAEjC3b,qBAAU,KACRgjG,GAAqB,GACpB,IAEH,MAAOC,EAAsBC,GAA2BvnF,mBAAS,CAC/DwnF,sBAAsB,EACtBC,gBAAiB,KAGbC,EAA8BA,KAClCH,GAAyBnzE,IAAS,IAC7BA,EACHozE,sBAAsB,MAGxBvjG,EAAM0jG,yBAAwB,EAAM,EAehCN,EAAsBA,KAC1Bt1E,IAEA,MAIM0C,EAAO,CACXgpE,QAASrjE,EAAKqjE,QACdmK,WAAYxtE,EAAKwtE,YAEnB,IACErzE,KAAMqC,KAAKjM,GAAS8J,GAAMP,MAAMnS,IAC9BwlF,GAAyBnzE,IAAS,IAC7BA,EACHqzE,gBAAiB1lF,EAAS0S,KAAKA,KAAKozE,iBAGd,MAApB9lF,EAAS2S,SACXzC,IA9BNs1E,GAAyBnzE,IAAS,IAC7BA,EACHozE,sBAAsB,MA8BpB,GAEJ,CAAE,MAAO1/F,GACPmqB,GACF,GAII61E,EAAaC,IACjB,IAAIC,EAAM7gG,SAAS47E,cAAc,KAGjC,OAFAilB,EAAIC,UAAYF,EAETC,EAAIE,aAAeF,EAAIznE,WAAa,EAAE,EAG/C,OACExf,gBAACwe,KAAK,CACJC,KAAM8nE,EAAqBE,qBAC3BpxD,OAAQsxD,EACRrvD,gBAAgB,aAChBt1C,SAAA,CAEAge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,yBAGNge,gBAACwe,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAAA,CAChCF,eAAA,OAAKG,UAAU,uBAAsBD,SAEnCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,UAAQU,SAxDYnB,IAC5BksE,EAAQlsE,EAAMK,OAAOrgB,MAAM,EAuDoByC,SAAA,CACrCF,eAAA,UAAAE,SAAQ,YACRF,eAAA,UAAAE,SAAQ,iBAKdF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,MAAAE,SAAI,2CACJF,eAAA,MAAAE,SAAI,6BAEG,WAAR6/E,EACIviF,aAAQinG,IACNjnG,aAAQinG,EAAqBG,iBAK9B,KAJEK,EACER,EAAqBG,gBAAgBU,sBAI3CL,EACER,EAAqBG,gBAAgBW,gCAMjDvlG,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,UAAQme,QAAS0mF,EAA4B3kG,SAAC,aAE1C,I,QCiFGQ,qBARUC,IAAW,IAAD6kG,EACjC,MAAO,CACLl0E,MAAO3wB,EAAMM,KAAK6yB,UAClB+qB,SAAUl+C,EAAMM,KAAK49C,SACrB19B,UAA+B,QAAtBqkF,EAAE7kG,EAAMQ,sBAAc,IAAAqkG,OAAA,EAApBA,EAAsBxyE,cAAc,GAAG7R,UACnD,GAGqC,KAAzBzgB,EAxMQU,IAAW,IAADqkG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC/B,MAAM,KACJjvE,EAAI,MACJjG,EAAK,UACLuC,EAAS,aACT3E,EAAY,cACZE,EAAa,OACbtuB,EAAM,UACNqgB,GACE/f,EACJI,qBAAU,KACRilG,GAAiB,GAChB,IAEH,MAAOC,EAAmBC,GAAwBxpF,mBAAS,CACzDypF,mBAAmB,EACnBC,aAAc,CAAC,IAGXC,EAA2BA,KAC/BH,GAAsBp1E,IACb,IACFA,EACHq1E,mBAAmB,MAIvBxlG,EAAM2lG,sBAAqB,EAAM,EAS7BN,EAAkBA,KACtB,MAAM9yE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACXi8B,SAAUt2B,EAAKs2B,SACf+sC,QAASrjE,EAAKqjE,QACdmK,WAAYxtE,EAAKwtE,YAGnB71E,IACA,IACEwC,KAAMqC,KAAKhM,GAAS6J,EAAM,CAAE+B,YAAWtC,MAAMnS,IACnB,MAApBA,EAAS2S,SACXzC,IACAu3E,GAAsBp1E,IAAS,IAC1BA,EACHs1E,aAAc3nF,EAAS0S,KAAKA,KAAKo1E,UAvBzCL,GAAsBp1E,IAAS,IAC1BA,EACHq1E,mBAAmB,MAwBjB,GAEJ,CAAE,MAAO3hG,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGF,OACEiZ,gBAACwe,KAAK,CACJC,KAAM+pE,EAAkBE,kBACxBrzD,OAAQuzD,EACRtxD,gBAAgB,aAChBt1C,SAAA,CAEAge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,qBAGNge,gBAACwe,KAAMmX,KAAI,CAAA3zC,SAAA,CACTge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKiiB,MAAM,SAAS9hB,UAAU,4BAA2BD,SACrC,OAAjBwmG,QAAiB,IAAjBA,GAA+B,QAAdjB,EAAjBiB,EAAmBG,oBAAY,IAAApB,OAAd,EAAjBA,EAAiCwB,YAGpCjnG,eAAA,MAAAE,SACEge,gBAAA,OAAK+D,MAAM,MAAK/hB,SAAA,CACdge,gBAAA,OAAK+D,MAAM,QAAO/hB,SAAA,CAChBge,gBAAA,MAAAhe,SAAA,CAAI,gBACY,IACdF,eAAA,QAAAE,SAAwB,OAAjBwmG,QAAiB,IAAjBA,GAA+B,QAAdhB,EAAjBgB,EAAmBG,oBAAY,IAAAnB,OAAd,EAAjBA,EAAiCwB,eAE1ChpF,gBAAA,MAAAhe,SAAA,CAAI,kBACc,IAChBge,gBAAA,QAAAhe,SAAA,CACoB,OAAjBwmG,QAAiB,IAAjBA,GAA+B,QAAdf,EAAjBe,EAAmBG,oBAAY,IAAAlB,OAAd,EAAjBA,EAAiCwB,kBAAkB,iBAI1DjpF,gBAAA,OAAK+D,MAAM,QAAO/hB,SAAA,CAChBge,gBAAA,MAAAhe,SAAA,CAAI,oBACgB,IAClBF,eAAA,QAAAE,SACoB,OAAjBwmG,QAAiB,IAAjBA,GAA+B,QAAdd,EAAjBc,EAAmBG,oBAAY,IAAAjB,OAAd,EAAjBA,EAAiCn4C,qBAGtCvvC,gBAAA,MAAAhe,SAAA,CAAI,gBACY,IACdF,eAAA,QAAAE,SAAwB,OAAjBwmG,QAAiB,IAAjBA,GAA+B,QAAdb,EAAjBa,EAAmBG,oBAAY,IAAAhB,OAAd,EAAjBA,EAAiCuB,0BAOlDlpF,gBAAA,SAAAhe,SAAA,CACEF,eAAA,SAAAE,SACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIwE,MAAO,CAAClF,WAAY,4DAA4DY,SAAC,YACrFF,eAAA,MAAIwE,MAAO,CAAClF,WAAY,4DAA4DY,SAAC,cAEvE,GAAbihB,EACCjD,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,MAAAE,SAAI,YACJF,eAAA,MAAAE,SAAI,cAGNF,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,MAAIwE,MAAO,CAAClF,WAAY,8EAA8EY,SAAC,iBAM/GF,eAAA,SAAAE,SACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SACGwmG,EAAkBG,cACE,OAAjBH,QAAiB,IAAjBA,GAA+B,QAAdZ,EAAjBY,EAAmBG,oBAAY,IAAAf,GAA/BA,EAAiCp8C,SACd,OAAjBg9C,QAAiB,IAAjBA,GAA+B,QAAdX,EAAjBW,EAAmBG,oBAAY,IAAAd,OAAd,EAAjBA,EAAiCr8C,SAAS5D,QAE5C,OAEN9lD,eAAA,MAAAE,SACGwmG,EAAkBG,cACE,OAAjBH,QAAiB,IAAjBA,GAA+B,QAAdV,EAAjBU,EAAmBG,oBAAY,IAAAb,GAA/BA,EAAiCt8C,SACd,OAAjBg9C,QAAiB,IAAjBA,GAA+B,QAAdT,EAAjBS,EAAmBG,oBAAY,IAAAZ,GAAU,QAAVC,EAA/BD,EAAiCv8C,gBAAQ,IAAAw8C,OAAxB,EAAjBA,EAA2CtgD,UAE7C,OAGQ,GAAbzkC,EACCjD,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,MAAAE,SACGwmG,EAAkBG,cACE,OAAjBH,QAAiB,IAAjBA,GAA+B,QAAdP,EAAjBO,EAAmBG,oBAAY,IAAAV,GAA/BA,EAAiCz8C,SACd,OAAjBg9C,QAAiB,IAAjBA,GAA+B,QAAdN,EAAjBM,EAAmBG,oBAAY,IAAAT,OAAd,EAAjBA,EAAiC18C,SAAS29C,QAE5C,OAGNrnG,eAAA,MAAAE,SACGwmG,EAAkBG,cACE,OAAjBH,QAAiB,IAAjBA,GAA+B,QAAdL,EAAjBK,EAAmBG,oBAAY,IAAAR,GAA/BA,EAAiC38C,SACd,OAAjBg9C,QAAiB,IAAjBA,GAA+B,QAAdJ,EAAjBI,EAAmBG,oBAAY,IAAAP,OAAd,EAAjBA,EAAiC58C,SAAS49C,OAE5C,UAIRtnG,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,MAAAE,SACGwmG,EAAkBG,cACE,OAAjBH,QAAiB,IAAjBA,GAA+B,QAAdH,EAAjBG,EAAmBG,oBAAY,IAAAN,GAA/BA,EAAiC78C,SACd,OAAjBg9C,QAAiB,IAAjBA,GAA+B,QAAdF,EAAjBE,EAAmBG,oBAAY,IAAAL,OAAd,EAAjBA,EAAiC98C,SAAS7D,MAE5C,oBAWlB7lD,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,UAAQme,QAAS2oF,EAAyB5mG,SAAC,aAEvC,I,QC2EGQ,qBA1BUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB7R,SAAUrhB,EAAMM,KAAKC,KAAK8gB,SAC1Bb,UAAWxgB,EAAMQ,eAAe6xB,cAAc,GAAG7R,UACjDrgB,OAAQH,EAAMI,GAAGD,OACjBu4B,QAAS14B,EAAMM,KAAKC,KAAKm4B,QACzBkuE,aAAc5mG,EAAM4mG,aAAaA,iBAITp3E,IAAQ,CAClCjB,aAAcA,KACZiB,EAASqE,KAAuB,EAGlCpF,cAAeA,KACbe,EAASqE,KAAwB,EAGnCgzE,sBAAwB13E,IACtBK,EAASs3E,GAA+B33E,GAAS,KAItCpvB,EA5POU,IACpB,MAAM,MACJkwB,EAAK,UACLuC,EAAS,SACT7R,EAAQ,UACRb,EAAS,sBACTqmF,EAAqB,aACrBt4E,EAAY,cACZE,EAAa,OACbtuB,GACEM,EACEC,EAAUm1B,wBACTkxE,EAAoBC,GAAyBxqF,mBAAS,KACtDoa,EAAMqwE,GAAWzqF,mBAAS,CAAC,IAE3B0qF,EAAsB/C,GAA2B3nF,oBAAS,IAC1D2qF,EAAmBf,GAAwB5pF,oBAAS,IAEpDo2C,EAASw0C,GAAc5qF,oBAAS,IAChC43C,EAAQizC,GAAa7qF,mBAAS,GAErC3b,qBAAU,KACRymG,GAAmB,GAClB,IAEH,MAAMA,EAAoBx2E,UACxB,IAEIsjC,EAASt2D,KAAKm/B,MAAuB,OAAlB8pE,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB7pG,QAF1B,GAEiD,EAElE,MAAM81B,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACX9T,OAAQqD,EACRc,MAAOD,EACP2vC,KAAMoD,GAGR7lC,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1L,GAASuJ,EAAM,CAAE+B,YAEnDryB,QAAQC,IAAI,WAAY2d,GACI,KAAxBA,EAAS0S,KAAKC,SAChBzC,IACA24E,EAtBa,IAsBF7oF,EAAS0S,KAAKA,KAAKo1E,MAAMp1E,KAAK/zB,QACzC8pG,EAAsB,IACjBD,KACAxoF,EAAS0S,KAAKA,KAAKo1E,MAAMp1E,OAG9Bo2E,EAAUjzC,EAAS,GAEvB,CAAE,MAAO9vD,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GA8CF,OACElR,gBAAA2f,YAAA,CAAA39B,SAAA,CACG2nG,GACC7nG,eAACkoG,GAAgB,CACfpD,wBAAyBA,EACzBvtE,KAAMA,EACNrI,aAAcA,EACdE,cAAeA,IAIlB04E,GACC9nG,eAACmoG,GAAa,CACZpB,qBAAsBA,EACtBxvE,KAAMA,EACNrI,aAAcA,EACdE,cAAeA,IAInBpvB,eAAA,OACE+e,GAAG,gBACHva,MAAO,CACLjE,OAAQ,OACR2yD,UAAW,QACXhzD,SAEFF,eAACmzD,KAAc,CACbC,WAAYs0C,EAAmB7pG,OAC/Bw1D,KAnCc+0C,KAChB70C,GACF00C,GACF,EAiCM10C,SAAS,EACTC,iBAAiB,gBAAetzD,SAEhCF,eAAA,OAAKG,UAAU,yBAAwBD,SACnC1C,aAAQkqG,GA6EN,KA5EFA,EAAmB7pG,OACjB6pG,EAAmBpmF,KAAI,CAACiW,EAAMkH,IAE1BvgB,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,yBAAwBD,SACpCq3B,EAAK0vE,YAGR/oF,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OACEG,UAAU,qCACVge,QAASA,IAjEHoZ,KAC9BqwE,EAAQrwE,GAERutE,GAAwB,EAAK,EA8DUuD,CAAuB9wE,GAAMr3B,SAE5CF,eAAA,OACEsgB,IAAKpb,GAAO0L,iBACZwQ,IAAI,uBAIRphB,eAAA,OACEG,UAAU,kCACVge,QAASA,IArENoZ,KAC3BqwE,EAAQrwE,GAERwvE,GAAqB,EAAK,EAkEauB,CAAoB/wE,GAAMr3B,SAEzCF,eAAA,OACEsgB,IAAKpb,GAAO2L,iBACZuQ,IAAI,0BAMZphB,eAAA,OAAKG,UAAU,mCAAkCD,SAC/Cge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CAAKq3B,EAAKk2B,gBAAgB,kBAC1BvvC,gBAAA,MAAAhe,SAAA,CAAI,IAAEq3B,EAAK4vE,kBAAkB,aAC7BjpF,gBAAA,MAAAhe,SAAA,CAAI,IAAEq3B,EAAK6vE,UAAU,iBAIzBpnG,eAAA,OAAKG,UAAU,kCAAiCD,SAC9Cge,gBAAA,KAAAhe,SAAA,CAAG,iBAAeq3B,EAAKgxE,kBAGzBvoG,eAAA,OAAKG,UAAU,mCAAkCD,SAC/CF,eAAC0tF,KAAM,CACLpQ,QACE/lD,EAAKixE,iBAAmB,IACH,WAApBjxE,EAAKojE,aACc,OAAhBpjE,EAAKkzB,QAEL,SACA,YAENtqD,UAAW,IACTo3B,EAAKixE,iBAAmB,IACH,WAApBjxE,EAAKojE,aACc,OAAhBpjE,EAAKkzB,QAEL,yCACA,+CAENtsC,QAASA,IA5IVsT,WACrB,MAAM,oBAAEg3E,EAAmB,iBAAED,EAAgB,YAAE7N,EAAW,OAAElwC,GAAWlzB,EAEvE,GAAKkxE,GAAsD,IAA/BA,EAAoB5qG,OAKhD,GAAI2qG,EAAmB,EAAG,CACxB,GAAoB,YAAhB7N,GAAwC,OAAXlwC,EAE/B,YADAvrD,MAAM,wDAIRsoG,EAAsBjwE,GACtBl2B,EAAQkyB,KAAK,CACXC,SAAU,oBAEd,MACEt0B,MACE,8CAA8CupG,UAhBhDvpG,MAAM,uDAkBR,EAsHqCwtC,CAAenV,GAAMr3B,SACrC,0BAQTge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKsgB,IAAKpb,GAAO+D,eACjBjJ,eAAA,KAAAE,SAAG,wCAQdY,GAAUd,eAACD,KAAW,MACtB,IC8KQW,qBApCUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClB+qB,SAAUl+C,EAAMM,KAAK4yB,UACrB7R,SAAUrhB,EAAMM,KAAKC,KAAK8gB,SAC1Bb,UAAWxgB,EAAMQ,eAAe6xB,cAAc,GAAG7R,cAIzBgP,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCs4E,kBAAoB54E,IAClBK,EAASw4E,GAA6B74E,GAAS,EAGjD84E,kBAAoB94E,IAClBK,EAASw4E,GAA6B74E,GAAS,EAGjD+4E,eAAiB/4E,IACfK,EAASw4E,GAA0B74E,GAAS,EAG9C6pD,8BAAgC7pD,IAC9BK,EAASwpD,GAA8B7pD,GAAS,KAKvCpvB,EA5YWU,IACxB,IAAI,SACF4gB,EAAQ,UACRb,EAAS,MACTmQ,EAAK,UACLuC,EAAS,aACT3E,EAAY,cACZE,EAAa,OACbtuB,EAAM,kBACN4nG,EAAiB,kBACjBE,EAAiB,eACjBC,EAAc,8BACdlvB,GACEv4E,EAEJ,MAAMC,EAAUm1B,wBAETsyE,EAAcC,GAAmB5rF,oBAAS,IAC1Cxc,EAAO+vB,GAAYvT,mBAAS,CACjC6rF,oBAAqB,KAGvB,IAAI,oBAAEA,GAAwBroG,EAC9B,MAAOsoG,EAAYC,GAAiB/rF,mBAAS,CAAC,GAE9C3b,qBAAU,KACR2nG,GAAuB,GACtB,IAEH,MA+BMC,EAAqBC,IA/BD53E,WACxBvC,IAEA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACXmzE,WAAYsE,EAAQtE,YAGtB,IACE,MAAM7lF,QAAiBwS,KAAMqC,KAAKnM,GAASgK,EAAM,CAAE+B,YACvB,KAAxBzU,EAAS0S,KAAKC,SAChBzC,IACA85E,EAAchqF,EAAS0S,KAAKA,MAEhC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAaAqkG,CAAkBD,GAClBN,GAAgB,EAAK,EAGjBQ,EAAqBA,KACzBR,GAAgB,EAAM,EAKxB,MAAMI,EAAwB13E,UAE5B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjCpC,IACA,MAAM0C,EAAO,CACX9T,OAAQqD,EACRc,MAAOD,EACP2vC,KAAM,GAER,IACE,MAAMzyC,QAAiBwS,KAAMqC,KAAKpM,GAASiK,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHy3E,oBAAqB,IAChBA,KACA9pF,EAAS0S,KAAKA,KAAKy3E,QAAQz3E,UAItC,CAAE,MAAO3sB,GACPmqB,GACF,GAaF,OACElR,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,MAAI+D,MAAM,eAAelD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAChDF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,kBACNlD,GAAG,cACH,iBAAe,MACf,iBAAe,WACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,UACd,gBAAc,OAAMhE,SACrB,eAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,WACNlD,GAAG,OACH,iBAAe,MACf,iBAAe,cACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,aACd,gBAAc,QAAOhE,SACtB,qBAMPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MAAM,4BACNlD,GAAG,UACH7a,KAAK,WACL,kBAAgB,cAAahE,SAE7BF,eAAA,OAAKG,UAAU,gBAAeD,SAC1B1C,aAAQwrG,GAgGN,KA/FFA,EAAoBnrG,OAClBmrG,EAAoB1nF,KAAK0xB,GAErBhzC,eAAA,OACEG,UAAU,wDAAuDD,SAGjEge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,oBAAmBD,SAOhCF,eAAA,OACEsgB,IAAKpb,GAAOyL,qBACZyQ,IAAI,UAIRlD,gBAAA,OAAK/d,UAAU,6EAA4ED,SAAA,CACzFge,gBAAA,OACE/d,UAAU,wDACVge,QAASA,KA/HrCuqF,EA+H0D11D,GA9H1D41D,EAAkB,IAClBC,EAAe,SACfznG,EAAMC,QAAQkyB,KAAK,CACjBC,SAAU,gBA2HoDtzB,SAAA,CAEpCF,eAAA,OAAKG,UAAU,sBAAqBD,SACjC8yC,EAAKw2D,eAGRxpG,eAAA,OAAKG,UAAU,qBAAoBD,SAChC8yC,EAAKy2D,eAERzpG,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,KAAAE,SAAI8yC,EAAK02D,oBAIbxrF,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OACEG,UAAU,6BACVge,QAASA,IAAMirF,EAAkBp2D,KAKnChzC,eAAA,OAAKG,UAAU,8BAA6BD,SACjB,GAAxB8yC,EAAK22D,gBACJzrF,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CAClB,IACDF,eAAA,QAAAE,SAAM,YAEe,GAArB8yC,EAAK42D,aACP1rF,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,QAAMG,UAAU,mBAAkBD,SAC/B,SAAI8yC,EAAK62D,kBAGZ7pG,eAAA,QAAMG,UAAU,qBAAoBD,SACjC,YACC6d,SAASi1B,EAAK62D,eACd9rF,SAASi1B,EAAK82D,wBAKpB9pG,eAAA,OACEG,UAAU,uBACVge,QAASA,KAAM4rF,OAtHnDpwB,EAFyB1J,EAwH4Cj9B,QArHrE3xC,EAAQkyB,KAAK,YAA0B,OAAd08C,QAAc,IAAdA,OAAc,EAAdA,EAAgBv7B,cAHhBu7B,KAwHkD,EACvCzrE,MAAO,CAAE2nC,OAAQ,WAAYjsC,SAE7BF,eAAA,QAAAE,SAAM,iBAIVF,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,QAAAE,SAAM,yBAzEf8yC,EAAK+xD,cAqFhB7mF,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKsgB,IAAKpb,GAAO+D,eACjBjJ,eAAA,KAAAE,SAAG,qCAMbF,eAAA,OACEiiB,MAAM,gBACNlD,GAAG,aACH7a,KAAK,WACL,kBAAgB,iBAAgBhE,SAEhCF,eAACgqG,GAAY,cAMrB9rF,gBAACwe,KAAK,CACJC,KAAMmsE,EACNv1D,OAAQg2D,EACR/zD,gBAAgB,WAChBt1C,SAAA,CAEAge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,wBAGNF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAC9B1C,aAAQyrG,GAsEN,KArEFA,EAAWI,QAAQxrG,OACjBorG,EAAWI,QAAQ/nF,KAAK0xB,GAEpB90B,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK+D,MAAM,SAAS9hB,UAAU,0BAAyBD,SAAA,CACrDF,eAAA,MAAAE,SAAK8yC,EAAKy2D,eAEVzpG,eAAA,OAAKG,UAAU,iBAAgBD,SACE,GAA9B8yC,EAAKi3D,sBACJjqG,eAAA,QAAMG,UAAU,YAAWD,SAAC,WAE5BF,eAAA,QAAMG,UAAU,YAAWD,SAAC,gBAIlCF,eAAA,SAEAA,eAAA,MAAAE,SACEge,gBAAA,OAAK+D,MAAM,MAAK/hB,SAAA,CACdge,gBAAA,OAAK+D,MAAM,QAAO/hB,SAAA,CAChBF,eAAA,MAAAE,SAAI,YACJge,gBAAA,MAAAhe,SAAA,CAAI,kBAEFF,eAAA,QAAAE,SAAO8yC,EAAKm0D,0BAGhBjpF,gBAAA,OAAK+D,MAAM,QAAO/hB,SAAA,CAChBge,gBAAA,MAAAhe,SAAA,CAAI,oBACgB,IAClBF,eAAA,QAAAE,SAAO8yC,EAAKya,qBAEdvvC,gBAAA,MAAAhe,SAAA,CAAI,iBACYF,eAAA,QAAAE,SAAO8yC,EAAKo0D,0BAOpClpF,gBAAA,SAAAhe,SAAA,CACEF,eAAA,SAAAE,SACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,SACJF,eAAA,MAAAE,SAAI,cACJF,eAAA,MAAAE,SAAI,YACJF,eAAA,MAAAE,SAAI,cACJF,eAAA,MAAAE,SAAI,eAIRF,eAAA,SAAAE,SACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAK8yC,EAAKk0D,YACVlnG,eAAA,MAAAE,SAAK8yC,EAAKi0D,YACVjnG,eAAA,MAAAE,SAAK8yC,EAAK0W,SAAS5D,UACnB9lD,eAAA,MAAAE,SAAK8yC,EAAK0W,SAAS9D,YACnB5lD,eAAA,MAAAE,SAAK8yC,EAAK0W,SAAS7D,qBAQ/B7lD,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,MAAAE,SAAI,2BAMZF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,UAAQme,QAASorF,EAAmBrpG,SAAC,cAIxCY,GAAUd,eAACD,KAAW,MACtB,I,QCjOQW,qBAfUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtBi0B,OAAQz0B,EAAMM,KAAKC,KAAKm4B,YAIAlJ,IACnB,CACLwpD,8BAAgC7pD,IAC9BK,EAASwpD,GAA8B7pD,GAAS,KAKvCpvB,EAzIMU,IACnB,IAAI,OACFN,EAAM,SACNE,EAAQ,eACRG,EAAc,cACd6xB,EAAa,OACboC,EAAM,8BACNukD,GACEv4E,EACAC,EAAUm1B,uBAEd,MAAO71B,EAAO+vB,GAAYvT,mBAAS,CACjC+sF,WAAY,KAGd1oG,qBAAU,KACR2oG,GAAe,GACd,IAEH,MAAMA,EAAgB14E,UACpB,IAAI,cAAEuB,GAAkB7xB,EACpBywB,EAAO,CACTzQ,UAAW6R,EAAc,GAAG7R,UAC5BkY,QAASjE,GAEX,IACE,MAAMlW,QAAiBwS,KAAMqC,KAAK1M,GAASuK,GACd,MAAzB1S,EAAS0S,KAAKC,QAEhBnB,GAAUa,IAAS,IACdA,EACH24E,WAAYhrF,EAAS0S,KAAKA,QAGhC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GA8BImlG,EAAWp3D,GACW,gCAAtBA,EAAKsB,aAELt0C,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOyM,iBAAkByP,IAAI,mBAGZ,6BAAtB4xB,EAAKsB,aAEZt0C,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOwM,iBAAkB0P,IAAI,eAGZ,wBAAtB4xB,EAAKsB,aAEZt0C,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO0M,iBAAkBwP,IAAI,gBAHtC,EAST,OACEphB,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,qBAAoBD,SAC/B1C,aAAQmD,EAAMupG,YAqBZ,KApBAvpG,EAAMupG,WAAWrsG,OACf8C,EAAMupG,WAAW5oF,KAAI,CAAC0xB,EAAMvU,IAExBz+B,eAAA,OAEEG,UAAU,YACVge,QAASA,IA7DG60B,KAiBhC2mC,EAA8B3mC,GAE9B3xC,EAAQkyB,KAAK,CACXC,SAAU,8BACV7yB,MAAO,CACL2zC,aAActB,EAAKsB,eAErB,EAqCiC+1D,CAAyBr3D,GAAM9yC,SAE9Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC5BkqG,EAAQp3D,GACT90B,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,MAAAE,SAAK8yC,EAAKsB,eACVt0C,eAAA,KAAGG,UAAU,cAAaD,SAAE8yC,EAAKlS,iBAEnC9gC,eAAA,OAAKG,UAAU,cAVZs+B,KAeX,YAKX,I,QClIA,MAAM6rE,GAAsB,sBACtBC,GAA6B,6BCe3B,OAdWz6E,IACjB,CACLzvB,KAAM8uB,GACNW,YAWW,GAPiBA,IACvB,CACLzvB,KAAM8uB,GACNW,YC4JWpvB,qBA1BUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAICgvB,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCo6E,gBAAkB16E,IAChBK,EAASs6E,GAAqC36E,GAAS,EAGzD46E,uBAAyB56E,IACvBK,EAASs6E,GAA2C36E,GAAS,KAKpDpvB,EA7JUU,IACvB,IAAI,gBACFopG,EAAe,aACft7E,EAAY,cACZE,EAAa,eACbjuB,EAAc,uBACdupG,GACEtpG,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwtF,yBAA0B,GAC1BC,YAAa,gBAGf,IAAIvpG,EAAUm1B,wBAEV,cAAExD,GAAkB7xB,EAExBK,qBAAU,KACRqpG,GAAiB,GAChB,CAAClqG,EAAMiqG,cAEV,MAAMC,EAAkBp5E,UACtBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKrM,IAClC,GAA6B,MAAzBxI,EAAS0S,KAAKC,SAChBzC,IACkC,KAA9B4D,EAAc,GAAG7R,WAAkB,CACrC,IAAImiF,EAAgB,GACpB,IAAK,IAAI1rC,EAAI,EAAGA,EAAI14C,EAAS0S,KAAKA,KAAK/zB,OAAQ+5D,IAEtB,eAArBj3D,EAAMiqG,aACN1rF,EAAS0S,KAAKA,KAAKgmC,GAAG7lB,OAAOjzC,cAAcG,SAAS,SAEpDqkG,EAAc1rC,GAAK14C,EAAS0S,KAAKA,KAAKgmC,IAG1ClnC,GAAUqgE,IAAQ,IACbA,EACH4Z,yBAA0BrH,KAE9B,CAEJ,CAAE,MAAOr+F,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI89F,EAAoBn1C,IACxB48C,EAAgB58C,GAChBvsD,EAAQkyB,KAAK,uBAAuB,EAatC,OACEvzB,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5B1C,aAAQmD,EAAMgqG,0BAyDZ,KAxDAhqG,EAAMgqG,yBAAyB9sG,OAC7B8C,EAAMgqG,yBAAyBrpF,KAAI,CAACve,EAAS07B,IAEzCvgB,gBAAA,OAAiB/d,UAAU,cAAaD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC1B6C,EAAQ0pC,KACPzsC,eAAA,OAAKsgB,IAAKvd,EAAQ0pC,KAAMrrB,IAAI,QAC1B,KACJphB,eAAA,QAAAE,SAAO6C,EAAQyqD,gBAEjBtvC,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CAAC,eACX6C,EAAQ+nG,oBAIzB9qG,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KAAAE,SAAI6C,EAAQgvC,WAGd7zB,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACrB6C,EAAQ62F,aAQR17E,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,UACEG,UAAU,WACVge,QAASA,KA7CjCusF,EA6CuD3nG,QA5CvD1B,EAAQkyB,KAAK,uBA4CmDrzB,SACzC,YAIDF,eAAA,UACEG,UAAU,WACVge,QAASA,IAAM4kF,EAAiBhgG,GAAS7C,SAC1C,iBAlBHF,eAAA,UACEG,UAAU,UACVge,QAASA,IAAM4kF,EAAiBhgG,GAAS7C,SAC1C,cAoBHF,eAAA,UACEG,UAAU,WACVge,QAASA,KAvD7BqsF,EAuDqDznG,QAtDrD1B,EAAQkyB,KAAK,wBAsDiDrzB,SAC3C,kBA7CKu+B,KAoDd,QAGP,IC8BQ/9B,qBA1BUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAICgvB,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCo6E,gBAAkB16E,IAChBK,EAASs6E,GAAqC36E,GAAS,EAGzD46E,uBAAyB56E,IACvBK,EAASs6E,GAA2C36E,GAAS,KAKpDpvB,EA7JOU,IACpB,IAAI,gBACFopG,EAAe,aACft7E,EAAY,cACZE,EAAa,eACbjuB,EAAc,uBACdupG,GACEtpG,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC4tF,sBAAuB,GACvBC,UAAW,cAGb,IAAI3pG,EAAUm1B,wBAEV,cAAExD,GAAkB7xB,EAExBK,qBAAU,KACRypG,GAAa,GACZ,CAACtqG,EAAMqqG,YAEV,MAAMjI,EAAoBn1C,IACxBvsD,EAAQkyB,KAAK,wBACbi3E,EAAgB58C,EAAS,EAarBq9C,EAAcx5E,UAClBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKrM,IAClC,GAA6B,MAAzBxI,EAAS0S,KAAKC,SAChBzC,IACkC,KAA9B4D,EAAc,GAAG7R,WAAkB,CACrC,IAAImiF,EAAgB,GACpB,IAAK,IAAI1rC,EAAI,EAAGA,EAAI14C,EAAS0S,KAAKA,KAAK/zB,OAAQ+5D,IAExB,aAAnBj3D,EAAMqqG,WACN9rF,EAAS0S,KAAKA,KAAKgmC,GAAG7lB,OAAOjzC,cAAcG,SAAS,UAEpDqkG,EAAc1rC,GAAK14C,EAAS0S,KAAKA,KAAKgmC,IAG1ClnC,GAAUqgE,IAAQ,IACbA,EACHga,sBAAuBzH,KAE3B,CAEJ,CAAE,MAAOr+F,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGF,OACEjF,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5B1C,aAAQmD,EAAMoqG,uBAyDZ,KAxDApqG,EAAMoqG,sBAAsBltG,OAC1B8C,EAAMoqG,sBAAsBzpF,KAAI,CAACve,EAAS07B,IAEtCvgB,gBAAA,OAAiB/d,UAAU,cAAaD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC1B6C,EAAQ0pC,KACPzsC,eAAA,OAAKsgB,IAAKvd,EAAQ0pC,KAAMrrB,IAAI,QAC1B,KACJphB,eAAA,QAAAE,SAAO6C,EAAQyqD,gBAEjBtvC,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CAAC,eACX6C,EAAQ+nG,oBAIzB9qG,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KAAAE,SAAI6C,EAAQgvC,WAGd7zB,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACrB6C,EAAQ62F,aAQR17E,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,UACEG,UAAU,WACVge,QAASA,KAzEjCusF,EAyEuD3nG,QAxEvD1B,EAAQkyB,KAAK,uBAwEmDrzB,SACzC,YAIDF,eAAA,UACEG,UAAU,WACVge,QAASA,IAAM4kF,EAAiBhgG,GAAS7C,SAC1C,iBAlBHF,eAAA,UACEG,UAAU,UACVge,QAASA,IAAM4kF,EAAiBhgG,GAAS7C,SAC1C,cAoBHF,eAAA,UACEG,UAAU,WACVge,QAASA,KAnF7BqsF,EAmFqDznG,QAlFrD1B,EAAQkyB,KAAK,wBAkFiDrzB,SAC3C,kBA7CKu+B,KAoDd,QAGP,ICYQ/9B,qBA1BUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAICgvB,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCo6E,gBAAkB16E,IAChBK,EAASs6E,GAAqC36E,GAAS,EAGzD46E,uBAAyB56E,IACvBK,EAASs6E,GAA2C36E,GAAS,KAKpDpvB,EA3IOU,IACpB,IAAI,gBAAEopG,EAAe,aAAEt7E,EAAY,cAAEE,EAAa,uBAAEs7E,GAClDtpG,EAEF,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC+tF,sBAAuB,GACvBF,UAAW,cAGb,IAAI3pG,EAAUm1B,uBAEdh1B,qBAAU,KACR2pG,GAAa,GACZ,CAACxqG,EAAMqqG,YAEV,MAAMjI,EAAoBn1C,IACxBvsD,EAAQkyB,KAAK,wBACbi3E,EAAgB58C,EAAS,EAarBu9C,EAAc15E,UAClBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKrM,IACL,MAAzBxI,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH25E,sBAAuBhsF,EAAS0S,KAAKA,KACrC1P,OAAQhD,EAAS0S,KAAKA,KAAK,GAAGmgB,WAGpC,CAAE,MAAO9sC,GACP3D,QAAQC,IAAI0D,EACd,GAGF,OACEjF,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5B1C,aAAQmD,EAAMuqG,uBAyDZ,KAxDAvqG,EAAMuqG,sBAAsBrtG,OAC1B8C,EAAMuqG,sBAAsB5pF,KAAI,CAACve,EAAS07B,IAEtCvgB,gBAAA,OAAiB/d,UAAU,cAAaD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC1B6C,EAAQ0pC,KACPzsC,eAAA,OAAKsgB,IAAKvd,EAAQ0pC,KAAMrrB,IAAI,QAC1B,KACJphB,eAAA,QAAAE,SAAO6C,EAAQyqD,gBAEjBtvC,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CAAC,eACX6C,EAAQ+nG,oBAIzB9qG,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KAAAE,SAAI6C,EAAQgvC,WAGd7zB,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACrB6C,EAAQ62F,aAQR17E,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,UACEG,UAAU,WACVge,QAASA,KA9DjCusF,EA8DuD3nG,QA7DvD1B,EAAQkyB,KAAK,uBA6DmDrzB,SACzC,YAIDF,eAAA,UACEG,UAAU,WACVge,QAASA,IAAM4kF,EAAiBhgG,GAAS7C,SAC1C,iBAlBHF,eAAA,UACEG,UAAU,UACVge,QAASA,IAAM4kF,EAAiBhgG,GAAS7C,SAC1C,cAoBHF,eAAA,UACEG,UAAU,WACVge,QAASA,KAxE7BqsF,EAwEqDznG,QAvErD1B,EAAQkyB,KAAK,wBAuEiDrzB,SAC3C,kBA7CKu+B,KAoDd,QAGP,ICbQ/9B,qBANUC,IAChB,CACLQ,eAAgBR,EAAMQ,kBAIXT,EApGIU,IAAW,IAADkhG,EAAAC,EAC3B,IAAI,eAAEphG,GAAmBC,GAIrB,cAAE4xB,GAAkB7xB,EA+ExB,OACEnB,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CACE,MAAf,QAAhBoiG,EAAAtvE,EAAc,UAAE,IAAAsvE,OAAA,EAAhBA,EAAkBnhF,YA9ErBnhB,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,MAAI+D,MAAM,6BAA6BlD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAC9DF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAwB,kBACxBlD,GAAG,YACH,iBAAe,MACf,iBAAe,SACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,QACd,gBAAc,QAAOhE,SACtB,gBAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAA8C,WAC9ClD,GAAG,cACH,iBAAe,MACf,iBAAe,WACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,UACd,gBAAc,QAAOhE,SACtB,uBAOPF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MACmB,4BAEnBlD,GAAG,QACH7a,KAAK,WACL,kBAAgB,YAAWhE,SAE3BF,eAACorG,GAAY,MAGfprG,eAAA,OACEiiB,MAGM,gBAENlD,GAAG,UACH7a,KAAK,WACL,kBAAgB,cAAahE,SAE7BF,eAACqrG,GAAe,gBAqBQ,MAAf,QAAhB9I,EAAAvvE,EAAc,UAAE,IAAAuvE,OAAA,EAAhBA,EAAkBphF,YAVrBnhB,eAAA69B,YAAA,CAAA39B,SACEF,eAACsrG,GAAY,UAWd,I,QCjGA,MAAMC,GAAyB,yBACzBC,GAAgC,gCCgB9B,OAda17E,IACnB,CACLzvB,KAAM8uB,GACNW,YAWW,GAPmBA,IACzB,CACLzvB,KAAM8uB,GACNW,YCkIWpvB,qBAtBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBktD,YAAartD,EAAME,aAAamtD,YAChC7sD,eAAgBR,EAAMQ,mBAICgvB,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCq7E,mBAAqB37E,IACnBK,EAASu7E,GAAiC57E,GAAS,KAK1CpvB,EApICU,IACd,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,mBAAE2qG,GAAuBrqG,EAClE,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwuF,SAAU,KAGZ,IAAItqG,EAAUm1B,uBAEdh1B,qBAAU,KACRoqG,GAAc,GACb,IAEH,MAAMA,EAAen6E,UACnB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAK5K,IACN,KAAxBjK,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHo6E,SAAUzsF,EAAS0S,KAAKA,QAG9B,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI,QACd,GAWF,OACEvB,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,iBAAgBD,SAI7BF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,qBAAoBD,SAC/B1C,aAAQmD,EAAMgrG,UAwDdztF,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKsgB,IAAKpb,GAAO+D,eACjBjJ,eAAA,KAAAE,SAAG,8BAzDLS,EAAMgrG,SAAS9tG,OACb8C,EAAMgrG,SAASrqF,KAAI,CAAC0xB,EAAMvU,IAEtBz+B,eAAA,OACEG,UAAU,aAEVge,QAASA,KAAM0tF,OAtBjCJ,EADkB79C,EAuB0B5a,QArB5C3xC,EAAQkyB,KAAK,CACXC,SAAU,0BACV7yB,MAAO,CAAEitD,SAAUA,KAJHA,KAuBgC,EAAA1tD,SAEhCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OACEsgB,IAAKpb,GAAO6M,oBACZqP,IAAI,eAIRlD,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B8yC,EAAKwa,aAERtvC,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAQ7BF,eAAA,QAAAE,SAAO8yC,EAAKya,kBACZztD,eAAA,QAAAE,SAAM,iBAERge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CAQzBF,eAAA,QAAAE,SAAO8yC,EAAK0a,gBACZ1tD,eAAA,QAAAE,SAAM,kBAKZF,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,gBA1C9Bqd,KAgDT,YAUX,I,gBC1FQqtE,OAvBgBvvE,IAAqB,IAApB,WAAEwvE,GAAYxvE,EAC5C,OACEre,gBAAA,OAAK/d,UAAU,wCAAuCD,SAAA,CACpDF,eAAA,OAAAE,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOsQ,YAAa4L,IAAI,aAEpClD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KAAAE,SAAG,iBACHge,gBAAA,KAAAhe,SAAA,CAAG,eACWF,eAAA,UAAAE,SAAQ,mCAAuC,yBAChDF,eAAA,QAAAE,SAAM,SAAW,gBAGhCF,eAAA,OAAAE,SACEge,gBAAA,UAAQC,QAASA,IAAM4tF,EAAW,GAAG7rG,SAAA,CACnCF,eAAA,OAAKsgB,IAAKpb,GAAOuQ,iBAAkB2L,IAAI,SAAS,sBAIhD,E,gBCqCK4qF,OAvDUzvE,IAIlB,IAJmB,iBACxBkmE,EAAgB,eAChBwJ,EAAc,oBACdz9C,GACDjyB,EAEC,MAAMp9B,EAA8BC,IAElC,MAAMC,EAAYD,EAAaA,EAAWb,MAAM,KAAO,KAEvD,OAAkB,OAAdc,EACK,CACLC,WAAY,0BAA0BD,EAAU,OAAOA,EAAU,iBAG5D,CACLC,WAAY,UAEhB,EAGF,OACEU,eAAA,OAAKG,UAAU,yCAAwCD,UACnD1C,aAAQilG,IACRA,EAAiBnhF,KAAI,CAACve,EAAS07B,KACXgkE,EAAiB5kG,OAEnC,OACEqgB,gBAAA,OAAiB/d,UAAU,oCAAmCD,SAAA,CAC5DF,eAAA,SACEK,KAAK,QACL0e,GAAI,WAAWhc,EAAQiqC,UACvBhoC,KAAK,UACLvH,MAAOsF,EAAQiqC,QACfzrB,QAAS0qF,IAAmBlpG,EAAQiqC,QACpCpuB,SAAU4vC,IAEVtwC,gBAAA,SACEsD,QAAS,WAAWze,EAAQiqC,UAC5BxoC,MAAOynG,IAAmBlpG,EAAQiqC,QAAU7tC,EAA2B4D,EAAQ3D,YAAc,CAAC,EAAEc,SAAA,CAElGF,eAAA,OACEG,UAAW,gBAAgB4C,EAAQiqC,QAAQluC,gBAAgBoB,SAE3DF,eAAA,OAAKsgB,IAAKvd,EAAQkqC,MAAO7rB,IAAI,WAE9Bre,EAAQiqC,aAlBHvO,EAoBJ,KAGR,E,QCHKytE,OAjDQ3vE,IAAoD,IAAnD,MAAE4vE,EAAK,mBAAEC,EAAkB,eAAEC,GAAgB9vE,EAInE,OAHA/6B,qBAAU,KACRF,QAAQC,IAAI4qG,EAAM,IAGlBjuF,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,YAAWD,SAAEisG,EAAMn/D,YAEpChtC,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAI/d,UAAU,WAAUD,SAAA,CACtBF,eAAA,QAAAE,SAAOisG,EAAMG,UAAYH,EAAMI,UAAYJ,EAAMK,UAAgB,IAAI,UAEjE,IACNtuF,gBAAA,MAAI/d,UAAU,aAAYD,SAAA,CACxBge,gBAAA,QAAAhe,SAAA,CAAM,IAAEisG,EAAMK,QAAQ,OAAQ,aAC1B,IACNtuF,gBAAA,MAAI/d,UAAU,WAAUD,SAAA,CACtBge,gBAAA,QAAAhe,SAAA,CAAM,IAAEisG,EAAMI,UAAU,OAAQ,eAC5B,IACNruF,gBAAA,MAAI/d,UAAU,eAAcD,SAAA,CAC1BF,eAAA,QAAAE,SAAOisG,EAAMG,YAAiB,gBAC1B,SAIVpuF,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,iBACdF,eAAA,UAAAE,SAASisG,EAAMvxD,gBAE/B18B,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OACEme,QACsB,IAApBguF,EAAMM,UACF,IAAML,EAAmBD,EAAMO,SAC/B,IAAML,EAAeF,EAAMn/D,SAEjC7sC,UAAU,eAAcD,SAEH,IAApBisG,EAAMM,UAAkB,gBAAkB,cACtC,IACPzsG,eAAA,QAAAE,SAAO,cArCoCisG,EAAMQ,iBAwCjD,E,+BCzCKx9E,OALK,CAClBy9E,gBAJsB,kBAKtBC,oBAJ0B,uBCqBbt4E,OALA,CACbu4E,sBAhB6B9/D,IACtB,CACL3sC,KAAM8uB,GAAYy9E,gBAClB98E,QAASkd,IAcX+/D,iBAVwBC,IACxB1rG,QAAQC,IAAI,YAAayrG,GAClB,CACL3sG,KAAM8uB,GAAY09E,oBAClB/8E,QAASk9E,KC2NEtsG,qBApBUC,IAEhB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,SACtB78B,SAAUrhB,EAAMM,KAAKC,KAAK8gB,SAC1Bb,UAAWxgB,EAAMQ,eAAe6xB,cAAc,GAAG7R,UACjDhgB,eAAgBR,EAAMQ,mBAICgvB,IAClB,CACL88E,4BAA8Bn9E,IAC5BK,EAAS+8E,GAAmBJ,sBAAsBh9E,GAAS,KAKlDpvB,EA5NkBU,IAC/B,MAAM,aACJ8tB,EAAY,cACZE,EAAa,MACbkC,EAAK,UACLuC,EAAS,eACT1yB,EAAc,iBACd4rG,EAAgB,4BAChBE,GACE7rG,GAEGT,EAAO+vB,GAAYvT,mBAAS,CACjCgwF,qBAAsB,GACtB1K,iBAAkB,GAClBwJ,eAAgB,GAChBhvE,MAAM,IAGF57B,EAAUm1B,wBACT42E,EAAOC,GAAYlwF,mBAAS,CACjC,CACEmwF,UAAW,IAAIh+D,KACfi+D,QAAS,IAAIj+D,KACbntC,IAAK,eAITX,qBAAU,KACR+qC,GAAgB,GACf,IAEH/qC,qBAAU,KACJb,EAAMsrG,gBAAkBmB,EAAM,GAAGE,WAAaF,EAAM,GAAGG,SACzDC,GACF,GACC,CAAC7sG,EAAMsrG,eAAgBmB,EAAM,GAAGE,UAAWF,EAAM,GAAGG,UAEvD,MAAMhhE,EAAiB9a,UACrB,IAAI,cAAE0B,EAAa,aAAED,GAAiB/xB,EAClCywB,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,UAGzB,IACE,MAAM9C,QAAiBwS,KAAMqC,KAC3B,6EACAnC,GAGF,GAA6B,MAAzB1S,EAAS0S,KAAKC,OAAgB,CAChCvwB,QAAQC,IAAI,iBAAkB2d,GAC9B,MAAMotB,EAAcptB,EAAS0S,KAAKA,KAClClB,GAAUa,IAAS,IAAAk8E,EAAA,MAAM,IACpBl8E,EACHkxE,iBAAkBn2D,EAClB2/D,eAA8B,QAAhBwB,EAAEnhE,EAAY,UAAE,IAAAmhE,OAAA,EAAdA,EAAgBzgE,QACjC,GACH,CACF,CAAE,MAAO/nC,GACP3D,QAAQC,IAAI0D,EACd,GAGIuoG,EAAyB/7E,UAC7B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3Bo8E,EAAWN,EAAM,GAAGE,UAKpBC,GAJeG,EAASj+D,cAC5Bi+D,EAASl+D,WACPk+D,EAASn+D,UAEG69D,EAAM,GAAGG,SAKnB37E,GAJc27E,EAAQ99D,cAC1B89D,EAAQ/9D,WACN+9D,EAAQh+D,UAEC,CACXvC,QAASrsC,EAAMsrG,iBAKjB,IACE/8E,IACA,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,0EACAnC,EACA,CAAE+B,YAGJryB,QAAQC,IAAI,yBAA0B2d,GAET,MAAzBA,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH47E,qBAAsBjuF,EAAS0S,KAAKA,SAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGImnG,EAAsBuB,IAC1BZ,EAAiBY,GACjBtsG,EAAQkyB,KAAK,yBAAyB,EAGlC84E,EAAkBv/D,IACtBmgE,EAA4BngE,GAC5BzrC,EAAQkyB,KAAK,CACXC,SAAU,sBAEV,EA+BJ,OACExzB,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7Cge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAACgsG,GAAgB,CACfvJ,iBAAkB9hG,EAAM8hG,iBACxBwJ,eAAgBtrG,EAAMsrG,eACtBz9C,oBApCgBA,CAAC/wC,EAAOmvB,EAAQE,EAAUL,KACpD,MAAM0yC,EAAkB1hE,EAAMK,OAAOrgB,MACrC6D,QAAQC,IAAI,yBAA0B49E,GACtCzuD,GAAUa,IAAS,IACdA,EACH06E,eAAgB9sB,KACf,MAkCGjhE,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,mCAQfH,eAAA,OAAKG,UAAU,gCAA+BD,SAC1C1C,aAAQmD,EAAMwsG,sBAUdntG,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKsgB,IAAKpb,GAAOoQ,iBAAkB8L,IAAI,OAVzCzgB,EAAMwsG,qBAAqB7rF,KAAK6qF,GAC9BnsG,eAACksG,GAAc,CACbC,MAAOA,EACPC,mBAAoBA,EACpBC,eAAgBA,GACXF,EAAMQ,+BAoBrB,I,wBCpLKiB,OAxBWrxE,IAAmD,IAAlD,KAAEI,EAAI,YAAEkb,EAAW,sBAAEg2D,GAAuBtxE,EACrE,OACEv8B,eAAC08B,KAAK,CAACC,KAAMA,EAAM4W,OAAQsE,EAAajE,UAAQ,EAAA1zC,SAC9Cge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SACvBF,eAAC08B,KAAMoxE,MAAK,CAAA5tG,SACVF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,iBAGrCge,gBAACwe,KAAMmX,KAAI,CAAC1zC,UAAU,YAAWD,SAAA,CAC/BF,eAAA,KAAGG,UAAU,QAAOD,SAAC,gDACrBge,gBAAA,KAAG/d,UAAU,QAAOD,SAAA,CAAC,yBACFF,eAAA,QAAAE,SAAM,YAAc,qFAIzCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,UAAQme,QAAS0vF,EAAsB3tG,SAAC,kBAGtC,E,QCkLGQ,qBAtBUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtB4sG,iBAAkBptG,EAAME,aAAamtG,qBAId79E,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrC68E,4BAA8Bn9E,IAC5BK,EAAS+8E,GAAmBJ,sBAAsBh9E,GAAS,KAKlDpvB,EAzLcU,IAC3B,IAAI,eACFD,EAAc,mBACd8sG,EAAkB,oBAClBC,EAAmB,aACnB/0E,EAAY,aACZjK,EAAY,cACZE,EAAa,iBACb2+E,GACE3sG,EACAC,EAAUm1B,uBACd,MAAO71B,EAAO+vB,GAAYvT,mBAAS,CACjCslF,iBAAkB,CAAC,EACnB0L,WAAW,IAGb3sG,qBAAU,KACR2hG,GAAqB,GACpB,IAGH,MAAMA,EAAsB1xE,UAC1B,IAAI,cAAE0B,EAAa,aAAED,GAAiB/xB,EAElCywB,EAAO,CACTzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,UAEzBkN,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B/E,GACAgF,GAE2B,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHkxE,iBAAkBvjF,EAAS0S,KAAKA,SAGtC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGF,IAAM+nC,QAASV,GAAgB3rC,EAAM8hG,iBAErC,MAkBMtjG,EAA8BC,IAClC,MAAMC,EAAYD,EAAaA,EAAWb,MAAM,KAAO,KAEvD,OAAkB,OAAdc,EACK,CACLC,WAAY,0BAA0BD,EAAU,OAAOA,EAAU,eAG5D,CACLC,WAAY,GAEhB,EAIF,OACE4e,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,+CAA8CD,SAEzD1C,aAAQ8uC,GA0BN,KAzBAA,EAAYzuC,OACVyuC,EAAYhrB,KAAI,CAAC0xB,EAAMvU,IAEnBvgB,gBAAA,OAEE/d,UAAU,eACVge,QAASA,KAAMiwF,OA5CDthE,EA4CwBkG,EAAKlG,eAlCpC,IAAjB3T,GACJ73B,QAAQC,IAAI,aACZ2sG,EAAoBphE,IAEpBmhE,EAAmBnhE,IAdSA,KA4CuC,EACrDtoC,MAAOrF,EACL6zC,EAAK5zC,YACLc,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKsgB,IAAK0yB,EAAKvG,KAAMrrB,IAAI,WAE3BphB,eAAA,OAAKG,UAAU,OAAMD,SAAE8yC,EAAKlG,cAG9B9sC,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,cAf5Bqd,KAoBX,OAGRz+B,eAAC08B,KAAK,CACF3d,GAAG,QACH4d,KAAMh8B,EAAMwtG,UACZ56D,OAAQA,IACN7iB,GAAUa,IAAS,IACdA,EACH48E,WAAW,MAGf3wB,WAAW,EACX5pC,UAAQ,EAAA1zC,SAERge,gBAACwe,KAAMmX,KAAI,CAAA3zC,SAAA,CACTF,eAAA,KAAAE,SAAG,iBACHF,eAAA,KAAAE,SACEF,eAAA,UAAQwE,MAAO,CAAE/E,MAAO,UAAW2/B,WAAY,OAAQl/B,SAAC,kDAI1Dge,gBAAA,KAAAhe,SAAA,CAAG,yBACcF,eAAA,UAAAE,SAAQ,YAAgB,kFAEzCF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,UACEme,QAASA,KACP9c,EAAQkyB,KAAK,CACXC,SAAU,SACV7yB,MAAO,CAAEyiC,IAAK,oBACd,EACFljC,SACH,cAIHF,eAAA,OACEme,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACH48E,WAAW,MAEdjuG,SAEDF,eAAA,OAAKsgB,IAAKpb,GAAOkD,UAAWgZ,IAAI,mBAIvC,I,QC7CQ1gB,oBAAQ,GAdKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCgX,oBAAsBtX,IACpBK,EAASiY,GAAoBhB,oBAAoBtX,GAAS,KAKjDpvB,EA1HgBU,IAC7B,IAAI,IAAEgiC,EAAG,aAAElU,EAAY,cAAEE,EAAa,oBAAEgY,GAAwBhmC,EAEhE,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCyU,KAAM,CAAC,IAETpwB,qBAAU,KACR6sG,GAAmB,GAClB,IAEH,MAWMA,EAAoB58E,UACxBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAC3B,GAAG/E,kBAdgB,CACrB0hF,aAAc,EACdC,IAAK,EACL,2BAA4B,EAC5B,8BAA+B,EAC/B,sBAAuB,GAEHnrE,MASS,MAAzBlkB,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAS,SACJ/vB,EACHixB,KAAM1S,EAAS0S,KAAKA,SAEtBwV,EAAoB,IACfzmC,EACHixB,KAAM1S,EAAS0S,KAAKA,OAG1B,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGI/tB,EAAUm1B,uBAEVl2B,EAAQ8iC,EAAInkC,SAAS,gBAAkB,MAAQ,OAE/CuvG,EAAoBA,KACxBntG,EAAQkyB,KAAK,CAAEC,SAAU,SAAU7yB,MAAO,CAAEyiC,IAAK,oBAAsB,EAOzE,OACEllB,gBAAA2f,YAAA,CAAA39B,SAAA,CACGkjC,EAAInkC,SAAS,kBAAoB0B,EAAMixB,KAAK68E,gBAC3CvwF,gBAAA,OACE/d,UAAU,gDACVqE,MAAO,CAAElE,MAAOA,EAAOsgC,OAAQ,QAAS1gC,SAAA,CAExCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KAAAE,SAAG,iBACHge,gBAAA,KAAAhe,SAAA,CAAG,mEACqDF,eAAA,SAAM,uBAIhEA,eAAA,OAAAE,SACEF,eAAA,UAAQme,QAASqwF,EAAkBtuG,SAAC,kBAIhC,QAARkjC,GAAyB,iBAARA,KAChBziC,EAAMixB,KAAK68E,gBACVvwF,gBAAA,OAAK/d,UAAU,gDAA+CD,SAAA,CAC5Dge,gBAAA,OAAAhe,SAAA,CACGS,EAAMixB,KAAK4gC,WAAa,EACvBt0C,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KAAAE,SAAG,mCACHge,gBAAA,QAAAhe,SAAA,CAAOS,EAAMixB,KAAK4gC,WAAW,cAG/BxyD,eAAA,KAAAE,SAAG,0BAEI,QAARkjC,EACCpjC,eAAA,KAAAE,SAAG,iGAKHF,eAAA,KAAAE,SAAG,uFAMPF,eAAA,OAAAE,SACEF,eAAA,UAAQme,QAASqwF,EAAkBtuG,SAAC,mBAI3C,ICkDQQ,qBAjBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB4tG,YAAa/tG,EAAMM,KAAKytG,YAAYC,mBACpCr9E,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,aAIC1uB,IAClB,CACL88E,4BAA8Bn9E,IAC5BK,EAAS+8E,GAAmBJ,sBAAsBh9E,GAAS,KAKlDpvB,EAtJY67B,IASpB,IATqB,OAC1Bz7B,EAAM,WACNirG,EAAU,YACV2C,EAAW,MACXp9E,EAAK,UACLuC,EAAS,4BACTo5E,EAA2B,aAC3B/9E,EAAY,cACZE,GACDmN,EACC,MAAMl7B,EAAUm1B,wBACTo4E,EAAcC,GAAmB1xF,mBAAS,KAC1C2xF,EAAWC,GAAgB5xF,oBAAS,GAE3C3b,qBAAU,KACRwtG,GAAiB,GAChB,IAEH,MAAMA,EAAkBv9E,UACtB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjCpC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,8EACA,CAAEJ,YAG+B,IAADwK,EAAlC,GAA6B,MAAzBjf,EAAS0S,KAAKC,OAChBzC,IACAy/E,EAAwB,OAAR3vF,QAAQ,IAARA,GAAc,QAANif,EAARjf,EAAU0S,YAAI,IAAAuM,OAAN,EAARA,EAAgB8wE,aAEpC,CAAE,MAAOhqG,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAuBIipG,EAAuBphE,IAC3BmgE,EAA4BngE,GAC5BzrC,EAAQkyB,KAAK,CACXC,SAAU,qBACV7yB,MAAO,CAAEiuG,aAAcA,IACvB,EAYJ,OACE1wF,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,cAAcge,QAASA,IAAM4tF,EAAW,GAAG7rG,SACxDF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnClD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,cAAaD,SAE1BF,eAAA,KAAAE,SAAG,qGAKLF,eAACkvG,GAAqB,CAAC9rE,IAAM,iBAC7BpjC,eAAA,OAAKG,UAAU,0BAAyBD,SACrCwuG,EAAYptF,KAAK+sD,GAEa,MAA3BA,EAAY35B,YACe,MAA3B25B,EAAY35B,WAGV10C,eAACmvG,IAAMlvG,SAAQ,CAAAC,SACXF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAACovG,GAAmB,CAClBlB,oBAAqBA,EACrB/0E,aAAck1C,EAAYl1C,aAC1BjK,aAAcA,EACdE,cAAeA,OANFi/C,EAAY35B,YAY5B,YAMf10C,eAAC4tG,GAAiB,CAChBjxE,KAAMmyE,EACNj3D,YAtDMA,KAClBk3D,GAAa,EAAM,EAsDPlB,sBAnDgBA,KAC5BkB,GAAa,GACb1tG,EAAQkyB,KAAK,SAAS,WAsDjBzyB,GAAUd,eAACD,KAAW,SAExB,IC3CQW,oBAAQ,MAdKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC28E,iBAAmBL,IACjBv8E,EAASk/E,GAAkBtC,iBAAiBL,GAAS,KAK5ChsG,EAzFK67B,IAMb,IANc,aACnBrN,EAAY,cACZE,EAAa,WACb28E,EAAU,KACVp7E,EAAI,iBACJo8E,GACDxwE,EACC,MAAO57B,EAAO+vB,GAAYvT,mBAAS,CACjCslF,iBAAkB,KAIpBjhG,qBAAU,KACR+qC,GAAgB,GACf,IAGH,MAAMA,EAAiB9a,UACrB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAC3B,8EAG2B,MAAzB7U,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHkxE,iBAAkBvjF,EAAS0S,KAAKA,QAGtC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAyCF,OA1Be,IAAT0rB,EAEA3wB,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAAE,SACEF,eAACsvG,GAAuB,CACtBpgF,aAAcA,EACdE,cAAeA,EACf29E,iBAAkBA,QAKR,IAATp8E,EAEP3wB,eAACuvG,GAAkB,CACjBxD,WAAYA,EACZ78E,aAAcA,EACdE,cAAeA,IAMd,IAGwB,ICyHpB1uB,oBAAQ,MAVKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EAvLcU,IAC3B,IAAI,QAAEC,GAAYD,EAElB,MACET,OAAO,IAAEyiC,IACPhiC,EAAM03B,UAEHn4B,EAAO+vB,GAAYvT,mBAAS,CAAEwT,KAAM,IAErCo7E,EAAcyD,IAClB9+E,GAAUa,IAAS,IACdA,EACHZ,KAAM6+E,KACL,EAGL,OACExvG,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CAC3B,wBAARkjC,GAAgD,IAAfziC,EAAMgwB,MACtC3wB,eAAC8rG,GAAsB,CAACC,WAAYA,IAEtC/rG,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACd,OAAPkjC,GAAgB,gCACT,OAAPA,GAAgB,2BACT,QAAPA,GAAiB,QACV,OAAPA,GAAgB,cACT,gBAAPA,GAAyB,eAClB,WAAPA,GAAoB,SACb,aAAPA,GAAsB,aACf,uBAAPA,GAAgC,uBAGnCpjC,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CAC/B,QAARkjC,GACCpjC,eAAA,OACEiiB,MACS,OAAPmhB,EACI,4BACA,gBAENrkB,GAAG,WACH7a,KAAK,WACL,kBAAgB,eAAchE,SAE9BF,eAACyvG,GAAuB,MAInB,QAARrsE,GACCllB,gBAAA,OACE+D,MACS,OAAPmhB,EACI,4BACA,gBAENrkB,GAAG,eACH7a,KAAK,WACL,kBAAgB,mBAAkBhE,SAAA,CAElCF,eAACkvG,GAAqB,CAAC9rE,IAAKA,IAC5BpjC,eAAC0vG,GAAyB,OAIrB,SAARtsE,GACCpjC,eAAA,OACEiiB,MACS,QAAPmhB,EACI,4BACA,gBAENrkB,GAAG,OACH7a,KAAK,WACL,kBAAgB,WAAUhE,SAE1BF,eAAC2vG,GAAkB,CAACtuG,QAASA,MAIxB,QAAR+hC,GACCpjC,eAAA,OACEiiB,MACS,OAAPmhB,EACI,4BACA,gBAENrkB,GAAG,MACH7a,KAAK,WACL,kBAAgB,UAAShE,SAEzBF,eAAC4vG,GAAkB,CAACvuG,QAASA,MAIxB,iBAAR+hC,GACCpjC,eAAA,OACEiiB,MACS,gBAAPmhB,EACI,4BACA,gBAENrkB,GAAG,eACH7a,KAAK,WACL,kBAAgB,mBAAkBhE,SAElCF,eAAC6vG,GAAW,MAIP,YAARzsE,GACCpjC,eAAA,OACEiiB,MACS,WAAPmhB,EACI,4BACA,gBAENrkB,GAAG,UACH7a,KAAK,WACL,kBAAgB,cAAahE,SAE7BF,eAAC8vG,GAAM,MAIF,cAAR1sE,GACCpjC,eAAA,OACEiiB,MACS,aAAPmhB,EACI,4BACA,gBAENrkB,GAAG,YACH7a,KAAK,WACL,kBAAgB,gBAAehE,SAE/BF,eAAC+vG,GAAS,MAIL,wBAAR3sE,GACCpjC,eAAA,OACEiiB,MACS,uBAAPmhB,EACI,4BACA,gBAENrkB,GAAG,eACH7a,KAAK,WACL,kBAAgB,mBAAkBhE,SAElCF,eAACgwG,GAAW,CACVjE,WAAYA,EACZp7E,KAAMhwB,EAAMgwB,KACZ69E,kBAAmB,wBAWtC,IC/HQ9tG,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAGXT,EAlDKU,IAClB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,eAAEG,EAAc,SAAE23B,GAAa13B,EAC9D,MAAOk5C,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EASnC,OAPAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAEDp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CAClCo6C,GAAe,IACdp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAE5BrB,eAACiwG,GAAmB,CAClB5uG,QAASA,EACTL,SAAUA,EACVG,eAAgBA,EAChB23B,SAAUA,SAKd94B,eAAC67C,GAAgB,IAClB/6C,GAAUd,eAACD,KAAW,MACtB,I,gBCkHQW,qBAzBUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtB+uG,aAAcvvG,EAAME,aAAamtD,YACjCmiD,YAAaxvG,EAAME,aAAaqvG,iBAIR//E,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCqW,gBAAkB3W,IAChBK,EAASiY,GAAoB3B,gBAAgB3W,GAAS,EAExDmyE,gBAAkBnyE,IAChBK,EAAS+xE,GAAmCpyE,GAAS,KAK5CpvB,EA3JiBU,IAC9B,IAAI,aACF8uG,EAAY,aACZhhF,EAAY,cACZE,EAAa,gBACb6yE,EAAe,YACfkO,GACE/uG,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCizF,cAAe,CAAC,IAGlB,IAAI/uG,EAAUm1B,uBACdh1B,qBAAU,KACR6uG,GAAc,GACb,IAEH,MAAMA,EAAe5+E,UACnB,IAAIG,EAAO,CACTob,QAAoB,OAAXmjE,QAAW,IAAXA,OAAW,EAAXA,EAAarM,SAExB50E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzN,GAAQsL,GAEb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH6+E,cAAelxF,EAAS0S,KAAKA,SAE/BxC,KAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAYF,OACEjF,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,wBAAuBD,SACnCS,EACCud,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAa,OAAXiwG,QAAW,IAAXA,OAAW,EAAXA,EAAarM,UAC5C9jG,eAAA,OAAKG,UAAU,qBAAoBD,SAC/B1C,aAAQmD,EAAMyvG,eAqBZ,KApBAzvG,EAAMyvG,cAAcvyG,OAClB8C,EAAMyvG,cAAc9uF,KAAI,CAAC0xB,EAAMvU,IAE3BvgB,gBAAA,OACE/d,UAAU,iBACVge,QAASA,KA5BnC8jF,EA4B0DjvD,QA3B1D3xC,EAAQkyB,KAAK,wBA2BmDrzB,SAAA,CAEtCF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKsgB,IAAS,OAAJ0yB,QAAI,IAAJA,OAAI,EAAJA,EAAMvG,KAAMrrB,IAAI,YAE5BphB,eAAA,OAAKG,UAAU,iBAAgBD,SAC5B8yC,EAAK2b,aAER3uD,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAOsD,WAAY4Y,IAAI,iBAKzC,UAKVlD,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAC,eAC3BF,eAAA,OAAKG,UAAU,gBAAeD,SAAC,0BAEjCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,KAAAE,SAAG,0DAGHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAhFPmyF,KACjBjvG,EAAQkyB,KAAK,kBAAkB,EA+EarzB,SAAC,8BAQ1C,ICtFQQ,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAGXT,EArCYU,IACzB,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAQpD,OACE8c,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CATvCqyB,OAAOioB,YAAc,IAURt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACTF,eAAC2qC,GAA0B,IACzB3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAEvCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAC7BrB,eAACuwG,GAAsB,CAACpvG,eAAgBA,SAG5CnB,eAAC67C,GAAgB,IAChB/6C,GAAUd,eAACD,KAAW,MACtB,I,gBC+HQW,qBAxBUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtB+uG,aAAcvvG,EAAME,aAAaqvG,iBAIT//E,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCqW,gBAAkB3W,IAChBK,EAASiY,GAAoB3B,gBAAgB3W,GAAS,EAExDmyE,gBAAkBnyE,IAChBK,EAAS+xE,GAAmCpyE,GAAS,KAK5CpvB,EA3JiBU,IAC9B,IAAI,eAAED,EAAc,aAAE+uG,EAAY,aAAEhhF,EAAY,cAACE,EAAa,gBAAC6yE,GAC3D7gG,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACrCizF,cAAc,CAAC,IAEb,IAAI/uG,EAAUm1B,uBACdh1B,qBAAU,KACR6uG,GAAc,GACb,IAEH,MAAMA,EAAe5+E,UACnB,IAAIG,EAAO,CACTob,QAASkjE,EAAarM,OAExB30E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzN,GAAQsL,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EAAW6+E,cAAelxF,EAAS0S,KAAKA,SAE7CxC,KAEFA,GACF,CACA,MAAOnqB,GACL3D,QAAQC,IAAI0D,EACd,GAqBF,OACEjF,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,wBAAuBD,SACnCS,EACCud,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,MAAIG,UAAU,sCAAqCD,SAAEgwG,EAAarM,WAEpE7jG,eAAA,OAAKG,UAAU,qBAAoBD,SAC/B1C,aAAQmD,EAAMyvG,eAkBZ,KAjBAzvG,EAAMyvG,cAAcvyG,OAClB8C,EAAMyvG,cAAc9uF,KAAI,CAAC0xB,EAAMvU,IAE3BvgB,gBAAA,OACE/d,UAAU,iBACVge,QAASA,KAAM4kF,OAxCjBn1C,EAwCkC5a,OArC1D3xC,EAAQkyB,KAAK,CACJC,SAAU,sBACV7yB,MAAO,CAAE6vG,SAAU5iD,KALJA,KAwCwC,EAAA1tD,SAAA,CAEtCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC5B8yC,EAAK2b,aAER3uD,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAOsD,WAAY4Y,IAAI,iBAKzC,UAKVlD,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAC,eAC3BF,eAAA,OAAKG,UAAU,gBAAeD,SAAC,0BAEjCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,KAAAE,SAAG,0DAGHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAxFPmyF,KACjBjvG,EAAQkyB,KAAK,kBAAkB,EAuFarzB,SAAC,8BAQ1C,ICzFQQ,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAGXT,EArCYU,IACzB,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAQpD,OACE8c,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CATvCqyB,OAAOioB,YAAc,IAUVt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACPF,eAAC2qC,GAA0B,IACzB3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAEtCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAC9BrB,eAACywG,GAAsB,CAACtvG,eAAgBA,SAG5CnB,eAAC67C,GAAgB,IAChB/6C,GAAUd,eAACD,KAAW,MACtB,I,gBC6MQW,qBAzBUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtB+uG,aAAcvvG,EAAME,aAAaqvG,aACjCnC,iBAAkBptG,EAAME,aAAamtG,qBAIb79E,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCqW,gBAAkB3W,IAChBK,EAASiY,GAAoB3B,gBAAgB3W,GAAS,EAExDmyE,gBAAkBnyE,IAChBK,EAAS+xE,GAAmCpyE,GAAS,KAK5CpvB,EA1OoBU,IACjC,IAAI,eACFD,EAAc,aACd+uG,EAAY,aACZhhF,EAAY,cACZE,EAAa,gBACb6yE,EAAe,iBACf8L,GACE3sG,EACJ,MAAM03B,EAAWkK,wBACjB,IAAIwtE,EAAW13E,EAASn4B,MAAM6vG,SAC9B,MAAO7vG,EAAO+vB,GAAYvT,mBAAS,CACjCizF,cAAe,CAAC,EAChBhhD,UAAWt2B,EAASn4B,MAAM6vG,SAC1BrC,WAAW,IAEb,IAAI9sG,EAAUm1B,uBACdh1B,qBAAU,KACR6uG,GAAc,GACb,IAEH,MAAMA,EAAe5+E,UACnB,IAAIG,EAAO,CACT+8B,WAAY6hD,GAEdthF,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKpN,GAAQiL,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH6+E,cAAelxF,EAAS0S,KAAKA,SAE/BxC,KAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAwBF,OACEiZ,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,wBAAuBD,SACnCS,EACCud,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,oBACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,MAAIG,UAAU,uBAAsBD,SACjCS,EAAMyuD,UAAUT,gBAGrB3uD,eAAA,OAAKG,UAAU,qBAAoBD,SAC/B1C,aAAQmD,EAAMyvG,eAgCZ,KA/BAzvG,EAAMyvG,cAAcvyG,OAClB8C,EAAMyvG,cAAc9uF,KAAI,CAAC0xB,EAAMvU,IAE3BvgB,gBAAA,OACE/d,UAAU,iBACVge,QAASA,KA5CnC8jF,EA4C0DjvD,QAlCxD3xC,EAAQkyB,KAAK,CACXC,SAAU,oBACV7yB,MAAO,CAAE6vG,SAAUA,MAgCyCtwG,SAAA,CAErC8yC,EAAKwf,WACJt0C,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC5B,GAAG8yC,EAAK09D,kBACT1wG,eAAA,QACEwE,MAAO,CACL46B,WAAY,OACZ6jB,SAAU,QACV/iD,SACH,mBAKHF,eAAA,OAAKG,UAAU,iBAAgBD,SAC5B8yC,EAAK09D,iBAGV1wG,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,OAAKsgB,IAAKpb,GAAOsD,WAAY4Y,IAAI,iBAKzC,UAKVlD,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAC,eAC3BF,eAAA,OAAKG,UAAU,gBAAeD,SAAC,0BAEjCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,KAAAE,SAAG,0DAGHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QA3GPmyF,KACjBjvG,EAAQkyB,KAAK,kBAAkB,EA0GarzB,SAAC,6BAQ3CF,eAAA,OAAAE,SACEF,eAAC08B,KAAK,CACN3d,GAAG,KACD4d,KAAMh8B,EAAMwtG,UACZ56D,OAAQA,IACN7iB,GAAUa,IAAS,IACdA,EACH48E,WAAW,MAGf3wB,WAAW,EACX5pC,UAAQ,EAAA1zC,SAERge,gBAACwe,KAAMmX,KAAI,CAACrvC,MAAO,CAAE+hD,QAAS,YAAazR,SAAU,YAAa50C,SAAA,CAChEF,eAAA,KAAAE,SAAG,8BACHF,eAAA,KAAAE,SAAG,gDACHge,gBAAA,KAAAhe,SAAA,CAAG,yBAEDF,eAAA,UAAQwE,MAAO,CAAE/E,MAAO,UAAW2/B,WAAY,OAAQl/B,SAAC,YAE/C,+FAIXF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,UACEme,QAASA,KACP9c,EAAQkyB,KAAK,CACXC,SAAU,SACV7yB,MAAO,CAAEyiC,IAAK,oBACd,EACFljC,SACH,cAIHF,eAAA,OACEme,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACH48E,WAAW,MAEdjuG,SAEDF,eAAA,OAAKsgB,IAAKpb,GAAOkD,UAAWgZ,IAAI,qBAKvC,ICtKQ1gB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAGXT,EArCeU,IAC5B,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAQpD,OACE8c,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CATvCqyB,OAAOioB,YAAc,IAUVt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACPF,eAAC2qC,GAA0B,IACzB3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAEtCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAC9BrB,eAACywG,GAAsB,CAACtvG,eAAgBA,SAG5CnB,eAAC67C,GAAgB,IAChB/6C,GAAUd,eAACD,KAAW,MACtB,I,mCC3BQ4wG,OAJiBA,IACvB3wG,eAAA,UCsBMU,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAGXT,EA1BSU,IACtB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EACpD,OACE8c,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC2wG,GAAuB,CACtBtvG,QAASA,EACTL,SAAUA,EACVG,eAAgBA,SAIrBL,GAAUd,eAACD,KAAW,MACtB,I,wBCoEQ6kF,OArFexjF,IAC5B,IAAI,YACFyjF,EAAW,oBACXC,EAAmB,SACnBzxC,EAAQ,kBACR0xC,EAAiB,oBACjB6Z,EAAmB,eACnBgS,EAAc,QACd5hE,EAAO,UACP6hE,EAAS,QACTxvG,GACED,EAUJ,OACEpB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,6CAA4CD,SAAA,CAC3DF,eAACm8B,IAAI,CACDh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,qBACVtzB,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,0BAEnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAa,OAAX2kF,QAAW,IAAXA,OAAW,EAAXA,EAAar3B,eAE3CtvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,0DACJF,eAAA,MAAAE,SAAI,yEAEJF,eAAA,MAAAE,SAAI,oEAGRF,eAAA,MAAAE,SAAI,iBACFF,eAAA,OACEsgB,IAAK,kCAAqD,OAAnBs+E,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqB9L,qBAC5D1xE,IAAI,+BAKC,IAAZ4tB,EACC9wB,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACvB,IAAI,mBACY0wG,KAEnB1yF,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAAC,0BACL2wG,QAG1B,eAKZ7wG,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,qBAG9B,E,QCi7CAsnF,OAz/CYpmF,IAAW,IAADqmF,EAAAC,EAAAC,EACnC,IAAI,qBACFG,EAAoB,gBACpB7C,EAAe,eACfyJ,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,mBACtBC,EAAkB,iBAClBC,EAAgB,cAChBC,EAAa,OACblzD,EAAM,aACNlG,EAAY,cACZE,GACEhuB,EAEJ,MAAOonF,EAAiBC,GAAsBtrE,mBAAS,KAEhDurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAITioD,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,QAiE3B8+B,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAC1B6F,EAAWC,GAAgBjsE,oBAAS,IAEpCksE,EAAWC,GAAgBnsE,oBAAS,IACpCosE,EAAYC,GAAiBrsE,oBAAS,IACtC2zF,EAASC,GAAc5zF,oBAAS,GACjCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,IAG1CvJ,EAAM4J,GAAWxsE,oBAAS,IAC1BysE,EAAKC,GAAU1sE,oBAAS,IACxB2sE,EAAWC,GAAe5sE,oBAAS,IACnC6sE,EAAQC,GAAa9sE,oBAAS,GAErC3b,qBAAU,KAEkB,GAAxBktF,EAAev1B,OACW,GAA1Bu1B,EAAet1B,SACW,GAA1Bs1B,EAAer1B,UAEfn6D,MAAM,uCACNmpF,EAAiBpD,GAEnB,GACC,CAACyJ,EAAer1B,UAEnBwmB,GAAWmK,GACXnK,GAAWoF,EAAiBlF,EAAM6J,GAElC,MAAMM,EAAYA,KAChBL,GAAO,GACPE,GAAY,EAAM,EAEdI,EAAiBA,KACrBN,GAAO,EAAM,EAGTO,EAAaA,KACjBL,GAAY,EAAK,EAGnBvoF,qBAAU,KACR,MAAMwvG,EAAiBA,KACrBvwB,GAAY,EAKd,OAFAluD,OAAOmR,iBAAiB,WAAYstE,GAE7B,KACLz+E,OAAOoR,oBAAoB,WAAYqtE,EAAe,CACvD,GACA,IAEH,MA4BM3mB,EAAcA,CAACC,EAAGC,EAAIC,KACrBZ,GAAOjqF,OAAO2qF,GACV,sCACGV,GAAOW,GAAMA,EAAGlvB,QAAQ17D,OAAO6qF,KAAc,EAChD,mCAEA,wBA0BLI,EAA6B3F,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DssF,IAEAD,GACF,EAEIW,EAAqBA,CAACC,EAAcC,IAEtC/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEA6/E,EACG+K,EAAarkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1B5rE,UAAUyqE,EACVroE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,GAAG5B,YAC3B/lF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxCsB,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAxCRhoC,KAgDd,KACFqsD,EAAaE,aAAantF,OAC1BitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1B5rE,UAAUyqE,EACVroE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,GAAG5B,YAC3B/lF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxCsB,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAxCRhoC,KAgDd,SAMN6sD,EAAoBA,CAACR,EAAcC,IAErC/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1B5rE,UAAUyqE,EACVroE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,EAAKm9C,YAAc/lF,EAAQ+lF,YAI1ClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCsB,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAvCRhoC,KA+Cd,SAKN8sD,GAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAAOqqF,EAAqBiD,GAAkBxC,eAC9C3pE,SAAWnB,IACT0qE,EAAuB1qE,GACvB2sE,GAAY,EAEdjrE,UAAUmpE,GARLyC,SA+BXK,GAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,GAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbC,GAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAf6jF,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA7EnC,IAAD6jF,EAAAE,CAkFT,EAGIC,GAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,GAC1B2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAiBduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAaXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAchBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,GAC1B2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaduiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaH,QAAfytD,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,SAEEirE,GAAa,GACbI,GAAc,IACftpF,SAEDF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAchBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,GAC1B2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QArFd,IAADytD,EAAAC,CAmGT,EAoCOrE,EAAqBjqF,OAc9B,MAiBM+lE,GAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B1uC,MAC/B,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEmoB,GAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACzCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,EAAE,EAGDkvC,GAAwBvpF,IAC5B,OAAIg9E,EAEA//E,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,WAzGU1tF,EA8GD,OAAP+E,QAAO,IAAPA,OAAO,EAAPA,EAASwpF,gBA1GtB,IAAIC,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,EAyG5BmC,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQl7C,EAAQwpF,gBAMpBvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,UA1HF,IAAU1tF,CA+HlC,EAGI0uF,GAAe3pF,IACnB,MAAMi+D,EAAUj+D,EAAQ4pF,iBAClBC,EAAe7pF,EAAQ8pF,eACvBC,EAAsB/pF,EAAQgqF,uBAC9BC,EAAoBjqF,EAAQkqF,qBAE5BC,GAAWnN,GAAQ6M,GAAgBI,EACnCvf,EAAkByf,EAAUN,EAAe5rB,EAC3CmsB,EAAuBD,EACzBF,EACAF,EAIJ,IAFmB,uDAEHv1D,KAAKk2C,GACnB,OAAO,KAIT,MAAM2f,EACJjE,IAAcpJ,EACV,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGN,OAAIoN,GAAwD,KAAhCA,EAAqBrvF,OAE7CogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,GAAgBlsF,SACjEktF,IAEFjE,EACCnpF,eAAC4/E,GAA4B,CAC3BzhB,SAAUgvB,EACVhtF,UAAU,gBAEV,QAKN+d,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC1ButE,GACCztE,eAAA,UACEG,UAAU,yBACVge,QAASiuE,GAAgBlsF,SAExBktF,IAIJjE,EACCnpF,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,GACR/N,MAAM,0EACNC,iBAAe,IAEf,OAGV,EAGF,OACE91D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFxpF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAIxBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBunF,EACa,QADbC,EACxBI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAC/C,SAEJznF,eAAA,UAAQme,QAASA,IAAMsiE,IAAavgF,SAAC,cAEvCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAM/pF,SACpC8pF,EACChqF,eAAA,OACEsgB,IAAKpb,GAAOqK,oBACZ6R,IAAI,UAGNphB,eAAA,OACEsgB,IAAKpb,GAAOoK,mBACZ8R,IAAI,WAIVphB,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAO/pF,SACrC8pF,EACChqF,eAAA,OACEsgB,IAAKpb,GAAOkK,mBACZgS,IAAI,SAGNphB,eAAA,OACEsgB,IAAKpb,GAAOmK,oBACZ+R,IAAI,kBAMdlD,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,qBAM/CF,eAAA,OACEG,UAAU,qCACVD,SAEC4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,GAAoBlpF,EAAS07B,MAV7BA,KAeX,cAKZvgB,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,iDAAgDD,SAAA,CAC7Dge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,YAE9BmC,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAev1B,QAElBn5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAet1B,UAElBp5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAer1B,QAAU,EACtBq1B,EAAer1B,QACf,IAAG,IAAMq1B,EAAer1B,gBAIlCr5D,eAAA,OAAKG,UAAU,sBAAqBD,SACjC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAAiBsH,aACpCvsF,eAAA,UAAQme,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SACnC6/E,EAAO,SAAM,OAGhB,QAIN7hE,gBAAA,OAAK1Z,MAAO,CAAE0uD,UAAW,OAAQ3M,QAAS,QAASrmD,SAAA,CACjDF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCge,gBAAA,KAAAhe,SAAA,CAAG,iBAEDge,gBAAA,QAAAhe,SAAA,CACG,IACqC,QADlCynF,EACHG,EAAqB7C,UAAgB,IAAA0C,OAAA,EAArCA,EAAuCtnF,aAI9C6d,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,KAAG/d,UAAU,kBAAiBD,SAAA,CAAC,YACnB+kF,EAAkB,KAE9BjlF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAAE,SACEF,eAAA,OAAK+e,GAAG,uBAAsB7e,SAC3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAAC0xB,EAAMvU,KAC9B,GAAIA,GAASwmD,EACX,OAAOjlF,eAAA69B,YAAA,CAAA39B,SAAGosF,GAAqBt5C,IACjC,IAEF,cAMZhzC,eAAA,OAAKG,UAAU,4BAA2BD,SA3mCxCotF,MACpB,GAAIxF,EAAqBjqF,OAAQ,CAC/B,IAAI0vF,EAAezF,EACnB,OAAOyF,EAAajsE,KAAI,CAACvf,EAAK61D,KAC5B,IAAIjnC,EAAMtwB,EASV,OARAA,EAAO0B,EAAIyrF,YAET78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAED6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB0C,EAAa31B,GAAIA,EAAGmoB,GAChD,KAAK,EACH,OAAOwL,GAAiB3zB,GAC1B,KAAK,EACH,OAAO0zB,EAAkBiC,EAAa31B,GAAIA,GAC5C,QACE,OAAO,KACX,GAEJ,CACE,OAAO,IACT,EAklCqB01B,KAGHttF,eAACqqC,KAAc,IAEfnsB,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOuE,SAAU2X,IAAI,OAEjCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UAAQme,QAASA,IAAMkqE,IAAmBnoF,SAAC,sBAQnDge,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsBhvD,OAoBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QAvyCMwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAkxC4C/E,SACpC,mBAOL0pF,EA4CA,GA3CA1rE,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,WAAUD,SAAC,eACzB4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,EACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQk8F,WAFbl8F,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,EAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQo8F,iBAFbp8F,EAAQ8lF,IAAM,WAQ3B,QAGFf,EAAqBxmE,KAAI,CAAC0xB,EAAMvU,IAEvBz+B,eAAA69B,YAAA,CAAA39B,SAAGwsF,GAAY15C,gBAWpC90B,gBAAA,OACE1Z,MAAO,CACLo8B,OAAQ,iBACRn8B,QAAS,eACThF,MAAO,UACPquF,WAAY,UACZ7qC,SAAU,OACV8qC,UAAW,SACX3uD,WAAY,MACZ4uD,WAAY,QACZ9tF,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OAAKsgB,IAAKpb,GAAOuK,mBAAoB2R,IAAI,OACnC,IACRphB,eAAA,QACEwE,MAAO,CAAEquC,eAAgB,OAAQ1G,OAAQ,WACzChuB,QAp4CgB8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GAs3CuDlvB,SACtC,uBAIHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,IA11CZzjF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,IAA2B,IAAvBy+B,EAAkB,GAAU,KACrCiE,SAAU,WAsGVpB,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,IA6uCwBd,GAAa,EAAM,EACnBlpF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SACzB0pF,EACC5pF,eAAA,UACEmf,UAAU2qE,EACV3pF,UAAY2pF,EAAwB,OAAZ,UACxB3rE,QAASA,IAAMgsE,IAAiBjqF,SACjC,aAIDF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,aAMLF,eAAA,OAAKG,UAAU,cAAaD,SACzB0pF,EACC5pF,eAAA,UACEmf,UAAU2qE,EACV3pF,UAAY2pF,EAAwB,OAAZ,UACxB3rE,QAASA,IAAMgsE,IAAiBjqF,SACjC,aAIDF,eAAA,UACEme,QAASA,KACP6pE,IAj5Cd1jF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,WA0HVpB,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,IAixC0Bd,GAAa,EAAM,EAEnBlpF,SACH,+BAcd,ECrgDR,MAAM+wG,GAAqB,qBACrBC,GAA4B,4BCe1B,OAPgBphF,IACtB,CACLzvB,KAAM8uB,GACNW,YC8lCWpvB,qBAvBUC,IAChB,CACLitD,SAAUjtD,EAAM09F,aAAaC,YAC7B4R,aAAcvvG,EAAME,aAAaqvG,aACjC/uG,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrC+gF,sBAAwBrhF,IACtBK,EAASihF,GAAmCthF,GAAS,KAK5CpvB,EA5kCkBU,IAAW,IAAD04E,EACzC,IAAI,QACFz4E,EAAO,SACPusD,EAAQ,aACRsiD,EAAY,uBACZ1kD,EAAsB,eACtBrqD,EAAc,aACd+tB,EAAY,cACZE,EAAa,SACbpuB,EAAQ,sBACRmwG,GACE/vG,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACd+Z,oBAAqB,CAAC,EACtB9Z,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtB2G,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,EACTloC,KAAM,EACN1X,QAAS,EACTmqB,MAAO,GACPC,QAAS,EACTC,QAAS,EACT+0B,YAAa,EACb70C,WAAW,EACX80C,OAAQ,cACR70C,kBAAkB,EAClBC,eAAgB,GAChBq1C,eAAgB,CAAC,IAEnB,IAAIuiB,EAAarwG,EAASqwG,WACtBC,EAActwG,EAASswG,YAGvBV,GAFU5vG,EAASm4B,aAEF,GACrB,MAAML,EAAWkK,wBACjB,IAAI2rB,EAAqB,OAAR71B,QAAQ,IAARA,GAAe,QAAPghD,EAARhhD,EAAUn4B,aAAK,IAAAm5E,OAAP,EAARA,EAAiB02B,SAClC,MAAOrxB,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,IAEzC8xE,EAAuBjiD,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,qBACC,EAKCnnB,EAAqBzhC,IACzBA,EAAEhe,iBACFoiE,GAAY,EAGdj/E,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,GAC7B,KACLvrC,OAAOoR,oBAAoB,WAAYm6B,EAAkB,IAE1D,IACHt8D,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,EAAkB,IAExD,MAAMqxB,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,qBACC,EAiCL,IAAImK,EA1BJ5tF,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAGpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KAER81F,IACAmI,IACAzlD,IAAa,GACZ,IAEHx4C,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB3uF,EAAMkkF,YAAYn3B,eAElC,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAGV,MAAM2+D,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAGpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,GACb12B,cAAco2B,GAGhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,GAEH18B,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,GAE3Bmc,EAAuBhuE,UAC3B,MAAMG,EAAO,CACXob,QAASkjE,EAAarM,MACtB6M,eAAgB9iD,EAAS8iD,eACzB/hD,WAAYA,GAEdz/B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKnN,GAAQgL,GAC1Cg/E,EACgB,GAAdS,GAAkC,GAAfC,EACf,EACA,EAAIpyF,EAAS0S,KAAKq9E,aAExBv+E,GAAUqgE,IAAQ,IACbA,EACHlM,YAAa3lE,EAAS0S,KAAKA,KAC3B80B,KAAMkqD,EACN5hE,QAAShuC,EAASm4B,iBAEpB/J,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAMIqyF,EAAyB7lE,UAC7B,IAAIG,EAAO,CACTi8B,SAAUD,EAASC,UAIrB,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAKlQ,GAAQ+N,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHuzD,oBAAqB5lE,EAAS0S,KAAKA,SAErCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GA2DI0qF,EAAaA,KACjB,IAAItgD,EAAI,IAAIC,KAEZ,MAAMiiE,EAAe,IAAIjiE,KAAKtuC,EAAS45C,YAEvC22D,EAAaC,QAAQD,EAAaruC,UAAYuuC,QAC9C,IAAIC,EAAqBjzG,KAAKkzG,IAAIlzG,KAAKkzG,IAAIJ,EAAeliE,GAAK,KAS/DqiE,GAA8B,MADhB,GAHDjzG,KAAKC,MAAMgzG,EAAqB,OAGlBjzG,KAAKC,MAAMgzG,EAAqB,MAAQ,IAInDjzG,KAAKC,MAAMgzG,EAAqB,IAGhD,OAAOriE,EAAE6zB,SAAS,EAGd0uC,EAAgBA,KACpB,IAAIviE,EAAI,IAAIC,KAEZ,MAAMiiE,EAAe,IAAIjiE,KAAKtuC,EAAS45C,YAEvC22D,EAAaC,QAAQD,EAAaruC,UAAYuuC,QAC9C,IAAIC,EAAqBjzG,KAAKkzG,IAAIlzG,KAAKkzG,IAAIJ,EAAeliE,GAAK,KAK/D,MAGM8pB,EAAQ,GAHD16D,KAAKC,MAAMgzG,EAAqB,OAGlBjzG,KAAKC,MAAMgzG,EAAqB,MAAQ,GACnEA,GAA8B,KAARv4C,EAKtB,OAAOA,EAAQ,YAFC16D,KAAKC,MAAMgzG,EAAqB,IAAM,GAEf,UAAU,EAI7Cr+D,EAAW5hB,UAEf,GAAkB,GAAd9wB,EAAM+lD,MAA8B,GAAjB/lD,EAAMquC,QAAc,CAEzC,IAAI6iE,EAAU,CAAC,CAAEC,WAAW,IAC5B1wG,EAAMC,QAAQkyB,KAAK,CACjBC,SAAU,SACVu+E,SAAUF,GAEd,CAE+BlxG,EAAMmkF,oBAArC,IACID,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQqnF,GA8HX3lF,MAAM,mCA9HmB,CACzB,IAAI2zB,OAtHqBpB,WAC3B,IAAIG,EAAO,CACTi8B,SAAUg3B,EAAYh3B,UAExB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlN,GAAQ+K,GAC1C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GA2F+B+8D,CAAqBjL,GAIlD,GAAIhyD,EAAiBxuB,OAAQ,CAC3BwuB,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAAD28F,EAAA1G,EACtDj2F,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAK/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEJrtF,EAAQk8F,SAA2B,QAAnBS,EAAG38F,EAAQk8F,gBAAQ,IAAAS,OAAA,EAAhBA,EACftP,WACA,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAEJ,IAAIvmD,EAAO8lD,IAIXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KAEpD+8D,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAE3C,MACEpxF,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAEjB5G,EAA4BA,KAChC,IAAI,gBAAE9C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IAEXgB,IAEI1L,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,GACrB,EAMIquB,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,qBAAE7G,EAAoB,YAAEjD,GACxDlkF,EACEiwF,EAAqB9I,EAAqB7C,GAC1CrzD,EAAO,CACTo/D,eAAgBJ,EAAmBI,eACnClI,UAAW8H,EAAmBlG,qBAAqB,GAC/CkG,EAAmBlG,qBAAqB,GAAG5B,UACT,mBAAlC8H,EAAmBpD,YACnBoD,EAAmBrI,eACnB,GACJ16B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,WAEhC54B,IACA,IAE+B,aADNwC,KAAMqC,KAAKhN,GAAQ6K,IAC7BA,KAAKC,QAChBzC,IAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAGI+iF,EAAwBA,KAC5B,IAAI,gBAAE/C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IAIE7I,EAAqB7C,GAAiB0F,aACtC7C,EAAqB7C,GAAiBxe,OAAO3hB,QAC1CinC,GAAMA,EAAEd,sBACTptF,OAEFiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAK,CAC9D5B,UAAW0B,IAMJ,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DxrF,OAAO6qF,GACT1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,EAAQ+lF,YAAc0B,IAG/B,IAAqB,IAAjBmH,EAAoB,CACtB,IAAIC,EAAM,CACR9I,UAAW0B,GAEb1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA+zF,EAEJ,MACE9J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,GAM7C,IAFP7C,EAAqB7C,GAAiByF,qBAAqBrvB,QACzDmvB,IAMO,IAFP1C,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwBttF,OAC9D,EACA2sF,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAEF,IAOK,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EAAqB7C,GAAiBkL,0BACnCtyF,OACH,EACA2sF,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EACE7C,GACAkL,0BAA0B90B,QAAQmvB,GACpC,GAKF1C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAElB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAc7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAjBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAC3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAKhO,GAAQ6L,EAAK,EAU/CsgE,CAAepK,EAAqB7C,GAAiB,EAEjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAM7D,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAGlCvJ,EAAqB7C,GAAiB4D,GAIxD,KAAO,CAGWf,EAAqB7C,GAAiB4D,GAIxD,GAGIuJ,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAE1B91D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAEhB,EAGC6B,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCg5F,EAAc,GAElB7R,EAAqB3vD,SAASp1B,IAC5B,GAA0C,mBAAtCA,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,KAEF1C,IACA,IAAI2D,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,QACnB+qB,IAIA+hF,EAAsBtsB,GAGtBhtC,IACAm6D,MAEA5iF,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAC9B,EAGIymE,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,IAAIr4D,EAAiB,CAInByrB,SAAUg3B,EAAYh3B,SACtBhkB,KAAM,IAgBR,IACE,MAAM3qB,QAAiBwS,KAAMqC,KAAKjN,GAAQsb,GAC1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAGIqxD,EAAoBA,KACxB1jF,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACd,EA0DE4uE,EAA2BvgF,UAC/B,IAAIG,EAAO,CACTi8B,SAAUltD,EAAMkkF,YAAYh3B,UAE9B3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK/M,GAAQ4K,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUqa,IACD,IACFA,EACH+jD,eAAgB5vE,EAAS0S,KAAKA,SAGlCtwB,QAAQC,IAAI,aAAc2d,EAAS0S,KAAKA,MACxC4gE,EACEtzE,EAAS0S,KAAKA,KAAKyoE,eACnBn7E,EAAS0S,KAAKA,KAAK0oE,kBAErBlrE,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAEIojE,EAAuB/gE,MAAO8nE,EAAaC,KAC/C,MAAM5nE,EAAO,CACXvxB,KAAM,gBACNm5F,UAAWA,EACXD,YAAaA,EACbpI,WAAY,MACZtjC,SAAUltD,EAAMkkF,YAAYh3B,UAE9B,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAK9I,GAAS2G,GACd,MAAzB1S,EAAS0S,KAAKC,QACW,gCAAvB3S,EAAS0S,KAAKA,OAChBtwB,QAAQC,IAAI2d,EAAS0S,MACrBlB,GAAUqa,IACD,IACFA,EACHqjD,YAAalvE,EAAS0S,KAAK5hB,MAC3BupC,UAAWr6B,EAAS0S,KAAK5hB,MAAQ,EACjCq+E,OAAQnvE,EAAS0S,KAAKA,KAAKkP,gBAGH,IAAxB5hB,EAAS0S,KAAK5hB,OAChB3O,EAAQkyB,KAAK,CACXC,SAAU,iBAKpB,CAAE,MAAOvuB,GACP3D,QAAQC,IAAI0D,EACd,GAEI+0C,GAAcvoB,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzG,IACJ,MAAzBhM,EAAS0S,KAAKC,SAChBvwB,QAAQC,IAAI2d,EAAS0S,KAAKyoB,MAC1B3pB,GAAUa,IACD,IACFA,EACHkoB,eAAgBv6B,EAAS0S,KAAKA,SAItC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAYF,OACEiZ,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAACkuF,GAAW,CACVvxD,KAAMh8B,EAAM44C,UACZhG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,gBAAiB,EAE5C26D,gBAAiBA,IACfz9D,GAAUqa,IACD,IAAKA,EAAMyO,kBAAkB,EAAMD,WAAW,MAGzD60C,YAAaztF,EAAMytF,YACnBC,OAAQ1tF,EAAM0tF,SAEhBruF,eAACsuF,GAAa,CACZ3xD,KAAMh8B,EAAM64C,iBACZjG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,gBAAiB,EAE5C5B,KAAMjxB,EAAM84C,iBAEdz5C,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,uCAAsCD,SAlKvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAAC4kF,GAAoB,CACnBC,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,EACV0xC,kBAAmBA,EACnB6Z,oBAAqBj+F,EAAMkkF,YAC3B+rB,eAAgBjwG,EAAM+lD,KACtB1X,QAASruC,EAAMquC,QACf6hE,UAAWe,IACXvwG,QAASA,IAGf,KAAK,EACH,OACErB,eAACwnF,GAAiB,CAChBM,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACfuN,KAAMA,EACNkb,YAAaA,EACb4oC,WAAYA,IAIlB,QACE,OAAO,KACX,EA+GOxsD,CAAWtzB,EAAMgwB,YAGb,ICjiCAjwB,IC9CX,GD8CWA,iBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EAlCWU,IACxB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,GAAYI,EASnC,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAGvCF,eAACyyF,GAAoB,CAACpxF,QAASA,EAC/BL,SAAWA,QAKlBF,GAAUd,eAACD,KAAW,MACd,I,QClCf,SAAS,KAAa,OAAO,GAAWpC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICy7BAoe,OA38B0B7wG,IAAW,IAADsmF,EAAAC,EACjD,IAAI,qBACFG,EAAoB,gBACpB7C,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,OAClBhzD,GACEh0B,EAEJ,MAAO2+E,EAAM4J,GAAWxsE,oBAAS,IAC1BosE,EAAYC,GAAiBrsE,oBAAS,IAEtC2sE,EAAWC,GAAe5sE,oBAAS,IACnCysE,EAAKC,GAAU1sE,oBAAS,IACxBgsE,EAAWC,GAAgBjsE,oBAAS,IACpC6sE,EAAQC,GAAa9sE,oBAAS,GAErC0iE,GAAWiI,EAAsB/H,GACjCF,GAAWiI,EAAsBkC,GAEjC,MA6BMK,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAIL7V,EAAqBA,CAACC,EAAcC,KACxC,GAAI9F,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,QAIZ,EAGI6sD,EAAoBA,CAACR,EAAcC,KACvC,GAAI9F,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,QAIZ,EAGI8sD,EAAoBR,IACmB,IAADtD,EAA1C,GAAIxC,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACL5C,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAC9CppE,UAAQ,GAHH8lE,QASjB,EAmDIrhB,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,iCAAiC1uC,MACjC,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAI8vD,EAAqB,CAAE9vD,YAAa3T,EAAEzK,KAAKoe,aAC/Ck0B,eAAeC,QACb,qBACA9hE,KAAKw+C,UAAUi/C,GAEnB,CACF,GAAE,EAGE1T,EAAkBA,KACtBhD,GAAcD,EAAU,EA+C1B,IAAI8U,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAMutF,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbS,EAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAalBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYhBuiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAUTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWH,QAAfqtD,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYhBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QA1Ed,IAADqtD,EAAAE,CAsFT,EAEIP,EAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,YAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,gBAMvCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAfikF,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAvFnC,IAADikF,EAAAC,CA4FT,EA0BOrE,EAAqBjqF,OAC9B,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,gBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CACGP,OAAOslF,GAAmB,EAAE,IAC5B6C,EAAqBjqF,UAExBmC,eAAA,OAAKG,UAAU,aAAYD,SACa,QAArCwnF,EAAAI,EAAqB7C,UAAgB,IAAAyC,GAArCA,EACG6E,aACFvsF,eAAA,UACEG,UAAW,cACXge,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAG7B6/E,EAAO,SAAM,MAGhB,UAsBR7hE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CAExCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACtB,IACfF,eAAA,QAAAE,SACwC,QADxCynF,EACGG,EAAqB7C,UAAgB,IAAA0C,OAAA,EAArCA,EAAuC6F,mBAI9CxtF,eAAA,OAAKG,UAAU,uBAAsBD,SASnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAG/B6C,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,EACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,SAFb3oF,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,EAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQwpF,eAFbxpF,EAAQ8lF,IAAM,WAQ3B,aAKV7oF,eAAA,OAAKG,UAAU,4BAA2BD,SACvC4nF,EAAqBjqF,OAAS,GAjyB5BiqF,KACrB,GAAIA,EAAqBjqF,OAAQ,CAC/B,IAAI0vF,EAAezF,EACnB,OAAOyF,EAAajsE,KAAI,CAACvf,EAAK61D,KAC5B,IAAIjnC,EAAMtwB,EASV,OARAA,EAAO0B,EAAIyrF,YAET78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAED6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB0C,EAAa31B,GAAIA,GAC7C,KAAK,EACH,OAAO2zB,EAAiB3zB,GAC1B,KAAK,EACH,OAAO0zB,EAAkBiC,EAAa31B,GAAIA,GAC5C,QACE,OAAO,KACX,GAEJ,CACE,OAAO,IACT,EAwwBoB01B,CAAcxF,KAGlB5pE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GAC5CmE,GAAa,EAAM,EACnBlpF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,gBAEVtzB,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GACxCmE,GAAa,EAAM,EACnBlpF,SACH,gBAOTge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,eACJge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEg+C,wBAnqBD2iD,EAACF,EAAwB1gB,KAC9C,GAAY,GAARA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,UAE7B,GAAY,GAARlf,EAAe,CAGxB,OAFake,EAAoBwC,EAAuBtB,gBAG/C,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBtB,gBAG3B,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,SAGtC,CACE,MAAO,CACLhhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAEpC,EA8oB+CiV,CAEvB7Y,EAAqB7C,GACrBlF,KAGH+H,EAAqBxmE,KAAI,CAACqqB,EAAMlN,KAC/B,GAAIA,IAAUwmD,EACZ,MAnnBLnF,KACnB,MAAM9e,EAAgC,OAAtB8e,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB6M,iBAClCC,EAAqC,OAAtB9M,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB+M,eAIvCpf,GAFWsS,GAAQ6M,EAESA,EAAe5rB,EAI3C++B,EAFa,uDAESxoE,KAAKk2C,GAE3B2f,EAAcrN,EAAO,sBAAwB,2GAEnD,OAAItS,GAA8C,KAA3BA,EAAgB3vE,OAEnCogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAGFjE,GAAa4W,EACZ//F,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,EACR/N,MAAM,0EACNC,iBAAe,IAEf,KACHqzB,IAAc4W,EACb//F,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,gBAEV,QAID,IACT,EA2kB+BusF,CAAY/gD,EACrB,OAGJ3rC,eAAA,iBAINA,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAGxBxpF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,qBAY/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAC5B,OAApB4nF,QAAoB,IAApBA,KAAsBjqF,OACC,OAApBiqF,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBxmE,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACGyB,EAAqB1oF,EAAS07B,GAC9BwtD,EAAoBlpF,EAAS07B,IAT5BA,KAaX,0BAUb,ECj2BA/9B,qBAjBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB48F,eAAgB/8F,EAAMuxG,gBAAgBC,cACtCnxG,SAAUL,EAAMM,KAAKC,SAGGivB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EAxGmBU,IAChC,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,eAAE48F,EAAc,SAAE18F,GAAaI,EACxE,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,GACtB7C,gBAAiB,EACjBwb,uBAAwB,CAAC,IAE3Bj/F,qBAAU,KACR88E,GAAiB,GAChB,IAEH,MAAMA,EAAkB7sD,UACtBvC,IACA,IAAI0C,EAAO,CACTi8B,SAAU6vC,EAAe7vC,UAE3B,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAKlN,GAAQ+K,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IAEAsB,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsB5oE,EAAS0S,KAAKA,SAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GA2CF,OACElR,gBAAA,OAAAhe,SAAA,CACEF,eAACiyG,GAA+B,CAC9BnqB,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvBwb,uBAAwB9/F,EAAM8/F,uBAC9B1Y,0BA/B6BgD,IACjC,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAG3C9F,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAGxBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAkBI0lB,sBA9CyB+C,IAC7B,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAG/Cr6D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,EAAE,EAoCjB8lB,mBAhBsB5B,IAC1B,MAAM,SAAE34B,EAAQ,IAAEg7B,GAAQloF,EAAMmnF,qBAAqBtB,GAErD91D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAWCpxD,OAAQp0B,EAASo0B,SAElBt0B,GAAUd,eAACD,KAAW,MACnB,I,QCgDKW,qBAvBUC,IAChB,CACLytC,IAAKztC,EAAMyxG,yBAAyBhkE,IACpC9c,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,cAIE1D,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrC25B,WAAaj6B,IACXK,EAASkiF,GAAmCviF,GAAS,KAK5CpvB,EAtImBU,IAAW,IAADkxG,EAC1C,IAAI,aACFpjF,EAAY,cACZE,EAAa,IACbgf,EAAG,WACH2b,EAAU,MACVz4B,EAAK,UACLuC,GACEzyB,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCizF,cAAe,CAAC,EAChBmC,SAAU,GACVC,YAAa,GACbC,WAAW,IAGb,IAAIpxG,EAAUm1B,uBAEdh1B,qBAAU,KACRkxG,GAAa,GACZ,IAEH,MAAMA,EAAcjhF,UAClBvC,IACA,MAAM0C,EAAO,CACXqyE,SAAU71D,GAENza,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMqC,KAAKvH,GAASoF,EAAM,CAAE+B,YACnDvE,IACAsB,GAAUa,IAAS,IACdA,EACHghF,SAAUrzF,EAAS0S,KAAKA,QAE5B,CAAE,MAAO3sB,GACPmqB,GACF,GAGIujF,EAAc,WAA8B,IAA7BC,EAAIhhD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAEjxD,EAAM6xG,YAC/B9hF,GAAUa,IAAS,IACZA,EACHkhF,WAAYlhF,EAAUkhF,UACtBD,YAAaI,KAEnB,EAEMC,EAAc,WAA8B,IAA7BD,EAAIhhD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAEjxD,EAAM6xG,YAC/BzoD,EAAW6oD,GACXvxG,EAAQkyB,KAAK,4BACf,EAEA,OACErV,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnClD,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,SAAOkuC,EAAIjwC,MAAM,GAAG,gBAClD6B,eAAA,OAAKG,UAAU,iBAAgBD,SAC5BS,EAAM4xG,SAASjxF,KAAKsxF,GAEjB10F,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,KAAGG,UAAU,WAAUD,SAAE0yG,EAAK5lE,UAC9BhtC,eAAA,KAAGG,UAAU,eAAcD,SAAE0yG,EAAKp0F,QAClCN,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,UAAQme,QAASA,KAAOw0F,EAAYC,EAAK,EAAGzyG,UAAU,eAAcD,SAAC,kBACpE0yG,EAAKpgD,WAAaxyD,eAAA,UAAQG,UAAU,YAAYge,QAASA,IAAM00F,EAAYD,GAAM1yG,SAAC,qBAA4BF,eAAA,UAAQG,UAAU,YAAYge,QAASA,IAAM00F,EAAYD,GAAM1yG,SAAC,sCAUjMF,eAAA,OAAKG,UAAWQ,EAAM8xG,UAAY,sBAAwB,iBAAiBvyG,SACzEge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,4BAA2BD,SAAC,kBACzCF,eAAA,UAAQG,UAAU,YAAYge,QAASA,KAAOw0F,GAAa,EAAEzyG,SAACF,eAAA,OAAKsgB,IAAKpb,GAAOkD,UAAWgZ,IAAI,YAC9FphB,eAAA,SACAke,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACxBF,eAAA,KAAGG,UAAU,gBAAeD,SAAES,EAAM6xG,YAAYxlE,UAChDhtC,eAAA,SACAA,eAAA,MAAAE,SAC4B,QAD5BoyG,EACK3xG,EAAM6xG,YAAYtgE,aAAK,IAAAogE,OAAA,EAAvBA,EAAyBhxF,KAAK4wB,GACnBlyC,eAAA,MAAAE,SAAKgyC,WAIzBlyC,eAAA,UAAQG,UAAU,WAAWge,QAASA,KAAOw0F,GAAa,EAAEzyG,SAAC,gBAGlE,IC9DQQ,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAxCYU,IACzB,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAMpD,OACE8c,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CANpCqyB,OAAOioB,YAAc,IAQpBt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAE5BrB,eAAC8yG,GAAwB,SAG7B9yG,eAAC+yG,GAAe,IACfjyG,GAAUd,eAACD,KAAW,MACtB,I,wBCqFQW,ICjIX,GDiIWA,iBAtBUC,IAChB,CACLqsC,QAASrsC,EAAMyxG,yBAAyBplE,QACxC1b,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,cAIC1D,IAChB,CACHjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC4iF,iBAAmBljF,IACfK,EAASkyE,GAA0CvyE,GAAS,KAKzDpvB,EAtHsBU,IACnC,IAAI,SACFiyC,EAAQ,QACRrG,EAAO,aACP9d,EAAY,cACZE,EAAa,iBACb4jF,EAAgB,UAChBn/E,EAAS,MACTvC,GACIlwB,EAEN,MAAMC,EAAUm1B,uBACCwM,wBAEjBxhC,qBAAU,KACR6tF,GAAgB,GAChB,IAEF,MAAO1uF,EAAQ+vB,GAAYvT,mBAAS,CAClC81F,kBAAmB,KASf5jB,EAAiB59D,UACrBvC,IACA,MAAM0C,EAAO,CACTqyE,SAAUj3D,EAAQi3D,SAClBj3D,QAASA,EAAQA,SAEfrZ,EAAU,CACZC,cAAe,GAAGC,KAAavC,KAEnC,IACI,MAAMpS,QAAiBwS,KAAMqC,KAAKtH,GAASmF,EAAM+B,GACjDvE,IACA4jF,EAAiB9zF,EAAS0S,MAC1BlB,GAAUa,IAAS,IACZA,EACH0hF,kBAAmB/zF,EAAS0S,QAEpC,CAAE,MAAO3sB,GACLmqB,IACA9tB,QAAQC,IAAI0D,EAChB,GAGF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,UAAQG,UAAU,yBAAyBge,QAnCjC2+E,KACpBz7F,EAAQkyB,KAAK,CACXC,SAAU,uBACV,EAgC0EtzB,SAChEF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,sBAGnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAKS,EAAMsyG,kBAAkBC,oBAC7Bh1F,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CAC1BF,eAAA,MAAAE,SAAI,yBACJge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,0DACJF,eAAA,MAAAE,SAAI,yEAIJF,eAAA,MAAAE,SAAI,oEAKJF,eAAA,MAAAE,SAAI,uBAIRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,8BAOtC,I,QCtGf,SAAS,KAAa,OAAO,GAAWvC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICuvDAnzF,qBAjBUC,IAChB,CACL04B,QAAS14B,EAAMM,KAAKC,KAAKm4B,YAIDlJ,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EApwDoBU,IAAW,IAADwmF,EAAAC,EAAAsrB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3C,IAAI,qBACF5rB,EAAoB,gBACpB7C,EAAe,eACfyJ,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,YACZE,EAAW,oBACXC,EAAmB,mBACnBhK,EAAkB,iBAClBC,EAAgB,gCAChBoG,EAA+B,oBAC/BU,EAAmB,oBACnBF,EAAmB,gBACnB9P,EAAe,gBACf4P,EAAe,cACfzG,EAAa,SACbtnF,EAAQ,UACR6tF,EAAS,gBACTwD,EAAe,kBACf3B,EAAiB,aACjBxhE,EAAY,cACZE,EAAa,QACbiK,GACEj4B,EACJ,MAAOmoF,EAAYC,GAAiBrsE,oBAAS,IACtC6sE,EAAQC,GAAa9sE,oBAAS,IAC9BqrE,EAAiBC,GAAsBtrE,mBAAS,KAChDksE,EAAWC,GAAgBnsE,oBAAS,IACpCurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASA,EACTuvD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAGTioD,EAAoD,IAAxCL,EAAoBI,UAAUjrF,QAE1C,cACJ8oF,EAAa,WACbG,EAAU,eACVE,EAAc,WACdG,EAAU,YACV5B,GAAW,aACXM,GAAY,kBACZD,IACEZ,GACFC,EACA6C,EAAqB7C,GAAiBsD,gBAGlCS,GAAWA,KACD1kF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,UACV,GAWGvsD,GAAM2mD,IAAWnmE,oBAAS,GAC3B06B,GAAcA,IAAMyrC,IAAQ,GAC5B7C,GAAaA,IAAM6C,IAAQ,IAC1BvD,GAAM4J,IAAWxsE,oBAAS,IAC1BysE,GAAKC,IAAU1sE,oBAAS,IACxB2sE,GAAWC,IAAe5sE,oBAAS,GAEpC2gD,GAAqBzhC,IACzBA,EAAEhe,iBACFoiE,IAAY,EAGdj/E,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,IAC7B,KACLvrC,OAAOoR,oBAAoB,WAAYm6B,GAAkB,IAE1D,IACHt8D,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,GAAkB,GACrD,CAACnhC,KAEJkjD,GAAWoF,EAAiBlF,GAAMoH,KAClCtH,GAAWoF,EAAiB+E,EAAQ7C,KAEpC,MAAM+C,GAAYA,KAChBL,IAAO,GACPE,IAAY,EAAM,EAEdI,GAAiBA,KACrBN,IAAO,EAAM,EAGTO,GAAaA,KACjBL,IAAY,EAAK,EA+BbM,GAAcA,CAACC,EAAGC,EAAIC,KACrBZ,IAAOU,GAAKnD,IACR,sCACGyC,IAAOW,GAAMA,EAAGlvB,QAAQmvB,IAAa,GAAKrD,IAC7C,mCAEA,wBAqBLsD,GAA4BA,KAAO,IAADhD,EAAAC,EAAAC,EAEK,QAAzCF,EAAAK,EAAqB7C,EAAkB,UAAE,IAAAwC,GAAsB,QAAtBC,EAAzCD,EAA2CiD,4BAAoB,IAAAhD,GAA/DA,EAAiE7pF,SACN,KAAlB,QAAzC8pF,EAAAG,EAAqB7C,EAAkB,UAAE,IAAA0C,OAAA,EAAzCA,EAA2CgD,aAE3CR,KAEAD,IACF,EAGIU,GAA6B3F,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DssF,KAEAD,IACF,EAsEIT,GAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAoDrC+B,GAAqBA,CAACC,EAAcC,KACxC,MAAMnmD,EAAUm7C,GAAmB,OAAZ+K,QAAY,IAAZA,OAAY,EAAZA,EAAcrkB,OAASqkB,EAAaE,aAG3D,OACEhrF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,+CACA,+CACL/kF,SAEO,OAAP0kC,QAAO,IAAPA,KAAS/mC,OACC,OAAP+mC,QAAO,IAAPA,OAAO,EAAPA,EAAStjB,KAAI,CAACve,EAAS07B,IAEnBvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,GAAG5B,YAC3B/lF,EAAQ+lF,UACwB,IAAhC/lF,EAAQkoF,oBAKdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxCjD,GAAaZ,GACbmF,IAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAxCRhoC,KAgDd,QAEG,EAIT6sD,GAAoBA,CAACR,EAAcC,KACvC,MAAMnmD,EAAUm7C,GAAmB,OAAZ+K,QAAY,IAAZA,OAAY,EAAZA,EAAcrkB,OAASqkB,EAAaE,aAC3D,OACEhrF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA0kC,EAAQ/mC,OACL+mC,EAAQtjB,KAAI,CAACve,EAAS07B,IAElBvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,EAAKm9C,YAAc/lF,EAAQ+lF,YAI1ClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCjD,GAAaZ,GACbmF,IAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAvCRhoC,KA+Cd,QAEG,EAIT8sD,GAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAGEye,YAAY,oBACZhhB,MAAOqqF,EAAqBiD,GAAkBxC,eAC9C3pE,SAAWnB,IACTmoE,GAAkBnoE,EAAMK,OAAOrgB,OAC/B0qF,EA5KO1qE,KACnB,IAAIo0E,EAAiBp0E,EAAMK,OAAOrgB,MAAM4iD,QAAQ,WAAY,IAE5DwxC,EAAiBA,EACdxxC,QAAQ,KAAM,OACdA,QAAQ,KAAM,IACdA,QAAQ,MAAO,KAElB,MAAMyxC,EAAWD,EAAex2B,QAAQ,KACxC,IAAkB,IAAdy2B,EAAiB,CACnB,MAAMC,EAAcF,EAAez2B,UAAU,EAAG02B,GAC1CE,EAAcH,EAAez2B,UAAU02B,EAAW,EAAGA,EAAW,GACtED,EAAiBE,EAAc,IAAMC,CACvC,CACA,OAAOH,CAAc,EA8Jc8hB,CAAYl2F,IACnC2sE,IAAY,EAEdjrE,UAAUmpE,GATLyC,SAgCXK,GAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,GAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbC,GAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ8hC,GACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,aAInB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,gBAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAf6jF,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAzFnC,IAAD6jF,EAAAE,CA8FT,EAEIC,GAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAeduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAWXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYhBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWduiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAUTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnByrD,IAAW,EACXhqF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWH,QAAfytD,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYhBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KACP2oE,IACAsB,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QA9Ed,IAADytD,EAAAC,CA0FT,EAyByBrE,EAAqBjqF,OAchD,MAiBM+lE,GAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B9iE,EAASq4B,YACxC,IACD,EAGGkrC,GAAeqvC,IACnB,MAEMxmB,EACJyB,IAAc9O,GACV,wHACA8O,GAAa9O,GACb,uBACC8O,GAAc9O,GAEf,sBADA,2GAGN,OAAI6zB,GAXe,uDAWcr8E,KAAKq8E,GAGlC11F,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASk0E,EAAgBnyF,SACjEktF,IAEFyB,GACC7uF,eAAA,UACE+e,GAAG,SACHuB,IAAKszF,EACLjvC,OAAQf,GACR/N,MAAM,0EACNC,iBAAe,IAEhB,OAML53C,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASk0E,EAAgBnyF,SACjEktF,IAEFyB,GACC7uF,eAAC4/E,GAA4B,CAC3BzhB,SAAUy1C,EACVzzG,UAAU,kBAKpB,EAGF,OACEH,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,cAIDF,eAAA,UACEG,UAAU,mBACVge,QAASA,KAEPsiE,IAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAmB9CmC,eAAA,QAAMG,UAAU,4BAA2BD,SACxCymF,IAEH3mF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAClB2G,gBACD5rF,eAAA,OACEsgB,IAAKpb,GAAO6T,aACZ5Y,UAAU,cACVge,QAASA,IAAM8zE,MAGjBjyF,eAAA,OACEsgB,IAAKpb,GAAO4T,YACZ3Y,UAAU,cACVge,QAASA,IAAM8zE,eAyC3BjyF,eAACqqC,KAAc,IACfnsB,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,GACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsB1qF,EAAQgc,QAoBjD/e,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QAn9BQwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IACrB,MAApBA,EAAS2S,SACXzC,IACAq6D,KACA90C,GAAgB,0CAChBg0C,EAAuB,CAAEG,UAAW,KACtC,GAEJ,CAAE,MAAO7jF,GAAQ,GAw8B0C/E,SACpC,mBAMPge,gBAACwe,KAAK,CACJC,KAAMA,GACN4W,OAAQsE,GACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOuE,SAAU2X,IAAI,OAEjCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,GAAY33C,SAAC,WAGjDF,eAAA,UAAQme,QAASA,IAAMkqE,IAAmBnoF,SAAC,sBAuBnDge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SAExCF,eAAA,OAAKG,UAAU,uBAAsBD,SAqCnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,YAAYP,OAAOslF,GAAmB,OAExC6C,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,GACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,SAFb3oF,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,GAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQwpF,eAFbxpF,EAAQ8lF,IAAM,WAQ3B,YAIV7oF,eAAA,OAAKG,UAAU,4BAA2BD,SAvuCxCotF,MACpB,GAAIxF,EAAqBjqF,OAAQ,CAC/B,IAAI0vF,EAAezF,EAEnB,OAAOyF,EAAajsE,KAAI,CAACvf,EAAK61D,KAC5B,IAAIjnC,EAAMtwB,EASV,OARAA,EAAO0B,EAAIyrF,YAET78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAED6xB,GACN,KAAK,EACH,OAAOk6D,GAAmB0C,EAAa31B,GAAIA,GAC7C,KAAK,EACH,OAAO2zB,GAAiB3zB,GAC1B,KAAK,EACH,OAAO0zB,GAAkBiC,EAAa31B,GAAIA,GAC5C,QACE,OAAO,KACX,GAEJ,CACE,OAAO,IACT,EA6sCqB01B,QAgBLpvE,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OACE1Z,MAAO,CACLywD,UAAW,MACXtT,aAAc,MACdliD,MAAO,UACPwjD,SAAU,YACV/iD,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OAAKsgB,IAAKpb,GAAOuK,uBACX,IACRzP,eAAA,QACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QApmCY8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IAxB4Bk6D,GAAa,GA0B3C,GAEJ,CAAE,MAAOrkF,GACPmqB,GACF,GAslC2DlvB,SACtC,uBAIHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP2oE,IA/zChBxiF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,IAA2B,IAAvBy+B,EAAkB,GAAU,KACrCiE,SAAU,WA4zCkBnB,IApuC5BD,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,KAEAD,KAiuC4BrE,GAAaZ,EAAkB,EAAE,EACjC/kF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SACtBonF,EAAkB,EAChB/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEmf,SAAUomE,GACVplF,UACEolF,GACI,mBACA,gBAENpnE,QAASA,KACP6oE,GAAe,GACfmD,IAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KAEPsiE,IAAY,EACZvgF,SACH,cAKHF,eAAA,OAAKG,UAAU,qBAAoBD,SAGA,gBAAhC,QAFA0nF,EAAAE,EACC7C,UACD,IAAA2C,OAAA,EAFAA,EAEE4F,YAAY1uF,eACbkB,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,UACEme,QAASA,KACP6pE,IAEAgB,KACAyB,KACA5E,GAAaZ,EAAkB,EAAE,EACjC/kF,SACH,WAKHge,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,UACEmf,SAAUomE,GACVplF,UACEolF,GACI,mBACA,gBAENpnE,QAASA,KACP6oE,GAAe,GACfmD,IAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACP2oE,IACAkB,IAEAgB,KACAyB,KACA5E,GAAaZ,EAAkB,EAAE,EACjC/kF,SACH,sBA2BdinF,KACCnnF,eAAA,OAAKG,UAAU,qBAAoBD,SAEjC,gBADsC,QAArC2nF,EAAAC,EAAqB7C,UAAgB,IAAA4C,OAAA,EAArCA,EAAuC2F,aAEtCtvE,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,cACH4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IACL,eAAxB17B,EAAQyqF,YAERtvE,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,GACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ6qF,WAFb7qF,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,GAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ8qF,iBAFb9qF,EAAQ8lF,IAAM,SAQlB7oF,eAAA69B,YAAA,MAGX,QAMgC,QAArCs1E,EAAArrB,EAAqB7C,UAAgB,IAAAkuB,GAClB,QADkBC,EAArCD,EACGxmB,wBAAgB,IAAAymB,GADnBA,EACqBv1G,OAClB0mE,GACuC,QAD5B8uC,EACTvrB,EAAqB7C,UAAgB,IAAAouB,OAAA,EAArCA,EACI1mB,kBAEN,MAGN3sF,eAAA69B,YAAA,CAAA39B,SAEIge,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,cAEH4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KACnB,CAACve,EAAS07B,IAGNvgB,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEG,UACEs+B,IAAUwmD,GACVlF,GACI,OACA,OAEN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ6qF,YAgBpB5tF,eAAA,KACEG,UACEs+B,IAAUwmD,GACRlF,IACCh9E,EAAQ8qF,eAEP,OADA,OAGN7vC,wBAAyB,CACvBC,OACG8hC,IACAh9E,EAAQ8qF,eAEL9qF,EAAQ8qF,eADR9qF,EAAQ6qF,cArCV7qF,EAAQ8lF,OA6CxB,QAGgC,QAArCyqB,EAAAxrB,EAAqB7C,UAAgB,IAAAquB,GAClB,QADkBC,EAArCD,EACG3mB,wBAAgB,IAAA4mB,GADnBA,EACqB11G,OAClB0mE,GACuC,QAD5BivC,EACT1rB,EAAqB7C,UAAgB,IAAAuuB,OAAA,EAArCA,EACI7mB,kBAEN,gBASpB3sF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAGxBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBuzG,EACa,QADbC,EACxB5rB,EAAqB7C,UAAgB,IAAAyuB,OAAA,EAArCA,EAAuCrmB,iBAAS,IAAAomB,IAC/C,SAEJzzG,eAAA,UACEme,QAASA,KAEPsiE,IAAY,EACZvgF,SACH,mBAqBHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK+D,MAAM,iBAAgB/hB,SAAA,CACzBF,eAAA,SAAOiiB,MAAM,kCACbjiB,eAAA,SAAOiiB,MAAM,wBAAuB/hB,SAAC,eAEvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,6BAM/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAChD4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAGF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,GAAoBlpF,EAAS07B,MAX7BA,KAgBX,0BA4Bb,IChqCA/9B,qBA5BUC,IAChB,CACLitD,SAAUjtD,EAAME,aAAa0tF,aAC7BptF,eAAgBR,EAAMQ,eACtBgvD,UAAWxvD,EAAME,aAAasvD,UAC9BnC,YAAartD,EAAME,aAAamtD,YAChC6lD,cAAelzG,EAAMyxG,yBAAyByB,cAC9C7mE,QAASrsC,EAAMyxG,yBAAyBplE,YAIhB7c,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCo7B,uBAAyB17B,IACvBK,EAASkY,GAAyBmjB,uBAAuB17B,GAAS,EAEpEkjF,iBAAmBljF,IACjBK,EAAS2jF,GAAyChkF,GAAS,KAKlDpvB,EA/kBuBU,IACpC,IAAI,QACFC,EAAO,SACPL,EAAQ,UACRmvD,EAAS,aACTjhC,EAAY,cACZE,EAAa,YACb4+B,EAAW,cACX6lD,EAAa,QACb7mE,GACE5rC,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACdiD,qBAAsB,GACtB2G,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjB4J,WAAW,IAGbrtF,qBAAU,KACR6tF,GAAgB,GACf,IAEH,MAAMA,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAagvB,KAAiB,EAGnExgE,EAAW5hB,UACf,IAAIozD,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQqnF,EAAYjzD,KAAKm+D,iBA0H5B7wF,MAAM,oCAzHN,GAAI2lF,EAAYjzD,KAAKm+D,gBAAiB,CACpC,MAAMgkB,EAAqB,IACtBlvB,EACHjzD,KAAM,IACDizD,EAAYjzD,KACfm+D,gBAAiBlL,EAAYjzD,KAAKm+D,gBAAgBzuE,KAC/Cve,IAAO,IACHA,EACH4oF,UAAU,EACVhB,aAAa,EACbiB,iBAAiB,EACjBqE,eAAgB,EAChBC,gBAAiB,EACjBC,0BAA2B,GAC3BhF,wBAAyB,GACzBT,qBAAsB,GAEtBgB,OAAQ3oF,EAAQ2oF,OACb0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEJxC,SAAU7qF,EAAQ6qF,SACfwC,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEJ3pB,OAAQ1jE,EAAQ0jE,OAAOnlD,KAAK+uE,IAAG,IAC1BA,EACH5pB,OAAQ4pB,EAAI5pB,OACT2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,0DAQd1/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsB,IAAIisB,EAAmBniF,KAAKm+D,oBAEtD,MACE7wF,MAAM,0BAIV,EAGI6oF,EAA4BA,KAChC,IAAI,gBAAE9C,EAAe,qBAAE6C,GAAyBnnF,EAEhD8vF,IACAC,IACAC,IACI1L,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAIImuB,EAAsBh/D,UAC1B,IAAI,gBAAEwzD,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EACzDiwF,EAAqB9I,EAAqB7C,GAC1C4L,EAEF,4DADAhM,EAAY9yC,OAER,OACuB,8BAAvB8yC,EAAY9yC,OACZ,OACA,QACFngB,EAAO,CACTi8B,SAAU+iC,EAAmB/iC,SAC7Bg7B,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5B+E,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,cAE9B5hE,IACA,MAAMhQ,QAAiBwS,KAAMqC,KAAKjO,GAAQ8L,GAE1C,GADAtwB,QAAQC,IAAI2d,GACiB,MAAzBA,EAAS0S,KAAKC,OAAgB,CAMhC,GALAnB,GAAUa,IAAS,IACdA,EACH+2D,cAAeppE,EAAS0S,KAAKA,SAE/BxC,KACKlQ,EAAS0S,KAAKA,KAOjB,OANAk2D,EAAqB7C,GAAiBsD,eAAiB,GACvD73D,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsBA,WAExB5oF,MAAMggB,EAAS0S,KAAK8B,SAGtBi9D,GACF,MAAoC,MAAzBzxE,EAAS0S,KAAKC,SACvBnB,GAAUa,IAAS,IACdA,EACH+2D,cAAeppE,EAAS0S,KAAKA,SAE/B++D,KAEFvhE,GAAe,EAKXuhE,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,qBAAE6C,GAAyBnnF,EAC5CiwF,EAAqB9I,EAAqB7C,GAC9C3jF,QAAQC,IAAIqvF,GACZ,IAAIh/D,EAAO,CACTqyE,SAAUj3D,EAAQi3D,SAClBj3D,QAAS4jD,EAAmB5jD,QAC5B67C,IAAK+H,EAAmB/H,IACxBC,UAAW8H,EAAmBlG,qBAAqB,GAC/CkG,EAAmBlG,qBAAqB,GAAG5B,UACT,mBAAlC8H,EAAmBpD,YACnBoD,EAAmBrI,eACnB,GACJ1+C,KAAM,EACNie,UAAW8oC,EAAmB9oC,UAC9B5V,MAAO0+C,EAAmB1+C,MAC1Bg/C,eAAgBN,EAAmBM,eACnCF,eAAgBJ,EAAmBI,eACnCC,cAAeL,EAAmBK,eAEpC/hE,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKrH,GAASkF,GAC3CtwB,QAAQC,IAAI2d,GAEiB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAGI+iF,EAAwBA,KAC5B,IAAI,gBAAE/C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EAE7D8vF,IACAC,IAEAhgE,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAGxBv1D,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAC5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAK,CAC9D5B,UAAW0B,IAMJ,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DxrF,OAAO6qF,GACT1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,EAAQ+lF,YAAc0B,IAG/B,IAAqB,IAAjBmH,EAAoB,CACtB,IAAIC,EAAM,CACR9I,UAAW0B,GAEb1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA+zF,EAEJ,MACE9J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,GAM7C,IAFP7C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAMO,IAFP1C,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwBttF,OAC9D,EACA2sF,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAEF,IAOK,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EAAqB7C,GAAiBkL,0BACnCtyF,OACH,EACA2sF,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EACE7C,GACAkL,0BAA0B90B,QAAQmvB,GACpC,GAKF1C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAIhgB,EAAQggB,GAER,gBAAEwnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAc7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAlBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAE3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAK1P,GAAQuN,EAAK,EAU/CsgE,CAAepK,EAAqB7C,GAAiB,EAGjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,GAAyBnnF,EAMhD,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAGlCvJ,EAAqB7C,GAAiB4D,GAIxD,KAAO,CAGWf,EAAqB7C,GAAiB4D,GAIxD,GAEIuJ,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAE1BiK,IACAC,IACAhgE,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAEhB,EAGC6L,EAAmBC,IACvB5hE,GAAUa,IAAS,IACdA,EACHs9D,WAAYluF,EAAMkuF,cAEpB,MAAMxC,EAAY/nF,SAASkmC,cAAc,wBACzCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,EAAE,EAGDszC,EAAoBA,KACxBhgE,GAAUa,IAAS,IACdA,EACHs9D,WAAW,KACV,EAGC0D,EAAiBA,KACrB,IAAI1N,EAAc,IAAKlkF,EAAMkkF,aAE7BxxD,KAAUC,OAAO,CACftuB,KAAM,kCACNgZ,WAAY,CACV6xE,mBAAoBhL,EAAY1wB,cAChCzF,SAAUyB,EAAUhB,QACpBR,WAAYwB,EAAUf,UACtBrC,WAAuB,OAAXiB,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACzBsF,aAAc+b,EAAYnhB,eAG9B8jD,IACAtvF,EAAQkyB,KAAK,sBAAsB,EAG/BwxD,EAAoBA,KACxB1jF,EAAQkyB,KAAK,gBAAgB,EA8C/B,OACEvzB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACtDF,eAAA,OAAKG,UAAU,uCAAsCD,SA9CvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAACg0G,GAA2B,CAC1BnvB,YAAalkF,EAAMkkF,YACnBxxC,SAAUA,EACV0xC,kBAAmBA,IAGzB,KAAK,EACH,OACE/kF,eAACi0G,GAAyB,CACxBnsB,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERxJ,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBkK,EAClBjK,cAAe3nF,EAAM2nF,cACrBtnF,SAAUA,EACV6tF,UAAWluF,EAAMkuF,UACjBwD,gBAAiBA,EACjB3B,kBAAmBA,IAIzB,QACE,OAAO,KACX,EAOOz8D,CAAWtzB,EAAMgwB,WAGb,ICjhBAjwB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EArCgBU,IAC7B,MAAMotF,EAAYxrD,wBAGlB,IAAI,QAAE3hC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,MAAEL,GAAUS,EAS3C,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAMvCF,eAACk0G,GAA4B,CAAC7yG,QAASA,EAASmtF,UAAWA,EAAWxtF,SAAUA,QAGvFF,GAAUd,eAACD,KAAW,MACd,I,QC4SAW,qBArBUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,SACtB19C,eAAgBR,EAAMQ,eACtBomG,aAAc5mG,EAAM4mG,aAAaA,aACjC4M,YAAaxzG,EAAM4mG,aAAa4M,YAChC96E,QAAS14B,EAAMM,KAAKC,KAAKm4B,YAIDlJ,IACnB,CACLikF,gBAAkBtkF,IAChBK,EAASw4E,GAA2B74E,GAAS,EAE/C+4E,eAAiB/4E,IACfK,EAASw4E,GAA0B74E,GAAS,KAInCpvB,EAnUMU,IACnB,MAAM,UACJyyB,EAAS,MACTvC,EAAK,aACLpC,EAAY,cACZE,EAAa,QACb/tB,EAAO,gBACP+yG,EAAe,OACftzG,EAAM,eACNK,EAAc,aACdomG,EAAY,gBACZ8M,EAAe,eACfC,EAAc,YACdH,EAAW,eACXtL,EAAc,QACdxvE,EAAO,6BACPk7E,GACEnzG,GAEGozG,EAAgBC,GAAqBt3F,mBAAS,CACnDoa,KAAM,CAAC,KAGFswE,EAAsB/C,GAA2B3nF,oBAAS,IAC1D2qF,EAAmBf,GAAwB5pF,oBAAS,IACpDu3F,EAAaC,GAAkBx3F,mBAAS,GAE/C3b,qBAAU,KACRozG,EAAgBP,EAAgB,GAC/B,CAACA,EAAiBE,IAErB,MAAMK,EAAkBnjF,UAGtB,MAAMojF,EAA6C,kBAAhCN,EAAmD,EAAI,EAE1E,IAAIx/C,EAASt2D,KAAKm/B,KAAKu2E,EAAYt2G,OAJlB,GAIyC,EAEtD+zB,EAAO,CAAC,EAEZA,EAAO,CACLmzE,WAAYuP,EAAevP,WAC3B+P,UAAW,EACXnjD,KAAMoD,EACNggD,kBAAmBV,EAAgBU,kBACnCC,YAAaH,GAqBf,MAAMlhF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjCpC,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlM,GAAS+J,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,QAChBzC,IAEAy5E,EAAe,IAAIsL,KAAgBj1F,EAAS0S,KAAKA,KAAKo1E,MAAMp1E,QAE5DxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAYIqjG,EAAuB/wE,IAC3Bk9E,GAAmBljF,IAAS,IACvBA,EACHgG,KAAMA,MAGc,OAAd,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMs2B,WAA6C,IAArB,OAAJt2B,QAAI,IAAJA,OAAI,EAAJA,EAAMs2B,SAAShwD,QAC3CqB,MAAM,uCAEN6nG,GAAqB,EACvB,EA0BIhE,EAAoBn1C,IACpBA,EAASqnD,cAAgB,EACC,GAAxBrnD,EAASsnD,aAEXd,EAAgBxmD,GAChBvsD,EAAQkyB,KAAK,cAxBkBq6B,KACnC,MAAMh8B,EAAO,CACXyH,UACAw0B,SAAUD,EAASC,SACnB+sC,QAAShtC,EAASgtC,SAEpB,IACElpE,KAAMqC,KAAKhJ,GAAS6G,GAAMP,MAAMnS,IACN,MAApBA,EAAS2S,SACXuiF,EAAgBxmD,GAChBvsD,EAAQkyB,KAAK,aACbnE,IACF,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAS,OAAL0D,QAAK,IAALA,OAAK,EAALA,EAAOyuB,QACrB,GAUIyhF,CAA4BvnD,GAG9B1uD,MAAM,8BAA8B0uD,EAASwnD,sBAC/C,EAGIC,EAAoB99E,IACxB,IAAI24C,EAOJ,OALEA,EADsB,GAApB34C,EAAK29E,YACM,cAEA,aAGRhlC,CAAU,EAGnB,OACEhyD,gBAAA2f,YAAA,CAAA39B,SAAA,CACG2nG,GACC7nG,eAACkoG,GAAgB,CACfpD,wBAAyBA,EACzBvtE,KAAMi9E,EAAej9E,KACrBrI,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,IAIXgnG,GACC9nG,eAACmoG,GAAa,CACZpB,qBAAsBA,EACtBxvE,KAAMi9E,EAAej9E,KACrBrI,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,IAIZd,eAAA,OACE+e,GAAG,gBACHva,MAAO,CACLjE,OAAQ,OACR2rC,SAAU,OACVgnB,UAAW,UACXhzD,SAEFF,eAAA,OAAAE,SACEF,eAACmzD,KAAc,CACbC,WAAY+gD,EAAYt2G,OACxBw1D,KAjFY+0C,KACpBwM,EAAgBP,EAAgB,EAiFxB9gD,SAAS,EACTC,iBAAiB,gBAAetzD,SAEhCF,eAAA,OAAKG,UAAU,gBAAeD,SAC1B1C,aAAQ22G,GA8FRj2F,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKsgB,IAAKpb,GAAOiE,kBACjBnJ,eAAA,KAAAE,SAAG,8BA/FLi0G,EAAYt2G,OACVs2G,EAAY7yF,KAAKiW,GAEbrZ,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,gBAAeD,SAAEq3B,EAAK0vE,YAErC/oF,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OACEG,UAAU,4BACVge,QAASA,IAvHLoZ,KAC9Bk9E,GAAmBljF,IAAS,IACvBA,EACHgG,KAAMA,MAGRutE,GAAwB,EAAK,EAiHYuD,CAAuB9wE,GAAMr3B,SAE5CF,eAAA,OACEsgB,IAAKpb,GAAO0L,iBACZwQ,IAAI,uBAIRphB,eAAA,OACEG,UAAU,yBACVge,QAASA,IAAMmqF,EAAoB/wE,GAAMr3B,SAEzCF,eAAA,OACEsgB,IAAKpb,GAAO2L,iBACZuQ,IAAI,0BAMZphB,eAAA,OAAKG,UAAU,wBAAuBD,SACd,YAArBq3B,EAAKojE,YACFpjE,EAAKzZ,OACLyZ,EAAKojE,cAGX36F,eAAA,OAAKG,UAAU,uBAAsBD,SAClCq3B,EAAKuJ,cAGR5iB,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAAE,SAAOq3B,EAAKk2B,kBAAuB,gBAErCvvC,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,QAAAhe,SAAA,CAAM,IAAEq3B,EAAK4vE,kBAAkB,OAAQ,WAEzCjpF,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAAE,SAAOq3B,EAAK6vE,YAAiB,eAGjCpnG,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,YAAWD,SACvBq3B,EAAK69E,2BAKZl3F,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OACE/d,UAAU,2BACVge,QAASA,IAAMmqF,EAAoB/wE,GAAMr3B,SAAA,CAExC,IACDF,eAAA,UAAAE,SAAQ,qBAEVF,eAAA,OACEG,UAAU,wBACVge,QAASA,IAAM4kF,EAAiBxrE,GAAMr3B,SAEtCF,eAAA,UAAAE,SACGq3B,EAAK09E,cAAgB,EACpBj1G,eAAA,QAAAE,SAAOm1G,EAAiB99E,KAExBrZ,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKsgB,IAAKpb,GAAO4L,iBAAkBsQ,IAAI,KACvCphB,eAAA,QAAAE,SAAM,uBA1EuBq3B,EAAKqjE,WAoFlD18E,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKsgB,IAAKpb,GAAOiE,kBACjBnJ,eAAA,KAAAE,SAAG,wCAahB,I,gBCrQQo1G,OApBf,SAAsBC,GACpB,MAAOC,EAAWC,GAAgBt4F,mBAASo4F,GAU3C,MAAO,CAAEC,YAAWE,gBARIA,KACtBD,GAAa,EAAK,EAOiBE,iBAJZA,KACvBF,GAAa,EAAM,EAIvB,ECiXe/0G,qBAvBUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,SACtB19C,eAAgBR,EAAMQ,eACtBomG,aAAc5mG,EAAM4mG,aAAaA,aACjCqO,eAAgBj1G,EAAM4mG,aAAaqO,eACnC1kD,WAAYvwD,EAAM4mG,aAAa51C,KAC/Bt4B,QAAS14B,EAAMM,KAAKC,KAAKm4B,YAIDlJ,IACnB,CACLikF,gBAAkBtkF,IAChBK,EAASw4E,GAA2B74E,GAAS,EAG/C84E,kBAAoB94E,IAClBK,EAASw4E,GAA6B74E,GAAS,KAItCpvB,EA3YSU,IACtB,MAAM,UACJyyB,EAAS,MACTvC,EAAK,aACLpC,EAAY,cACZE,EAAa,OACbtuB,EAAM,gBACNszG,EAAe,kBACfxL,EAAiB,eACjBgN,EAAc,QACdv0G,EAAO,eACPF,EAAc,aACdomG,EAAY,gBACZ8M,EAAe,eACfC,EAAc,6BACdC,EAA4B,QAC5Bl7E,GACEj4B,GAEGymG,EAAsB/C,GAA2B3nF,oBAAS,IAE1D04F,EAAoBC,GAAyB34F,mBAAS,CAC3Doa,KAAM,CAAC,KAIFuwE,EAAmBf,GAAwB5pF,oBAAS,IAErD,UAAEq4F,EAAS,iBAAEG,EAAgB,gBAAED,GAAoBJ,KAEzD9zG,qBAAU,KACRozG,EAAgBP,EAAgB,GAC/B,CAACA,EAAiBE,IAErB,MAAMK,EAAkBnjF,UACtB,MAAMojF,EAA6C,kBAAhCN,EAAmD,EAAI,EAC1E,IAEIx/C,EAASt2D,KAAKm/B,KAAKg4E,EAAe/3G,OAFrB,GAE4C,EAEzD+zB,EAAO,CAAC,EAEZA,EAAO,CACLmzE,WAAYuP,EAAevP,WAC3B+P,UAAW,EACXnjD,KAAMoD,EACNggD,kBAAmBV,EAAgBU,kBACnCC,YAAaH,GAqBf,MAAMlhF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjCpC,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlM,GAAS+J,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,QAChBzC,IAEAw5E,EAAkB,IACbgN,KACA12F,EAAS0S,KAAKA,KAAKo1E,MAAMp1E,QAG9BxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAYIqjG,EAAuB/wE,IAC3Bu+E,GAAuBvkF,IAAS,IAC3BA,EACHgG,KAAMA,MAGc,OAAd,OAAJA,QAAI,IAAJA,OAAI,EAAJA,EAAMs2B,WAA6C,IAArB,OAAJt2B,QAAI,IAAJA,OAAI,EAAJA,EAAMs2B,SAAShwD,QAC3CqB,MAAM,uCAEN6nG,GAAqB,EACvB,EAoBIoO,EAA+BvnD,IACnC,MAAMh8B,EAAO,CACXyH,UACAw0B,SAAUD,EAASC,SACnB+sC,QAAShtC,EAASgtC,SAEpB,IACElpE,KAAMqC,KAAKhJ,GAAS6G,GAAMP,MAAMnS,IACN,MAApBA,EAAS2S,SACXuiF,EAAgBxmD,GAChBvsD,EAAQkyB,KAAK,aACbnE,IACF,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAS,OAAL0D,QAAK,IAALA,OAAK,EAALA,EAAOyuB,QACrB,GAOI2hF,EAAoB99E,IACxB,IAAI24C,EAOJ,OALEA,EADsB,GAApB34C,EAAK29E,YACM,cAEA,aAGRhlC,CAAU,EAGnB,OACEhyD,gBAAA2f,YAAA,CAAA39B,SAAA,CACG2nG,GACC7nG,eAACkoG,GAAgB,CACfpD,wBAAyBA,EACzBvtE,KAAMs+E,EAAmBt+E,KACzBrI,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,IAGXgnG,GACC9nG,eAACmoG,GAAa,CACZpB,qBAAsBA,EACtBxvE,KAAMs+E,EAAmBt+E,KACzBrI,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,IAIZd,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,OACE+e,GAAG,kBACHva,MAAO,CACLjE,OAAQ,OACR2rC,SAAU,OACVgnB,UAAW,UACXhzD,SAEFF,eAACmzD,KAAc,CACbC,WAAYwiD,EAAe/3G,OAC3Bw1D,KA/CY+0C,KACpBwM,EAAgBP,EAAgB,EA+CxB9gD,SAAS,EACTC,iBAAiB,kBAAiBtzD,SAElCF,eAAA,OAAKG,UAAU,gBAAeD,SAC1B1C,aAAQo4G,GA4JR13F,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKsgB,IAAKpb,GAAOiE,kBACjBnJ,eAAA,KAAAE,SAAG,uBA7JL01G,EAAe/3G,OACb+3G,EAAet0F,KAAI,CAACiW,EAAMkH,IAEtBvgB,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,gBAAeD,SAAEq3B,EAAK0vE,YAErC/oF,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OACEG,UAAU,4BACVge,QAASA,IAzHLoZ,KAC9Bu+E,GAAuBvkF,IAAS,IAC3BA,EACHgG,KAAMA,MAGRutE,GAAwB,EAAK,EAmHYuD,CAAuB9wE,GAAMr3B,SAE5CF,eAAA,OACEsgB,IAAKpb,GAAO0L,iBACZwQ,IAAI,uBAIRphB,eAAA,OACEG,UAAU,yBACVge,QAASA,IAAMmqF,EAAoB/wE,GAAMr3B,SAEzCF,eAAA,OACEsgB,IAAKpb,GAAO2L,iBACZuQ,IAAI,0BAMZphB,eAAA,OAAKG,UAAU,wBAAuBD,SACd,YAArBq3B,EAAKojE,YACFpjE,EAAKzZ,OACLyZ,EAAKojE,cAEX36F,eAAA,OAAKG,UAAU,uBAAsBD,SAClCq3B,EAAKuJ,cAGR5iB,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACG,IACDge,gBAAA,QAAAhe,SAAA,CAAOq3B,EAAKk2B,gBAAgB,OAAQ,gBAEtCvvC,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAAE,SAAOq3B,EAAK4vE,oBAAyB,WAEvCjpF,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAAE,SAAOq3B,EAAK6vE,YAAiB,eAGjCpnG,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,YAAWD,SACvBq3B,EAAK69E,2BA+DZl3F,gBAAA,QAAM/d,UAAU,uBAAsBD,SAAA,CACpCF,eAAA,OACEG,UAAU,2BACVge,QAASA,IAAMmqF,EAAoB/wE,GAAMr3B,SAEzCF,eAAA,UAAAE,SAAQ,oBAEVF,eAAA,OACEG,UAAU,wBACVge,QACwB,IAAtBoZ,EAAKqyE,aACD,IAzNDryE,KAC7Bn2B,EAAMC,QAAQkyB,KAAK,YAAYgE,EAAKmd,aAAa,EAwNbqhE,CAAsBx+E,GAC5B,IAtNP9F,WACnBm8B,EAASqnD,cAAgB,EACC,GAAxBrnD,EAASsnD,aACXd,EAAgBxmD,GAChBvsD,EAAQkyB,KAAK,cAEb4hF,EAA4BvnD,GAG9B1uD,MAAM,8BAA8B0uD,EAASwnD,sBAC/C,EA4MoCrS,CAAiBxrE,GAC5Br3B,SAEDF,eAAA,UAAAE,SACyB,IAAtBq3B,EAAKqyE,cACNryE,EAAK09E,eAAiB,EACpB/2F,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKsgB,IAAKpb,GAAO4L,iBAAkBsQ,IAAI,KACvCphB,eAAA,QAAAE,SAAM,cAGRF,eAAA,QAAAE,SAAOm1G,EAAiB99E,cAzIOkH,KAkJ7CvgB,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKsgB,IAAKpb,GAAOiE,kBACjBnJ,eAAA,KAAAE,SAAG,iCAahB,I,QC2DQQ,qBA3BUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwzG,eAAgB3zG,EAAM4mG,aAAa+M,eACnCnzF,UAAWxgB,EAAMQ,eAAe6xB,cAAc,GAAG7R,UACjDngB,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCw4E,kBAAoB94E,IAClBK,EAASw4E,GAA6B74E,GAAS,EAEjD+4E,eAAiB/4E,IACfK,EAASw4E,GAA0B74E,GAAS,KAKnCpvB,EA9aeU,IAC5B,MAAM,aACJ8tB,EAAY,cACZE,EAAa,OACbtuB,EAAM,eACNwzG,EAAc,kBACd1L,EAAiB,eACjBC,EAAc,UACd1nF,EAAS,SACTngB,EAAQ,eACRG,GACEC,EAEJ,IAAIwwB,EAEa,GAAbzQ,EACFyQ,EAAO,CACL,CACE7S,GAAI,MACJyvD,SAAU,YACVumC,kBAAmB,GAErB,CACEh2F,GAAI,MACJyvD,SAAU,YACVumC,kBAAmB,GAErB,CACEh2F,GAAI,QACJyvD,SAAU,aACVumC,kBAAmB,GAErB,CACEh2F,GAAI,OACJyvD,SAAU,qBACVumC,kBAAmB,IAGD,GAAb5zF,IACTyQ,EAAO,CACL,CACE7S,GAAI,MACJyvD,SAAU,YACVumC,kBAAmB,GAGrB,CACEh2F,GAAI,MACJyvD,SAAU,aACVumC,kBAAmB,GAGrB,CACEh2F,GAAI,QACJyvD,SAAU,kBACVumC,kBAAmB,GAGrB,CACEh2F,GAAI,OACJyvD,SAAU,aACVumC,kBAAmB,KAKzB,MAAM1zG,EAAUm1B,wBAETw/E,EAAgBC,GAAqB94F,mBAASyU,IAC9CyiF,EAAiB6B,GAAsB/4F,mBAASyU,EAAK,KACrD2iF,EAA8B4B,GACnCh5F,mBAAS,mBAEJi5F,EAAaC,GAAkBl5F,oBAAS,IAExCwiB,EAAWC,GAAgBziB,mBACG,IAArB,OAAdm3F,QAAc,IAAdA,OAAc,EAAdA,EAAgB3K,iBAAuB,UAAY,cAG/C5pE,EAAkBC,IACtBJ,EAAaI,EAAM,EAqBfqhE,EAAwBhlE,IAC5BusE,EAAkB,IAClBC,EAAe,IAEfsN,EAA6B95E,EAAEve,OAAOrgB,OAjBtC44G,GAAe,EAkBG,GAEb/7D,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAGDp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACvCo6C,GAAe,IAEZp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5C6c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gCAGfH,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAC47C,GAAe,CAACv6C,QAASA,SAKhCrB,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,OAAKG,UAAU,6BAA4BD,UAtEnCmpG,EAuE0B,OAAdiL,QAAc,IAAdA,OAAc,EAAdA,EAAgB9K,aAtE7CxpG,eAAA,KAAAE,SAAImpG,UAyEGrpG,eAAA,OAAKG,UAAU,sBAAqBD,SACjC81G,EAAe10F,KAAI,CAACve,EAAS07B,IAE1BvgB,gBAAA,OAAiB/d,UAAU,6BAA4BD,SAAA,CACrDF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQyrE,SACZxpE,KAAK,WACLvH,MAAOsF,EAAQyrE,SACfjtD,QACExe,EAAQyrE,WAAa6lC,EAAgB7lC,SAEvC5vD,SAAWnB,IAjFnCy4F,EAkFsDnzG,GAjFtD6lG,EAAkB,IAClBC,EAAe,GAgF+C,IAGxC7oG,eAAA,SAAOwhB,QAASze,EAAQyrE,SAAStuE,SAC9B6C,EAAQyrE,aAdH/vC,UAsBlBvgB,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,MAAI+D,MAAM,eAAelD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAChDF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UAEEiiB,MAAO,aACS,YAAd0d,EAA0B,SAAW,IAEvC5gB,GAAG,cACH,iBAAe,MACf,iBAAe,WACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,UACd,gBAAc,OACdia,QAASA,IAAM4hB,EAAe,WAAW7/B,SAC1C,gBAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UAEEiiB,MAAO,aACS,eAAd0d,EAA6B,SAAW,IAE1C5gB,GAAG,iBACH,iBAAe,MACf,iBAAe,cACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,aACd,gBAAc,QACdia,QAASA,IAAM4hB,EAAe,cAAc7/B,SAC7C,0BAmFTF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5Cge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,SACEK,KAAK,QACL0e,GAAG,iBACH/Z,KAAK,YACLvH,MAAM,iBACNmhB,SAAWnB,GAAU4jF,EAAqB5jF,GAC1C8D,QACkC,kBAAhCgzF,IAGJv0G,eAAA,SAAOwhB,QAAQ,iBAAgBthB,SAAC,sBAElCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,SACEK,KAAK,QACL0e,GAAG,kBACH/Z,KAAK,YACLvH,MAAM,kBACNmhB,SAAWnB,GAAU4jF,EAAqB5jF,GAC1C8D,QACkC,mBAAhCgzF,IAGJv0G,eAAA,SAAOwhB,QAAQ,kBAAiBthB,SAAC,yBAKvCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MAAO,iBACS,YAAd0d,EAA0B,cAAgB,IAE5C5gB,GAAG,UACH7a,KAAK,WACL,kBAAgB,cAAahE,SAEd,YAAdy/B,GACC3/B,eAACs2G,GAAW,CACVj1G,QAASA,EACT6tB,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,EACRuzG,gBAAiBA,EACjBC,eAAgBA,EAChB30E,UAAWA,EACX40E,6BACEA,MAKRv0G,eAAA,OAEEiiB,MAAO,iBACS,eAAd0d,EAA6B,cAAgB,IAE/C5gB,GAAG,aACH7a,KAAK,WACL,kBAAgB,iBAAgBhE,SAEjB,eAAdy/B,GACC3/B,eAACu2G,GAAc,CACbl1G,QAASA,EACT6tB,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,EACRuzG,gBAAiBA,EACjBC,eAAgBA,EAChB30E,UAAWA,EACX40E,6BACEA,0BAaxBv0G,eAAC67C,GAAgB,IAChB/6C,GAAUd,eAACD,KAAW,OAnTDspG,KAoTrB,I,eClPQmN,OAlKap1G,IAC1B,IAAI,oBAAEq1G,EAAmB,aAAEC,GAAiBt1G,EAE5CE,QAAQC,IAAI,4CAA6Ck1G,GAEzD,IAAIp1G,EAAUm1B,uBAEd,MAAM6mE,EAAY1sE,IAChB,GAAIhzB,OAAOC,KAAK64G,GAAqB54G,OACnC,OAAQ8yB,GACN,KAAK,EACHtvB,EAAQkyB,KAAK,CACXC,SAAU,4BAEZ,MAEF,KAAK,EACHnyB,EAAQkyB,KAAK,CACXC,SAAU,4BAEZ,MAEF,KAAK,EACHnyB,EAAQkyB,KAAK,CACXC,SAAU,yBAEZ,MAEF,KAAK,EACHnyB,EAAQkyB,KAAK,CACXC,SAAU,mBAEZ,MAEF,KAAK,EACHnyB,EAAQkyB,KAAK,CACXC,SAAU,sCAQhBt0B,MAAM,uDACR,EAGF,OACEc,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKsgB,IAAKpb,GAAO+L,yBAGnBiN,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKiiB,MAAM,OAAM/hB,SAAC,kBAClBF,eAAA,OAAKiiB,MAAM,MAAK/hB,UACM,OAAnBu2G,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBE,gBAAiB,aAI7Cz4F,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC/Cge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKiiB,MAAM,SAAQ/hB,SACjBF,eAAA,OAAKsgB,IAAKpb,GAAOmM,yBAEnB6M,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKiiB,MAAM,OAAM/hB,SAAC,mBAClBF,eAAA,OAAKiiB,MAAM,MAAK/hB,UAAqB,OAAnBu2G,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBG,MAAO,aAIlD14F,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKiiB,MAAM,UAAS/hB,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOqM,yBAEnB2M,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKiiB,MAAM,OAAM/hB,SAAC,UAClBF,eAAA,OAAKiiB,MAAM,MAAK/hB,UACM,OAAnBu2G,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBxZ,QAAS,mBAUvCj9F,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,OAAMD,SAAC,mBAEtBF,eAAC62G,KAAW,CACVpnB,KAAwB,OAAnBgnB,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBK,UAAW,EACrC32G,UAAU,aAEZH,eAAA,QAAAE,SAAO,IAAsB,OAAnBu2G,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBK,UAAW,SAE5C54F,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,OAAMD,SAAC,oBACtBF,eAAC62G,KAAW,CACVpnB,KAAwB,OAAnBgnB,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBM,WAAY,EACtC52G,UAAU,YAEZH,eAAA,QAAAE,SAAO,IAAsB,OAAnBu2G,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBM,WAAY,iBAM1B,WAAZ,OAAZL,QAAY,IAAZA,OAAY,EAAZA,EAAc1P,OACb9oF,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,mBAAmBge,QAASA,IAAMk/E,EAAS,GAAGn9F,SAAA,CAC3DF,eAAA,QAAAE,SAAM,+BACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,eAGnClD,gBAAA,OAAK/d,UAAU,mBAAmBge,QAASA,IAAMk/E,EAAS,GAAGn9F,SAAA,CAC3DF,eAAA,QAAAE,SAAM,yBACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,eAGnClD,gBAAA,OAAK/d,UAAU,mBAAmBge,QAASA,IAAMk/E,EAAS,GAAGn9F,SAAA,CAC3DF,eAAA,QAAAE,SAAM,sBACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,eAGnClD,gBAAA,OAAK/d,UAAU,mBAAmBge,QAASA,IAAMk/E,EAAS,GAAGn9F,SAAA,CAC3DF,eAAA,QAAAE,SAAM,aACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,eAGnClD,gBAAA,OAAK/d,UAAU,mBAAmBge,QAASA,IAAMk/E,EAAS,GAAGn9F,SAAA,CAC3DF,eAAA,QAAAE,SAAM,wBACNF,eAAA,QAAMG,UAAU,QAAOD,SACrBF,eAAA,OAAKsgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,kBAInC,eAMX,ECXQ1gB,qBAvBUC,IAAW,IAADq2G,EACjC,MAAO,CACLtZ,eAAgB/8F,EAAM4mG,aAAa0P,cACnCR,oBAA0B,OAAL91G,QAAK,IAALA,GAAmB,QAAdq2G,EAALr2G,EAAO4mG,oBAAY,IAAAyP,OAAd,EAALA,EAAqBE,mBAC1C5lF,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACvB,IAGyB1D,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC+mF,sBAAwBrnF,IACtBK,EAASw4E,GAAsC74E,GAAS,KAK/CpvB,EAjJwBU,IACrC,IAAI,eACFs8F,EAAc,oBACd+Y,EAAmB,aACnBvnF,EAAY,cACZE,EAAa,MACbkC,EAAK,UACLuC,EAAS,sBACTsjF,GACE/1G,EAEJ,MAgBOg2G,EAAiBC,GAAsBl6F,mBAASugF,EAAejzC,SAC/DisD,EAAcY,GAAmBn6F,mBACxB,OAAdugF,QAAc,IAAdA,OAAc,EAAdA,EAAgBjzC,OAlBMizC,KACtB,GAAmC,YAA/BA,EAAe/C,YAA2B,CAAC,IAAD4c,EAC5C,MAAkB,OAAd7Z,QAAc,IAAdA,GAAsB,QAAR6Z,EAAd7Z,EAAgBjzC,cAAM,IAAA8sD,OAAR,EAAdA,EAAwB15G,QAAS,GAOnC,OAAO,EANP,GAAkC,YAA9B6/F,EAAevM,WACjB,OAAO,EACF,GAAkC,YAA9BuM,EAAevM,WACxB,OAAO,CAKb,CAEA,OAAO,CAAC,EAKeqmB,CAAe9Z,KAGxCl8F,qBAAU,KACRo8F,GAAW,GACV,CAAC8Y,IAEJ,MAIM9Y,EAAYnsE,UAChB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACXi8B,SAAsB,OAAZ6oD,QAAY,IAAZA,OAAY,EAAZA,EAAc7oD,SACxB+sC,QAAqB,OAAZ8b,QAAY,IAAZA,OAAY,EAAZA,EAAc9b,SAGzB1rE,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzL,GAASsJ,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,QAChBzC,IACA+nF,EAAsBj4F,EAAS0S,KAAKA,QAEpCxC,IACA+nF,EAAsB,CAAC,GAE3B,CAAE,MAAOlyG,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAMF,OACEpvB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,4CAA2CD,SACxDF,eAAA,OAAKG,UAAU,kDAAiDD,SAC9Dge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOwI,gBAAiB0T,IAAI,oBAExCphB,eAAA,MAAIG,UAAU,gBAAeD,SAAc,OAAZw2G,QAAY,IAAZA,OAAY,EAAZA,EAAclpD,gBAlBpCkwC,IACa,aAAlB,OAAdA,QAAc,IAAdA,OAAc,EAAdA,EAAgB/C,aAoBP8c,CAAY/Z,KAAkC,OAAf0Z,QAAe,IAAfA,OAAe,EAAfA,EAAiBv5G,QAAS,GACxDmC,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,uBAAsBD,SAClCk3G,EAAgB91F,KAAKve,GACpBmb,gBAAA,OAEE/d,UAAU,mCAAkCD,SAAA,CAE5CF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQikG,MACZhiG,KAAK,QACLvH,MAAOsF,EAAQikG,MACfzlF,QAASxe,EAAQikG,QAAU0P,EAAa1P,MACxCpoF,SAAUA,KAjE9B04F,EAiEsDv0G,EAAS,IAE7C/C,eAAA,SAAOwhB,QAASze,EAAQikG,MAAM9mG,SAAE6C,EAAQikG,UAXnCjkG,EAAQikG,aAkBvBhnG,eAACw2G,GAAkB,CACjBC,oBAAqBA,EACrBC,aAAcA,YAKb,ICtEAh2G,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA/CiBU,IAC9B,MAAMC,EAAUm1B,uBAChB,IAAI,OAAE11B,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EAU3C,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,sCAAqCD,SAVpDqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC03G,GAA6B,CAACr2G,QAASA,OAG1C6c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC47C,GAAe,IAChB57C,eAAC03G,GAA6B,CAACr2G,QAASA,WAK/CP,GAAUd,eAACD,KAAW,MACd,ICKA43G,OAjDf,SAA0Bv2G,GACxB,IAAI,WAAEojD,EAAU,UAAErjC,GAAc/f,EAEhC,MAGM2nD,EAAe,CACnB,CACEhqC,GAAI,eACJiqC,WAAW5B,EAAOR,EAAQhiB,GACxB,MAAMqkB,EAAW7B,EAAMR,OAAOsC,IAC9B9B,EAAMR,OAAOsC,IAAM,WAEjB,OADAD,EAASE,KAAK/B,EAAMR,OAApBqC,GACQG,KAAK7oD,QAAU,EACzB,CACF,IAaJ,SAASq3G,EAAmBn5E,GAE1B,MADe,CAAC,UAAU,UAAU,UAAU,WAChCA,IAAU,EAC1B,CAEA,MAAM7M,EAAO,CAEXs0B,SAhByB,OAAV1B,QAAU,IAAVA,OAAU,EAAVA,EACbrmD,MAAM,EAAiB,IAAdgjB,EAAkBqjC,EAAW3mD,OAAS,GAChDyjB,KAAI,CAACu2F,EAAWp5E,KAAK,CACpBgS,MAAOonE,EAAUC,OACjB74E,gBAAiB24E,EAAmBn5E,GACpC7M,KAAM,CAACjyB,OAAOk4G,EAAUxuD,QACxBC,aAAc,QAalB,OACEtpD,eAAA,OAAKG,UAAU,sBAAsBqE,MAAO,CAAEjE,OAAQ,SAAUL,SAC9DF,eAACupD,KAAG,CACF3kB,QAAS,CAAEyhB,qBAAqB,GAChCM,QAASoC,EACTn3B,KAAMA,KAId,E,QC4DelxB,qBAZUC,IAAW,IAAD6kG,EACjC,MAAO,CAELxkG,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eAEtBmwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB1S,UAA+B,QAAtBqkF,EAAE7kG,EAAMQ,sBAAc,IAAAqkG,OAAA,EAApBA,EAAsBxyE,cAAc,GAAG7R,UACnD,GAGqC,KAAzBzgB,EAvGSU,IACtB,MAAM,aACJ8tB,EAAY,cACZE,EAAa,oBACbqnF,EAAmB,MACnBnlF,EAAK,UACLuC,EAAS,OACT/yB,EAAM,UACNqgB,GACE/f,GAEGT,EAAO+vB,GAAYvT,mBAAS,CACjC46F,iBAAkB,CAAC,IAGrBv2G,qBAAU,KACRw2G,GAAmB,GAClB,IAEH,MAMMA,EAAoBvmF,UACxB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBzZ,UAAUnvC,SACzC+sC,QAA4B,OAAnB6b,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBzZ,UAAUib,QAE1C/oF,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKxL,GAASqJ,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHwmF,iBAAkB74F,EAAS0S,KAAKA,SAElCxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAEF,OACElR,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,aAAYD,SACvB1C,aAAQmD,EAAMo3G,kBAOZ,KANFp3G,EAAMo3G,iBAAiBG,yBAAyBr6G,OAC9CmC,eAACm4G,GAAoB,CACnB3zD,WAAY7jD,EAAMo3G,iBAAiBG,yBACnC/2F,UAAWA,IAEX,OAGRjD,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKiiB,MAAM,kBAAiB/hB,SAAC,YAC7BF,eAAA,MAAAE,SACGS,EAAMo3G,iBAAiBK,SACtBz3G,EAAMo3G,iBAAiBK,QAAQ92F,KAAI,CAACve,EAAS07B,KAC3C,OACEvgB,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAAE,SAAO6C,EAAQ0tC,QACfzwC,eAAA,QAAAE,SACqB,eAAlB6C,EAAQ0tC,OAtDX5G,EAuDiB9mC,EAAQtF,MArD3CosC,GADAA,EAAOA,EAAKwW,QAAQ,UAAW,QACnBA,QAAQ,UAAW,QAsDW,kBAAlBt9C,EAAQ0tC,MACR1tC,EAAQtF,MAAMqC,QAAQ,GACtBiD,EAAQtF,UAPPghC,GAnDPoL,KA4DG,cAOlB/oC,GAAUd,eAACD,KAAW,MACtB,ICmGQW,qBATUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBmwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,aAIc,KAAzBnzB,EAvLOU,IACpB,MAAM,OACJN,EAAM,aACNouB,EAAY,cACZE,EAAa,oBACbqnF,EAAmB,MACnBnlF,EAAK,UACLuC,GACEzyB,GACGT,EAAO+vB,GAAYvT,mBAAS,CACjCmvB,YAAa,CAAC,EACd+rE,cAAe,CAAC,EAChBpM,eAAgB,OAGlBzqG,qBAAU,KACR82G,GAAgB,GACf,CAAC33G,EAAMsrG,iBAEVzqG,qBAAU,KACR+qC,GAAgB,GACf,IAEH,MAAMA,EAAiB9a,UAAa,IAAD8mF,EACjC,MAAM5kF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,GAA8B,QAAX8B,EAAnB9B,EAAqBzZ,iBAAS,IAAAub,OAAX,EAAnBA,EAAgC1qD,UAE5C3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKtL,GAASmJ,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,SAChBnB,GAAUqgE,IAAQ,IACbA,EACHzkD,YAAaptB,EAAS0S,KAAKA,SAE7B1S,EAAS0S,KAAKA,KAAK4mF,YAAY,IAC7B9nF,GAAUa,IAAS,IAAAknF,EAAA,MAAM,IACpBlnF,EACH06E,eAAiD,QAAnCwM,EAAEv5F,EAAS0S,KAAKA,KAAK4mF,YAAY,UAAE,IAAAC,OAAA,EAAjCA,EAAmCzrE,QACpD,IACH5d,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIkpF,EAAiB7mF,UACrB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBzZ,UAAUnvC,SACzC+sC,QAA4B,OAAnB6b,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBzZ,UAAUib,OACxCjrE,QAASrsC,EAAMsrG,gBAEjB/8E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKjL,GAAS8I,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH8mF,cAAen5F,EAAS0S,KAAKA,SAE/BxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAWF,OACElR,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,eAAcD,SACzB1C,aAAQmD,EAAM2rC,aAsBZ,KArBA3rC,EAAM2rC,YAAYksE,YAAY36G,OAC5B8C,EAAM2rC,YAAYksE,YAAYl3F,KAAI,CAACve,EAAS07B,IAExCvgB,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQiqC,QACZhoC,KAAK,UACLvH,MAAOsF,EAAQiqC,QACfzrB,QAASxe,EAAQiqC,UAAYrsC,EAAMsrG,eACnCrtF,SAAWnB,IAzBRA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtB4S,GAAUa,IAAS,IACdA,EACH06E,eAAgBxuG,KACf,EAqBuB+wD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASze,EAAQiqC,QAAQ9sC,SAC7B6C,EAAQiqC,YAZHvO,KAiBd,WAMZz+B,eAAA,OAAKG,UAAU,oBAAmBD,SAC9B1C,aAAQmD,EAAM03G,eA6CZ,KA5CA13G,EAAM03G,cAAcK,cAAc76G,OAChC8C,EAAM03G,cAAcK,cAAcp3F,KAAI,CAACve,EAAS07B,IAE5CvgB,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,MAAAE,SAAK6C,EAAQ41G,QACbz6F,gBAAA,MAAI/d,UAAU,QAAOD,SAAA,CAClB,IAAG6C,EAAQ,mBAAqB,eAAgB,IAAE,IAClD,IAAGA,EAAQ,eAAiB,iBAGjCmb,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAC62G,KAAW,CACVpnB,IACG,IAAM1sF,EAAQ,eACbA,EAAQ,cACV,EACK,IAAMA,EAAQ,eACfA,EAAQ,cACR,EAEN5C,UAAU,gBAEZH,eAAA,QACEwE,MAAO,CACLkiD,MACG,IAAM3jD,EAAQ,eACbA,EAAQ,cACV,EACK,IAAMA,EAAQ,eACfA,EAAQ,cACR,GANA,KAQN7C,SACF,GAAG6C,EAAQ,qBAEfmb,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,QAAAE,SAAM,MACNF,eAAA,QAAAE,SAAO6C,EAAQ,sBAnC0B07B,KAwCjD,UAIT39B,GAAUd,eAACD,KAAW,MACd,ICjBAW,qBAnBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBs1G,oBAAqB91G,EAAM4mG,aAAa2P,uBAGhB/mF,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EArJcU,IAC3B,IAAI,aACF8tB,EAAY,cACZE,EAAa,OACbtuB,EAAM,SACNE,EAAQ,eACRG,EAAc,oBACds1G,GACEr1G,EACAC,EAAUm1B,uBACd,MAGMsC,EAAWkK,yBAEVsX,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAGDt6C,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC1Co6C,GAAe,IACdp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAC1Bt6C,QAASA,EACT6tB,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,OAIZd,eAAC47C,GAAe,IAGlB57C,eAAA,OAAKG,UAAU,kCAAiCD,SAC5Cge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,UAAUge,QAzCvBlH,KACd5V,EAAQkyB,KAAK,mBAAmB,EAwCsBrzB,SACxCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAEnB1N,eAAA,MAAAE,SAAI,uCAENge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,MAAI+D,MAAM,eAAelD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAChDF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,kBACNlD,GAAG,kBACH,iBAAe,MACf,iBAAe,eACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,cACd,gBAAc,OAAMhE,SACrB,mBAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,WACNlD,GAAG,gBACH,iBAAe,MACf,iBAAe,aACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,YACd,gBAAc,QAAOhE,SACtB,sBAMPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MAAM,4BACNlD,GAAG,cACH7a,KAAK,WACL,kBAAgB,kBAAiBhE,SAEjCF,eAAC44G,GAAc,CACb9/E,SAAUA,EACV29E,oBAAqBA,EACrBvnF,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,MAGZd,eAAA,OACEiiB,MAAM,gBACNlD,GAAG,YACH7a,KAAK,WACL,kBAAgB,gBAAehE,SAE/BF,eAAC64G,GAAY,CACX//E,SAAUA,EACV29E,oBAAqBA,EACrBvnF,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,uBAUzB,I,QC+fQJ,qBA9BUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtBuB,OAAQz0B,EAAMM,KAAKC,KAAKm4B,QACxBl4B,eAAgBR,EAAMQ,eACtBH,SAAUL,EAAMM,KAAKC,SAIGivB,IACnB,CACLjB,aAAcA,KACZiB,EAASqE,KAAuB,EAGlCpF,cAAeA,KACbe,EAASqE,KAAwB,EAGnCnE,QAAUP,IACRK,EAASG,GAAoBR,GAAS,EAGxC8pD,gBAAkB9pD,IAChBK,EAASypD,GAAgB9pD,GAAS,KAKzBpvB,EArnBWU,IAAW,IAAD03G,EAClC,MAAM,MACJxnF,EAAK,UACLuC,EAAS,OACTuB,EAAM,eACNj0B,EAAc,SACdH,EAAQ,QACRqvB,EAAO,aACPnB,EAAY,cACZE,EAAa,gBACbwqD,GACEx4E,EACEC,EAAUm1B,uBACVsC,EAAWkK,yBAEVitC,EAAgB8oC,GAAqB57F,mBAAS,CAAC,IAC/C67F,EAAWC,GAAgB97F,oBAAS,IACpC+7F,EAAUC,GAAeh8F,mBAAS,KAClCk+D,EAAe+9B,GAAoBj8F,mBAAS,CAAC,IAE7Ck8F,EAAoBC,GAAyBn8F,mBAAS,CAC3Do8F,uBAAwB,CAAC,EACzBC,wBAAwB,EACxBC,6BAA6B,IAG/Bj4G,qBAAU,KACRk4G,GAAmB,GAClB,IAEH,MAAM7oC,EAAc,IAAIvhC,KAaxB,IAAIwhC,EAXFD,EAAYphC,cACZ,KACCohC,EAAYrhC,WAAa,GAC1B,IACAqhC,EAAYthC,UAOQ,KALpBshC,EAAYE,WACZ,IACAF,EAAYG,aACZ,IACAH,EAAYI,cAGd,MAgCM0oC,EAAkC1pC,IACtC,IAAI2pC,EAAkB,IAAK54G,GAC3B,GAAmB,OAAf44G,QAAe,IAAfA,KAAiBngF,MAAO,CAC1B,GAAkB,OAAdw2C,QAAc,IAAdA,MAAgB4pC,iBAAiBtlE,OA2BnC,YADAr1C,MAAM,wBA1BqC,CAC3C,IAAI46G,EAhCWC,MAEnB,IAAIxnE,EAAO,GACPynE,EACF,oEAEF,IAAK,IAAIpiD,EAAI,EAAGA,EAAI,GAAIA,IACtBrlB,GAAQynE,EAASthD,OAAOj6D,KAAKC,MAAsBs7G,GAAhBv7G,KAAKE,WAE1C,OAAO4zC,CAAI,EAuBKwnE,GACRE,EAAc,SAChBC,EAAO,WAGLC,EAAe,GAAGF,KAAeH,KAAuB,OAAd7pC,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,UAAwB,OAAd07B,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBvlE,gBAA+B,OAAfslE,QAAe,IAAfA,OAAe,EAAfA,EAAiB50G,QAAuB,OAAf40G,QAAe,IAAfA,OAAe,EAAfA,EAAiBngF,mBAAmBygF,IAEnME,EAAYC,kBAAOF,GAEnBG,EAAoB,CACtBn4G,IAAK83G,EACL13D,MAAOu3D,EACPvlE,OAAQ07B,EAAe4pC,iBAAiBtlE,OAExCgmE,UAA0B,OAAfX,QAAe,IAAfA,OAAe,EAAfA,EAAiB50G,KAC5By0B,MAAsB,OAAfmgF,QAAe,IAAfA,OAAe,EAAfA,EAAiBngF,MACxB+gF,MAAsB,OAAfZ,QAAe,IAAfA,OAAe,EAAfA,EAAiBpgF,OACxBihF,YAA2B,OAAdxqC,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBvlE,aAC9ComE,KAAM,WACNC,KAAM,WACNC,KAAMR,GAxCaxoF,EA2CH0oF,EAzCtB/nF,OAAOsoF,KAAKC,OAAOlpF,EAAM,CACvBmpF,gBAAiB,SAAU77F,GAGyB,YAA9CA,EAASA,SAAS87F,UAAUl8G,cAC9Bm8G,EAAqB/7F,GAErBhgB,MAAMggB,EAASA,SAASg8F,WAE5B,EACAC,eAAgB,SAAUj8F,GAAW,GAgCrC,CAIF,MACEhgB,MACE,sEAEFmC,EAAQkyB,KAAK,sBApDU3B,KAqDzB,EAGI8nF,EAAoBjoF,UACxB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAC3B,GAAGvJ,iBAAsB0Q,EAASn4B,MAAM+zC,aAExC,CAAE/gB,YAGyB,MAAzBzU,EAAS0S,KAAKC,QAChBknF,EAAkB75F,EAAS0S,KAAKA,KAEpC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GA6BIg2G,EAAuBxpF,UAC3BomB,IACA3oB,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3Bm4B,EAAc,CAClBtnC,UAAyB,OAAdhhB,QAAc,IAAdA,OAAc,EAAdA,EAAgBgyB,cAAc,GAAGhR,UAC5CyO,SAAwB,OAAdzvB,QAAc,IAAdA,OAAc,EAAdA,EAAgBiyB,aAAaxC,SACvC8jB,WAA0B,OAAdu7B,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBnlE,WAC7CoN,WAA0B,OAAdmuB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,OAE7CiO,oBAAmC,OAAdytB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,SACtDzB,WAA0B,OAAdmuB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,OAE7CkO,SAAU7wB,EAAK1S,SAASk8F,QACxB14D,iBAAgC,OAAdutB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBj8C,SACnDrb,MAAO3wB,EAAK1S,SAASqjC,OAGvB,IAEE,GAA6B,aADN7wB,KAAMqC,KAAKzQ,GAAQmmC,EAAa,CAAE91B,aAC5C/B,KAAKC,OAAgB,OACHwpF,IAE3BjsF,IACA/tB,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QAUpB,CACF,CAAE,MAAOn+B,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIisF,EAAa5pF,UAEjB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI/O,IACjC,OAA6B,MAAzB1D,EAAS0S,KAAKC,QAChBxB,EAAQnR,EAAS0S,KAAKA,MAEf,GAEA,CAEX,CAAE,MAAO3sB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACT,GA0CIq2G,EAAoBA,KACxBrC,GAAa,EAAK,EAOdphE,EAAcA,KAClBohE,GAAa,EAAM,EAqErB,OACE/6F,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnClD,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,IACc,OAAd+vE,QAAc,IAAdA,GAAgC,QAAlB6oC,EAAd7oC,EAAgB4pC,wBAAgB,IAAAf,OAAlB,EAAdA,EAAkCxkE,gBAErCt0C,eAAA,MAAIG,UAAU,iBACZ3C,aAAQyyE,GAgHN,KA/GF/xD,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9Cge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,+BACJF,eAAA,KAAAE,SAAkB,OAAd+vE,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiB0B,cAEvCr9F,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,MAAAE,SAAI,yBAA0B,IAC9BF,eAAA,KAAAE,SAAkB,OAAd+vE,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiB5/B,aAAgB,UAGzD/7D,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,MAAAE,SAAI,mBASJge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAMG,UAAU,aAAYD,SAAC,cAC7Bge,gBAAA,QAAM/d,UAAU,kBAAiBD,SAAA,CAChB,OAAd+vE,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBj8C,SAAS,gBAG/C1/C,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAMG,UAAU,aAAYD,SAAC,YAC7Bge,gBAAA,QAAM/d,UAAU,gBAAeD,SAAA,CAAC,KAC3B,IACF6d,SAAuB,OAAdkyD,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,cAG/Cr2B,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAMG,UAAU,aAAYD,SAAC,aAC7Bge,gBAAA,QAAM/d,UAAU,kBAAiBD,SAAA,CAAC,KAC7B,IACF6d,SACe,OAAdkyD,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,gBAIvCrlC,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAMG,UAAU,aAAYD,SAAC,gBAC7Bge,gBAAA,QAAM/d,UAAU,qBAAoBD,SAAA,CAAC,KAChC,IACF6d,SAAuB,OAAdkyD,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,QACzCx2B,SACgB,OAAdkyD,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,mBAK3CvjD,eAAA,MAAIG,UAAU,SACd+d,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SACEK,KAAK,WACLkhB,QACE83F,EAAmBI,4BAErB76F,SAAWyd,GAvJNA,KAC3B/6B,QAAQC,IAAI,sBAAuB86B,EAAEve,OAAOyD,SAC5C+3F,GAAuB/nF,IAAS,IAC3BA,EACHkoF,6BACGJ,EAAmBI,+BACrB,EAiJoC+B,CAAoBn/E,KAEvCr8B,eAAA,QAAAE,SAAM,WACNge,gBAAA,QACEC,QAtHcs9F,KACpCnC,GAAuB/nF,IACd,IACFA,EACHioF,wBAAwB,MA9BA/nF,WAC5B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjCpC,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKhL,GAAS,CAAE4K,YAC7CryB,QAAQC,IAAI,aAAc2d,GAEG,MAAzBA,EAAS0S,KAAKC,SAChBzC,IACAkqF,GAAuB/nF,IACd,IACFA,EACHgoF,uBAAwBr6F,EAAS0S,KAAKA,SAI9C,CAAE,MAAO3sB,GACPmqB,IAEA9tB,QAAQC,IAAI0D,EACd,GAUA+4E,EAAuB,EAgHD79E,UAAU,uBAAsBD,SAAA,CAE/B,IAAI,2BAKPm5G,EAAmBI,4BAgBnBz5G,eAAA,OACEG,UAAU,oBACVge,QAASA,KACPy7D,EAAgB,KAChB0hC,GAAmB,EAErBn8F,UACGk6F,EAAmBI,4BACrBv5G,SAEDge,gBAAA,UAAAhe,SAAA,CAAQ,KACH,IACF6d,SAAuB,OAAdkyD,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,QACzCx2B,SACgB,OAAdkyD,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,eA7BzCvjD,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,UACEC,QAASm9F,EACTn8F,UACGk6F,EAAmBI,4BACrBv5G,SAAA,CACF,KACI,IACF6d,SAAuB,OAAdkyD,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,QACzCx2B,SACgB,OAAdkyD,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,iCAgCzD/lD,aAAQyyE,GAgFN,KA/EF/xD,gBAACwe,KAAK,CACJC,KAAMq8E,EACNzlE,OAAQsE,EACR13C,UAAU,eACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,EAACz1C,UAAU,YACpCH,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,MAAKD,SACzBF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7Bge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAC9B1C,aAAQ69E,GAWRr7E,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,MAAIG,UAAU,MAAKD,SAAE,WACnB6d,SAASkyD,EAAe4pC,iBAAiBtlE,QACzCx2B,SAASkyD,EAAe4pC,iBAAiBt2D,eAb7CrlC,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,MAAI1Z,MAAO,CAAEquC,eAAgB,gBAAiB3yC,SAAA,CAC3C,WACC6d,SAASkyD,EAAe4pC,iBAAiBtlE,QACzCx2B,SAASkyD,EAAe4pC,iBAAiBt2D,WACvC,OACA,IACNrlC,gBAAA,MAAAhe,SAAA,CAAI,IAAE,UAAKm7E,EAAcpF,uBAW7Bj2E,eAAA,KAAAE,SAAG,0EAIHge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,SACEK,KAAK,OACLoe,YAAY,cACZhhB,MAAOy7G,EACPt6F,SAAWyd,GA7LH5K,iBACD7yB,aAA2BnB,IAKhD07G,EAAY17G,EACd,EAsLiCi+G,CAAkBr/E,EAAEve,OAAOrgB,SAE9CuC,eAAA,UAAQme,QAASA,IAnYPsT,WACxB,MAAM,WAAEijB,EAAU,OAAEH,EAAM,SAAEgP,GAAa0sB,EAAe4pC,iBAExD,IAAI8B,EAAa59F,SAASw2B,GAAUx2B,SAASwlC,GAE7C,MAAM5vB,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACX6gD,YAAaymC,EACb7/E,QAASjE,EACTsf,aACAinE,cAIIz8F,QAAiBwS,KAAMqC,KAAK5O,GAAQyM,EAAM,CAAE+B,YAErB,MAAzBzU,EAAS0S,KAAKC,OAChBunF,EAAiBl6F,EAAS0S,KAAKA,MAE/B1yB,MAAM,iBACR,EA4WqC08G,GAA4B17G,SAAC,kBAKtDge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,iBAE5B1C,aAAQ69E,GAGRr7E,eAAA,QAAAE,SAAO,WACL6d,SAASkyD,EAAe4pC,iBAAiBtlE,QACzCx2B,SAASkyD,EAAe4pC,iBAAiBt2D,aAJ3CvjD,eAAA,QAAAE,SAAOm7E,EAAcpF,oBAQQ,GAAhCoF,EAAcpF,eACbj2E,eAAA,OAAKG,UAAU,UAAUy1C,aAAW,EAAA11C,SAClCF,eAAA,UAAQme,QAASA,IA5TbsT,WACpB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIm4B,EAAc,CAChBtnC,UAAyB,OAAdhhB,QAAc,IAAdA,OAAc,EAAdA,EAAgBgyB,cAAc,GAAGhR,UAC5CyO,SAAwB,OAAdzvB,QAAc,IAAdA,OAAc,EAAdA,EAAgBiyB,aAAaxC,SACvC8jB,WAA0B,OAAdu7B,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBnlE,WAC7CoN,WAA0B,OAAdmuB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,OAC7CiO,oBAAmC,OAAdytB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,SACtDzB,WAAY,OAEZW,SAAUquB,EACVpuB,iBAAgC,OAAdutB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBj8C,SACnDrb,MAAoB,OAAb84B,QAAa,IAAbA,OAAa,EAAbA,EAAewgC,YAGxB3sF,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzQ,GAAQmmC,EAAa,CAAE91B,YAC5B,MAAzBzU,EAAS0S,KAAKC,QAChBzC,IAGA/tB,EAAQkyB,KAAK,CACXC,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,UAGhBlkC,MAAMggB,EAASwU,SAEjBtE,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAwRuC0sF,GAA8B57G,SAAC,aAKxDF,eAAC83E,GAAe,CACdikC,iBAvfQ9rC,IACxB0pC,EAA+B1pC,EAAe,EAuf9BA,eAAgBA,EAAe4pC,iBAC/BtlE,OACE8mC,EAAcpF,gBACdl4D,SAASkyD,EAAe4pC,iBAAiBtlE,QACvCx2B,SAASkyD,EAAe4pC,iBAAiBt2D,UAE7C2sB,WAAY,UACZC,YAAa,sBAS3BjyD,gBAACwe,KAAK,CACJC,KAAM08E,EAAmBG,uBACzBjmE,OAnPiCyoE,KACrC1C,GAAuB/nF,IACd,IACFA,EACHioF,wBAAwB,KAE1B,EA8OEhkE,gBAAgB,WAChBt1C,SAAA,CAEAge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,4BAGNF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC3C1C,aAAQ67G,GAUR,oBATC77G,aAAQ67G,EAAmBE,wBAOxB,KANFv5G,eAAA,KACEg+C,wBAAyB,CACvBC,OACEo7D,EAAmBE,uBAAuB3mC,MAAMA,oBAWjE,I,gBCrbQlyE,oBAAQ,MAXKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA5KYU,IACzB,MAAM,WACJ66G,EAAU,cACVC,EAAa,iBACbC,EAAgB,oBAChBC,EAAmB,mBACnBC,EAAkB,wBAClBC,EAAuB,UACvBvzB,EAAS,aACT75D,EAAY,cACZE,EAAa,OACbtR,GACE1c,EA2BEm7G,EAAiBA,KACrB,IAAI3qF,EAAO,CACT7sB,QAASk3G,EAAW5iE,OACpBmjE,gBAAiBP,EAAWQ,eAC5B9iF,IAAKsiF,EAAWtiF,KAGlBzK,IACA,IACEwC,KACGqC,KACC,qEACAnC,GAEDP,MAAMnS,IACmB,MAApBA,EAAS2S,QACXzC,GACF,GAEN,CAAE,MAAOnqB,GAAQ,GAGby3G,EAAeA,MAEjBl/G,aAAQy+G,EAAW5iE,SACnB77C,aAAQy+G,EAAWQ,iBACnBj/G,aAAQy+G,EAAWtiF,MASvB,OACEzb,gBAACwe,KAAK,CACJC,KAAMw/E,EACN5oE,OAAQ+oE,EACRn8G,UAAU,eAAcD,SAAA,CAExBF,eAAC08B,KAAMiZ,OAAM,CAAAz1C,SACXge,gBAAA,MAAAhe,SAAA,CAAI,gBAAwB,GAAV4d,EAAc,MAAQ,OAAO,gBAEjD9d,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,QAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,SAAOsD,QAAQ,UAASthB,SAAA,CAAC,eACXF,eAAA,QAAAE,SAAM,SAEpBF,eAAA,SACEK,KAAK,SACLF,UAAU,eACV4e,GAAG,UACH/Z,KAAK,UACL8Z,UAAQ,EACRrhB,MAAOw+G,EAAW5iE,OAClBz6B,SAAWyd,GACT6/E,GAAeS,IAAU,IACpBA,EACHtjE,OAAQhd,EAAEve,OAAOrgB,eAKzBygB,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,SAAOsD,QAAQ,kBAAiBthB,SAAA,CAAC,uBACXF,eAAA,QAAAE,SAAM,SAE5BF,eAAA,SACEK,KAAK,OACLF,UAAU,eACV4e,GAAG,kBACH/Z,KAAK,kBACL8Z,UAAQ,EACRrhB,MAAOw+G,EAAWQ,eAClB79F,SAAWyd,GACT6/E,GAAeS,IAAU,IACpBA,EACHF,eAAgBpgF,EAAEve,OAAOrgB,eAMjCygB,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,SAAOsD,QAAQ,MAAKthB,SAAA,CAAC,iBACLF,eAAA,QAAAE,SAAM,SAEtBF,eAAA,SACEK,KAAK,OACLF,UAAU,eACV4e,GAAG,MACH/Z,KAAK,MACL8Z,UAAQ,EACRP,QAAQ,uBACRE,YAAY,aACZhhB,MAAOw+G,EAAWtiF,IAClB/a,SAAWyd,GACT6/E,GAAeS,IAAU,IACpBA,EACHhjF,IAAK0C,EAAEve,OAAOrgB,eAMtBuC,eAAC0tF,KAAM,CACLvtF,UAAU,aACVgf,SAAU4pE,EACV5qE,QAzIcV,IACxBA,EAAMY,iBAEcq+F,MAIlBL,GAAmB,GAGnBE,IAGAL,EAAc,CACZ7iE,OAAQ,GACRojE,eAAgB,GAChB9iF,IAAK,KAIPyiF,GAAoB,GAEpB,EAmHkCl8G,SAC3B,oBAMD,ICwCGQ,qBA1BUC,IAChB,CACL4mG,aAAc5mG,EAAM4mG,aAAaA,aACjCpmF,UAAWxgB,EAAMQ,eAAe6xB,cAAc,GAAG7R,cAIzBgP,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrCw4E,kBAAoB94E,IAClBK,EAASw4E,GAA6B74E,GAAS,EAGjD+4E,eAAiB/4E,IACfK,EAASw4E,GAA0B74E,GAAS,KAKnCpvB,EAjMeU,IACZo1B,uBAChB,IAAI,SACF6c,EAAQ,aACRnkB,EAAY,cACZE,EAAa,aACbm4E,EAAY,UACZpmF,EAAS,kBACTynF,EAAiB,eACjBC,GACEznG,EACJE,QAAQC,IAAI,yCAA0CgmG,GAEtD,MAAOqV,EAAiBC,GAAsB1/F,mBAAS,CACrDynF,gBAAiB,KAGnBpjG,qBAAU,KACRgjG,IAEKhnG,aAAQ+pG,IACPA,EAAauV,SACfC,GAEJ,GACC,IAEH,MAAOZ,EAAkBC,GAAuBj/F,oBAAS,IAClD6/F,EAAiBX,GAAsBl/F,oBAAS,IAChD8+F,EAAYC,GAAiB/+F,mBAAS,CAC3Ck8B,OAAQ,GACRojE,eAAgB,GAChB9iF,IAAK,KAGDovD,IACJkzB,EAAW5iE,OAAOx7C,QAClBo+G,EAAWQ,eAAe5+G,QAC1Bo+G,EAAWtiF,IAAI97B,QAUXk/G,EAAyBA,IAAMX,GAAoB,GAEnD5X,EAAsBA,KAC1Bt1E,IAEA,MAAM0C,EAAO,CACXgpE,QAAqB,OAAZ2M,QAAY,IAAZA,OAAY,EAAZA,EAAc3M,QACvBmK,WAAwB,OAAZwC,QAAY,IAAZA,OAAY,EAAZA,EAAcxC,YAE5B,IACErzE,KAAMqC,KAAKjM,GAAS8J,GAAMP,MAAMnS,IAC9B29F,GAAoBtrF,IAAS,IACxBA,EACHqzE,gBAAiB1lF,EAAS0S,KAAKA,KAAKozE,iBAGd,MAApB9lF,EAAS2S,QACXzC,GACF,GAEJ,CAAE,MAAOnqB,GACPmqB,GACF,GAuBF,OACElR,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,0CAAyCD,SACtDge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,6CAA4CD,SAAA,CACzDF,eAACm8B,IAAI,CACHh8B,UAAU,UACVge,QAdhB,WACEyqF,EAAkB,IAClBC,EAAe,GACjB,EAYgBzsE,GAAI,CACF5I,SAAU,cACVtzB,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,MAAIG,UAAU,wBAAuBD,SAAC,0BAExCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCge,gBAAA,OAAK/d,UAAU,6CAA4CD,SAAA,CACzDF,eAAA,OAAKG,UAAU,eAAcD,SAAEqnG,EAAaN,YAC5C/oF,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAAC,aAEhCF,eAAA,QAAAE,SACI1C,aAAQ+pG,GAEN,KADA,GAtCxB,SAAkBnuC,GAChB,IAAIw5B,EAAIn0F,KAAKC,MAAM06D,EAAU,IACzB2yB,EAAI3yB,EAAU,GAGlB,OAFAw5B,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GAEZ,KADX7G,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GACF,MACvB,CAgC2B8G,CAAS0U,EAAaJ,6BAKnCjpF,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,MAAAE,SAAI,wBACJF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,KAAAE,SACI1C,aAAQo/G,IACLp/G,aAAQo/G,EAAgBhY,iBAMzB,KA7DLM,KACjB,IAAIC,EAAM7gG,SAAS47E,cAAc,KAGjC,OAFAilB,EAAIC,UAAYF,EAETC,EAAIE,aAAeF,EAAIznE,WAAa,EAAE,EAoDrBunE,CACE2X,EAAgBhY,gBACbU,qCAUvBtlG,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,UAAQC,QAASA,IAAMk1B,IAAWnzC,SAAA,CACH,GAA5BqnG,EAAa2N,aAAgD,GAA5B3N,EAAa2N,YAC3C,cACA,aAAc,cAMzBiH,GACCn8G,eAACi9G,GAAiB,CAChBhB,WAAYA,EACZC,cAAeA,EACfG,mBAAoBA,EACpBC,wBAlHwBA,KAC1BU,GACFZ,GAAoB,EACtB,EAgHMD,iBAAkBA,EAClBC,oBAAqBA,EACrBrzB,UAAWA,EACXjrE,OAAQqD,MAGH,I,QCs1CAqmE,OAx/CYpmF,IAAW,IAADqmF,EAAA4Y,EAAAC,EAAA5Y,EAAAC,EAAAC,EACnC,IAAI,qBACFE,EAAoB,uBACpBhI,EAAsB,gBACtBmF,EAAe,eACfyJ,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,uBACrByP,EAAsB,yBACtBxP,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,mBACZ7J,EAAkB,iBAClBC,EAAgB,gCAChBoG,EAA+B,oBAC/BU,EAAmB,oBACnBF,EAAmB,gBACnB9P,EAAe,gBACf4P,EAAe,OACf35D,EAAM,aACNlG,EAAY,cACZE,EAAa,aACbolE,EAAY,gBACZC,EAAe,YACf5P,EAAW,UACX6P,EAAS,KACT3U,EAAI,qBACJ8a,EAAoB,SACpBnqE,GACEtvB,EAEJI,qBAAU,KAEkB,GAAxBktF,EAAev1B,OACW,GAA1Bu1B,EAAet1B,SACW,GAA1Bs1B,EAAer1B,UAEfn6D,MAAM,uCACNmpF,EAAiBvI,GACjB2X,IACF,GACC,CAAC/I,EAAer1B,UAEnBwmB,GAAWC,EAAwBC,GAEnC,MAAMgV,EAAyBhsD,iBAAO,OAC/By/C,EAAiBC,GAAsBtrE,mBAAS,KAEhDurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAA2C,QAAvCnB,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCoB,IAC7CC,UAAW,GACXhoD,YAAa,KAGT6zD,EAAqBA,KAAO,IAADC,EAC/B11F,MAAM4gF,EAAuBo9B,UAC7B,MAAMroB,IAAmC,OAAtB/U,QAAsB,IAAtBA,GAAiC,QAAX8U,EAAtB9U,EAAwB4U,iBAAS,IAAAE,IAAjCA,EAAmC/2F,QACtD42F,GAAiBI,EAAW,EAG9BrzF,qBAAU,KACR,IAAIqvF,EACyB,WAA3BhM,EAAY8V,YACR,OAC4B,SAAjB,OAAX9V,QAAW,IAAXA,OAAW,EAAXA,EAAa8V,aACb,OACA,QAEa,SAAf9J,EACF/Q,EAAuBgV,eAAiB,GAAKH,IACrB,SAAf9D,GACT/Q,EAAuBgV,eAAiB,IAAMH,GAChD,GACC,CAAC7U,IAEJt+E,qBAAU,KAGR,MAAM27G,EAAsB1/F,IAC1BA,EAAMY,iBAENZ,EAAM2/F,YAAc,EAAE,EAKxB,OAFA7qF,OAAOmR,iBAAiB,eAAgBy5E,GAEjC,KACL5qF,OAAOoR,oBAAoB,eAAgBw5E,EAAmB,CAC/D,GACA,IAGH,MAAMp0B,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,QA8D3B8+B,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAC1BiG,EAAYC,GAAiBrsE,oBAAS,IAGtCksE,EAAWC,GAAgBnsE,oBAAS,GACrCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,GA8B3C0L,EAAiBA,KACrBtkE,GAAUa,IAAS,IACdA,EACHwuD,MAAOxuD,EAAUwuD,QAChB,EAICjiB,GAAqBzhC,IACzBA,EAAEhe,iBACFoiE,GAAY,EAGdj/E,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,IAC7B,KACLvrC,OAAOoR,oBAAoB,WAAYm6B,GAAkB,IAE1D,IACHt8D,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,GAAkB,GACrD,CAACnhC,IAGJ,MAAMkuD,GAAqBA,CAACC,EAAcC,EAAkBhL,KAKvD,IAADkV,EAJF,GACU,GAARlV,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAEb,OACEzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEmB,QAAnB+0F,EAAAnK,EAAarkB,cAAM,IAAAwuB,GAAnBA,EAAqBp3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,IAAM3nF,EAAQ+lF,UACtC4L,GAAa3xF,EAAQ+lF,UAI3BlqE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WAE1C3pE,SAAUq1E,IAEZt2E,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBApCRhoC,KA4Cd,SAIL,GAAY,GAARshD,EAAe,CAAC,IAADmV,EAKtBC,EAJF,QACgCz3F,IAA9BotF,EAAaE,cACiB,OAA9BF,EAAaE,eACD,OAAZF,QAAY,IAAZA,GAA0B,QAAdoK,EAAZpK,EAAcE,oBAAY,IAAAkK,OAAd,EAAZA,EAA4Br3F,QAAS,EAErC,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEyB,QAAzBi1F,EAAArK,EAAaE,oBAAY,IAAAmK,GAAzBA,EAA2Bt3F,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,IAAM3nF,EAAQ+lF,UACtC4L,GAAa3xF,EAAQ+lF,UAI3BlqE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WAE1C3pE,SAAUq1E,IAEZt2E,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBApCRhoC,KA4Cd,SAKVu2D,IACAlK,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAAkBL,qBACpC7sF,OACCiqF,EAAqBiD,GAClBL,qBAAqB,IAAM3nF,EAAQ+lF,UACtC4L,GAAa3xF,EAAQ+lF,UAI3BlqE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WAE1C3pE,SAAUq1E,IAEZt2E,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,GAAiBtoF,EAAQ0jE,iBAnChDhoC,IA2ClB,GAGI6sD,GAAoBA,CAACR,EAAcC,EAAkBhL,KACzD,OACU,GAARA,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EACEzqE,EACA1a,EAAQ+lF,UACRrrE,EAAMK,OAAOyD,SAGjBpC,SAAUq1E,IAEZt2E,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAzCRhoC,KAiDd,SAIO,GAARshD,OAEuBriF,IAA9BotF,EAAaE,cACiB,OAA9BF,EAAaE,eACD,OAAZF,QAAY,IAAZA,GAA0B,QAAduK,EAAZvK,EAAcE,oBAAY,IAAAqK,OAAd,EAAZA,EAA4Bx3F,QAAS,EAGnCmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAaE,aAAantF,OACvBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WAEzC3pE,SAAUq1E,IAEZt2E,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBArCRhoC,KA6Cd,UAKVu2D,IAEEh1F,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WAEzC3pE,SAAUq1E,IAEZt2E,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAW,IACT4C,EAAQ0jE,OAAOxnE,SAAS,cACpB,aACA,kBAEN++C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBArCRhoC,KA6Cd,eA9HP,EAAoB,IAAD42D,CAmI1B,EAGI9J,GAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAAOi3F,GAAa,GACpB91E,SAAWnB,GAAU0qE,EAAuB1qE,GAC5C0B,SAAUq1E,GALLzJ,SAaXK,GAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,GAAoBG,IACjB,CAAEvtC,OAAQutC,IAGbS,GAAsBA,CAACjL,EAAUviD,KACrC,MAAM,OAAEitD,EAAM,aAAEa,GAAiBvL,EACjC,IAAIsU,EAAgBvV,EAAO2L,EAASa,EASpC,GANGxM,GACCwM,GAAiBA,EAAalsC,QAAQ,WAAY,IAAIviD,SAExDw3F,EAAgB5J,GAGdzG,IAAoBxmD,EACtB,OAAI62D,GAAiBA,EAAcz3F,OAE/BmC,eAAA,SACEG,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB+qD,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAgB1C,CACL,IAsBI82D,EAtBAC,EAAa,GACbC,EAAkB,GA0BtB,OAxBIzU,EAAS2J,YACX6K,EAAa,eACJxU,EAAS4K,gBAClB4J,EAAa,iBACJxU,EAAS2K,SAClB6J,EAAa,aACkB,GAAtBxU,EAAS0U,UAClBD,EAAkB,eACa,GAAtBzU,EAAS0U,UAClBD,EAAkB,WAElBD,EADSxU,EAAS6K,UACL,WAEA,GAGX7K,EAAS2K,WACX8J,EAAkB,cAGhBzU,EAAS4K,kBACX2J,EAAyB,kBAIzBv1F,eAAA,SACEG,UAAW,kBAAkBq1F,KAAcC,KAAmBF,IAC9Dp3E,QAASA,KACPiqE,EAAmB3pD,GACnB+qD,GAAc,EAAM,EACpBtpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,OAG/C,GA4LF,IAAIw/D,GAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAgKA,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFxpF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOsE,QAAS4X,IAAI,OAEhCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UACEme,QAASA,KACPkqE,EAAiBvI,EAAuB,EACxC5/E,SACH,sBAQTge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,iDAAgDD,SAAA,CAC7Dge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,YAE9BmC,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAev1B,QAElBn5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAet1B,UAElBp5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAer1B,QAAU,EACtBq1B,EAAer1B,QACf,IAAG,IAAMq1B,EAAer1B,gBAIlCn7C,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAClB2G,gBACD5rF,eAAA,OACEsgB,IAAKpb,GAAO6T,aACZoF,QAASA,IAAM8zE,MAGjBjyF,eAAA,OACEsgB,IAAKpb,GAAO4T,YACZqF,QAASA,IAAM8zE,QAMrB,qBADuB,OAAtBnS,QAAsB,IAAtBA,GAAmC,QAAbugB,EAAtBvgB,EAAwB0N,mBAAW,IAAA6S,OAAb,EAAtBA,EAAqCvhG,eAEpCkB,eAAA69B,YAAA,CAAA39B,SACG+9F,GACuB,OAAtBne,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,cAExBvsF,eAAA,UAAQme,QAASA,IAAM08E,IAAuB36F,SAC3C6/E,EAAO,SAAM,OAGhB,KAIJ//E,eAAA69B,YAAA,CAAA39B,SACG+9F,GACuB,OAAtBne,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,gBAEJ,OAAtBzM,QAAsB,IAAtBA,GAAoC,QAAdwgB,EAAtBxgB,EAAwBkL,oBAAY,IAAAsV,OAAd,EAAtBA,EAAsCziG,QACpC,EACAmC,eAAA,UAAQme,QAASA,IAAM08E,IAAuB36F,SAC3C6/E,EAAO,SAAM,OAGhB,WAOV7hE,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7BvC,OAAOC,KAAK6wF,GAAiCntE,KAC5C,CAACurB,EAAapO,IAEVvgB,gBAAA,OAAiB+D,MAAM,gBAAe/hB,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAI8tB,EACJ7nC,KAAK,UACLvH,MAAOovC,EACPtrB,QAASsrB,IAAgBsyC,EACzBvgE,SAAUA,IACRqwE,EAAoBpiD,KAGxB7sC,eAAA,SAAOihD,IAAKpU,EAAY3sC,SACrB2sC,MAZKpO,UAqBpBvgB,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7Bi/E,GACCxhF,OAAOC,KACL6wF,EAAgCtP,IAChC79D,KAAI,CAACq0E,EAAal3D,IAEhBvgB,gBAAA,OAAiB+D,MAAM,gBAAe/hB,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAI42E,EACJ3wF,KAAK,UACLvH,MAAOk4F,EACPp0E,QAASo0E,IAAgB5G,EACzBnwE,SAAUA,IACRuwE,EAAoBwG,KAGxB31F,eAAA,SAAOihD,IAAK00C,EAAYz1F,SACrBy1F,MAZKl3D,aAqBtBz+B,eAAA,OAAKG,UAAU,2BAA0BD,SACvCge,gBAAA,KAAAhe,SAAA,CAAG,iBAEDge,gBAAA,QAAAhe,SAAA,CACG,IACqC,QADlCwnF,EACHI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuCrnF,aAK9C6d,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,KAAG/d,UAAU,kBAAiBD,SAAA,CAAC,YACnB+kF,EAAkB,KAE9BjlF,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAAhe,SAAA,CAxNS01F,MAC/B,MAAM,SAAEC,EAAQ,eAAEC,GAAmBhW,GAA0B,CAAC,EAE1DiW,EAAmBhW,EACrB8V,EACAC,GAEAD,EAEJ,OACE71F,eAAA,OAAAE,SACEF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ83C,MAGR,EAyMiBH,GA1RKI,MAC9B,MAAM,OAAEC,EAAM,aAAEC,GAAiBpW,GAA0B,CAAC,EACtDqW,EAAUF,GAAUA,EAAOh3F,SAAS,QACpCm3F,EAAUH,GAAUA,EAAOh3F,SAAS,UACpCo3F,EAAWJ,GAAUA,EAAOh3F,SAAS,WAE3C,OAAI8gF,EAEA7hE,gBAAA,OAAAhe,SAAA,CACG+1F,GACCj2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQg4C,KAKbG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAI/B+1F,GAAgBA,EAAap4F,OAAOD,OAAS,EAE7CqgB,gBAAA,OAAAhe,SAAA,CACGg2F,GACCl2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQi4C,KAKbE,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAKjC+d,gBAAA,OAAAhe,SAAA,CACG+1F,GACCj2F,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQg4C,KAKbG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,mBAIvC,EA8NyB61F,GAEDh2F,eAAA,OAAK+e,GAAG,uBAAsB7e,SAvWjC4gF,MACrB,MAAM,OAAE4K,EAAM,aAAEa,GAAiBzM,GAA0B,CAAC,EACtDqW,EAAUzK,GAAUA,EAAOzsF,SAAS,QACpCm3F,EAAU1K,GAAUA,EAAOzsF,SAAS,UACpCo3F,EAAW3K,GAAUA,EAAOzsF,SAAS,WAE3C,OAAI8gF,EAEA7hE,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,EAAO0E,WACb,gBACA,mDAKPgG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAI/BosF,GAAgBA,EAAazuF,OAAOD,OAAS,EAE7CqgB,gBAAA,OAAAhe,SAAA,CACGqsF,GACCvsF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQsuC,EAAa6D,WACnB,gBACA,mDAMPgG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAKjC+d,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,EAAO0E,WACb,gBACA,mDAMPgG,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,mBAIvC,EAkS2B2gF,UAIP9gF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3B4/E,GAvnCLwN,EAACxN,EAAwBC,KAAU,IAAD0Z,EACtD,IAAI9oE,EACAtwB,EAA6B,OAAtBy/E,QAAsB,IAAtBA,GAAmC,QAAb2Z,EAAtB3Z,EAAwB0N,mBAAW,IAAAiM,OAAb,EAAtBA,EAAqC36F,cAUhD,OAPE6xB,EADW,mBAATtwB,EACK,EACW,oBAATA,EACF,EAEA,EAGDswB,GACN,KAAK,EACH,OAAOk6D,GACL/K,EACAmF,EACAlF,GAEJ,KAAK,EACH,OAAOwL,GAAiBtG,EAAiBlF,GAC3C,KAAK,EACH,OAAOuL,GAAkBxL,EAAwBmF,EAAiBlF,GACpE,QACE,OAAO,KACX,EA+lC0BuN,CAAcxN,EAAwBC,UAK9C//E,eAACqqC,KAAc,IAEfnsB,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsBhvD,OAoBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QAruCMwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAgtC4C/E,SACpC,mBAOPge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,OAAQlrC,SAClCF,eAAA,OAAKsgB,IAAKpb,GAAOuK,uBACX,IACRzP,eAAA,QACEwE,MAAO,CACLquC,eAAgB,aAElB10B,QAxwCY8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GA0vC2DlvB,SACtC,0BAKLge,gBAAA,OACE/d,UAAU,gCACVD,SAAA,CAEAF,eAAA,OAAKG,UAAU,sDAAqDD,SACjE+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GAruCxD0R,MAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAkuC1CH,EAAW,EACXz2F,SACH,iBAMPF,eAAA,OAAKG,UAAU,uDAAsDD,SAClE4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACPs5E,IACAhX,GAAY,EACZvgF,SACH,eAMLF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EACE/C,EAAkB,EAClBnF,GAzwCfkJ,MACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAuwC1C9N,EAAU,EACV9oF,SACH,4BASbF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAIxBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBynF,EACa,QADbC,EACxBE,EAAqB7C,UAAgB,IAAA2C,OAAA,EAArCA,EAAuCyF,iBAAS,IAAA1F,IAC/C,SAEJ3nF,eAAA,UAAQme,QAASA,IAAMsiE,IAAavgF,SAAC,cAEvCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,oDAAmDD,SAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,oBAErBge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,0BAK7CF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAE3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IACjCz+B,eAAA,OAEEG,UAAU,iEAAgED,SAEzE+rF,GAAoBlpF,EAAS07B,IAHzBA,KAMT,6BAWf,E,QCxKA/9B,qBAzBUC,IAChB,CACLitD,SAAUjtD,EAAM4mG,aAAaA,aAC7BpmG,eAAgBR,EAAMQ,eACtBH,SAAUL,EAAMM,KAAKC,KACrBJ,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClB+qB,SAAUl+C,EAAMM,KAAK49C,aAIG1uB,IAAQ,CAClCjB,aAAcA,KACZiB,EAASqE,KAAuB,EAGlCpF,cAAeA,KACbe,EAASqE,KAAwB,EAGnCgzE,sBAAuBA,KACrBr3E,EAASs3E,KAAiC,KAI/B/mG,EA5zCkBU,IAAW,IAADs5F,EACzC,IAAI,QACFr5F,EAAO,SACPusD,EAAQ,eACRzsD,EAAc,aACd+tB,EAAY,cACZE,EAAa,SACbpuB,EAAQ,OACRF,EAAM,MACNwwB,EAAK,UACLuC,GACEzyB,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACdC,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtBhI,uBAAwB,CAAC,EACzB2O,gCAAiC,CAAC,EAElC4uB,wBAAyB,GAEzBp4B,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,EACTnoB,OAAQ,GACRiuB,UAAW,GACX3U,MAAM,EACNqO,YAAa,EACb70C,WAAW,EACX80C,OAAQ,cACR70C,kBAAkB,EAClBC,eAAgB,GAChBq1C,eAAgB,CAAC,KAGZ3P,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,KACxCq3E,EAAcC,GAAmBt3E,oBAAS,GAQjD3b,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAEpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,IACAr1C,GAAa,GACZ,IAEHx4C,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB1hC,EAASu5C,mBAEzB,KACLnuC,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAEV,IAOIy+D,EAPAyB,EAC+B,WAAjClwF,EAAMkkF,YAAY8V,YACd,OACkC,SAAjB,QAAjBD,EAAA/5F,EAAMkkF,mBAAW,IAAA6V,OAAA,EAAjBA,EAAmBC,aACnB,OACA,QAGN,MAAMrL,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAEpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAO3Bt2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAG/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJg2B,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAyC9D4pC,EAA4B/lE,MAChCo8B,EACAg7B,EACA77C,EACAkiD,EACAn9C,KAEA,MAAM,YAAE8yC,GAAgBlkF,EAClBgzB,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACXi8B,WACAg7B,MACA77C,UACAkiD,UACAn9C,SACA6oD,QAAS/V,EAAY+V,SAEvB1rE,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9L,GAAS2J,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IAEAsB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAK,GAC3C8iE,UAAWx1E,EAAS0S,KAAKA,KAAK,GAAG8iE,cAGvC,CAAE,MAAOzvF,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGFzD,qBAAU,KAC0C,GAA9Cb,EAAMm/E,uBAAuBgV,eAC/BwoB,GACF,GACC,CAAC38G,EAAMm/E,yBAEV,MAAMw9B,EAAqBA,KACzB7oB,GAAgB,EAAM,EA6BlB9E,EAAaA,KACT,IAAIrgD,MACH4zB,UAGL7vB,EAAW5hB,UACgB9wB,EAAMmkF,oBAArC,IACID,EAAc,IAAKlkF,EAAMkkF,aAE7B,GAAKrnF,aAAQqnF,GA4GX3lF,MAAM,mCA5GmB,CACzB,IAAI2zB,OA5HqBpB,WAC3B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAAUg3B,EAAYh3B,SACtB+sC,QAAS/V,EAAY+V,SAGvB1rE,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK/L,GAAS4J,EAAM,CAAE+B,YAEnD,OAA6B,MAAzBzU,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GAyF+B+8D,CAAqBjL,GAClD,MAAM8S,EArCeC,KACvB,MAAMC,EAAyB,CAAC,EAChC,IAAK,IAAIjgC,EAAI,EAAGA,GAAa,OAATggC,QAAS,IAATA,OAAS,EAATA,EAAW/5F,QAAQ+5D,IACrCggC,EAAUhgC,GAAe,WAAIA,EACxBigC,EAAuBD,EAAUhgC,GAAY,SAKhDigC,EAAuBD,EAAUhgC,GAAY,WAC5CigC,EAAuBD,EAAUhgC,GAAY,SAC5CggC,EAAUhgC,GAAiB,cAG7BigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cACzB,CAACggC,EAAUhgC,IAEfigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cAC3BrkC,KAAKqkE,EAAUhgC,IAfjBigC,EAAuBD,EAAUhgC,GAAY,SAAK,CAChD,CAACggC,EAAUhgC,GAAiB,cAAI,CAACggC,EAAUhgC,KAiBjD,OAAOigC,CAAsB,EAccK,CACvCrlE,EAAiBjB,KAAKmB,QAAQnB,MAG1B1S,QAAiBi5E,EAAkBtlE,EAAiBjB,KAAKmB,SAE/D,GAAIF,EAAiBxuB,OAAQ,CAAC,IAAD+zF,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC3BvB,EACkB,OAAhB3kE,QAAgB,IAAhBA,GAAsB,QAANulE,EAAhBvlE,EAAkBjB,YAAI,IAAAwmE,GAAS,QAATC,EAAtBD,EAAwBrlE,eAAO,IAAAslE,GAAgB,QAAhBC,EAA/BD,EAAiCzmE,KAAK1S,UAAS,IAAAo5E,OAA/B,EAAhBA,EAAiDzqC,SACjC,OAAhBh7B,QAAgB,IAAhBA,GAAsB,QAAN0lE,EAAhB1lE,EAAkBjB,YAAI,IAAA2mE,GAAS,QAATC,EAAtBD,EAAwBxlE,eAAO,IAAAylE,GAAgB,QAAhBC,EAA/BD,EAAiC5mE,KAAK1S,UAAS,IAAAu5E,OAA/B,EAAhBA,EAAiD5P,IACjC,OAAhBh2D,QAAgB,IAAhBA,GAAsB,QAAN6lE,EAAhB7lE,EAAkBjB,YAAI,IAAA8mE,GAAS,QAATC,EAAtBD,EAAwB3lE,eAAO,IAAA4lE,GAAgB,QAAhBC,EAA/BD,EAAiC/mE,KAAK1S,UAAS,IAAA05E,OAA/B,EAAhBA,EAAiD5rD,QACjC,OAAhBna,QAAgB,IAAhBA,GAAsB,QAANgmE,EAAhBhmE,EAAkBjB,YAAI,IAAAinE,GAAS,QAATC,EAAtBD,EAAwB9lE,eAAO,IAAA+lE,GAAgB,QAAhBC,EAA/BD,EAAiClnE,KAAK1S,UAAS,IAAA65E,OAA/B,EAAhBA,EAAiDjI,aACjDD,GAGFh+D,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAADi2F,EACtDj2F,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAK/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAEJ,IAAIvmD,EAAO8lD,IACXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KACpD68D,gCAAiCkJ,EACjChJ,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQwqF,kBACvCt4B,gBAAiB/lE,MAGnB8pE,EAAS9pE,EACX,MACEhgB,MAAM,0BAEV,CAEA,EAGIi5F,EAAoB1mE,UACxB,GAAgC,IAA5B8F,EAAKimF,mBAA0B,CACjC,MAAMtkB,EAA0B3hE,EAAK3F,KAAKihC,WACvC9vD,GAAYA,EAAQ8lF,KAAOtxD,EAAKimF,qBAGnC,OAAItkB,GAA2B3hE,EAAK3F,KAAK/zB,OAAS,EACzCq7F,EAGFA,EAA0B,CACnC,CACE,OAAO,CACT,EAGI3I,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAGjB5G,EAA6BwP,IACjC,IAAI,gBAAEtS,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEnC7G,EAAqB7C,GAAiB0F,YACxC7C,EAAqB7C,GAAiB4G,WAAY,EAElD/D,EAAqB7C,GAAiB4G,WAAY,EAQpD/D,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IACP1K,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAIf2tD,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,GAGFt+D,OAAO+vC,SAAS,EAAG,GACrB,EAGI2sB,EAAuBjiD,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,GAGF7H,EAAS/D,EAAgB,EAErBkK,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,GAGF7H,EAAS/D,EAAgB,EAarB+D,EAAY/D,IAChB,MAAMwZ,EAAmBn6F,SAAS2kF,uBAChC,kCAIF,GACEwV,EAAiB5gG,OAAS,GAC1BonF,EAAkB,GAClBA,EAAkBwZ,EAAiB5gG,OACnC,CACA,MACM6gG,EADgBD,EAAiBxZ,EAAkB,GACzByZ,UARf,GASQp6F,SAAS2kF,uBAChC,sCACA,GACe3mB,SAAS,CACxB9b,IAAKk4C,EACLxV,SAAU,UAEd,MAAO,GAAIuV,EAAiB5gG,OAAS,GAAyB,IAApBonF,EAAuB,CACtC3gF,SAAS2kF,uBAChC,sCACA,GACe3mB,SAAS,CACxB9b,IAAK,EACL0iC,SAAU,UAEd,GAGIuO,EAAyBhmE,UAAa,IAADqpE,EACzC,IAAI,gBACF7V,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,YACpBjD,EAAW,UACX6P,GAEE/zF,EAEA6vF,EAAiBD,EAAkB5B,GAEnCiC,EAAqB9I,EAAqB7C,GAU1C4L,EAC+B,WAAjClwF,EAAMkkF,YAAY8V,YACd,OACkC,SAAjB,QAAjBG,EAAAn6F,EAAMkkF,mBAAW,IAAAiW,OAAA,EAAjBA,EAAmBH,aACnB,OACA,QAEF/oE,EAAO,CAAC,EAEVA,EADoC,mBAAlCg/D,EAAmBpD,YACd,CACLwD,eAAgBjzE,SAAS6yE,EAAmBI,gBAE5CmI,WAAqB,OAATzE,QAAS,IAATA,KAAW72F,OAAS62F,EAAY,GAE5C7mC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAE5B8J,QAAS/V,EAAY+V,SAGhB,CACL5J,eAAgBjzE,SAAS6yE,EAAmBI,gBAE5ClI,UAAW8H,EAAmBlG,qBAAqB7sF,OAC/C+yF,EAAmBlG,qBACnB/pF,EAAM+zF,UAAU72F,OAChB,CAAC8C,EAAM+zF,WACP,GAEJ7mC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAE5B8J,QAAS/V,EAAY+V,SAIzB1rE,WAEuBwC,KAAMqC,KAAK7L,GAAS0J,IAE9BA,KAAKC,OAChBzC,GAGF,EAIIuhE,EAAqBl/D,MAAO8lE,EAAIkmB,KAAc,IAADC,EACjD,IAAI,gBACFz4B,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,YACpBjD,EAAW,UACX6P,EAAS,uBACT5U,GAEEn/E,EAEA6vF,EAAiBD,EAAkB5B,GAEnCiC,EAAqB9I,EAAqB7C,GAU1C4L,EAC+B,WAAjClwF,EAAMkkF,YAAY8V,YACd,OACkC,SAAjB,QAAjB+iB,EAAA/8G,EAAMkkF,mBAAW,IAAA64B,OAAA,EAAjBA,EAAmB/iB,aACnB,OACA,QAEF/oE,EAAO,CAAC,EA+CZ,GA7CEA,EADoC,mBAAlCg/D,EAAmBpD,YACd,CACLwD,eAAgBjzE,SAAS6yE,EAAmBI,gBAC5CmI,WAAqB,OAATzE,QAAS,IAATA,KAAW72F,OAAS62F,EAAY,GAC5C7mC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAC5B8J,QAAS/V,EAAY+V,QACrBxB,QAASz4F,EAAMo/E,KAAO,EAAI,GAGrB,CACLiR,eAAgBjzE,SAAS6yE,EAAmBI,gBAE5ClI,UAAW8H,EAAmBlG,qBAAqB7sF,OAC/C+yF,EAAmBlG,qBACnBgK,EAAU72F,OACV,CAAC62F,GACD,GAEJ7mC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAE5B8J,QAAS/V,EAAY+V,QACrBxB,QAASz4F,EAAMo/E,KAAO,EAAI,GAI9B7wD,IAEIuuF,EAAU,CAEiB,aADN/rF,KAAMqC,KAAK7L,GAAS0J,IAC9BA,KAAKC,QAShB3yB,MAAM,6CARNs4F,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,EAYN,MACE2G,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,IACzBf,EAAqByP,GAAIvqD,QACzB86C,EAAqByP,GAAIzG,aACzBD,EAEJ,EAGI7I,EAAwB,SAC5BuP,EACAzX,GAEI,IAAD8U,EAAA,IADH6oB,IAAQ7rD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,KAAAA,UAAA,IAEJ,gBAAEqzB,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACxC4vF,EAAkB5B,GAYN,IAAD0K,GAV5BvR,EAAqB7C,GAAiByF,qBAAqB7sF,OAAS,GACtEiqF,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAElD/D,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,GAKvC,qBAFoB,OAAtB/L,QAAsB,IAAtBA,GAAmC,QAAb8U,EAAtB9U,EAAwB0N,mBAAW,IAAAoH,OAAb,EAAtBA,EAAqC91F,mBAG3B,QAAfu6F,EAAA14F,EAAM+zF,iBAAS,IAAA2E,OAAA,EAAfA,EAAiBx7F,QAAS,GAC5BiqF,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAElD/D,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAItD,IAAIhiD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf8mD,EAAmB4G,EAAIkmB,GAEvBlrF,OAAO+vC,SAAS,EAAG,EACrB,EAEM2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,EAAO,MAAE9jB,GAAUggB,EAAMK,QAE3B,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GAGFumE,EAAqB7C,GAAiByF,qBAAqB,GAAKF,EAEhE1C,EAAqB7C,GAAiB,GAAKuF,EAE3C1C,EAAqB7C,GAAiByQ,UAAY,GAKzC,IAFP5N,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DX,EACF1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAI1DpI,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,EACxDpI,EAAqB7C,GAAiByQ,UAAY,GAGpDhlE,GAAUa,IAAS,IACdA,EACHu2D,uBACA4M,UAAW,MACV,EAGCxM,EAA0BA,CAACwJ,EAAQlH,EAAUjpE,KACjD,IAAI,gBAAE0jE,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,IAAYynF,KAGA,IAAjBmH,EACF7J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA2sF,GAGF1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAcJjhE,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtBrgB,EAAM4iD,QAAQ,aAAc,IAC5B,IAAI,gBACF4kC,EAAe,qBACf6C,EAAoB,cACpBQ,EAAa,uBACbxI,GACEn/E,EAEJm/E,EAAuB4U,UAAYj3F,EAAMK,OAQzC4yB,GAAUa,IAAS,IACdA,KACAA,EAAUm9D,eACb5G,uBACA4M,UAAWj3F,KACV,EAcCw0F,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAhBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAC3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAKhO,GAAQ6L,EAAK,EAS/CsgE,CAAepK,EAAqB7C,GAAiB,EAGjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAM7D,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAClD,IAAIz/D,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,KAAO,CACL,IAAIA,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,GAGI0nE,EAAc7nE,UAClB,UACyBC,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGImtF,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAAoB,IAADiT,EAC7C,MAAM,YACJ5U,EAAW,gBACXI,EAAe,uBACfnF,EAAsB,qBACtBgI,GACEnnF,EAY6B,IAAD+4F,GAV5B5R,EAAqB7C,GAAiByF,qBAAqB7sF,OAAS,GACtEiqF,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAElD/D,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,GAKvC,qBAFoB,OAAtB/L,QAAsB,IAAtBA,GAAmC,QAAb2Z,EAAtB3Z,EAAwB0N,mBAAW,IAAAiM,OAAb,EAAtBA,EAAqC36F,mBAG3B,QAAf46F,EAAA/4F,EAAM+zF,iBAAS,IAAAgF,OAAA,EAAfA,EAAiB77F,QAAS,GAC5BiqF,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAElD/D,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiB4G,WAAY,IAItDn7D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MASnBgR,EACE1P,EAAqBtB,GAAgB34B,SACrCi6B,EAAqBtB,GAAgBqC,IACrCf,EAAqBtB,GAAgBx5C,QACrC86C,EAAqBtB,GAAgBsK,aACrCD,EACD,EA6BGxI,EAAmB52D,UAAmC,IAADksF,EAAAC,EAAAC,EACzD,IAAI,YAAEh5B,EAAW,qBAAEiD,GAAyBnnF,EAExCoC,EAAU+8E,EAEV6Z,EAAc,GAElB,GAA4C,oBAAjC,OAAP52F,QAAO,IAAPA,GAAoB,QAAb46G,EAAP56G,EAASyqF,mBAAW,IAAAmwB,OAAb,EAAPA,EAAsB7+G,eAAoC,CAC5D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA4C,sBAAjC,OAAP7uB,QAAO,IAAPA,GAAoB,QAAb66G,EAAP76G,EAASyqF,mBAAW,IAAAowB,OAAb,EAAPA,EAAsB9+G,eAAsC,CACrE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA4C,qBAAjC,OAAP7uB,QAAO,IAAPA,GAAoB,QAAb86G,EAAP96G,EAASyqF,mBAAW,IAAAqwB,OAAb,EAAPA,EAAsB/+G,eAAqC,CACpE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,CAGA,IAAIiB,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,OACnBk2F,EAAmB1V,GAUnB3lF,MAAM2zB,EAAiBjB,KAAK8B,QAC9B,EAGIymE,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,IAAIr4D,EAAiB,CACnByrB,SAAUg3B,EAAYh3B,SACtBhkB,KAAMlpC,EAAM+tF,eAAet1B,QAC3BwhC,QAAS/V,EAAY+V,SAGvB1rE,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK5L,GAASia,GAC3C,OAA6B,MAAzBljB,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,YAI3BtE,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAI/B,CAAE,MAAOzuB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAGImnE,EAAuBA,KAC3BnqE,GAAUa,IAAS,IACdA,EACHwuD,MAAOxuD,EAAUwuD,QAChB,EA2DCwa,EAAqB9oE,UACzB,MAAM,SAAEo8B,EAAQ,QAAE+sC,GAAY/V,EACxBjzD,EAAO,CACXi8B,WACA+sC,WAEF1rE,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK7K,GAAS0I,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUqa,IACD,IACFA,EACH+jD,eAAgB5vE,EAAS0S,KAAKwoE,UAGlC94F,QAAQC,IAAI,aAAc2d,EAAS0S,KAAKA,MACxC4gE,EACEtzE,EAAS0S,KAAKwoE,MAAMC,eACpBn7E,EAAS0S,KAAKwoE,MAAME,kBAEtBlrE,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAEIojE,EAAuB/gE,MAAO8nE,EAAaC,KAC/C,MAAM5nE,EAAO,CACXvxB,KAAM,gBACNm5F,UAAWA,EACXD,YAAaA,EACbpI,WAAY,MACZtjC,SAAUltD,EAAMkkF,YAAYh3B,UAE9B,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAK9I,GAAS2G,GAC3CtwB,QAAQC,IAAI,uBAAwB2d,EAAS0S,MAChB,MAAzB1S,EAAS0S,KAAKC,QACW,gCAAvB3S,EAAS0S,KAAKA,OAChBtwB,QAAQC,IACN,uCACA2d,EAAS0S,KAAKA,KAAK5hB,OAErB0gB,GAAUqa,IACD,IACFA,EACHqjD,YAAalvE,EAAS0S,KAAKA,KAAK5hB,MAChCupC,UAAWr6B,EAAS0S,KAAKA,KAAK5hB,MAAQ,EACtCq+E,OAAQnvE,EAAS0S,KAAKA,KAAKkP,gBAGE,IAA7B5hB,EAAS0S,KAAKA,KAAK5hB,QACrB1O,QAAQC,IACN,oDACA2d,EAAS0S,KAAKA,KAAK5hB,OAErB1O,QAAQC,IAAI,kCACZF,EAAQkyB,KAAK,CACXC,SAAU,kBAKpB,CAAE,MAAOvuB,GACP3D,QAAQC,IAAI0D,EACd,GAEI+0C,EAAcvoB,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzG,IACJ,MAAzBhM,EAAS0S,KAAKC,SAChBvwB,QAAQC,IAAI2d,EAAS0S,MACrBlB,GAAUa,IACD,IACFA,EACHkoB,eAAgB,IAAIv6B,EAAS0S,KAAKA,UAI1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGF,OACEiZ,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAACkuF,GAAW,CACVvxD,KAAMh8B,EAAM44C,UACZhG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,gBAAiB,EAE5C26D,gBAAiBA,IACfz9D,GAAUqa,IACD,IAAKA,EAAMyO,kBAAkB,EAAMD,WAAW,MAGzD60C,YAAaztF,EAAMytF,YACnBC,OAAQ1tF,EAAM0tF,SAEhBruF,eAACsuF,GAAa,CACZ3xD,KAAMh8B,EAAM64C,iBACZjG,OAAQA,KACNlyC,EAAQkyB,KAAK,CAAEC,SAAU,gBAAiB,EAE5C5B,KAAMjxB,EAAM84C,iBAEdv7B,gBAAA,OAAK/d,UAAU,qCAAoCD,SAAA,CACjDF,eAAA,OAAKG,UAAU,uCAAsCD,SArKvCywB,KAAU,IAADmtF,EAC3B,OAAQntF,GACN,KAAK,EACH,OACE3wB,eAAC+9G,GAAuB,CACtBl5B,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,IAGhB,KAAK,EACH,OACErzC,eAACg+G,GAAoB,CACnBl2B,qBAAsBnnF,EAAMmnF,qBAC5BhI,uBAAwBn/E,EAAMm/E,uBAC9B2O,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAElBjzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACfmlE,WAAiB,OAAL5zF,QAAK,IAALA,GAAkB,QAAbm9G,EAALn9G,EAAOkkF,mBAAW,IAAAi5B,OAAb,EAALA,EAAoB/rE,OAChCyiD,aAAcA,EACdC,gBAAiBA,EACjBgD,uBAAwBA,EACxB5S,YAAkB,OAALlkF,QAAK,IAALA,OAAK,EAALA,EAAOkkF,YACpB6P,UAAW/zF,EAAM+zF,UACjB3U,KAAMp/E,EAAMo/E,KACZ8a,qBAAsBA,EACtBnqE,SAAUA,IAIhB,QACE,OAAO,KACX,EAiHOuD,CAAWtzB,EAAMgwB,QAEnB7vB,GAAUd,eAACD,KAAW,SAEhB,I,QCxmCAW,qBArBUC,IAAW,IAADq2G,EACjC,MAAO,CACLl2G,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBs1G,oBAA0B,OAAL91G,QAAK,IAALA,GAAmB,QAAdq2G,EAALr2G,EAAO4mG,oBAAY,IAAAyP,OAAd,EAALA,EAAqBE,mBAC1C5lF,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACvB,IAEyB1D,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAjMeU,IAAW,IAAD68G,EAAAC,EACtC,IAAI,aACFhvF,EAAY,cACZE,EAAa,OACbtuB,EAAM,SACNE,EAAQ,eACRG,EAAc,oBACds1G,EAAmB,MACnBnlF,EAAK,UACLuC,GACEzyB,EAEJ,MAAO6qG,EAAgBkS,GAAqBhhG,mBAAS,MAErD,IAAI9b,EAAUm1B,uBAIGwM,wBAHjB,MAIOriC,EAAO+vB,GAAYvT,mBAAS,CACjCihG,gBAAiB,CAAC,IAQpB58G,qBAAU,KACR68G,GAAoB,GACnB,IAEH,MAAMA,EAAqB5sF,UAAa,IAAD8mF,EAAA+F,EACrC,MAAM3qF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,GAA8B,QAAX8B,EAAnB9B,EAAqBzZ,iBAAS,IAAAub,OAAX,EAAnBA,EAAgC1qD,SAC1C+sC,QAA4B,OAAnB6b,QAAmB,IAAnBA,GAA8B,QAAX6H,EAAnB7H,EAAqBzZ,iBAAS,IAAAshB,OAAX,EAAnBA,EAAgCrG,QAE3C/oF,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKvL,GAASoJ,EAAM,CAAE+B,YAChB,IAAD4qF,EAAlC,GAA6B,MAAzBr/F,EAAS0S,KAAKC,OAChBnB,GAAUa,IAAS,IACdA,EACH6sF,gBAAiBl/F,EAAS0S,KAAKA,SAGjC1S,EAAS0S,KAAKA,KAAK4sF,gBAAgB,IACjCL,EAAuD,QAAtCI,EAACr/F,EAAS0S,KAAKA,KAAK4sF,gBAAgB,UAAE,IAAAD,OAAA,EAArCA,EAAuCn0D,SAE3Dh7B,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,IAGKkrB,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EASnC,OAPAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAEDp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtCo6C,GAAe,IACdp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,IAElB57C,eAAA,OAAKG,UAAU,2BAA0BD,SACrCge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACvBF,eAAA,OAAKG,UAAU,UAAUge,QA3ErBlH,KACd5V,EAAQkyB,KAAK,mBAAmB,EA0EoBrzB,SACxCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAEnB1N,eAAA,MAAAE,SAAI,uCAGJF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,eAAcD,SACzB1C,aAAQmD,EAAMy9G,iBAyBZ,KAxBAz9G,EAAMy9G,gBAAgBI,gBAAgB3gH,OACpC8C,EAAMy9G,gBAAgBI,gBAAgBl9F,KACpC,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAI0f,EACJz5B,KAAK,UACLvH,MAAOsF,EAAQqnD,QACf7oC,QAASxe,EAAQqnD,UAAY6hD,EAC7BrtF,SAAWnB,IA1FdA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtBqgG,EAAkB1gH,EAAM,EAyFQ+wD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASid,EAAMv+B,SAAE6C,EAAQqnD,YAb3B3rB,KAkBb,SAKVvgB,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,MAAAE,SAAK+rG,IAEiB,QAFGgS,EAExBt9G,EAAMy9G,uBAAe,IAAAH,GAAiB,QAAjBC,EAArBD,EAAuBO,uBAAe,IAAAN,OAAjB,EAArBA,EAAwC58F,KAAKve,IAC5C,GAAIA,EAAQqnD,UAAY6hD,EACtB,OACE/tF,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAC62G,KAAW,CACVpnB,IAAK1sF,EAAQg0G,SACb52G,UAAU,aAEZH,eAAA,QAAAE,SAAO,GAAG6C,EAAQg0G,iBAEpB74F,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAC62G,KAAW,CACVpnB,IAAK1sF,EAAQ+zG,QACb32G,UAAU,YAEZH,eAAA,QAAAE,SAAO,GAAG6C,EAAQ+zG,kBAI1B,SAIN54F,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,aAAkB,oBAEpC+d,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,YAAiB,oCAO9CW,GAAUd,eAACD,KAAW,MACtB,I,QC/EQ0+G,OA5G4BliF,IAAe,IAAd,KAAE3K,GAAM2K,EAClD,MAAOmiF,EAAkBC,GAAwBxhG,mBAASyU,EAAK,GAAGo2B,WAMlE,OACE9pC,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,OAAMD,SACd,OAAJ0xB,QAAI,IAAJA,OAAI,EAAJA,EAAMtQ,KAAI,CAACve,EAAS07B,IAEjBvgB,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,QACL0e,GAAI0f,EACJhhC,MAAOsF,EAAQilD,UACfzmC,QAASxe,EAAQilD,WAAa02D,EAC9B9/F,SAAWnB,IACTkhG,EAAqBlhG,EAAMK,OAAOrgB,MAAM,IAG5CuC,eAAA,SAAOwhB,QAASid,EAAMv+B,SAAE6C,EAAQilD,cAVxBvpB,OAgBX,OAAJ7M,QAAI,IAAJA,OAAI,EAAJA,EACGkzB,QAAQ/hD,IACR,GAAIA,EAAQilD,WAAa02D,EACvB,OAAO37G,CACT,IAEDue,KAAKve,GAEF/C,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,WACVC,UAAW,UACXrc,aAAc,MACd3rC,MAAO,MACP2+B,gBAAiB,UACjBspB,OAAQ,sBAEVpoD,UAAU,WACVqoD,OAAO,MACP/qD,MAAOsF,EAAQ2lD,MACfnW,KAAM,GAAGxvC,EAAQ2lD,8BAEjBjW,YAAa,EACbnzC,WAAW,SAGbU,eAAA,QAAAE,SAAM,aAGRge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,WACVppB,gBAAiB,UACjBqpB,UAAW,YAEbnoD,UAAU,WACV1C,MAAOsF,EAAQ4lD,YACfpW,KAAM,GAAGxvC,EAAQ4lD,gBACjBlW,YAAa,EACbnzC,WAAW,YAEbU,eAAA,QAAAE,SAAM,sBAIVF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,WACVppB,gBAAiB,UAEjBqpB,UAAW,YAEbnoD,UAAU,WACV1C,MAAOsF,EAAQ0lD,QACflW,KAAM,GAAGxvC,EAAQ0lD,YACjBhW,YAAa,EACbnzC,WAAW,YAEbU,eAAA,QAAMG,UAAU,uBAAsBD,SAAC,4BAUnD,ECwJKQ,qBArBUC,IAAW,IAADq2G,EACjC,MAAO,CACLl2G,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBs1G,oBAA0B,OAAL91G,QAAK,IAALA,GAAmB,QAAdq2G,EAALr2G,EAAO4mG,oBAAY,IAAAyP,OAAd,EAALA,EAAqBE,mBAC1C5lF,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACvB,IAEyB1D,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA3OaU,IAC1B,IAAI,aACF8tB,EAAY,cACZE,EAAa,OACbtuB,EAAM,SACNE,EAAQ,eACRG,EAAc,oBACds1G,EAAmB,MACnBnlF,EAAK,UACLuC,GACEzyB,EACAC,EAAUm1B,uBAIGwM,wBAHjB,MAIOipE,EAAgBkS,GAAqBhhG,mBAAS,OAC9Cxc,EAAO+vB,GAAYvT,mBAAS,CACjCyhG,gBAAiB,CAAC,EAClBtyE,YAAa,CAAC,IAGhB9qC,qBAAU,KACRq9G,GAAqB,GACpB,CAAC5S,IAEJzqG,qBAAU,KACR+qC,GAAgB,GACf,IAGH,MAAMA,EAAiB9a,UAAa,IAAD8mF,EACjC,MAAM5kF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,GAA8B,QAAX8B,EAAnB9B,EAAqBzZ,iBAAS,IAAAub,OAAX,EAAnBA,EAAgC1qD,UAE5C3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKtL,GAASmJ,EAAM,CAAE+B,YAChB,IAAD8kF,EAAlC,GAA6B,MAAzBv5F,EAAS0S,KAAKC,OAChBnB,GAAUqgE,IAAQ,IACbA,EACHzkD,YAAaptB,EAAS0S,KAAKA,SAE7B1S,EAAS0S,KAAKA,KAAK4mF,YAAY,IAC7B2F,EAAmD,QAAlC1F,EAACv5F,EAAS0S,KAAKA,KAAK4mF,YAAY,UAAE,IAAAC,OAAA,EAAjCA,EAAmCzrE,SACvD5d,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAQIyvF,EAAsBptF,UAAa,IAAD6sF,EAAAQ,EACtC,MAAMnrF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,GAA8B,QAAX6H,EAAnB7H,EAAqBzZ,iBAAS,IAAAshB,OAAX,EAAnBA,EAAgCzwD,SAC1C+sC,QAA4B,OAAnB6b,QAAmB,IAAnBA,GAA8B,QAAXqI,EAAnBrI,EAAqBzZ,iBAAS,IAAA8hB,OAAX,EAAnBA,EAAgC7G,OACzCjrE,QAASi/D,GAGX/8E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKrL,GAASkJ,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,OAChBnB,GAAUa,IAAS,IACdA,EACHqtF,gBAAiB1/F,EAAS0S,KAAKA,SAGjClB,GAAUa,IAAS,IACdA,EACHqtF,gBAAiB,OAGrBxvF,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,IAUKkrB,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EASnC,OAPAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAEDt6C,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACxCo6C,GAAe,IACdp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,IAElB57C,eAAA,OAAKG,UAAU,6BAA4BD,SACvCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,UAAUge,QAtHvBlH,KACd5V,EAAQkyB,KAAK,mBAAmB,EAqHsBrzB,SACxCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAEnB1N,eAAA,MAAAE,SAAI,yBAENF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SAClC1C,aAAQmD,EAAM2rC,aA2BZ,KA1BA3rC,EAAM2rC,YAAYksE,YAAY36G,OAC5B8C,EAAM2rC,YAAYksE,YAAYl3F,KAC5B,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQiqC,QACZhoC,KAAK,UACLvH,MAAOsF,EAAQiqC,QACfzrB,QAASxe,EAAQiqC,UAAYi/D,EAC7BrtF,SAAWnB,IAhGhBA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtBqgG,EAAkB1gH,EAAM,EA+FU+wD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASze,EAAQiqC,QAAQ9sC,SAC7B6C,EAAQiqC,YAdNvO,KAoBb,OAGP39B,GAAUd,eAACD,KAAW,IACvBme,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC3B1C,aAAQmD,EAAMi+G,iBAMZ,KALFj+G,EAAMi+G,gBAAgBG,SAASlhH,OAC7BmC,eAACy+G,GAAkC,CACjC7sF,KAAMjxB,EAAMi+G,gBAAgBG,WAE5B,OAGR/+G,eAAA,OAAKG,UAAU,iBAAgBD,SAC7Bge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAI/d,UAAU,QAAOD,SAAA,CACnBF,eAAA,QAAAE,SAAM,UACNF,eAAA,QAAAE,SAAM,YACNF,eAAA,QAAAE,SAAM,cACNF,eAAA,QAAAE,SAAM,mBAEN1C,aAAQmD,EAAMi+G,iBAeZ,KAdAj+G,EAAMi+G,gBAAgBG,SAASlhH,OAC7B8C,EAAMi+G,gBAAgBG,SAASz9F,KAC7B,CAACve,EAAS07B,IAENvgB,gBAAA,MAAgB/d,UAAU,YAAWD,SAAA,CACnCF,eAAA,QAAAE,SAAO6C,EAAQilD,YACf9pC,gBAAA,QAAAhe,SAAA,CAAO6C,EAAQ0lD,QAAQ,OACvBvqC,gBAAA,QAAAhe,SAAA,CAAO6C,EAAQ2lD,MAAM,OACrBxqC,gBAAA,QAAAhe,SAAA,CAAO6C,EAAQ4lD,YAAY,SAJpBlqB,KASf,2BAWvB,I,QC5LQugF,OA1CiB59G,IAC9B,IAAI,WAAEojD,GAAepjD,EACrBE,QAAQC,IAAI,MAAOijD,GACnB,MAAM5f,EAAU,CACdm3D,kBAAkB,EAClB98D,gBAAiB,cACjB1+B,OAAQ,IACRqxB,KAAM,CACJ,CACEvxB,KAAM,WACN4+G,cAAc,EAEdC,mBAAoB,WACpB16D,WAAY,CACV,CACEx/C,KAAM,UACNgvF,EAAa,OAAVxvC,QAAU,IAAVA,OAAU,EAAVA,EAAa,sBAChB/kD,MAAO,WAET,CACEuF,KAAM,QACNgvF,EAAa,OAAVxvC,QAAU,IAAVA,OAAU,EAAVA,EAAa,wBAChB/kD,MAAO,WAET,CACEuF,KAAM,cACNgvF,EAAa,OAAVxvC,QAAU,IAAVA,OAAU,EAAVA,EAAa,0BAChB/kD,MAAO,eAMjB,OACEO,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAC08F,KAAa,CAAC93D,QAASA,OAEjB,ECvCf,MAAMu6E,GAAa,CAAEC,aAAc,GAAIC,WAAY,IAoDpCC,OAnDOl+G,IACpB,IAAI,WAAEojD,GAAepjD,GACjB,WAAEi+G,EAAU,aAAED,GAAiB56D,GAA0B26D,GAC7D,MAAMv6E,EAAU,CACdm3D,kBAAkB,EAClBwjB,aAAa,EACbtgF,gBAAiB,OACjBi9D,MAAO,CACL19E,MAAO,4BACPykC,SAAU,GACVu8D,UAAW,CACT14D,SAAS,EACT24D,iBAAiB,IAGrBrjB,MAAO,CACLsjB,cAAe,EACfC,WAAY,EACZC,cAAe,EACfC,eAAgB,WACd,MAAO,GACT,GAEFjuF,KAAM,CACJ,CACEvxB,KAAM,UACNy/G,UAAW,OACXC,WAAY,GACZC,YAAa,MACbC,eAAgB,QAChBz7D,WAAY,IAAI66D,IAElB,CACEh/G,KAAM,UACNy/G,UAAW,OACXE,YAAa,QACbD,WAAY,GACZE,eAAgB,UAChBz7D,WAAY,IAAI46D,MAItB,OACEp/G,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAC08F,KAAa,CAAC93D,QAASA,OAEjB,EC2NAlkC,qBArBUC,IAAW,IAADq2G,EACjC,MAAO,CACLl2G,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBs1G,oBAA0B,OAAL91G,QAAK,IAALA,GAAmB,QAAdq2G,EAALr2G,EAAO4mG,oBAAY,IAAAyP,OAAd,EAALA,EAAqBE,mBAC1C5lF,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACvB,IAEyB1D,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EArPOU,IAAW,IAAD8+G,EAAAC,EAC9B,IAAI,aACFjxF,EAAY,cACZE,EAAa,OACbtuB,EAAM,SACNE,EAAQ,eACRG,EAAc,oBACds1G,EAAmB,MACnBnlF,EAAK,UACLuC,GACEzyB,EACAC,EAAUm1B,uBAIGwM,wBAHjB,MAIOipE,EAAgBkS,GAAqBhhG,mBAAS,OAC9Cxc,EAAO+vB,GAAYvT,mBAAS,CACjCijG,cAAe,CAAC,EAChBC,kBAAmB,KACnB/zE,YAAa,CAAC,IAEhB9qC,qBAAU,KACRq9G,GAAqB,GACpB,CAAC5S,IACJzqG,qBAAU,KACR+qC,GAAgB,GACf,IAGH,MAAMA,EAAiB9a,UAAa,IAAD8mF,EACjC,MAAM5kF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,GAA8B,QAAX8B,EAAnB9B,EAAqBzZ,iBAAS,IAAAub,OAAX,EAAnBA,EAAgC1qD,UAE5C3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKtL,GAASmJ,EAAM,CAAE+B,YAChB,IAAD8kF,EAAlC,GAA6B,MAAzBv5F,EAAS0S,KAAKC,OAChBnB,GAAUqgE,IAAQ,IACbA,EACHzkD,YAAaptB,EAAS0S,KAAKA,SAE7B1S,EAAS0S,KAAKA,KAAK4mF,YAAY,IAC7B2F,EAAmD,QAAlC1F,EAACv5F,EAAS0S,KAAKA,KAAK4mF,YAAY,UAAE,IAAAC,OAAA,EAAjCA,EAAmCzrE,SACvD5d,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAQIyvF,EAAsBptF,UAAa,IAAD6sF,EAAAQ,EACtC,MAAMnrF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,GAA8B,QAAX6H,EAAnB7H,EAAqBzZ,iBAAS,IAAAshB,OAAX,EAAnBA,EAAgCzwD,SAC1C+sC,QAA4B,OAAnB6b,QAAmB,IAAnBA,GAA8B,QAAXqI,EAAnBrI,EAAqBzZ,iBAAS,IAAA8hB,OAAX,EAAnBA,EAAgC7G,OACzCjrE,QAASi/D,GAEX/8E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKpL,GAASiJ,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH6uF,cAAelhG,EAAS0S,KAAKA,SAE/B0uF,EAAkBphG,EAAS0S,KAAKA,KAAK,uBAErClB,GAAUa,IAAS,IACdA,EACH6uF,cAAe,OAGnBhxF,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIkxF,EAAqB37D,IACzB,IAAIy6D,EAAe,GACfC,EAAa,GACjB,IAAK,IAAIznD,EAAI,EAAGA,EAAIjT,EAAM9mD,OAAQ+5D,IACX,SAAjBjT,EAAMiT,GAAG2oD,KACXnB,EAAa7rF,KAAK,CAAEwgE,EAAGn8B,EAAI,EAAGo8B,EAAGj2E,SAAS4mC,EAAMiT,GAAG4oD,QAEnDnB,EAAW9rF,KAAK,CAAEwgE,EAAGn8B,EAAI,EAAGo8B,EAAGj2E,SAAS4mC,EAAMiT,GAAG4oD,QAGrD9vF,GAAUqgE,IAAQ,IACbA,EACHsvB,kBAAmB,CAAEjB,eAAcC,iBAClC,EASL,OACEr/G,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CARlCqyB,OAAOioB,YAAc,IAUnBt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,IAElB57C,eAAA,OAAKG,UAAU,sBAAqBD,SAChCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,UAAUge,QAzHvBlH,KACd5V,EAAQkyB,KAAK,mBAAmB,EAwHsBrzB,SACxCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAEnB1N,eAAA,MAAAE,SAAI,iBAENF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SAClC1C,aAAQmD,EAAM2rC,aA2BZ,KA1BA3rC,EAAM2rC,YAAYksE,YAAY36G,OAC5B8C,EAAM2rC,YAAYksE,YAAYl3F,KAC5B,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQiqC,QACZhoC,KAAK,UACLvH,MAAOsF,EAAQiqC,QACfzrB,QAASxe,EAAQiqC,UAAYi/D,EAC7BrtF,SAAWnB,IApGhBA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtBqgG,EAAkB1gH,EAAM,EAmGU+wD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASze,EAAQiqC,QAAQ9sC,SAC7B6C,EAAQiqC,YAdNvO,KAoBb,OAGP39B,GAAUd,eAACD,KAAW,IACvBme,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAACs/G,GAAY,CAAC96D,WAAY7jD,EAAM0/G,oBAChCniG,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,UAASD,SAAC,YAC1BF,eAAA,QAAMG,UAAU,QAAOD,SAAC,UACxBF,eAAA,QAAMG,UAAU,YAAWD,SAAC,sBAGhCge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAACqyC,KAAmB,CAClB50C,MACqB,QAAnByiH,EAAAv/G,EAAMy/G,qBAAa,IAAAF,GAAnBA,EAAsB,cACC,QADYC,EAC/Bx/G,EAAMy/G,qBAAa,IAAAD,OAAA,EAAnBA,EAAsB,cACtB,EAEN1tE,YAAa,OAGjBzyC,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,KAAGG,UAAU,YAAWD,SAAC,2CAG7Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,aAAYD,SAAC,0BAC1BF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,QAAAE,SAAM,cAERF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,QAAAE,SAAM,YAGRF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,QAAAE,SAAM,qBAIVF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAACygH,GAAiB,CAACj8D,WAAY7jD,EAAMy/G,sCAUtD,I,QCm0BQM,OA9iC0Bt/G,IAAW,IAADsmF,EAAAC,EAAAC,EAAA+4B,EACjD,IAAI,qBACF74B,EAAoB,gBACpB7C,EAAe,uBACfwb,EAAsB,0BACtB1Y,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,SAClBpnF,EAAQ,oBACRy1G,GACEr1G,EAEJy+E,GAAW4gB,GAEX,IAAI,OAAErrE,GAAWp0B,EACjB,MAAOuoF,EAAYC,GAAiBrsE,oBAAS,IACtC6sE,EAAQC,GAAa9sE,oBAAS,GAErC0iE,GAAW4gB,EAAwBzW,GAEnC,MA2BOb,EAAWC,GAAgBjsE,oBAAS,GAErCktE,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAILkgB,EAAyBA,CAACt2B,EAAGoW,KACjC,IAAIt/B,EAAO,EAQX,OANIkpB,GAAKoW,EACPt/B,EAAO,GACGkpB,GAAKoW,IACft/B,EAAO,GAGI,IAATA,EAEAljD,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrC,IACDF,eAAA,OAAKsgB,IAAKpb,GAAOsM,iBAAkB4P,IAAI,WAGzB,IAATggD,EAEPljD,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrC,IACDF,eAAA,OAAKsgB,IAAKpb,GAAOuM,iBAAkB2P,IAAI,WAIpC,EACT,EAaIy/F,EAAuB/gC,IAC3B,MAAM,aAAEghC,GAAiBhhC,EAEzB,OAAoB,GAAhBghC,EACK,mCACkB,GAAhBA,EACF,iCAEA,sCACT,EAGIC,EAA+BjhC,IACnC,MAAM,aAAEghC,GAAiBhhC,EAEzB,OAAqB,IAAjBghC,EACK9gH,eAAA,OAAKsgB,IAAKpb,GAAOsM,iBAAkB4P,IAAI,KACpB,IAAjB0/F,EACF9gH,eAAA,OAAKsgB,IAAKpb,GAAOuM,iBAAkB2P,IAAI,KAEvC,EACT,EAGIypE,EAAsBC,GAExB9qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,eAWfm6C,EACC79G,EAAQmoF,WACRnoF,EAAQkoF,0BAtCJxsD,KAiDd,SAMN6sD,EAAqBR,GAEvB9qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,eAWfm6C,EACC79G,EAAQmoF,WACRnoF,EAAQkoF,0BAtCJxsD,KA4Cd,SAMN8sD,EAAmBA,KAAO,IAAD9D,EAC7B,OACEznF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OACEG,UAAW0gH,EACT/4B,EAAqB7C,IACrB/kF,SAEFge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,SAEEK,KAAK,SAEL5C,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAE9CppE,UAAQ,GALH8lE,KAQTjlF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC6gH,EACCj5B,EAAqB7C,cAMtB,EAuETrhB,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B1uC,MAC/B,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEmoB,EAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACzCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,EAAE,EAuEP,MAAMguC,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbC,EAAuBA,CAACzK,EAAUviD,KACtC,MAAM,OAAEitD,GAAW1K,EACH0K,EAAOzsF,SAAS,UAChBysF,EAAOzsF,SAAS,QAChC,IAAIq2F,EAAgB5J,EAAO0E,WACzB,gBACA,gDAGF,GAAInL,IAAoBxmD,EACtB,OAAI62D,GAAiBA,EAAcz3F,OAE/BmC,eAAA,SACEG,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAqDf,CACL,IAAI+2D,EAAa,GAUjB,OAPEA,EAD2B,GAAzBxU,EAAS8/B,aACE,uBACqB,GAAzB9/B,EAAS8/B,aACL,yBAEA,GAIb9gH,eAAA,SACEG,UAAW,kBAAkBq1F,IAC7Br3E,QAASA,KACPiqE,EAAmB3pD,GAEnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,OAepB,GAGIwtD,EAAsBA,CAACjL,EAAUviD,KACrC,MAAM,OAAEitD,GAAW1K,EACboV,EAAU1K,EAAOzsF,SAAS,UAC1Bk3F,EAAUzK,EAAOzsF,SAAS,QAChC,IAAIq2F,EAAgB5J,EAAO0E,WACzB,gBACA,gDAGF,GAAInL,IAAoBxmD,EACtB,OAAI62D,GAAiBA,EAAcz3F,OAAS,EAExCqgB,gBAAA,SACE/d,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CACvBC,OAAQytC,EAAO0E,WACb,gBACA,mDAKNpwF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQytC,EAAO0E,WACb,gBACA,wDAOZpwF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIpC,CACL,IAAIutF,EAAa,GAUjB,OAPEA,EAD2B,GAAzBxU,EAAS8/B,aACE,uBACqB,GAAzB9/B,EAAS8/B,aACL,yBAEA,GAIb5iG,gBAAA,SACE/d,UAAW,kBAAkBq1F,IAC7Br3E,QAASA,KACPiqE,EAAmB3pD,GAEnB2qD,GAAa,GACbI,GAAc,EAAM,EACpBtpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,aAGzC,GA0BO6/E,EAAqBjqF,OAC9B,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFxpF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAGxBxpF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAM/pF,SACpC8pF,EACChqF,eAAA,OACEsgB,IAAKpb,GAAOqK,oBACZ6R,IAAI,UAGNphB,eAAA,OAAKsgB,IAAKpb,GAAOoK,mBAAoB8R,IAAI,WAG7CphB,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAO/pF,SACrC8pF,EACChqF,eAAA,OAAKsgB,IAAKpb,GAAOkK,mBAAoBgS,IAAI,SAEzCphB,eAAA,OACEsgB,IAAKpb,GAAOmK,oBACZ+R,IAAI,kBAMdlD,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAK3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAK3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,yBAM/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAChD4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAG+rF,EAAoBlpF,EAAS07B,KAEhCz+B,eAAA69B,YAAA,CAAA39B,SAAGurF,EAAqB1oF,EAAS07B,MAV9BA,KAeX,YAIVvgB,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,eAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,iDAAgDD,SAC7Dge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,cAGhCqgB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,SACrB,IACPF,eAAA,QAAAE,SACwC,QADxCwnF,EACGI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC/4B,gBAI5CzwC,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAAC,aACpB,IACXF,eAAA,QAAAE,SACwC,QADxCynF,EACGG,EAAqB7C,UAAgB,IAAA0C,OAAA,EAArCA,EAAuC+oB,oBAI5CxyF,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAAC,iBACpB,IACfF,eAAA,QAAAE,SACwC,QADxC0nF,EACGE,EAAqB7C,UAAgB,IAAA2C,OAAA,EAArCA,EAAuC4F,cAE1CxtF,eAAA,OAAKG,UAAU,2BAmCjB+d,gBAAA,OAAK1Z,MAAO,CAAE0uD,UAAW,SAAU3M,QAAS,OAAQrmD,SAAA,CAClDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,MAAAE,SAAwB,OAAnBu2G,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBxP,YAC1BjnG,eAAA,OAAKG,UAAU,uBAAsBD,SAOnCge,gBAAA,OACE/d,UAAU,cACVqE,MAAO,CAAEC,QAAS,SAAUvE,SAAA,CAE5BF,eAAA,OACEG,UAAU,eACVqE,MAAO,CAAEC,QAAS,SAAUvE,SAE3B,YAAYP,OAAOslF,GAAmB,OAGb,OAA3Bwb,QAC0B/iG,IAA3B+iG,GAC2B,KAA3BA,EACEviF,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEG,UAAU,eACV69C,wBArmBEyiD,KACzB,CACLxiD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB5K,WAmmBqBD,CACvB6K,KAIJzgG,eAAA,KACEG,UAAU,eACV69C,wBAlnBKyiD,KAC5B,CACLxiD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxK,SAgnBqB+qB,CACvBvgB,KAGJzgG,eAAA,OAAAE,SACEF,eAAA,KACEG,UAAU,eACV69C,wBAloBNyiD,KACnB,CACLxiD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAAOrrC,QACrC,gBACA,kDA8nBqDu7C,CACvB9T,EAAqB7C,WAM7B,WAMRjlF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3BugG,QACiC/iG,IAAlC+iG,EAAuBh6B,OA37BtBg6B,KACrB,IAAIA,EAuBF,OAAO,KAvBmB,CAC1B,IAAI9vE,EACFtwB,EAA6B,OAAtBogG,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBjT,YAAY1uF,cAU7C,OAPE6xB,EADW,mBAATtwB,EACK,EACW,oBAATA,EACF,EAEA,EAGDswB,GACN,KAAK,EACH,OAAOk6D,EAAmB4V,GAC5B,KAAK,EACH,OAAOlV,EAAiBkV,GAC1B,KAAK,EACH,OAAOnV,EAAkBmV,GAC3B,QACE,OAAO,KAEb,CAEA,EAm6BwBnT,CAAcmT,GACd,KAGsB,OAA3BA,QAC0B/iG,IAA3B+iG,GAC2B,KAA3BA,EACEviF,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,cAEJge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEg+C,wBAtjBJyiD,KACtB,MAAM,SAAExB,GAAawB,EACrB,MAAO,CACLxiD,OAAgB,OAARghD,QAAQ,IAARA,OAAQ,EAARA,EAAU7O,WAChB,YACA,2CAEH,EA+iBkDuQ,CACvBF,KAImB,OAAtBA,QAAsB,IAAtBA,GAAwC,QAAlBkgB,EAAtBlgB,EAAwB9T,wBAAgB,IAAAg0B,GAAxCA,EAA0C9iH,OAxmBhDiiF,KACnB,MAAM8zB,EAAiB9zB,EAAuB6M,iBAIxCS,EAAcjE,EAChB,uBACA,sBAEJ,OAAIyqB,GANe,uDAMcr8E,KAAKq8E,GAGlC11F,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAEFjE,GACCnpF,eAAA,UACE+e,GAAG,SACHuB,IAAKszF,EACLjvC,OAAQf,EACR/N,MAAM,0EACNC,iBAAe,OAQrB53C,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAEFjE,GACCnpF,eAAC4/E,GAA4B,CAC3BzhB,SAAUy1C,EACVzzG,UAAU,kBAKpB,EA+jB4BusF,CAAY+T,GACZ,SAIR,SAiBNviF,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GAC5CmE,GAAa,EAAM,EACnBlpF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,oBAEVtzB,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GACxCmE,GAAa,EAAM,EACnBlpF,SACH,+BAeZ,ECz3BAQ,qBAnBUC,IAAW,IAADq2G,EACjC,MAAO,CACLl2G,OAAQH,EAAMI,GAAGD,OACjB21G,oBAA0B,OAAL91G,QAAK,IAALA,GAAmB,QAAdq2G,EAALr2G,EAAO4mG,oBAAY,IAAAyP,OAAd,EAALA,EAAqBE,mBAC1C5lF,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB7yB,SAAUL,EAAMM,KAAKC,KACtB,IAEyBivB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EA7KmBU,IAChC,IAAI,aACF8tB,EAAY,cACZE,EAAa,OACbtuB,EAAM,oBACN21G,EAAmB,MACnBnlF,EAAK,UACLuC,EAAS,SACT7yB,GACEI,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,GACtBm5B,sBAAuB,CAAC,EACxBh8B,gBAAiB,EACjBwb,uBAAwB,CAAC,IAE3Bj/F,qBAAU,KACR88E,GAAiB,GAChB,IAEct7C,wBAAjB,MAEMs7C,EAAkB7sD,UAAa,IAAD8mF,EAAA+F,EAClC,MAAM3qF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjCpC,IACA,IAAI0C,EAAO,CACTi8B,SAA6B,OAAnB4oD,QAAmB,IAAnBA,GAA8B,QAAX8B,EAAnB9B,EAAqBzZ,iBAAS,IAAAub,OAAX,EAAnBA,EAAgC1qD,SAC1C+sC,QAA4B,OAAnB6b,QAAmB,IAAnBA,GAA8B,QAAX6H,EAAnB7H,EAAqBzZ,iBAAS,IAAAshB,OAAX,EAAnBA,EAAgCrG,QAE3C,IACE,MAAM/4F,QAAiBwS,KAAMqC,KAAKnL,GAASgJ,EAAM,CAAE+B,YAEhB,IAADmrF,EAAAoC,EAAAC,EAAlC,GADA7/G,QAAQC,IAAI,qBAAsB2d,EAAS0S,MACd,MAAzB1S,EAAS0S,KAAKC,OAChB+uE,EACqB,OAAnB6V,QAAmB,IAAnBA,GAA8B,QAAXqI,EAAnBrI,EAAqBzZ,iBAAS,IAAA8hB,OAAX,EAAnBA,EAAgCjxD,SACS,QADDqzD,EACxChiG,EAAS0S,KAAKA,KAAKjxB,EAAMskF,wBAAgB,IAAAi8B,OAAA,EAAzCA,EAA2Cr4B,IACxB,OAAnB4tB,QAAmB,IAAnBA,GAA8B,QAAX0K,EAAnB1K,EAAqBzZ,iBAAS,IAAAmkB,OAAX,EAAnBA,EAAgClJ,QAGlCvnF,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsB5oE,EAAS0S,KAAKA,KACpCqvF,sBAAuB/hG,EAAS0S,QAGtC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIwxE,EAA4BnvE,MAAOo8B,EAAUg7B,EAAK+R,KACtD,MAAMjnE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACXi8B,WACAg7B,MACA+R,WAGF1rE,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlL,GAAS+I,EAAM,CAAE+B,YAEvB,KAAxBzU,EAAS0S,KAAKC,SAChBzC,IAEAsB,GAAUa,IAAS,IACdA,EACHkvE,uBAAwBvhF,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAyDF,OACEiZ,gBAAA,OAAAhe,SAAA,CACEF,eAAC0gH,GAA+B,CAC9B54B,qBAAsBnnF,EAAMmnF,qBAC5Bm5B,sBAAuBtgH,EAAMsgH,sBAC7Bh8B,gBAAiBtkF,EAAMskF,gBACvBwb,uBAAwB9/F,EAAM8/F,uBAC9B1Y,0BA1C6BgD,IAAsB,IAADq2B,EAAAC,EACtD,IAAI,gBAAEp8B,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EACqB,OAAnB6V,QAAmB,IAAnBA,GAA8B,QAAX2K,EAAnB3K,EAAqBzZ,iBAAS,IAAAokB,OAAX,EAAnBA,EAAgCvzD,SAChCg7B,EACmB,OAAnB4tB,QAAmB,IAAnBA,GAA8B,QAAX4K,EAAnB5K,EAAqBzZ,iBAAS,IAAAqkB,OAAX,EAAnBA,EAAgCpJ,QAE9BhzB,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAGxBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAyBI0lB,sBA7DyB+C,IAAsB,IAADu2B,EAAAC,EAClD,IAAI,gBAAEt8B,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EACqB,OAAnB6V,QAAmB,IAAnBA,GAA8B,QAAX6K,EAAnB7K,EAAqBzZ,iBAAS,IAAAskB,OAAX,EAAnBA,EAAgCzzD,SAChCg7B,EACmB,OAAnB4tB,QAAmB,IAAnBA,GAA8B,QAAX8K,EAAnB9K,EAAqBzZ,iBAAS,IAAAukB,OAAX,EAAnBA,EAAgCtJ,QAElCvnF,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,EAAE,EA+CjB8lB,mBAvBsB5B,IAAoB,IAADg7B,EAAAC,EAC7C,MAAM,SAAE5zD,EAAQ,IAAEg7B,GAAQloF,EAAMmnF,qBAAqBtB,GAErDoa,EACqB,OAAnB6V,QAAmB,IAAnBA,GAA8B,QAAX+K,EAAnB/K,EAAqBzZ,iBAAS,IAAAwkB,OAAX,EAAnBA,EAAgC3zD,SAChCg7B,EACmB,OAAnB4tB,QAAmB,IAAnBA,GAA8B,QAAXgL,EAAnBhL,EAAqBzZ,iBAAS,IAAAykB,OAAX,EAAnBA,EAAgCxJ,QAGlCvnF,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAYCxlF,SAAUA,EACVy1G,oBAAqBA,IAEtB31G,GAAUd,eAACD,KAAW,MACnB,I,wBCrGK2hH,OA3DuBA,KACpC,MAAO/gH,EAAO+vB,GAAYvT,mBAAS,CACjCwkG,YAAa,CAAC,IAGhBngH,qBAAU,KACRogH,GAAgB,GACf,IAEH,MAAMA,EAAiBnwF,UAErB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI,GAAG1N,iBACP,MAAzB/E,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHowF,YAAaziG,EAAS0S,KAAKA,QAGjC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAWF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,8CAA6CD,SAAA,CAC1DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,MAAIG,UAAU,uBAAsBD,SAAC,0BAI3CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OACEG,UAAU,kBACV69C,wBAvBTxgD,aAAQmD,EAAMghH,cAAiBnkH,aAAQmD,EAAMghH,YAAY57C,SAGrD,KAFA,CAAE9nB,OAAQt9C,EAAMghH,YAAY57C,QAAQ87C,mBA6BlC,ECDAnhH,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAhDQU,IACrB,IAAI,QAAEC,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAU5C,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAV7CqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC0hH,GAA6B,OAIhC1hH,eAACC,WAAQ,CAAAC,SACLF,eAAA,OAAKG,UAAU,+BAA8BD,SAE7CF,eAAC0hH,GAA6B,aAM/B,I,gBCgBAI,OA3DyBA,KACtC,MAAOnhH,EAAO+vB,GAAYvT,mBAAS,CACjCwkG,YAAa,CAAC,IAGhBngH,qBAAU,KACRogH,GAAgB,GACf,IAEH,MAAMA,EAAiBnwF,UAErB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI,GAAG1N,iBACP,MAAzB/E,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHowF,YAAaziG,EAAS0S,KAAKA,QAGjC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAWF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACtDF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,gDAA+CD,SAAA,CAC5DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,KAAGG,UAAU,uBAAsBD,SAAC,8BAI1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OACEG,UAAU,kBACV69C,wBAvBTxgD,aAAQmD,EAAMghH,cAAiBnkH,aAAQmD,EAAMghH,YAAY57C,SAGrD,KAFA,CAAE9nB,OAAQt9C,EAAMghH,YAAY57C,QAAQ87C,mBA6BlC,ECAAnhH,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAhDUU,IACvB,IAAI,QAAEC,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAU5C,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kCAAiCD,SAVhDqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC8hH,GAA+B,OAIlC9hH,eAACC,WAAQ,CAAAC,SAEPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAC8hH,GAA+B,aAMjC,I,gBCwCAC,OArFcA,KAC3B,MAAOphH,EAAO+vB,GAAYvT,mBAAS,CACjC6kG,SAAU,KAGZxgH,qBAAU,KACRygH,GAAa,GACZ,IAEH,MAAMA,EAAcxwF,UAClB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzN,IACJ,MAAzBhF,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHywF,SAAU9iG,EAAS0S,KAAKA,QAG9B,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAEF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,+BAA8BD,SAE3Cge,gBAAA,OAAK/d,UAAU,qCAAoCD,SAAA,CACjDF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,KAAGG,UAAU,uBAAsBD,SAAC,kCAQrCS,EAAMqhH,SAASnkH,OACdmC,eAAA,WACE+e,GAAG,wBACH5e,UAAU,wBAAuBD,SAEjCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,4BAA4B4e,GAAG,kBAAiB7e,SAC5DS,EAAMqhH,SAAS1gG,KAAI,CAACve,EAAS07B,IAE1BvgB,gBAAA,OAAK+D,MAAM,uCAAsC/hB,SAAA,CAC/CF,eAAA,MACEiiB,MAAM,2CACNlD,GAAI,UAAU0f,IAAQv+B,SAEtBF,eAAA,UACEiiB,MAAM,6BACN5hB,KAAK,SACL,iBAAe,WACf,iBAAgB,YAAYo+B,IAC5B,gBAAc,QACd,gBAAe,WAAWA,IAAQv+B,SAEjC6C,EAAQi+E,aAGbhhF,eAAA,OACE+e,GAAI,WAAW0f,IACfxc,MAAM,wDACN,kBAAiB,UAAUwc,IAC3B,iBAAe,mBAAkBv+B,SAEjCF,eAAA,OAAKiiB,MAAM,uCAAsC/hB,SAC9C6C,EAAQ4/E,sBASvB,WAIC,ECvBAjiF,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA/CDU,IACZ,IAAI,QAAEC,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAU5C,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKG,UAAU,qBAAoBD,SAVnCqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC+hH,GAAoB,OAIvB/hH,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAC+hH,GAAoB,aAMtB,I,gBCaAG,OA3DiBA,KAC9B,MAAOvhH,EAAO+vB,GAAYvT,mBAAS,CACjCwkG,YAAa,CAAC,IAGhBngH,qBAAU,KACRogH,GAAgB,GACf,IAEH,MAAMA,EAAiBnwF,UAErB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI,GAAG1N,iBACP,MAAzB/E,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHowF,YAAaziG,EAAS0S,KAAKA,QAGjC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAWF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,wCAAuCD,SAAA,CACpDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,KAAGG,UAAU,uBAAsBD,SAAC,mBAI1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OACEG,UAAU,kBACV69C,wBAvBTxgD,aAAQmD,EAAMghH,cAAiBnkH,aAAQmD,EAAMghH,YAAY57C,SAGrD,KAFA,CAAE9nB,OAAQt9C,EAAMghH,YAAY57C,QAAQ87C,mBA6BlC,ECAAnhH,qBAPUC,IAChB,CACLK,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA/CEU,IACf,IAAI,QAAEC,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAU5C,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,OAAKG,UAAU,yBAAwBD,SAVvCqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACkiH,GAAuB,OAI1BliH,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAACkiH,GAAuB,aAMzB,I,wBC7BAC,OAlBa5lF,IAAkB,IAAjB,QAAEK,GAASL,EACtC,OACEv8B,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OAAKsgB,IAAKpb,GAAO8V,KAAMoG,IAAI,cAE7BphB,eAAA,MAAAE,SAAI,gCACJF,eAAA,KAAAE,SAAG,iGAIHF,eAAA,UAAQme,QAASye,EAAQ18B,SAAC,aAExB,ECyKKQ,oBAAQ,MAXKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAjLoBU,IACjC,IAAI,aAAE8tB,EAAY,cAAEE,GAAkBhuB,EACtC,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC+kB,iBAAkB,CAChBkgF,WAAY,GACZ3oF,MAAO,GACP4oF,iBAAkB,OAIfC,EAAkBC,GAAuBplG,oBAAS,GAEnD2qD,EAAyBr2C,UAC7B,IAAI,KAAEzsB,EAAI,MAAEvH,GAAUggB,EAAMK,OAG5B,SAFuBlf,aAA2BnB,GAKhD,OAAQuH,GACN,IAAK,cACH0rB,GAAUa,IAAS,IACdA,EACH2Q,iBAAkB,IACb3Q,EAAU2Q,iBACbkgF,WAAY3kH,OAGhB,MACF,IAAK,oBACHizB,GAAUa,IAAS,IACdA,EACH2Q,iBAAkB,IACb3Q,EAAU2Q,iBACbmgF,iBAAkB5kH,OAGtB,MACF,IAAK,cACHizB,GAAUa,IAAS,IACdA,EACH2Q,iBAAkB,IACb3Q,EAAU2Q,iBACbzI,MAAOh8B,OAOjB,EA8BI6kC,EAAe7Q,UACnB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAKnP,GAAQwd,GAC1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,UAG1B,CACLrvB,OAAQ,EACRutB,KAAM,CAAE8B,QAASxU,EAAS0S,KAAK8B,SAGrC,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CAAE8B,QAAS,2BAErB,GAOF,OACE1zB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDge,gBAAA,OAAK/d,UAAU,0CAAyCD,SAAA,CACtDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,KAAGG,UAAU,uBAAsBD,SAAC,qBAI1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,QAAME,SAAWX,GAnECgU,WAC5BhU,EAAMY,iBACN,IAAI6jB,EAAmB,IAAKvhC,EAAMuhC,kBAE9BE,EAAiB,CACnB5jB,MAAO0jB,EAAiBkgF,WACxBI,QAAStgF,EAAiBmgF,kBAE5BnzF,IACA,IAAI2D,QAAyByP,EAAaF,GAE1ChT,IACAmzF,GAAoB,GAEY,IAA5B1vF,EAAiBxuB,QACnBqsB,GAAUa,IAAS,IACdA,EACH2Q,iBAAkB,IACb3Q,EAAU2Q,iBACbkgF,WAAY,GACZ3oF,MAAO,GACP4oF,iBAAkB,OAGxB,EA2CqClgF,CAAsB1kB,GAAOvd,SAAA,CACtDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,OACL2E,KAAK,cACLyZ,YAAY,OACZhhB,MAAOkD,EAAMuhC,iBAAiBkgF,WAC9BxjG,SAAWnB,GAAUqqD,EAAuBrqD,GAC5CqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,QACL2E,KAAK,cACLyZ,YAAY,QACZhhB,MAAOkD,EAAMuhC,iBAAiBzI,MAC9B7a,SAAWnB,GAAUqqD,EAAuBrqD,GAC5CqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,YACE6+B,KAAK,IACL75B,KAAK,oBACLyZ,YAAY,gBACZhhB,MAAOkD,EAAMuhC,iBAAiBmgF,iBAC9BzjG,SAAWnB,GAAUqqD,EAAuBrqD,GAC5CqB,UAAQ,MAGZ9e,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQK,KAAK,SAAQH,SAAC,uBAM/BoiH,GACCtiH,eAACmiH,GAAmB,CAACvlF,QAxDG6lF,KAC9BF,GAAoB,EAAM,QA0Df,IC3GA7hH,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAjDIU,IACjB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EAUpD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,2BAA0BD,SAVzCqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAAC0iH,GAAyB,OAI5B1iH,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAC0iH,GAAyB,YAMnC5hH,GAAUd,eAACD,KAAW,MACd,I,gBCLA4iH,OA1CWpmF,IAAwB,IAAvB,cAAEqmF,GAAermF,EAC1C,MAAO3K,EAAMixF,GAAW1lG,mBAAS,IAiBjC,OAJA3b,qBAAU,KAXMiwB,WACd,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI1F,IACJ,MAAzB/M,EAAS0S,KAAKC,QAChBgxF,EAAQ3jG,EAAS0S,KAAKA,KAAKkxF,UAAU,GAEzC,CAAE,MAAOrlE,GACPn8C,QAAQC,IAAIk8C,EACd,GAIAslE,EAAS,GACR,IAGD7kG,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,cAAaD,SAE1BF,eAAA,OAAKG,UAAU,OAAMD,SAAC,4BAGxBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,UAASD,SAEtBF,eAAA,KAAAE,SAAI0xB,EAAK7sB,YAGX/E,eAAA,OAAKG,UAAU,cAAaD,SAE1BF,eAAA,KAAAE,SAAI0xB,EAAKoxF,WAGXhjH,eAAA,UAAQme,QAASykG,EAAc1iH,SAAC,cAE9B,E,QCAK+iH,OAzCO1mF,IAAsC,IAArC,QAAE+gB,EAAO,mBAAE4lE,GAAoB3mF,EAQpD,OACEre,gBAAA,OAAK/d,UAAU,UAAUqE,MARJ,CACrBC,QAAS,OACT0+G,cAAe,SACfplF,eAAgB,gBAChBx9B,OAAQ,QAIuCL,SAAA,CAC7Cge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,SAAAE,SAAO,qBACPF,eAAA,KAAGG,UAAU,QAAOD,SAAC,mFAKrBF,eAAA,KAAGG,UAAU,QAAOD,SAAC,6DAIvBF,eAAA,OAAKsgB,IAAKpb,GAAOkP,eAAgBgN,IAAI,QAGvCphB,eAAA,OAAKG,UAAU,UAASD,SACrBo9C,EAAQh8B,KAAK8hG,GACZpjH,eAAA,UAEEme,QAASA,IACP+kG,EAAmBE,EAAOp+G,KAAMo+G,EAAOC,SAAU,KAAM,MACxDnjH,SAEAkjH,EAAOp+G,MALHo+G,EAAOC,gBASd,ECqIKC,OA1KM/mF,IAgBd,IAhBe,eACpBshB,EAAc,iBACd0lE,EAAgB,SAChBx8C,EAAQ,YACRy8C,EAAW,cACXC,EAAa,mBACbP,EAAkB,cAClBQ,EAAa,wBACbC,EAAuB,aACvBC,EAAY,gBACZC,EAAe,kBACfC,EAAiB,gBACjBC,EAAe,uBACfC,EAAsB,UACtBC,EAAS,iBACTC,GACD3nF,EACC,MAAO4nF,EAAcC,GAAmBjnG,mBAAS,GA8DjD,OACEe,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,KAAGG,UAAU,QAAOD,SAAC,kFAKrBF,eAAA,KAAGG,UAAU,QAAOD,SAAC,6DAIvBF,eAAA,OAAKsgB,IAAKpb,GAAOkP,eAAgBgN,IAAI,sBAGtCy8B,GAAkB0lE,IAAqBQ,GACtC7lG,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,OAAAE,SACW,OAAR6mE,QAAQ,IAARA,OAAQ,EAARA,EAAUzlD,KAAI,CAACoS,EAAS+K,IACvBz+B,eAAA,OAAiBG,UAAU,SAAQD,SAChCwzB,EAAQ6e,MADD9T,SAjEpBvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,UAASD,SACrBujH,EAActlH,MAAM,EAAGslH,EAAc5lH,OAAS,GAAGyjB,KAAK+iG,GACrDrkH,eAAA,UAEEme,QAASA,IACP+kG,EACEmB,EAAMr/G,KACNu+G,EACAc,EAAMC,QACND,EAAMr/G,MAET9E,SAEAmkH,EAAMr/G,MAVFq/G,EAAMC,aAejBpmG,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC1B,IACAujH,EAAclkC,OAAOkkC,EAAc5lH,OAAS,EAAG,GAAGyjB,KAAK+iG,GACtDnmG,gBAAA,OACE/d,UAAU,YAEVge,QAASA,IACP+kG,EACEmB,EAAMr/G,KACNu+G,EACAc,EAAMC,QACND,EAAMr/G,MAET9E,SAAA,EAEAmkH,EAAMr/G,KAAKlG,cAAchB,OACtB,eACe,MAZdumH,EAAMC,iBAkDftkH,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,UACEme,QAASA,KACP+lG,EAAiB,WACjBV,EAAY,GAAG,EACftjH,SACH,+BAON6jH,GACC7lG,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,kBAAiBD,SACrB,OAAR6mE,QAAQ,IAARA,OAAQ,EAARA,EAAUzlD,KAAI,CAACoS,EAAS+K,IACvBz+B,eAAA,OAAiBG,UAAU,UAASD,SACjCwzB,EAAQ6e,MADD9T,OAMbklF,EACCzlG,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,sBAAqBD,SAAC,uFAIrCF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,UAAQme,QAASulG,EAAcxjH,SAAC,+BAIpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAAC,wCAKrC8jH,GACA9lG,gBAAA,OAAK+D,MAAM,qBAAoB/hB,SAAA,CAC7BF,eAAA,YACE6+B,KAAMslF,EACN1lG,YAAY,kBACZhhB,MAAOmmH,EACPhlG,SAvIQyd,IACpB,MACMkoF,EAAeloF,EAAEve,OAAO+gB,KAC9BxC,EAAEve,OAAO+gB,KAAO,EAChB,MAAM2lF,EAAc/lH,KAAKC,MAAM29B,EAAEve,OAAOs/B,aAHb,IAKvBonE,IAAgBD,IAClBloF,EAAEve,OAAO+gB,KAAO2lF,GAGlBX,EAAgBxnF,EAAEve,OAAOrgB,OACzB2mH,EAAgBI,EAAY,IA+HlBxkH,eAAA,OACEsgB,IAAKpb,GAAOgP,iBACZiK,QAAS2lG,EACT1iG,IAAI,aAMV,ECpBKqjG,OA1ICloF,IAAsC,IAArC,cAAEmnF,EAAa,cAACd,GAAermF,EAC9C,MAAOwqC,EAAUy8C,GAAermG,mBAAS,KAClCmgC,EAASonE,GAAcvnG,mBAAS,KAChCsmG,EAAekB,GAAoBxnG,mBAAS,KAC5CynG,EAAeV,GAAoB/mG,mBAAS,YAC5C0gC,EAAgBgnE,GAAqB1nG,mBAAS,KAC9ComG,EAAkBuB,GAAuB3nG,mBAAS,OAClDymG,EAAcC,GAAmB1mG,mBAAS,KAC1CwmG,EAAyBoB,GAA8B5nG,oBAAS,IAChE4mG,EAAiBiB,GAAsB7nG,mBAAS,OAChD8nG,EAAqBC,GAA0B/nG,mBAAS,KACxD6mG,EAAwBmB,GAA6BhoG,oBAAS,IAE9D8mG,EAAWmB,GAAYjoG,mBAAS,QAEvC3b,qBAAU,KACR6jH,GAAe,GACd,IAEH,MAAMA,EAAgB5zF,UACpB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIzF,IAEjC,GAA6B,MAAzBhN,EAAS0S,KAAKC,OAAgB,CAChC,MAAMyzF,EAAcpmG,EAAS0S,KAAKA,KAAK0rB,QACvConE,EAAWY,EACb,CACF,CAAE,MAAO7nE,GACPn8C,QAAQ2D,MAAM,oCAAqCw4C,EACrD,GAGIylE,EAAqBA,CAACz8C,EAAQ8+C,EAAUC,EAASC,KACrDZ,EAAkBp+C,GAClBq+C,EAAoBS,GACpBP,EAAmBQ,GACnBN,EAAuBO,GACvBjC,EAAY,IAAIz8C,EAAU,CAAEx0B,KAAMk0B,KAElCy9C,EAAiB,UAEjB5iH,QAAQC,IAAI,WAAYgkH,EAAU,UAAWC,GACzCD,GAAwB,OAAZC,IACdlkH,QAAQC,IAAI,OACZmkH,EAAaH,GACf,EAGIG,EAAej0F,UACnB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAIxF,GAAS,CACxCw5F,OAAQ,CACNtC,SAAUkC,KAKd,GAA6B,MAAzBrmG,EAAS0S,KAAKC,OAAgB,CAChC,MAAM+zF,EAAoB1mG,EAAS0S,KAAKA,KAAKi0F,aAC7ClB,EAAiBiB,EACnB,CACF,CAAE,MAAOnoE,GACPn8C,QAAQ2D,MAAM,mDAAoDw4C,EACpE,GAiBIqoE,EAAgBr0F,MACpB8xF,EACAQ,EACAkB,EACArB,KAEA,UACQlyF,KAAMC,IAAIvF,GAAS,CACvBu5F,OAAQ,CACNI,WAAYhC,EACZ/+G,KAAMigH,EACNnkF,YAAa8iF,EACbpmE,UAAW+lE,KAIf6B,GAAS,GACTD,GAA0B,GAC1BJ,GAA2B,EAC7B,CAAE,MAAOtnE,GACPn8C,QAAQC,IAAI,4BAA6Bk8C,EAC3C,GAGF,OACEv/B,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACH,YAAlB0kH,GACC5kH,eAACijH,GAAa,CACZ3lE,QAASA,EACT4lE,mBAAoBA,IAIL,WAAlB0B,GACC5kH,eAACsjH,GAAY,CACXzlE,eAAgBA,EAChB0lE,iBAAkBA,EAClBx8C,SAAUA,EACVy8C,YAAaA,EACbC,cAAeA,EACfP,mBAAoBA,EAEpBQ,cAAeA,EACfd,cAAeA,EACfsB,iBAAkBA,EAClBP,wBAAyBA,EACzBC,aAAcA,EACdC,gBAAiBA,EACjBC,kBA9DkBA,KACI,KAAxBF,EAAa9lH,SACfgoH,EACEvC,EACAQ,EACAkB,EACArB,GAEFJ,EAAY,IAAIz8C,EAAU,CAAEx0B,KAAMqxE,KAClCC,EAAgB,IAChBkB,GAA2B,GAC7B,EAoDMhB,gBAAiBA,EACjBC,uBAAwBA,EACxBC,UAAWA,MAGX,EC/GK+B,OA7BQA,KACrB,MAAOrlH,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,IAGFiyF,EAAgBA,KACpBlyF,GAAUa,IAAS,IACdA,EACHZ,KAAM,KACL,EAUL,OACEzS,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CACf,IAAfS,EAAMgwB,MAAc3wB,eAAC2iH,GAAiB,CAACC,cAAeA,IACvC,IAAfjiH,EAAMgwB,MACL3wB,eAACykH,GAAO,CAACf,cAXOA,KACpBhzF,GAAUa,IAAS,IACdA,EACHZ,KAAM,KACL,EAOwCiyF,cAAeA,MAEpD,ECwKKqD,OAzLW7kH,IACxB,MACET,OAAO,IAAEyiC,IACPhiC,EAAM03B,SACV,OACE94B,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAE9Bge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAACm8B,IAAI,CAACC,GAAG,kBAAiBl8B,SACxBF,eAAA,OAAKsgB,IAAKpb,GAAOmG,QAAS+V,IAAI,gBAEhCphB,eAAA,MAAAE,SAAI,wCAENF,eAAA,OAAKG,UAAU,kBAAiBD,SAE9Bge,gBAAA,MAAI+D,MAAM,6BAA6BlD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAC9DF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MACS,kBAAPmhB,EAA0B,kBAAoB,WAEhDrkB,GAAG,cACH,iBAAe,MACf,iBAAe,WACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,UACd,gBAAc,OAAMhE,SACrB,qBAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAc,SAAPmhB,EAAiB,kBAAoB,WAC5CrkB,GAAG,YACH,iBAAe,MACf,iBAAe,SACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,QACd,gBAAc,QAAOhE,SACtB,yBAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAc,QAAPmhB,EAAgB,kBAAoB,WAC3CrkB,GAAG,WACH,iBAAe,MACf,iBAAe,QACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,OACd,gBAAc,QAAOhE,SACtB,WAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAc,WAAPmhB,EAAmB,kBAAoB,WAC9CrkB,GAAG,cACH,iBAAe,MACf,iBAAe,WACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,UACd,gBAAc,QAAOhE,SACtB,eAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAc,aAAPmhB,EAAqB,kBAAoB,WAChDrkB,GAAG,gBACH,iBAAe,MACf,iBAAe,aACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,YACd,gBAAc,QAAOhE,SACtB,iBAKHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MACU,iBAARmhB,EAAyB,kBAAoB,WAE/CrkB,GAAG,mBACH,iBAAe,MACf,iBAAe,gBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,eACd,gBAAc,QAAOhE,SACtB,6BAQTge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MACS,kBAAPmhB,EACI,4BACA,gBAENrkB,GAAG,UACH7a,KAAK,WACL,kBAAgB,cAAahE,SAE7BF,eAAC0hH,GAA6B,MAEhC1hH,eAAA,OACEiiB,MACS,SAAPmhB,EAAiB,4BAA8B,gBAEjDrkB,GAAG,QACH7a,KAAK,WACL,kBAAgB,YAAWhE,SAE3BF,eAACkmH,GAAiB,MAEpBlmH,eAAA,OACEiiB,MACS,QAAPmhB,EAAgB,4BAA8B,gBAEhDrkB,GAAG,OACH7a,KAAK,WACL,kBAAgB,WAAUhE,SAE1BF,eAACmmH,GAAI,MAEPnmH,eAAA,OACEiiB,MACS,WAAPmhB,EAAmB,4BAA8B,gBAEnDrkB,GAAG,UACH7a,KAAK,WACL,kBAAgB,YAAWhE,SAE3BF,eAAComH,GAAO,MAEVpmH,eAAA,OACEiiB,MACU,cAARmhB,EACI,4BACA,gBAENrkB,GAAG,YACH7a,KAAK,WACL,kBAAgB,gBAAehE,SAE/BF,eAACiiC,GAAS,MAGZjiC,eAAA,OACEiiB,MACU,iBAARmhB,EACI,4BACA,gBAENrkB,GAAG,eACH7a,KAAK,WACL,kBAAgB,mBAAkBhE,SAElCF,eAACgmH,GAAc,aAIpB,E,wBCm8BQtlH,qBA1BUC,IAChB,CACLikC,QAASjkC,EAAM0/D,iBAAiBz7B,YAIRzU,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCi2F,WAAav2F,IACXK,EAASwwC,GAA+B7wC,GAAS,EAEnD8W,aAAe9W,IACbK,EAASiY,GAAoBxB,aAAa9W,GAAS,EAErDw2F,wBAA0Bx2F,IACxBK,EAASwwC,GAA4C7wC,GAAS,KAKrDpvB,EA7mCwBU,IACrC,IAAI,QACFC,EAAO,QACPujC,EAAO,aACP1V,EAAY,cACZE,EAAa,WACbi3F,EAAU,aACVz/E,EAAY,wBACZ0/E,GACEllH,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCopG,WAAY,EACZr1D,WAAY,EACZN,WAAY,GACZ41D,QAAS,CAAC,EACVj4B,aAAc,CAAC,EACf3gC,SAAU,GACVrf,OAAQ,GACRk4E,QAAS,KAGXjlH,qBAAU,KACR2wD,GAAsB,GACrB,IAEH,MAAMA,EAAuBA,KAC3B,IAAIo0D,EAAa3hF,EAAQ8hF,YAGzB,OAFAh2F,GAAUa,IAAS,IAAWA,EAAWg1F,WAAYA,MAE7CA,GACN,KAAK,EACHI,IACA,MACF,KAAK,EACHC,IACA,MACF,KAAK,EACHC,IACA,MACF,KAAK,EACHC,IACA,MACF,KAAK,EACHv1D,IAIJ,EAGIo1D,EAAal1F,UACjB,IAAIG,EAAO,CACTvxB,KAAM,GAER6uB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzP,GAAQsN,GAC1CtwB,QAAQC,IAAI2d,GACiB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHi1F,QAAStnG,EAAS0S,KAAKA,UAGzBxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI2hH,EAAkBn1F,UACtB,IAAIG,EAAO,CACTvxB,KAAM,GAER6uB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzP,GAAQsN,GACb,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHg9D,aAAcrvE,EAAS0S,KAAKA,UAG9BxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI6hH,EAAar1F,UAIjBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,GAAGzP,2LAEwB,MAAzBpF,EAAS0S,KAAKC,QAChBvwB,QAAQC,IAAI,aAAc2d,EAAS0S,KAAKA,MACxCxC,IACAsB,GAAUa,IAAS,IACdA,EACHk1F,QAASvnG,EAAS0S,KAAKA,UAGzBxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI4hH,EAAcp1F,UAClBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKxP,IACL,MAAzBrF,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHq8B,SAAU,IAAI1uC,EAAS0S,KAAKA,KAAKm1F,eAGnC33F,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIssD,EAAgB9/B,UACpB,IAAIG,EAAO,CACTvxB,KAAM,GAER6uB,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzP,GAAQsN,GAC1CtwB,QAAQC,IAAI,gBAAiB2d,GACA,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EAEHgd,OAAQ,IAAIrvB,EAAS0S,KAAKA,KAAK6/B,UAAU7/B,WAG3CxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAyBI+hH,EAA4Bv1F,UACb9wB,EAAM8lH,QAAzB,IACIQ,EAAkB,IAAItmH,EAAM8lH,QAAQ12B,iBAEpCm3B,EAAmBD,EAAgBp0D,WAAW9vD,GACzCA,EAAQ8lF,MAAQs+B,EAAmBt+B,MAG5C,IAA0B,IAAtBq+B,EAeF,OAVAD,EAAgB1nC,OAAO2nC,EAAkB,GAEzCx2F,GAAUa,IAAS,IACdA,EACHk1F,QAAS,IACJl1F,EAAUk1F,QACb12B,gBAAiBk3B,OAOvB,IAAIr1F,EAAO,CACTvxB,KAAM,EACN2yD,aAAcm0D,EAAmBt+B,IACjCh3D,OAAQ,GAGV,UACyBH,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGImiH,EAA4B31F,UACb9wB,EAAM6lH,QAAzB,IACIS,EAAkB,IAAItmH,EAAM6lH,QAAQz2B,iBAEpCs3B,EAAmBJ,EAAgBp0D,WAAW9vD,GACzCA,EAAQ8lF,MAAQy+B,EAAmBz+B,MAG5C,IAA0B,IAAtBw+B,EAeF,OAVAJ,EAAgB1nC,OAAO8nC,EAAkB,GAEzC32F,GAAUa,IAAS,IACdA,EACHi1F,QAAS,IACJj1F,EAAUi1F,QACbz2B,gBAAiBk3B,OAsBvB,IAAIr1F,EAAO,CACTvxB,KAAM,EACN2yD,aAAcs0D,EAAmBz+B,IACjCh3D,OAAQ,GAGV,UACyBH,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGIsvD,EAA0BA,IAE5Bv0D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,kCAAiCD,SAC5C1C,aAAQmD,EAAM6lH,SAkDdxmH,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOiB,WAAYib,IAAI,UAEnCphB,eAAA,KAAAE,SAAG,qCAtDPS,EAAM6lH,QAAQz2B,gBAAgBlyF,OAC5B8C,EAAM6lH,QAAQz2B,gBAAgBzuE,KAAI,CAACve,EAAS07B,IAExCvgB,gBAAA,OAAiB/d,UAAU,0BAAyBD,SAAA,CAClDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CAAEu+B,EAAQ,EAAE,WAG3Cz+B,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OACEG,UAAU,uBACV69C,wBAAyB49C,EACvB74F,EAAQ2oF,QAEVvtE,QAASA,IACPopG,EAAiC,cAMzCvnH,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,gBAAeD,UAC3B6C,EAAQsuF,SACPrxF,eAAA,OACEsgB,IAAKpb,GAAOgB,SACZiY,QAASA,IACPipG,EAA0BrkH,GAE5Bqe,IAAI,yBA5BJqd,KA4CZ,aAmBZ+oF,EAAiC/1F,UACb9wB,EAAM4tF,aAA9B,IACI04B,EAAkB,IAAItmH,EAAM4tF,aAAawB,iBAEzC03B,EAAwBR,EAAgBp0D,WAAW9vD,GAC9CA,EAAQ8lF,MAAQ6+B,EAAwB7+B,MAKjD,GAFAvnF,QAAQC,IAAIkmH,IAEmB,IAA3BA,EAeF,OAVAR,EAAgB1nC,OAAOkoC,EAAuB,GAE9C/2F,GAAUa,IAAS,IACdA,EACHg9D,aAAc,IACTh9D,EAAUg9D,aACbwB,gBAAiBk3B,OAsBvB,IAAIr1F,EAAO,CACTvxB,KAAM,EACN2yD,aAAc00D,EAAwB7+B,IACtCh3D,OAAQ,GAGV,UACyBH,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGI22F,EAAsB+rB,IACnB,CAAE1pE,OAAQ0pE,IAGb3zD,EAA+BA,IAEjCh0D,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,mCAAkCD,SAC/CF,eAAA,OAAKG,UAAU,0CAAyCD,SACtDF,eAAA,OAAKG,UAAU,uCAAsCD,SACjD1C,aAAQmD,EAAM4tF,cAiDdvuF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOiB,WAAYib,IAAI,cAEnCphB,eAAA,KAAAE,SAAG,qCArDPS,EAAM4tF,aAAawB,gBAAgBlyF,OACjC8C,EAAM4tF,aAAawB,gBAAgBzuE,KAAI,CAACve,EAAS07B,IAE7CvgB,gBAAA,OAAiB/d,UAAU,0BAAyBD,SAAA,CAClDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CAAEu+B,EAAQ,EAAE,WAG3Cz+B,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OACEG,UAAU,uBACV69C,wBAAyB49C,EACvB74F,EAAQ2oF,QAEVvtE,QAASA,IACPopG,EAAiC,mBAKzCvnH,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,gBAAeD,UAC3B6C,EAAQsuF,SACPrxF,eAAA,OACEsgB,IAAKpb,GAAOgB,SACZiY,QAASA,IACPqpG,EAA+BzkH,GAEjCqe,IAAI,yBA3BJqd,KA2CZ,aAmBZmpF,EAA6Bn2F,UAIjC,IAAIw1F,EAAkB,IAAItmH,EAAMitD,UAE5Bi6D,EAAoBZ,EAAgBp0D,WAAW9vD,GAC1CA,EAAQ8lF,MAAQi/B,EAAoBj/B,MAK7C,GAFAvnF,QAAQC,IAAIsmH,IAEe,IAAvBA,EAgBF,OAXAZ,EAAgB1nC,OAAOsoC,EAAmB,GAE1Cn3F,GAAUa,IAAS,IACdA,EAKHq8B,SAAU,IAAIq5D,OAqBlB,IAAIr1F,EAAO,CACTi8B,SAAUi6D,EAAoBj6D,SAC9BxtD,KAAM,EACN2yD,aAAc80D,EAAoBj/B,IAClCh3D,OAAQ,GAGV,UACyBH,KAAMqC,KAAKhO,GAAQ6L,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGI8iH,EAA2BA,IAE7B/nH,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,mCAAkCD,SAC7C1C,aAAQmD,EAAMitD,UAiDd5tD,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOiB,WAAYib,IAAI,WAEnCphB,eAAA,KAAAE,SAAG,qCArDPS,EAAMitD,SAAS/vD,OACb8C,EAAMitD,SAAStsC,KAAI,CAACve,EAAS07B,IAEzBvgB,gBAAA,OAAiB/d,UAAU,0BAAyBD,SAAA,CAClDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CAAEu+B,EAAQ,EAAE,WAG3Cz+B,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OACEG,UAAU,uBACV69C,wBAAyB49C,EACvB74F,EAAQ2oF,QAEVvtE,QAASA,IACPopG,EAAiC,eAKzCvnH,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,gBAAeD,UAC3B6C,EAAQsuF,SACPrxF,eAAA,OACEsgB,IAAKpb,GAAOgB,SACZkb,IAAI,eACJjD,QAASA,IACPypG,EAA2B7kH,YA1B7B07B,KA2CZ,aAmBZi0B,EAAsBjhC,UAC1B,IAAIkhC,EAAY,IAAIhyD,EAAM4tC,QAEtBqkB,EAAaD,EAAUE,WAAW9vD,GAC7BA,EAAQ+vD,WAAa5lB,EAAa4lB,WAG3C,IAAoB,IAAhBF,EAWF,OARAD,EAAU4sB,OAAO3sB,EAAY,GAE7BliC,GAAUa,IAAS,IACdA,EAEHgd,OAAQ,IAAIokB,OAqBhB,IAAI/gC,EAAO,CACTvxB,KAAM,EACN2yD,aAAc9lB,EAAa4lB,SAC3BjhC,OAAQ,GAGV,UACyBH,KAAMqC,KAAK1P,GAAQuN,EAE5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAKF,MA8BMquD,EAAYA,KA9BM7hC,WACtB,IAAIsjC,EAASt2D,KAAKm/B,KAAKj9B,EAAM4tC,OAAO1wC,OAHrB,IAG4C,EAC3DyD,QAAQC,IAAI,eAAgBwzD,GAC5B,IAAInjC,EAAO,CACTvxB,KAAM,EACNsxD,KAAMoD,GAER7lC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzP,GAAQsN,GAC1CtwB,QAAQC,IAAI,gBAAiB2d,GAEF,MAAzBA,EAAS0S,KAAKC,QACd3S,EAAS0S,KAAKA,KAAK+gC,UAAUoB,WAE7B3kC,IACAsB,GAAUa,IAAS,IACdA,EAEHgd,OAAQ,IAAI5tC,EAAM4tC,UAAWrvB,EAAS0S,KAAKA,KAAK6/B,UAAU7/B,WAG5DxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAIA+vD,EAAiB,EAGbgzD,EAA4BA,IAE9BhoH,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAAA,OACE+e,GAAG,kBACH5e,UAAU,gBACVqE,MAAO,CACLjE,OAAQ,OACR2rC,SAAU,QACVhsC,SAEFF,eAACmzD,KAAc,CACbC,WAAYzyD,EAAM4tC,OAAO1wC,OACzBw1D,KAAMC,EACNC,SAAS,EACTC,iBAAiB,kBAAiBtzD,SAElCF,eAAA,OAAKG,UAAU,4BAA2BD,SACtC1C,aAAQmD,EAAM4tC,QAkGdvuC,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOiB,WAAYib,IAAI,cAEnCphB,eAAA,KAAAE,SAAG,qCAtGPS,EAAM4tC,OAAO1wC,OACX8C,EAAM4tC,OAAOjtB,KAAI,CAACve,EAAS07B,IAEvBvgB,gBAAA,OAEE/d,UAAU,sCAAqCD,SAAA,CAE/CF,eAAA,OACEG,UAAU,4BACVge,QAASA,IACPo0C,EAAyB,SAAUxvD,GACpC7C,SAEDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAKvd,EAAQwqC,eAGtBrvB,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7CF,eAAA,OACEG,UAAU,yBACVge,QAASA,IACPo0C,EAAyB,SAAUxvD,GACpC7C,SAEDF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B6C,EAAQyqC,gBAGbxtC,eAAA,OAAKG,UAAU,gBAAeD,UAC3B6C,EAAQgwD,QACP/yD,eAAA,OACEsgB,IAAKpb,GAAOgB,SACZiY,QAASA,IACPu0C,EAAoB3vD,GAEtBqe,IAAI,wBAaZlD,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAAC,MACxB6C,EAAQiC,QAEdhF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,SAAO/d,UAAU,iBAAgBD,SAAA,CAC/BF,eAAA,QAAMG,UAAU,cAAaD,SAC3BF,eAAA,OACEsgB,IAAKpb,GAAOkB,OACZgb,IAAI,kBAGRphB,eAAA,QAAMG,UAAU,SAAQD,SACrB6C,EAAQ0qC,uBAKjBztC,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,UACEme,QAASA,IACPo0C,EACE,SACAxvD,GAEH7C,SACF,uBAxEFu+B,KAkFXz+B,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOiB,WAAYib,IAAI,YAEnCphB,eAAA,KAAAE,SAAG,iDAyBrB+nH,EAA0BA,KAC9B3mH,QAAQC,IAAIZ,EAAM8lH,QAAQ12B,iBAExB/vF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,mCAAkCD,SAC7C1C,aAAQmD,EAAM8lH,SA2DdzmH,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOiB,WAAYib,IAAI,UAEnCphB,eAAA,KAAAE,SAAG,qCA/DPS,EAAM8lH,QAAQ12B,gBAAgBlyF,OAC5B8C,EAAM8lH,QAAQ12B,gBAAgBzuE,KAAI,CAACve,EAAS07B,IAExCvgB,gBAAA,OAAiB/d,UAAU,0BAAyBD,SAAA,CAClDge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CAAEu+B,EAAQ,EAAE,WAG3Cz+B,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OACEG,UAAU,GACV69C,wBAAyB49C,EACvB74F,EAAQ2oF,QAEVvtE,QAASA,IACPopG,EAAiC,cAKzCvnH,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,gBAAeD,UAC3B6C,EAAQsuF,SACPrxF,eAAA,OACEohB,IAAI,GACJd,IAAKpb,GAAOgB,SACZiY,QAASA,IACP6oG,EAA0BjkH,YA1B5B07B,KA4Cdz+B,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKsgB,IAAKpb,GAAOiB,WAAYib,IAAI,UAEnCphB,eAAA,KAAAE,SAAG,8CAuBjBqyD,EAA2BA,CAAClyD,EAAMuxB,KACtC,GAAqB,IAAjBA,EAAKod,SAEP,GACO,WADC3uC,EAEJuxB,EAAK0b,eAAiB,WACtB1G,EAAahV,GACbvwB,EAAQkyB,KAAK,gBAMjBr0B,MAAM,gEACNmC,EAAQkyB,KAAK,SACf,EAGIg0F,EAAoClnH,IACxC,IAAI,oBAAEynH,GAAwBnnH,EAC9B,OAAQN,GACN,IAAK,MAOL,IAAK,WAOL,IAAK,MACHimH,EAAwBwB,GACxBzmH,EAAQkyB,KAAK,CACXC,SAAU,sBACV7yB,MAAO,CAAEN,KAAMA,KAEjB,MACF,IAAK,OACHimH,EAAwBwB,GACxBzmH,EAAQkyB,KAAK,CACXC,SAAU,2BACV7yB,MAAO,CAAEN,KAAMA,KAKrB,EAGI6nH,EAAuBzqG,IAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB,OAAQrgB,GACN,IAAK,MACHizB,GAAUa,IAAS,IACdA,EACHg1F,WAAY,EACZr1D,WAAY,MAEdm1D,EAAW,GACXM,IACA,MACF,IAAK,WACHj2F,GAAUa,IAAS,IACdA,EACHg1F,WAAY,EACZr1D,WAAY,MAGdm1D,EAAW,GACXO,IACA,MACF,IAAK,OACHl2F,GAAUa,IAAS,IACdA,EACHg1F,WAAY,EACZr1D,WAAY,MAEdm1D,EAAW,GACXQ,IACA,MACF,IAAK,MACHn2F,GAAUa,IAAS,IACdA,EACHg1F,WAAY,EACZr1D,WAAY,MAEdm1D,EAAW,GACXS,IACA,MACF,IAAK,QACHp2F,GAAUa,IAAS,IACdA,EACHg1F,WAAY,EACZr1D,WAAY,MAEdm1D,EAAW,GACX90D,IAIJ,EAGF,OACEvxD,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,8CAA6CD,SAC1DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,qCAAoCD,SAAA,CACjDge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAG,eACH/Z,KAAK,kBACLvH,MAAM,MACNmhB,SAAWnB,GAAUyqG,EAAoBzqG,GACzC8D,QAA8B,IAArB5gB,EAAM4lH,aAEjBvmH,eAAA,SAAOwhB,QAAQ,eAActhB,SAAC,WAEhCge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAG,oBACH/Z,KAAK,kBACLvH,MAAM,WACNmhB,SAAWnB,GAAUyqG,EAAoBzqG,GACzC8D,QAA8B,IAArB5gB,EAAM4lH,aAEjBvmH,eAAA,SAAOwhB,QAAQ,oBAAmBthB,SAAC,gBAErCge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAG,gBACH/Z,KAAK,kBACLvH,MAAM,OACNmhB,SAAWnB,GAAUyqG,EAAoBzqG,GACzC8D,QAA8B,IAArB5gB,EAAM4lH,aAEjBvmH,eAAA,SAAOwhB,QAAQ,gBAAethB,SAAC,YAEjCge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAG,iBACH/Z,KAAK,kBACLvH,MAAM,QACNmhB,SAAWnB,GAAUyqG,EAAoBzqG,GACzC8D,QAA8B,IAArB5gB,EAAM4lH,aAEjBvmH,eAAA,SAAOwhB,QAAQ,iBAAgBthB,SAAC,aAElCge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,SACEK,KAAK,QACL0e,GAAG,eACH/Z,KAAK,kBACLvH,MAAM,MACNmhB,SAAWnB,GAAUyqG,EAAoBzqG,GACzC8D,QAA8B,IAArB5gB,EAAM4lH,aAEjBvmH,eAAA,SAAOwhB,QAAQ,eAActhB,SAAC,gBAIpCF,eAAA,OAAKG,UAAU,wBAAuBD,SAr6B9BotF,MAMpB,OALiB3sF,EAAM4lH,YAMrB,KAAK,EACH,OAAOhyD,IACT,KAAK,EACH,OAAOP,IACT,KAAK,EACH,OAAO+zD,IACT,KAAK,EACH,OAAOC,IACT,KAAK,EACH,OAAOC,IACT,QACE,OAAO,KACX,EAk5BoD36B,iBAMzC,ICliCA5sF,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAnDQU,IACrB,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAUpD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAV7CqyB,OAAOioB,YAAc,IAajBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACmoH,GAA6B,CAAC9mH,QAASA,OAI1CrB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACmoH,GAA6B,CAAC9mH,QAASA,WAKhDrB,eAAC67C,GAAgB,OAElB/6C,GAAUd,eAACD,KAAW,MACd,I,gBC88BAqoH,OAhgCoBhnH,IAAW,IAADumF,EAAAC,EAC3C,IAAI,qBACFE,EAAoB,gBACpB7C,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,OAClBhzD,EAAM,uBACNizF,GACEjnH,EAEJ,MAAMu1F,EAAYA,KACFryF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,IAA2B,IAAvBy+B,EAAkB,GAAU,KACrCiE,SAAU,UACV,GAEGC,EAAWC,GAAgBjsE,oBAAS,IACpC6sE,EAAQC,GAAa9sE,oBAAS,IAC9B4iE,EAAM4J,GAAWxsE,oBAAS,GA6B3BktE,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAIL7V,EAAqBA,CAACC,EAAc/K,IAC5B,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EAEP//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcE,aAAantF,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAMRz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAOR6sD,EAAoBA,CAACR,EAAc/K,IAC3B,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EAEP//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcE,aAAantF,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,cAvCL,EA8CH8sD,EAAmBA,KAAO,IAAD9D,EAC7B,OACEznF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAE9CppE,UAAQ,GALH8lE,QASF,EA0ETmG,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAGbS,EAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAIzCuiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,UAItCuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAK3Cz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAItCuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAIzCuiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAGpCuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAI9B,QAAfqtD,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAK3Cz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAE,GAAGu+B,EAAQ,QAjDzC,IAADqtD,EAAAE,CAsDT,EAEIP,EAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAfikF,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA7EnC,IAADikF,EAAAC,CAkFT,EAWF,OACEnsF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBynF,EACa,QADbC,EACxBE,EAAqB7C,UAAgB,IAAA2C,OAAA,EAArCA,EAAuCyF,iBAAS,IAAA1F,IAC/C,2BAEJ3nF,eAAA,UAAAE,SAAQ,cAEVge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAM/pF,SACpC8pF,EACChqF,eAAA,OACEsgB,IAAKpb,GAAOqK,oBACZ6R,IAAI,UAGNphB,eAAA,OAAKsgB,IAAKpb,GAAOoK,mBAAoB8R,IAAI,WAG7CphB,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAO/pF,SACrC8pF,EACChqF,eAAA,OAAKsgB,IAAKpb,GAAOkK,mBAAoBgS,IAAI,SAEzCphB,eAAA,OACEsgB,IAAKpb,GAAOmK,oBACZ+R,IAAI,kBAMdlD,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,qBAM/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAChD4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,EAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,EAAoBlpF,EAAS07B,MAV7BA,KAeX,YAIVvgB,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,iDAAgDD,SAAA,CAC7Dge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,YAG9BmC,eAAA,OAAKG,UAAU,iCAAgCD,SAC5C4nF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAAiBwE,MAAO,CAAE2nC,OAAQ,WAAYjsC,SAC3Cu+B,IAAUwmD,GACTjlF,eAAA69B,YAAA,CAAA39B,SACG6C,EAAQsuF,SACPrxF,eAAA,OACEohB,IAAI,GACJd,IAAKpb,GAAO2I,gBACZsQ,QAASA,IACPkqG,EACEtlH,EACe,QAAf3B,EAAMf,KACF,EACe,QAAfe,EAAMf,KACN,EACA,KAKVL,eAAA,OACEohB,IAAI,GACJd,IAAKpb,GAAO0I,gBACZuQ,QAASA,IACPkqG,EACEtlH,EACe,QAAf3B,EAAMf,KACF,EACe,QAAfe,EAAMf,KACN,EACA,QA7BRo+B,UAyClBvgB,gBAAA,OACE1Z,MAAO,CACL0uD,UAAW,OACX3yD,OAAQ,OACRgmD,QAAS,QACTrmD,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,MAAIG,UAAU,+BAA8BD,SAAC,qBAG7CF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,QAAAhe,SAAA,CAAM,kBA3JHy7F,MACzB,GAAI7T,EAAqBjqF,OAAQ,CAE/B,OADmBiqF,EACC7C,GAAiBuI,WACvC,CACE,OAAO,IACT,EAqJ4CmO,QAGxBz9E,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAE/B6C,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,EACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,SAFb3oF,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,EAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQwpF,eAFbxpF,EAAQ8lF,IAAM,WAQ3B,WAIR7oF,eAAA,OAAKG,UAAU,4BAA2BD,SAv3BxCotF,EAACmT,EAAwB1gB,KAC7C,IAAI0gB,EAuBF,OAAO,KAvBmB,CAC1B,IAAI9vE,EACFtwB,EAAOogG,EAAuBjT,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB4V,EAAwB1gB,GACpD,KAAK,EACH,OAAOwL,EAAiBkV,EAAwB1gB,GAClD,KAAK,EACH,OAAOuL,EAAkBmV,EAAwB1gB,GACnD,QACE,OAAO,KAEb,CAEA,EA+1BqBuN,CAAcxF,EAAqB7C,MAGtC/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,iBAC3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,EACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OACiB,QAAf78C,EAAMf,KACF0C,EAAQk8F,SACRl8F,EAAQ6qF,WALX7qF,EAAQ8lF,IAAM,MASrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,EAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OACiB,QAAf78C,EAAMf,KACF0C,EAAQo8F,eACRp8F,EAAQ8qF,iBALX9qF,EAAQ8lF,IAAM,WAW3B,KAEHf,EAAqBjqF,QA3mBxB6uF,MAClB,MACwD,MAAtD5E,EAAqB7C,GAAiBqjC,aACgB,OAAtDxgC,EAAqB7C,GAAiBqjC,YAE/B,IAGLpqG,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UACEG,UAAU,yBACVge,QAASA,KAdjBirE,GAAa,EAec,EACjBlpF,SACH,wBAIAipF,EACCnpF,eAAA,OAAKwE,MAAO,CAAEC,QAAS,QAASnE,MAAO,OAAQC,OAAQ,SAAUL,SAC/DF,eAACg2D,GAAa,CACZa,OAA4B,OAApBixB,QAAoB,IAApBA,GAAuC,QAAnBJ,EAApBI,EAAuB7C,UAAgB,IAAAyC,OAAnB,EAApBA,EAAyC4gC,gBAWvD,QA1BE,IAAD5gC,CA6BP,EAwkBoDgF,YAOtCxuE,gBAAA,OACE1Z,MAAO,CACLo8B,OAAQ,iBACRuL,OAAQ,UACR1nC,QAAS,eACThF,MAAO,UACPquF,WAAY,UACZ7qC,SAAU,OACV8qC,UAAW,SACX3uD,WAAY,MACZ4uD,WAAY,QACZ9tF,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,OAAQlrC,SAClCF,eAAA,OAAKsgB,IAAKpb,GAAOuK,mBAAoB2R,IAAI,OACnC,IACRphB,eAAA,QAAMwE,MAAO,CAAEquC,eAAgB,QAAS3yC,SAAC,uBAK3Cge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,IACAqB,GAAa,GACbuN,GAAW,EACXz2F,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,IACAoB,GAAa,GACbuN,GAAW,EACXz2F,SAED+kF,IAAoB6C,EAAqBjqF,OAAS,EAC/C,SACA,+BAWf,EC7yBA6C,qBAhBUC,IAChB,CACLQ,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EA3MuBU,IACpC,IAAI,QAAEC,EAAO,aAAE6tB,EAAY,cAAEE,EAAa,SAAEpuB,GAAaI,EAEzD,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNm0D,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtB7C,gBAAiB,IAInB,IAAI5kF,EADa2iC,wBACGriC,MAAMN,KAE1BmB,qBAAU,KACR+mH,GAAkB,GACjB,IAEH,MAAMA,EAAmB92F,UAEvB,IAAIG,EADJ1C,IAEa,QAAT7uB,EACFuxB,EAAO,CACLvxB,KAAM,GAEU,QAATA,EACTuxB,EAAO,CACLvxB,KAAM,GAEU,aAATA,IACTuxB,EAAO,CACLvxB,KAAM,IAGV,IACE,MAAM6e,QAAiBwS,KAAMqC,KAAKzP,GAAQsN,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHu2D,qBAAsB5oE,EAAS0S,KAAKA,KAAKm+D,oBAG/C,CAAE,MAAO9qF,GACP3D,QAAQC,IAAI0D,EACd,GAGI8iF,EAA4BA,KAChCwgC,IACA,IAAI,gBAAEtjC,EAAe,qBAAE6C,GAAyBnnF,EAC5CskF,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAGI0lB,EAAwBA,KAC5BugC,IACA,IAAI,gBAAEtjC,EAAe,qBAAE6C,GAAyBnnF,EAC5CmnF,EAAqBjqF,SAAWonF,EAAkB,EACpD5jF,EAAQkyB,KAAK,oBAEb7C,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAGI8lB,EAAsB5B,IAE1B91D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAEhB,EAWC6hC,EAAyB52F,MAAOq2F,EAAqBznH,KACzD,MAAM,qBAAEynF,EAAoB,gBAAE7C,GAAoBtkF,EAC5C6nH,EAAuB1gC,EAAqBhjC,QAC/Ck8B,GAAaA,EAAS6H,MAAQi/B,EAAoBj/B,MAGrDn4D,GAAUa,IAAS,IACdA,EACHu2D,qBAAsB0gC,MAGxB,IAAI52F,EAAO,CACTi8B,SAAUi6D,EAAoBj6D,SAC9BxtD,KAAMA,EACN2yD,aAAc80D,EAAoBj/B,IAClCh3D,OAAQ,GAGV,UACyBH,KAAMqC,KAAK1P,GAAQuN,EAE5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,CAEIggF,EAAkBujC,EAAqB3qH,OAEzC6yB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,MAGnBA,IAAoBujC,EAAqB3qH,QACzConF,EAAkB,EAGlBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,MAIrC5jF,EAAQkyB,KAAK,mBAIfk1F,EAAgCD,EAAqB,EAGjDC,EAAmCC,IACvCh4F,GAAUa,IAAS,IACdA,EACHu2D,qBAAsB4gC,KACrB,EA+BL,OACE1oH,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,uCAAsCD,UA/BvCywB,EAgCAhwB,EAAMgwB,KA9BjB,IADCA,EAGF3wB,eAACooH,GAAyB,CACxBtgC,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERxJ,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvBI,mBAAoBA,EAEpBhzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACfi5F,uBAAwBA,EACxBhoH,KAAMA,IAKH,YAxBOswB,KAmCP,IC7IAjwB,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAzCgBU,IAC7B,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAUpD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3Cge,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC2oH,GAA4B,CAC3BtnH,QAASA,EACTL,SAAUA,eAOrBF,GAAUd,eAACD,KAAW,MACd,ICqyBA6oH,OAz0BoBxnH,IACjC,IAAI,qBACF0mF,EAAoB,gBACpB7C,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,OAClBhzD,EAAM,2BACNwyF,GACExmH,EAEJ,MAAMu1F,EAAYA,KACFryF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,IAA2B,IAAvBy+B,EAAkB,GAAU,KACrCiE,SAAU,UACV,GAEGC,EAAWC,GAAgBjsE,oBAAS,IAEpC4iE,EAAM4J,GAAWxsE,oBAAS,GA8B3BktE,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAIL7V,EAAqBA,CAACC,EAAc/K,IAC5B,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EAEP//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcE,aAAantF,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAMRz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAOR6sD,EAAoBA,CAACR,EAAc/K,IAC3B,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EAEP//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcE,aAAantF,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,cAvCL,EA8CH8sD,EAAmBA,KAAO,IAAD9D,EAC7B,OACEznF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAE9CppE,UAAQ,GALH8lE,QASF,EAITrhB,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B1uC,MAC/B,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEmoB,EAAmBjD,IACvBC,GAAcD,EAAU,EA8BpBiC,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAGbS,EAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,gBAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gCACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gCACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAf6jF,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iBACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2tD,GAAgB,EAAM,EACtBlsF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAzFnC,IAAD6jF,EAAAE,CA8FT,EAYF,IAAI68B,GACD,IAAM/gC,EAAqBjqF,OAAS,GAAKonF,EAAkB,EAE9D,OACEjlF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,6BAG9BF,eAAA,OAAKG,UAAU,qCAAoCD,SAChD4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAU,iCACV4e,GAAG,QAAO7e,SAET+rF,EAAoBlpF,EAAS07B,IAJzBA,KAQX,YAIVz+B,eAAA,OAAKG,UAAU,6BAA4BD,SACzCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,MAAAE,SAAI,qCACJge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAC62G,KAAW,CACVpnB,IAAKo5B,EACL1oH,UAAU,gBAEZH,eAAA,QAAMwE,MAAO,CAAEkiD,KAAMmiE,EAAgB,EAAI,KAAM3oH,SAAE,GAC/C+kF,EAAkB,SAGtB/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,QAAAE,SAAM,MACNF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,eAGhCqgB,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,MAAIG,UAAU,+BAA8BD,SAAC,qBAG7Cge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,QAAAhe,SAAA,CAAM,kBAjEDy7F,MACzB,GAAI7T,EAAqBjqF,OAAQ,CAE/B,OADmBiqF,EACC7C,GAAiBuI,WACvC,CACE,OAAO,IACT,EA2D0CmO,MAEtB37F,eAAA,OAAKG,UAAU,aAAYD,SAkBzBF,eAAA,OACEG,UAAU,gBACVqE,MAAO,CAAE2nC,OAAQ,WAAYjsC,SAE5B4nF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAAAE,SACGu+B,IAAUwmD,GACTjlF,eAAA,OACEsgB,IAAKpb,GAAO2I,gBACZsQ,QAASA,IACPypG,EAA2B7kH,MALzB07B,YAgBpBvgB,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAE/B6C,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,EACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,SAFb3oF,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,EAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQwpF,eAFbxpF,EAAQ8lF,IAAM,WAQ3B,WAIR7oF,eAAA,OAAKG,UAAU,4BAA2BD,SAjuBtCotF,EAACmT,EAAwB1gB,KAC7C,IAAI0gB,EAuBF,OAAO,KAvBmB,CAC1B,IAAI9vE,EACFtwB,EAAOogG,EAAuBjT,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB4V,EAAwB1gB,GACpD,KAAK,EACH,OAAOwL,EAAiBkV,EAAwB1gB,GAClD,KAAK,EACH,OAAOuL,EAAkBmV,EAAwB1gB,GACnD,QACE,OAAO,KAEb,CAEA,EAysBmBuN,CAAcxF,EAAqB7C,MAEtC/mE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,IACAqE,GAAgB,GAChBuK,GAAW,EACXz2F,SACH,iBAOPF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,IACAoE,GAAgB,GAChBuK,GAAW,EACXz2F,SACH,gBAOPge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,iBAC3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,EACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQk8F,WAFbl8F,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,EAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ8qF,iBAFb9qF,EAAQ8lF,IAAM,WAQ3B,KACHf,EAAqBjqF,QA5etB6uF,MAClB,MAC6D,KAA3D5E,EAAqB7C,GAAiB0H,kBACqB,OAA3D7E,EAAqB7C,GAAiB0H,iBAE/B,IAGLzuE,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SAAC,wBAInEipF,EAQE,KAPFnpF,eAAA,UACE+e,GAAG,SACHuB,IAA0C,QAAvConE,EAAEI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuCiF,iBAC5ChoB,OAAQf,EACR/N,MAAM,yEACNC,iBAAe,OAbjB,IAAD4xB,CAkBP,EAodkDgF,uBASvC,ECtoBAhsF,qBAjBUC,IAChB,CACLQ,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA5L2BU,IACxC,IAAI,QAAEC,EAAO,aAAE6tB,EAAY,cAAEE,EAAa,SAAEpuB,GAAaI,EAEzD,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNm0D,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtB7C,gBAAiB,IAGbnsD,EAAWkK,wBACjB1hC,QAAQC,IAAI,WAAYu3B,GACxB,IAAIz4B,EAAOy4B,EAASn4B,MAAMN,KAE1BmB,qBAAU,KACRsuF,GAAsB,GACrB,IAEH,MAAMA,EAAuBr+D,UAE3B,IAAIG,EADJ1C,IAEa,SAAT7uB,IACFuxB,EAAO,CACLvxB,KAAM,IAGV,IACE,MAAM6e,QAAiBwS,KAAMqC,KAAKxP,GAASqN,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHu2D,qBAAsB5oE,EAAS0S,KAAKA,KAAKm1F,aAG/C,CAAE,MAAO9hH,GACP3D,QAAQC,IAAI0D,EACd,GAGI8iF,EAA4BA,KAChC+H,IACA,IAAI,gBAAE7K,EAAe,qBAAE6C,GAAyBnnF,EAC5CskF,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAGI0lB,EAAwBA,KAC5B8H,IACA,IAAI,gBAAE7K,EAAe,qBAAE6C,GAAyBnnF,EAE5CmnF,EAAqBjqF,SAAWonF,EAAkB,EACpD5jF,EAAQkyB,KAAK,oBAEb7C,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAGI8lB,EAAsB5B,IAC1BsJ,IACAp/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAUCohC,EAA6Bn2F,UACjC,MAAM,qBAAEq2D,EAAoB,gBAAE7C,GAAoBtkF,EAC5C6nH,EAAuB1gC,EAAqBhjC,QAC/Ck8B,GAAaA,EAAS6H,MAAQi/B,EAAoBj/B,MAGrDn4D,GAAUa,IAAS,IACdA,EACHu2D,qBAAsB0gC,MAGxB,IAAI52F,EAAO,CACTi8B,SAAUi6D,EAAoBj6D,SAC9BxtD,KAAM,EACN2yD,aAAc80D,EAAoBj/B,IAClCh3D,OAAQ,GAGV,IACE,MAAM3S,QAAiBwS,KAAMqC,KAAKhO,GAAQ6L,GAC1CtwB,QAAQC,IAAI,mBAAoB2d,EAElC,CAAE,MAAOja,GACP3D,QAAQC,IAAI0D,EACd,CA/BuCyjH,MAiCnCzjC,EAAkBujC,EAAqB3qH,OAEzC6yB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,MAGnBA,IAAoBujC,EAAqB3qH,QACzConF,EAAkB,EAGlBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,MAIrC5jF,EAAQkyB,KAAK,mBAlDwBm1F,EAsDPF,EArDhC93F,GAAUa,IAAS,IACdA,EACHu2D,qBAAsB4gC,KAmD6B,EA6BvD,OACE1oH,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,uCAAsCD,UAzBvCywB,EA0BAhwB,EAAMgwB,KAxBjB,IADCA,EAGF3wB,eAAC4oH,GAAyB,CACxB9gC,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvB8C,0BAA2BA,EAC3BC,sBAAuBA,EACvBI,mBAAoBA,EACpBhzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACfw4F,2BAA4BA,IAKzB,YAlBOj3F,KA6BP,IClIAjwB,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EAnCoBU,IACjC,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,GAAaI,EAErB4hC,wBAEf,OACE9kB,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAC3Cge,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAAC8oH,GAAgC,CAC/BznH,QAASA,EACTL,SAAUA,eAOrBF,GAAUd,eAACD,KAAW,MACd,I,gBC4rBAW,oBACb,MAZ0ByvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA5sBuCU,IACpD,IAAI,QAAEC,EAAO,eAAEF,EAAc,aAAE+tB,EAAY,cAAEE,GAAkBhuB,EAE/D,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC4rG,oBAAqB,CACnBC,kBAAmB,GACnBC,iBAAkB,EAClBC,eAAgB,EAChBtK,gBAAiB,EACjBuK,oBAAqB,EACrBC,kBAAmB,KACnBC,eAAgB,GAChBC,WAAW,GAEbC,uBAAwB,CAAC,EACzBj9E,YAAa,CAAC,EACd6hB,UAAW,CAAC,IAGd3sD,qBAAU,KACRgoH,GAAgB,GACf,IAEHhoH,qBAAU,KAC2C,IAA/Cb,EAAMooH,oBAAoBE,kBAC5BQ,GACF,GACC,CAAC9oH,EAAMooH,oBAAoBE,mBAE9B,MAAMO,EAAiB/3F,UACrB,IAAI2Q,EAAiB,CACnBjgB,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3CH,SAAU7gB,EAAe+xB,aAAalR,UAExCkN,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlR,GAAOuf,GAEZ,MAAzBljB,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH+a,YAAaptB,EAAS0S,KAAKA,UAG7BxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIwkH,EAAsBh4F,UAC1BvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAIjN,IAEJ,MAAzBxF,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHg4F,uBAAwBrqG,EAAS0S,KAAKA,UAGxCxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GA4DIykH,EAAmCjsG,IACvC,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB,OAAQne,OAAOlC,IACb,KAAK,EACL,KAAK,EACL,KAAK,EACHizB,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbI,oBAAqBxpH,OAAOlC,GAC5BwrH,iBAAkB,OAGtB,MACF,KAAK,EACL,KAAK,EACHv4F,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbI,oBAAqBxpH,OAAOlC,GAC5BwrH,iBAAkB,EAClBrK,gBAAiB,OAMzB,EAkBI+K,EAAgBl4F,UACpB,IAAI2Q,EAAiB,CACnBjgB,UAAWhhB,EAAegyB,cAAc,GAAGhR,UAC3C4qC,WAAYpgB,GAEdzd,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKjR,GAAQsf,GAEb,MAAzBljB,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH48B,UAAWjvC,EAAS0S,KAAKA,UAG3BxC,GAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GA0EI2kH,EAAiCn4F,UACrC,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAKpP,GAAQyd,GAE1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CAAE8B,QAAS,wBAErB,GAoCF,OACE1zB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uDAAsDD,SACnEge,gBAAA,OAAK/d,UAAU,6DAA4DD,SAAA,CACzEF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,KAvC7B9c,EAAQkyB,KAAK,sBAuCuC,EAAArzB,SACtCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,sBAGrB1N,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oCAIlCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,0BAE9BF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,OACLoe,YAAY,sBACZhhB,MAAOkD,EAAMooH,oBAAoBC,kBACjCpqG,SAAWnB,GAhSUA,KACrC,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbC,kBAAmBvrH,MAEpB,EAuRkCosH,CAA8BpsG,UA4CzDS,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gCAE9Bge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,SAAAE,SAAQ,GAAGS,EAAMooH,oBAAoBG,iCAGzChrG,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,SAAAE,SAAO,QAETF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,SACEK,KAAK,QACLohD,IAAI,IACJD,IAAI,MACJ/jD,MAAOkD,EAAMooH,oBAAoBG,eACjCtqG,SAAWnB,GAhUeA,KAC9C,IAAI,MAAEhgB,GAAUggB,EAAMK,OAGtB4S,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbG,eAAgBvpH,OAAOlC,OAExB,EAuTmBqsH,CAAuCrsG,OAI7Czd,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,SAAAE,SAAO,mBA0DiC,IAA/CS,EAAMooH,oBAAoBE,iBACzB/qG,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,uBAE9BF,eAAA,OAAKG,UAAU,sCAAqCD,SAChD1C,aAAQmD,EAAM4oH,wBAiCZ,KAhCA5oH,EAAM4oH,uBAAuBQ,gBAAgBlsH,OAC3C8C,EAAM4oH,uBAAuBQ,gBAAgBzoG,KAC3C,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,kCAAiCD,SAAA,CAE3CF,eAAA,SACEK,KAAK,QACL0e,GAAI,GAAGhc,EAAQm3F,qBACfl1F,KAAK,mBACLvH,MAAOsF,EAAQm3F,aACft7E,SAAWnB,GAvYRA,KACnC,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbnK,gBAAiBj/G,OAAOlC,OAEzB,EA+X+BusH,CAA4BvsG,GAE9B8D,QACE5gB,EAAMooH,oBACHnK,kBACH77G,EAAQm3F,eAGZl6F,eAAA,SACEwhB,QAAS,GAAGze,EAAQm3F,qBAAqBh6F,SAExC6C,EAAQ+kD,cApBNrpB,KA0Bb,UAIR,KACJvgB,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,+BAE9Bge,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,SACEK,KAAK,QACL0e,GAAG,gBACH/Z,KAAK,iBACLvH,MAAM,IACNmhB,SAAWnB,GACTisG,EAAgCjsG,GAElC8D,QACoD,IAAlD5gB,EAAMooH,oBAAoBI,sBAG9BnpH,eAAA,SAAOwhB,QAAQ,gBAAethB,SAAC,WAEjCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,SACEK,KAAK,QACL0e,GAAG,uBACH/Z,KAAK,iBACLvH,MAAM,IACNmhB,SAAWnB,GACTisG,EAAgCjsG,GAElC8D,QACoD,IAAlD5gB,EAAMooH,oBAAoBI,sBAG9BnpH,eAAA,SAAOwhB,QAAQ,uBAAsBthB,SAAC,kBAExCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,SACEK,KAAK,QACL0e,GAAG,sBACH/Z,KAAK,iBACLvH,MAAM,IACNmhB,SAAWnB,GACTisG,EAAgCjsG,GAElC8D,QACoD,IAAlD5gB,EAAMooH,oBAAoBI,sBAG9BnpH,eAAA,SAAOwhB,QAAQ,sBAAqBthB,SAAC,iBAEvCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,SACEK,KAAK,QACL0e,GAAG,oBACH/Z,KAAK,iBACLvH,MAAM,IACNmhB,SAAWnB,GACTisG,EAAgCjsG,GAElC8D,QACoD,IAAlD5gB,EAAMooH,oBAAoBI,sBAG9BnpH,eAAA,SAAOwhB,QAAQ,oBAAmBthB,SAAC,eAErCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,SACEK,KAAK,QACL0e,GAAG,sBACH/Z,KAAK,iBACLvH,MAAM,IACNmhB,SAAWnB,GACTisG,EAAgCjsG,GAElC8D,QACoD,IAAlD5gB,EAAMooH,oBAAoBI,sBAG9BnpH,eAAA,SAAOwhB,QAAQ,sBAAqBthB,SAAC,uBAI3Cge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,qBAE9BF,eAAA,OAAKG,UAAU,6BAA4BD,SACvC1C,aAAQmD,EAAM2rC,aAuBZ,KAtBA3rC,EAAM2rC,YAAYU,QAAQnvC,OACxB8C,EAAM2rC,YAAYU,QAAQ1rB,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,yBAAwBD,SAAA,CACjDF,eAAA,SACEK,KAAK,QACL0e,GAAI,WAAWhc,EAAQ6pC,SACvB5nC,KAAK,UACLvH,MAAOsF,EAAQ6pC,OACfhuB,SAAWnB,GAldZA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAEtB4S,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbK,kBAAmBzpH,OAAOlC,GAC1B4rH,eAAgB,GAChBC,WAAW,OAGfK,EAAchqH,OAAOlC,GAAO,EAscqB+wD,CAAoB/wC,GACzC8D,QACE5gB,EAAMooH,oBACHK,oBAAsBrmH,EAAQ6pC,SAGrC5sC,eAAA,SAAOwhB,QAAS,WAAWze,EAAQ6pC,SAAS1sC,SACzC6C,EAAQ+pC,aAbHrO,KAkBd,UAIRjhC,aAAQmD,EAAMwtD,WA4CZ,KA3CFjwC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9BF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,SACEK,KAAK,WACL0e,GAAG,aACH/Z,KAAK,SACLvH,MAAM,MACNmhB,SAAWnB,GAhWFA,KAC7B,IAAI,QAAE8D,GAAY9D,EAAMK,OACpBqwC,EAAY,IAAKxtD,EAAMwtD,WACvB87D,EAAS,GAET1oG,GACF4sC,EAAUjc,MAAM/Z,SAASp1B,IACvBknH,EAAO12F,KAAKxwB,EAAQ2rD,SAAS,IAE/Bh+B,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbM,eAAgBY,EAChBX,UAAW/nG,QAIfmP,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbM,eAAgB,GAChBC,UAAW/nG,MAGjB,EAsUyC2oG,CAAsBzsG,GAC3C8D,QAAS5gB,EAAMooH,oBAAoBO,YAErCtpH,eAAA,SAAOwhB,QAAQ,aAAYthB,SAAC,oBAGhCF,eAAA,OAAKG,UAAU,2BAA0BD,SACtCS,EAAMwtD,UAAUjc,MAAMr0C,OACnB8C,EAAMwtD,UAAUjc,MAAM5wB,KAAI,CAACve,EAAS07B,IAEhCvgB,gBAAA,OAAiB/d,UAAU,uBAAsBD,SAAA,CAC/CF,eAAA,SACEK,KAAK,WACL0e,GAAI,SAAShc,EAAQ2rD,WACrB1pD,KAAK,QACLvH,MAAOsF,EAAQ2rD,SACf9vC,SAAWnB,GAvddA,KACzB,IAAI,MAAEhgB,GAAUggB,EAAMK,OAClBurG,EAAiB,IAAI1oH,EAAMooH,oBAAoBM,gBAE/C13B,EAAc03B,EAAex2D,WAAW9vD,GACnCA,IAAYpD,OAAOlC,MAGP,IAAjBk0F,EACF03B,EAAe9pC,OAAO8pC,EAAexrH,OAAS,EAAG,EAAG8B,OAAOlC,IAE3D4rH,EAAe9pC,OAAOoS,EAAa,GAKrCjhE,GAAUa,IAAS,IACdA,EACHw3F,oBAAqB,IAChBx3F,EAAUw3F,oBACbM,eAAgBA,MAEjB,EAic8Cc,CAAkB1sG,GACvC8D,QAAS5gB,EAAMooH,oBAAoBM,eAAet3F,MAC/CsK,GACQA,IAAMt5B,EAAQ2rD,aAI3B1uD,eAAA,SAAOwhB,QAAS,SAASze,EAAQ2rD,WAAWxuD,SACzC6C,EAAQ4rD,eAdHlwB,KAmBd,UAIVz+B,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQme,QAASA,IAjdMsT,WACrC,IAAIs3F,EAAsB,IAAKpoH,EAAMooH,qBAGrC,GAAIA,EAAoBC,kBACtB,GACED,EAAoBK,mBACpBL,EAAoBM,eAAexrH,OAEnC,GAAIkrH,EAAoBG,eAAiB,EAAG,CAC1C,IAAI9mF,EAAiB,CACnB5jB,MAAOuqG,EAAoBC,kBAAkBlrH,OAC7CssH,QAASrB,EAAoBE,iBAC7BoB,eAAgBtB,EAAoBG,eACpCoB,cAAevB,EAAoBI,oBACnCp8D,WAAYg8D,EAAoBK,kBAChC16D,SAAUq6D,EAAoBM,gBAGa,IAAzCN,EAAoBE,iBACtB7mF,EAAe83D,aAAe6uB,EAAoBnK,uBAE3Cx8E,EAAe83D,aAExBhrE,IACA,IAAI2D,QAAyB+2F,EAC3BxnF,GAE8B,IAA5BvP,EAAiBxuB,QACnB+qB,IACA/tB,EAAQkyB,KAAK,yBAEbnE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAEhC,MACEx0B,MAAM,iDAGRA,MAAM,kDAGRA,MAAM,uDACR,EAsaqCqrH,GAAiCrqH,SAAC,iCAS5D,ICloBAQ,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIXT,EA1DuBU,IACpC,IAAI,OAAEN,EAAM,QAAEO,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EASpD,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,2CAA0CD,SACvDF,eAAA,OAAKG,UAAU,iDAAgDD,SAT/DqyB,OAAOioB,YAAc,IAYjBt8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,IACtCrB,eAACwqH,GAA4C,CAC3CnpH,QAASA,EACTF,eAAgBA,OAKpB+c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gDAA+CD,SAC5DF,eAACmiD,GAAoB,MAEvBjkC,gBAAA,OAAK/d,UAAU,iDAAgDD,SAAA,CAC7DF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1BrB,eAACwqH,GAA4C,CAC3CnpH,QAASA,EACTF,eAAgBA,cAO3BL,GAAUd,eAACD,KAAW,MACd,I,QCDA43G,OA1Df,SAA0Bv2G,GAAQ,IAADqpH,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC/B,IAAI,WAAEtmE,GAAepjD,EAErB,MAGM2nD,EAAe,CACnB,CACEhqC,GAAI,eACJiqC,WAAW5B,GACT,MAAM6B,EAAW7B,EAAMR,OAAOsC,IAC9B9B,EAAMR,OAAOsC,IAAM,WAEjB,OADAD,EAASE,KAAK/B,EAAMR,OAApBqC,GACQG,KAAK7oD,QAAU,EACzB,CACF,IAIEqxB,EAAO,CACXq0B,OAjBa,CAAC,IAkBdC,SAAU,CACR,CACEzV,MAAoB,QAAfg6E,EAAEjmE,EAAW,UAAE,IAAAimE,OAAA,EAAbA,EAAe3S,OACtB74E,gBAAiB,WACjBrN,KAAM,CAACjyB,OAAoB,QAAd+qH,EAAClmE,EAAW,UAAE,IAAAkmE,OAAA,EAAbA,EAAerhE,QAC7BC,aAAc,IAEhB,CACE7Y,MAAoB,QAAfk6E,EAAEnmE,EAAW,UAAE,IAAAmmE,OAAA,EAAbA,EAAe7S,OACtB74E,gBAAiB,UACjBrN,KAAM,CAACjyB,OAAoB,QAAdirH,EAACpmE,EAAW,UAAE,IAAAomE,OAAA,EAAbA,EAAevhE,QAC7Bz3B,KAAM,CAAC,IAEP03B,aAAc,IAEhB,CACE7Y,MAAoB,QAAfo6E,EAAErmE,EAAW,UAAE,IAAAqmE,OAAA,EAAbA,EAAe/S,OACtB74E,gBAAiB,UACjBrN,KAAM,CAACjyB,OAAoB,QAAdmrH,EAACtmE,EAAW,UAAE,IAAAsmE,OAAA,EAAbA,EAAezhE,QAC7Bz3B,KAAM,CAAC,IAEP03B,aAAc,MAKpB,OACEtpD,eAAA,OAAKG,UAAU,sBAAsBqE,MAAO,CAAEjE,OAAQ,SAAUL,SAC9DF,eAACupD,KAAG,CACF3kB,QAAS,CAAEyhB,qBAAqB,GAChCM,QAASoC,EACTn3B,KAAMA,KAId,E,QCGem5F,OA1DY3pH,IACzB,IAAI,WAAEojD,GAAepjD,EACrB,MAAMwjC,EAAU,CACdm3D,kBAAkB,EAClB98D,gBAAiB,cACjB1+B,OAAQ,IAERqxB,KAAM,CACJ,CACEvxB,KAAM,WAEN4+G,cAAc,EAEdC,mBAAoB,WACpB16D,WAAY,CACV,CACEx/C,KAAM,eAENgvF,EAAa,OAAVxvC,QAAU,IAAVA,OAAU,EAAVA,EAAYi4C,aAEfh9F,MAAO,WAET,CACEuF,KAAM,aACNgvF,EAAa,OAAVxvC,QAAU,IAAVA,OAAU,EAAVA,EAAYg4C,WAEf/8F,MAAO,cAKf8yC,KAAM,OAER,OACEvyC,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1Cge,gBAAA,OAAK+D,MAAM,UAAS/hB,SAAA,CAClBF,eAAA,QAAAE,SAAM,aACNF,eAAA,OAAAE,SAAK,UAEPF,eAAA,OAAAE,SACEF,eAAC08F,KAAa,CAAC93D,QAASA,MAE1B1mB,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,QAAa,gBAG/B+d,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,WAAgB,yBAK7B,E,QC+CAO,qBAlBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAGEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA/FWU,IACxB,MAAM,SAAE03B,EAAQ,aAAE5J,EAAY,cAAEE,GAAkBhuB,GAE3CT,EAAO+vB,GAAYvT,mBAAS,CACjC46F,iBAAkB,CAAC,IAGrBv2G,qBAAU,KACRw2G,GAAmB,GAClB,IAEH,MAMMA,EAAoBvmF,UACxB,IAAIG,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAMk8F,kBAAkBG,UAAUnvC,UAEvD3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKvO,GAAQoM,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHwmF,iBAAkB74F,EAAS0S,KAAKA,SAElCxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAEF,OACEpvB,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,aAAYD,SACvB1C,aAAQmD,EAAMo3G,kBAMZ,KALFp3G,EAAMo3G,iBAAiBG,yBAAyBr6G,OAC9CmC,eAACm4G,GAAoB,CACnB3zD,WAAY7jD,EAAMo3G,iBAAiBG,2BAEnC,OAGRl4G,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,MAAAE,SACGS,EAAMo3G,iBAAiBK,SACtBz3G,EAAMo3G,iBAAiBK,QAAQ92F,KAAI,CAACve,EAAS07B,KAC3C,OACEvgB,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAAE,SAAO6C,EAAQ0tC,QACfzwC,eAAA,QAAAE,SACqB,eAAlB6C,EAAQ0tC,OA7CT5G,EA8Ce9mC,EAAQtF,MA5CzCosC,GADAA,EAAOA,EAAKwW,QAAQ,UAAW,QACnBA,QAAQ,UAAW,QA6CS,kBAAlBt9C,EAAQ0tC,MACR1tC,EAAQtF,MAAMqC,QAAQ,GACtBiD,EAAQtF,UAPPghC,GA1CLoL,KAmDC,QAKf7pC,eAAA,OAAKG,UAAU,OAAMD,SACjB1C,aAAQmD,EAAMo3G,kBAEZ,KADF/3G,eAAC+qH,GAAiB,CAACvmE,WAAY1rB,EAASn4B,MAAMk8F,0BAIhD,I,QC0GKn8F,qBAlBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAGEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAhLSU,IACtB,MAAM,SAAE03B,EAAQ,OAAEh4B,EAAM,aAAEouB,EAAY,cAAEE,GAAkBhuB,GACnDT,EAAO+vB,GAAYvT,mBAAS,CACjCmvB,YAAa,CAAC,EACd+rE,cAAe,CAAC,EAChBpM,eAAgB,OAGlBzqG,qBAAU,KACR82G,GAAgB,GACf,CAAC33G,EAAMsrG,iBAEVzqG,qBAAU,KACR+qC,GAAgB,GACf,IAEH,MAAMA,EAAiB9a,UACrB,IAAIG,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAMk8F,kBAAkBG,UAAUnvC,UAEvD3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKtO,GAAQmM,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUqgE,IAAQ,IACbA,EACHzkD,YAAaptB,EAAS0S,KAAKA,SAE7B1S,EAAS0S,KAAKA,KAAK4mF,YAAY,IAC7B9nF,GAAUa,IAAS,IAAAknF,EAAA,MAAM,IACpBlnF,EACH06E,eAAiD,QAAnCwM,EAAEv5F,EAAS0S,KAAKA,KAAK4mF,YAAY,UAAE,IAAAC,OAAA,EAAjCA,EAAmCzrE,QACpD,IACH5d,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIkpF,EAAiB7mF,UACrB,IAAIG,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAMk8F,kBAAkBG,UAAUnvC,SACrD7gB,QAASrsC,EAAMsrG,gBAEjB/8E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKrO,GAAQkM,GAEb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH8mF,cAAen5F,EAAS0S,KAAKA,SAE/BxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAWF,OACEpvB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,eAAcD,SACzB1C,aAAQmD,EAAM2rC,aAsBZ,KArBA3rC,EAAM2rC,YAAYksE,YAAY36G,OAC5B8C,EAAM2rC,YAAYksE,YAAYl3F,KAAI,CAACve,EAAS07B,IAExCvgB,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQiqC,QACZhoC,KAAK,UACLvH,MAAOsF,EAAQiqC,QACfzrB,QAASxe,EAAQiqC,UAAYrsC,EAAMsrG,eACnCrtF,SAAWnB,IAzBRA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtB4S,GAAUa,IAAS,IACdA,EACH06E,eAAgBxuG,KACf,EAqBuB+wD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASze,EAAQiqC,QAAQ9sC,SAC7B6C,EAAQiqC,YAZHvO,KAiBd,OAGP39B,GAAUd,eAACD,KAAW,SAI3BC,eAAA,OAAKG,UAAU,oBAAmBD,SAC9B1C,aAAQmD,EAAM03G,eA6CZ,KA5CA13G,EAAM03G,cAAcK,cAAc76G,OAChC8C,EAAM03G,cAAcK,cAAcp3F,KAAI,CAACve,EAAS07B,IAE5CvgB,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,MAAAE,SAAK6C,EAAQ41G,QACbz6F,gBAAA,MAAI/d,UAAU,QAAOD,SAAA,CAClB,IAAG6C,EAAQ,mBAAqB,eAAgB,IAAE,IAClD,IAAGA,EAAQ,eAAiB,iBAGjCmb,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAC62G,KAAW,CACVpnB,IACG,IAAM1sF,EAAQ,eACbA,EAAQ,cACV,EACK,IAAMA,EAAQ,eACfA,EAAQ,cACR,EAEN5C,UAAU,gBAEZH,eAAA,QACEwE,MAAO,CACLkiD,MACG,IAAM3jD,EAAQ,eACbA,EAAQ,cACV,EACK,IAAMA,EAAQ,eACfA,EAAQ,cACR,GANA,KAQN7C,SACF,GAAG6C,EAAQ,qBAEfmb,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,QAAAE,SAAM,MACNF,eAAA,QAAAE,SAAO6C,EAAQ,sBAnC0B07B,KAwCjD,WAID,ICjBA/9B,qBAlBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAGEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA1HgBU,IAC7B,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EACpEC,EAAUm1B,uBACd,MAGMsC,EAAWkK,yBACVipE,EAAgBkS,GAAqBhhG,mBAAS,OAC9CyuC,EAASo/D,GAAc7tG,mBAAS,GAUvC,OACEnd,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAT3CqyB,OAAOioB,YAAc,IAWnBt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,IAGlB57C,eAAA,OAAKG,UAAU,kCAAiCD,SAC9Cge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,UAAUge,QAlCrBlH,KACd5V,EAAQkyB,KAAK,eAAe,EAiCwBrzB,SACxCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAEnB1N,eAAA,MAAAE,SAAI,uCAGNge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,MAAI+D,MAAM,eAAelD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAChDF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,kBACNlD,GAAG,kBACH,iBAAe,MACf,iBAAe,eACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,cACd,gBAAc,OAAMhE,SACrB,mBAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAAM,WACNlD,GAAG,gBACH,iBAAe,MACf,iBAAe,aACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,YACd,gBAAc,QAAOhE,SACtB,sBAMPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MAAM,4BACNlD,GAAG,cACH7a,KAAK,WACL,kBAAgB,kBAAiBhE,SAEjCF,eAAC23G,GAAgB,CAAC7+E,SAAUA,MAE9B94B,eAAA,OACEiiB,MAAM,gBACNlD,GAAG,YACH7a,KAAK,WACL,kBAAgB,gBAAehE,SAE/BF,eAACirH,GAAc,CAACnyF,SAAUA,uBAQvC,I,QCmEQp4B,qBAlBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAGEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAhLUU,IAAW,IAAD68G,EAAAC,EACjC,IAAI,aAAEhvF,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EAExE,MAAO6qG,EAAgBkS,GAAqBhhG,mBAAS,MAErD,IAAI9b,EAAUm1B,uBACd,MAGMsC,EAAWkK,yBACVriC,EAAO+vB,GAAYvT,mBAAS,CACjCihG,gBAAiB,CAAC,IAQpB58G,qBAAU,KACR68G,GAAoB,GACnB,IAKH,MAAMA,EAAqB5sF,UACzB,IAAIG,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAMk8F,kBAAkBG,UAAUnvC,UAEvD3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKpO,GAAQiM,GACP,IAAD2sF,EAAlC,GAA6B,MAAzBr/F,EAAS0S,KAAKC,OAChBnB,GAAUa,IAAS,IACdA,EACH6sF,gBAAiBl/F,EAAS0S,KAAKA,SAGjC1S,EAAS0S,KAAKA,KAAK4sF,gBAAgB,IACjCL,EAAuD,QAAtCI,EAACr/F,EAAS0S,KAAKA,KAAK4sF,gBAAgB,UAAE,IAAAD,OAAA,EAArCA,EAAuCn0D,SAE3Dh7B,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAUF,OACElR,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CARpCqyB,OAAOioB,YAAc,IAUnBt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,IAElB57C,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,UAAUge,QArErBlH,KACd5V,EAAQkyB,KAAK,eAAe,EAoEwBrzB,SACxCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAGnB1N,eAAA,MAAIwE,MAAO,CAAE+sC,UAAW,UAAWrxC,SAAC,yBAEpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,eAAcD,SACzB1C,aAAQmD,EAAMy9G,iBAyBZ,KAxBAz9G,EAAMy9G,gBAAgBI,gBAAgB3gH,OACpC8C,EAAMy9G,gBAAgBI,gBAAgBl9F,KACpC,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAI0f,EACJz5B,KAAK,UACLvH,MAAOsF,EAAQqnD,QACf7oC,QAASxe,EAAQqnD,UAAY6hD,EAC7BrtF,SAAWnB,IApFdA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtBqgG,EAAkB1gH,EAAM,EAmFQ+wD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASid,EAAMv+B,SAAE6C,EAAQqnD,YAb3B3rB,KAkBb,SAKVvgB,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,aAAkB,cAEpC+d,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,YAAiB,wBAGrCH,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,MAAAE,SAAK+rG,IAEiB,QAFGgS,EAExBt9G,EAAMy9G,uBAAe,IAAAH,GAAiB,QAAjBC,EAArBD,EAAuBO,uBAAe,IAAAN,OAAjB,EAArBA,EAAwC58F,KAAKve,IAC5C,GAAIA,EAAQqnD,UAAY6hD,EACtB,OACE/tF,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAC62G,KAAW,CACVpnB,IAAK1sF,EAAQg0G,SACb52G,UAAU,aAEZ+d,gBAAA,QAAAhe,SAAA,CAAO,GAAG6C,EAAQg0G,YAAY,cAEhC74F,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAC62G,KAAW,CACVpnB,IAAK1sF,EAAQ+zG,QACb32G,UAAU,YAEZ+d,gBAAA,QAAAhe,SAAA,CAAO,GAAG6C,EAAQ+zG,WAAW,gBAIrC,sBASfh2G,GAAUd,eAACD,KAAW,MACtB,I,gBC5DQmrH,OA5G2B3uF,IAAe,IAAd,KAAE3K,GAAM2K,EACjD,MAAOmiF,EAAkBC,GAAwBxhG,mBAASyU,EAAK,GAAGo2B,WAMlE,OACE9pC,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,OAAMD,SACd,OAAJ0xB,QAAI,IAAJA,OAAI,EAAJA,EAAMtQ,KAAI,CAACve,EAAS07B,IAEjBvgB,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,QACL0e,GAAI0f,EACJhhC,MAAOsF,EAAQilD,UACfzmC,QAASxe,EAAQilD,WAAa02D,EAC9B9/F,SAAWnB,IACTkhG,EAAqBlhG,EAAMK,OAAOrgB,MAAM,IAG5CuC,eAAA,SAAOwhB,QAASid,EAAMv+B,SAAE6C,EAAQilD,cAVxBvpB,OAgBX,OAAJ7M,QAAI,IAAJA,OAAI,EAAJA,EACGkzB,QAAQ/hD,IACR,GAAIA,EAAQilD,WAAa02D,EACvB,OAAO37G,CACT,IAEDue,KAAKve,GAEF/C,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,OACVC,UAAW,UACXrc,aAAc,MACd3rC,MAAO,MACP2+B,gBAAiB,UACjBspB,OAAQ,oBAEVpoD,UAAU,WACVqoD,OAAO,MACP/qD,MAAOsF,EAAQ2lD,MACfnW,KAAM,GAAGxvC,EAAQ2lD,8BAEjBjW,YAAa,EACbnzC,WAAW,YAGbU,eAAA,QAAAE,SAAM,aAGRge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,OACVppB,gBAAiB,UACjBqpB,UAAW,YAEbnoD,UAAU,WACV1C,MAAOsF,EAAQ4lD,YACfpW,KAAM,GAAGxvC,EAAQ4lD,gBACjBlW,YAAa,EACbnzC,WAAW,YAEbU,eAAA,QAAAE,SAAM,sBAIVF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAACqyC,KAAmB,CAClB8V,OAAQC,aAAY,CAClBC,SAAU,OACVppB,gBAAiB,UAEjBqpB,UAAW,YAEbnoD,UAAU,WACV1C,MAAOsF,EAAQ0lD,QACflW,KAAM,GAAGxvC,EAAQ0lD,YACjBhW,YAAa,EACbnzC,WAAW,YAEbU,eAAA,QAAMG,UAAU,uBAAsBD,SAAC,4BAUnD,ECwHKQ,qBAlBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAGEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA7MUU,IACvB,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,SAAEE,EAAQ,eAAEG,GAAmBC,EACpEC,EAAUm1B,uBACd,MAGMsC,EAAWkK,yBACVipE,EAAgBkS,GAAqBhhG,mBAAS,OAC9Cxc,EAAO+vB,GAAYvT,mBAAS,CACjCyhG,gBAAiB,CAAC,EAClBtyE,YAAa,CAAC,IAGhB9qC,qBAAU,KACRq9G,GAAqB,GACpB,CAAC5S,IAEJzqG,qBAAU,KACR+qC,GAAgB,GAEf,IAGH,MAAMA,EAAiB9a,UACrB,IAAIG,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAMk8F,kBAAkBG,UAAUnvC,UAEvD3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKtO,GAAQmM,GACP,IAAD6mF,EAAlC,GAA6B,MAAzBv5F,EAAS0S,KAAKC,OAChBnB,GAAUqgE,IAAQ,IACbA,EACHzkD,YAAaptB,EAAS0S,KAAKA,SAE7B1S,EAAS0S,KAAKA,KAAK4mF,YAAY,IAC7B2F,EAAmD,QAAlC1F,EAACv5F,EAAS0S,KAAKA,KAAK4mF,YAAY,UAAE,IAAAC,OAAA,EAAjCA,EAAmCzrE,SACvD5d,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAUIyvF,EAAsBptF,UAC1B,IAAIG,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAMk8F,kBAAkBG,UAAUnvC,SACrD7gB,QAASi/D,GAEX/8E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKnO,GAAQgM,GACb,MAAzB1S,EAAS0S,KAAKC,OAChBnB,GAAUa,IAAS,IACdA,EACHqtF,gBAAiB1/F,EAAS0S,KAAKA,SAGjClB,GAAUa,IAAS,IACdA,EACHqtF,gBAAiB,OAGrBxvF,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAUF,OACEpvB,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CARtCqyB,OAAOioB,YAAc,IAUnBt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,IAElB57C,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,UAAUge,QApGrBlH,KACd5V,EAAQkyB,KAAK,eAAe,EAmGwBrzB,SACxCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAGnBwQ,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,MAAAE,SAAI,sBACJge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SAClC1C,aAAQmD,EAAM2rC,aA2BZ,KA1BA3rC,EAAM2rC,YAAYksE,YAAY36G,OAC5B8C,EAAM2rC,YAAYksE,YAAYl3F,KAC5B,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQiqC,QACZhoC,KAAK,UACLvH,MAAOsF,EAAQiqC,QACfzrB,QAASxe,EAAQiqC,UAAYi/D,EAC7BrtF,SAAWnB,IAjFhBA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtB+gG,IAEAV,EAAkB1gH,EAAM,EA8EU+wD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASze,EAAQiqC,QAAQ9sC,SAC7B6C,EAAQiqC,YAdNvO,KAoBb,OAGP39B,GAAUd,eAACD,KAAW,IACvBme,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC3B1C,aAAQmD,EAAMi+G,iBAMZ,KALFj+G,EAAMi+G,gBAAgBG,SAASlhH,OAC7BmC,eAACkrH,GAAiC,CAChCt5F,KAAMjxB,EAAMi+G,gBAAgBG,WAE5B,OAGR/+G,eAAA,OAAKG,UAAU,iBAAgBD,SAC7Bge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAI/d,UAAU,QAAOD,SAAA,CACnBF,eAAA,QAAAE,SAAM,WACNF,eAAA,QAAAE,SAAM,YACNF,eAAA,QAAAE,SAAM,UACNF,eAAA,QAAAE,SAAM,mBAEN1C,aAAQmD,EAAMi+G,iBAeZ,KAdAj+G,EAAMi+G,gBAAgBG,SAASlhH,OAC7B8C,EAAMi+G,gBAAgBG,SAASz9F,KAC7B,CAACve,EAAS07B,IAENvgB,gBAAA,MAAgB/d,UAAU,YAAWD,SAAA,CACnCF,eAAA,QAAAE,SAAO6C,EAAQilD,YACfhoD,eAAA,QAAAE,SAAO6C,EAAQ0lD,UACfzoD,eAAA,QAAAE,SAAO6C,EAAQ2lD,QACf1oD,eAAA,QAAAE,SAAO6C,EAAQ4lD,gBAJRlqB,KASf,8BAWvB,I,QCrKQugF,OAzCiB59G,IAC9B,IAAI,WAAEojD,GAAepjD,EACrB,MAAMwjC,EAAU,CACdm3D,kBAAkB,EAClB98D,gBAAiB,cACjB1+B,OAAQ,IACRqxB,KAAM,CACJ,CACEvxB,KAAM,WACN4+G,cAAc,EAEdC,mBAAoB,WACpB16D,WAAY,CACV,CACEx/C,KAAM,UACNgvF,EAAa,OAAVxvC,QAAU,IAAVA,OAAU,EAAVA,EAAa,sBAChB/kD,MAAO,WAET,CACEuF,KAAM,QACNgvF,EAAa,OAAVxvC,QAAU,IAAVA,OAAU,EAAVA,EAAa,wBAChB/kD,MAAO,WAET,CACEuF,KAAM,cACNgvF,EAAa,OAAVxvC,QAAU,IAAVA,OAAU,EAAVA,EAAa,0BAChB/kD,MAAO,eAMjB,OACEO,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAC08F,KAAa,CAAC93D,QAASA,OAEjB,ECkNAlkC,qBAlBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAGEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAlOIU,IAAW,IAAD8+G,EAAAC,EAAAgL,EAAAC,EAC3B,IAAI,aAAEl8F,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,SAACE,EAAQ,eAAEG,GAAmBC,EACnEC,EAAUm1B,uBACd,MAGMsC,EAAWkK,yBACVipE,EAAgBkS,GAAqBhhG,mBAAS,OAC9Cxc,EAAO+vB,GAAYvT,mBAAS,CACjCijG,cAAe,CAAC,EAChBC,kBAAmB,KACnB/zE,YAAa,CAAC,IAEhB9qC,qBAAU,KACRq9G,GAAqB,GACpB,CAAC5S,IACJzqG,qBAAU,KACR+qC,GAAgB,GACf,IAGH,MAAMA,EAAiB9a,UACrB,IAAIG,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAMk8F,kBAAkBG,UAAUnvC,UAEvD3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKtO,GAAQmM,GACP,IAAD6mF,EAAlC,GAA6B,MAAzBv5F,EAAS0S,KAAKC,OAChBnB,GAAUqgE,IAAQ,IACbA,EACHzkD,YAAaptB,EAAS0S,KAAKA,SAE7B1S,EAAS0S,KAAKA,KAAK4mF,YAAY,IAC7B2F,EAAmD,QAAlC1F,EAACv5F,EAAS0S,KAAKA,KAAK4mF,YAAY,UAAE,IAAAC,OAAA,EAAjCA,EAAmCzrE,SACvD5d,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAQIyvF,EAAsBptF,UAC1B,IAAIG,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAMk8F,kBAAkBG,UAAUnvC,SACrD7gB,QAASi/D,GAEX/8E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlO,GAAQ+L,GACb,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH6uF,cAAelhG,EAAS0S,KAAKA,SAE/B0uF,EAAkBphG,EAAS0S,KAAKA,KAAK,uBAErClB,GAAUa,IAAS,IACdA,EACH6uF,cAAe,OAGnBhxF,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIkxF,EAAqB37D,IACzB,IAAIy6D,EAAe,GACfC,EAAa,GACjB,IAAK,IAAIznD,EAAI,EAAGA,EAAIjT,EAAM9mD,OAAQ+5D,IACX,SAAjBjT,EAAMiT,GAAG2oD,KACXnB,EAAa7rF,KAAK,CAAEwgE,EAAGn8B,EAAI,EAAGo8B,EAAGj2E,SAAS4mC,EAAMiT,GAAG4oD,QAEnDnB,EAAW9rF,KAAK,CAAEwgE,EAAGn8B,EAAI,EAAGo8B,EAAGj2E,SAAS4mC,EAAMiT,GAAG4oD,QAGrD9vF,GAAUqgE,IAAQ,IACbA,EACHsvB,kBAAmB,CAAEjB,eAAcC,iBAClC,EASL,OACEr/G,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAR/BqyB,OAAOioB,YAAc,IASTt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CAAEF,eAAC2qC,GAA0B,IACnC3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEhBhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAErCrB,eAAC47C,GAAe,IACnB57C,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,UAAUge,QA5GrBlH,KACd5V,EAAQkyB,KAAK,eAAe,EA2GwBrzB,SACxCF,eAAA,OAAKsgB,IAAKpb,GAAOwI,oBAGnBwQ,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,MAAAE,SAAI,cACJge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SAClC1C,aAAQmD,EAAM2rC,aA2BZ,KA1BA3rC,EAAM2rC,YAAYksE,YAAY36G,OAC5B8C,EAAM2rC,YAAYksE,YAAYl3F,KAC5B,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQiqC,QACZhoC,KAAK,UACLvH,MAAOsF,EAAQiqC,QACfzrB,QAASxe,EAAQiqC,UAAYi/D,EAC7BrtF,SAAWnB,IA3FhBA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtBqgG,EAAkB1gH,EAAM,EA0FU+wD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASze,EAAQiqC,QAAQ9sC,SAC7B6C,EAAQiqC,YAdNvO,KAoBb,OAGP39B,GAAUd,eAACD,KAAW,IACvBme,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAACs/G,GAAY,CAAC96D,WAAY7jD,EAAM0/G,sBAElCniG,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAACqyC,KAAmB,CAClB50C,MACqB,QAAnByiH,EAAAv/G,EAAMy/G,qBAAa,IAAAF,GAAnBA,EAAsB,cACC,QADYC,EAC/Bx/G,EAAMy/G,qBAAa,IAAAD,OAAA,EAAnBA,EAAsB,cACtB,EAEN1tE,YAAa,OAGjBv0B,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAAE,SAAG,+BACHge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,WAAa,UAEfke,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,WACC,aACoB,QAAnBmrH,EAAAxqH,EAAMy/G,qBAAa,IAAA+K,GAAnBA,EAAsB,cACC,QADYC,EAC/BzqH,EAAMy/G,qBAAa,IAAAgL,OAAA,EAAnBA,EAAsB,cACtB,cAKZltG,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAACqrH,GAAc,CAAC7mE,WAAY7jD,EAAMy/G,kBAEpCliG,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAAE,SAAG,0BACHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,WAAa,aAEfke,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,WAAa,WAGfke,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,WAAa,2CAYhC,I,QCmsBQsrH,OAj6BkBlqH,IAAW,IAADsmF,EAAAC,EAAAC,EACzC,IAAI,qBACFE,EAAoB,gBACpB7C,EAAe,uBACfwb,EAAsB,0BACtB1Y,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,SAClBpnF,EAAQ,eACR08F,GACEt8F,GAEA,OAAEg0B,GAAWp0B,EACjB,MAAO++E,EAAM4J,GAAWxsE,oBAAS,IAC1BosE,EAAYC,GAAiBrsE,oBAAS,IACtC6sE,EAAQC,GAAa9sE,oBAAS,GAErC0iE,GAAW4gB,EAAwB1gB,EAAMiK,GAEzC,MA2BOb,EAAWC,GAAgBjsE,oBAAS,GAErCktE,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAiBLkgB,EAAyBA,CAACt2B,EAAGoW,KACjC,IAAIt/B,EAAO,EAEX,GAAIkpB,GAAKoW,EACPt/B,EAAO,MACF,IAAKkpB,IAAKoW,EAoBf,MAAO,GAnBPt/B,EAAO,CAoBT,GAGIy/C,EAAuB/gC,IAC3B,MAAM,aAAEghC,GAAiBhhC,EAEzB,OAAoB,GAAhBghC,EACK,mCACkB,GAAhBA,EACF,iCAEA,sCACT,EAGIC,EAA+BjhC,IACnC,MAAM,aAAEghC,GAAiBhhC,EAEzB,OAAoB,GAAhBghC,EACK9gH,eAAA,OAAKsgB,IAAKpb,GAAOsM,mBACC,GAAhBsvG,EACF9gH,eAAA,OAAKsgB,IAAKpb,GAAOuM,mBAEjB,EACT,EAGIo5E,EAAsBC,GAExB9qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,eAMfm6C,EACC79G,EAAQmoF,WACRnoF,EAAQkoF,0BAjCJxsD,KAuCd,SAMN6sD,EAAqBR,GAEvB9qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,eAMfm6C,EACC79G,EAAQmoF,WACRnoF,EAAQkoF,0BAjCJxsD,KAuCd,SAMN8sD,EAAmBA,KAAO,IAAD9D,EAC7B,OACEznF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OACEG,UAAW0gH,EACT/4B,EAAqB7C,IACrB/kF,SAEFge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,SAEEK,KAAK,SACL5C,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAC9CppE,UAAQ,GAHH8lE,KAMTjlF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC6gH,EACCj5B,EAAqB7C,cAMtB,EAyBTrhB,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B1uC,MAC/B,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEmoB,EAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACzCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,EAAE,EAuDDguC,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbC,EAAuBA,CAACzK,EAAUviD,KACtC,MAAM,OAAEitD,GAAW1K,EACH0K,EAAOzsF,SAAS,UAChBysF,EAAOzsF,SAAS,QAChC,IAAIq2F,EAAgB5J,EAAO0E,WACzB,gBACA,gDAGF,GAAInL,IAAoBxmD,EACtB,OAAI62D,GAAiBA,EAAcz3F,OAE/BmC,eAAA,SACEG,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAqDf,CACL,IAAI+2D,EAAa,GAUjB,OAPEA,EAD2B,GAAzBxU,EAAS8/B,aACE,uBACqB,GAAzB9/B,EAAS8/B,aACL,yBAEA,GAIb9gH,eAAA,SACEG,UAAW,kBAAkBq1F,IAC7Br3E,QAASA,KACPiqE,EAAmB3pD,GAEnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,OAepB,GAGIwtD,EAAsBA,CAACjL,EAAUviD,KACrC,MAAM,OAAEitD,GAAW1K,EACboV,EAAU1K,EAAOzsF,SAAS,UAC1Bk3F,EAAUzK,EAAOzsF,SAAS,QAChC,IAAIq2F,EAAgB5J,EAAO0E,WACzB,gBACA,gDAGF,GAAInL,IAAoBxmD,EACtB,OAAI62D,GAAiBA,EAAcz3F,OAAS,EAExCqgB,gBAAA,SACE/d,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CACvBC,OAAQytC,EAAO0E,WACb,gBACA,mDAKNpwF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQytC,EAAO0E,WACb,gBACA,wDAOZpwF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIpC,CACL,IAAIutF,EAAa,GAUjB,OAPEA,EAD2B,GAAzBxU,EAAS8/B,aACE,uBACqB,GAAzB9/B,EAAS8/B,aACL,yBAEA,GAIb5iG,gBAAA,SACE/d,UAAW,kBAAkBq1F,IAC7Br3E,QAASA,KACPiqE,EAAmB3pD,GAEnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,aAGzC,GAIO6/E,EAAqBjqF,OAC9B,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,6CAA4CD,SACzDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFxpF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAGxBxpF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAM/pF,SACpC8pF,EACChqF,eAAA,OACEsgB,IAAKpb,GAAOqK,oBACZ6R,IAAI,UAGNphB,eAAA,OAAKsgB,IAAKpb,GAAOoK,mBAAoB8R,IAAI,WAG7CphB,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAO/pF,SACrC8pF,EACChqF,eAAA,OAAKsgB,IAAKpb,GAAOkK,mBAAoBgS,IAAI,SAEzCphB,eAAA,OACEsgB,IAAKpb,GAAOmK,oBACZ+R,IAAI,kBAMdlD,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,yBAM/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAChD4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAG+rF,EAAoBlpF,EAAS07B,KAEhCz+B,eAAA69B,YAAA,CAAA39B,SAAGurF,EAAqB1oF,EAAS07B,MAV9BA,KAeX,YAIVvgB,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,eAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,iDAAgDD,SAC7Dge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,cAIhCqgB,gBAAA,OACE1Z,MAAO,CACLjE,OAAQ,OACR2yD,UAAW,SACX3M,QAAS,QACTrmD,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,SACrB,IACPF,eAAA,QAAAE,SACwC,QADxCwnF,EACGI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC/4B,gBAI5CzwC,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAAC,aACpB,IACXF,eAAA,QAAAE,SAEyC,QAFzCynF,EAEIG,EAAqB7C,UAAgB,IAAA0C,OAAA,EAArCA,EACI+oB,oBAKVxyF,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAAC,iBACpB,IACfF,eAAA,QAAAE,SACwC,QADxC0nF,EACGE,EAAqB7C,UAAgB,IAAA2C,OAAA,EAArCA,EAAuC4F,cAE1CxtF,eAAA,OAAKG,UAAU,2BAGjBH,eAAA,OAAKG,UAAU,4BAA2BD,SAExCF,eAAA,OAAKG,UAAU,uBAAsBD,SAOnCge,gBAAA,OACE/d,UAAU,cACVqE,MAAO,CAAEC,QAAS,SAAUvE,SAAA,CAE5BF,eAAA,OACEG,UAAU,eACVqE,MAAO,CAAEC,QAAS,SAAUvE,SAE3B,YAAYP,OAAOslF,GAAmB,OAEb,OAA3Bwb,QAC0B/iG,IAA3B+iG,GAC2B,KAA3BA,EACEviF,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEG,UAAU,eACV69C,wBAniBEyiD,KACzB,CACLxiD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB5K,WAiiBqBD,CACvB6K,KAIJzgG,eAAA,KACEG,UAAU,eACV69C,wBAhjBKyiD,KAC5B,CACLxiD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxK,SA8iBqB+qB,CACvBvgB,KAGJzgG,eAAA,OAAAE,SACEF,eAAA,KACEG,UAAU,eACV69C,wBAhkBNyiD,KACnB,CACLxiD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAAOrrC,QACrC,gBACA,kDA4jBqDu7C,CACvB9T,EAAqB7C,WAM7B,UAMRjlF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3BugG,QACiC/iG,IAAlC+iG,EAAuBh6B,OA9zBtBg6B,KACrB,IAAIA,EAuBF,OAAO,KAvBmB,CAC1B,IAAI9vE,EACFtwB,EAA6B,OAAtBogG,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBjT,YAAY1uF,cAU7C,OAPE6xB,EADW,mBAATtwB,EACK,EACW,oBAATA,EACF,EAEA,EAGDswB,GACN,KAAK,EACH,OAAOk6D,EAAmB4V,GAC5B,KAAK,EACH,OAAOlV,EAAiBkV,GAC1B,KAAK,EACH,OAAOnV,EAAkBmV,GAC3B,QACE,OAAO,KAEb,CAEA,EAsyBwBnT,CAAcmT,GACd,KAGsB,OAA3BA,QAC0B/iG,IAA3B+iG,GAC2B,KAA3BA,EACEviF,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,cAEJge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEg+C,wBAzfJyiD,KACtB,MAAM,SAAExB,GAAawB,EACrB,MAAO,CACLxiD,OAAgB,OAARghD,QAAQ,IAARA,OAAQ,EAARA,EAAU7O,WAChB,YACA,2CAEH,EAkfkDuQ,CACvBF,KAImB,OAAtBA,QAAsB,IAAtBA,KAAwB9T,iBAxiB9B7M,KACnB,MAEMrS,EAFgC,OAAtBqS,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB6M,iBAMlCoT,EAFa,uDAESxoE,KAAKk2C,GAE3B2f,EAAcjE,EAChB,uBACA,sBAEJ,OAAI1b,GAA8C,KAA3BA,EAAgB3vE,OAEnCogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAGFjE,GAAa4W,EACZ//F,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,EACR/N,MAAM,0EACNC,iBAAe,IAEf,KACHqzB,IAAc4W,EACb//F,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,gBAEV,QAID,IACT,EAkgB4BusF,CAAY+T,GACZ,SAIR,SAINviF,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GAC5CmE,GAAa,EAAM,EACnBlpF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,oBAEVtzB,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GACxCmE,GAAa,EAAM,EACnBlpF,SACH,+BAaZ,ECpwBAQ,qBAnBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB7yB,SAAUL,EAAMM,KAAKC,KACrBw8F,eAAgB/8F,EAAMy2F,uBAAuBsG,mBAGrBvtE,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EArJeU,IAC5B,IAAI,aACF8tB,EAAY,cACZE,EAAa,OACbtuB,EAAM,SACNE,EAAQ,MACRswB,EAAK,UACLuC,EAAS,eACT6pE,GACEt8F,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,GACtB7C,gBAAiB,EACjBwb,uBAAwB,CAAC,IAE3Bj/F,qBAAU,KACR88E,GAAiB,GAChB,IAEH,MAAMA,EAAkB7sD,UACtBvC,IAEA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAAU6vC,EAAe7vC,UAE3B,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAKjI,GAAS8F,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,SAChB+uE,EACE1hF,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBAAiBp3B,SAC1C3uC,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBAAiB4D,KAG5Cn4D,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsB5oE,EAAS0S,KAAKA,SAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIwxE,EAA4BnvE,MAAOo8B,EAAUg7B,KACjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAGF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKhI,GAAS6F,GAEf,KAAxB1S,EAAS0S,KAAKC,SAChBzC,IAEAsB,GAAUa,IAAS,IACdA,EACHkvE,uBAAwBvhF,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GA6CF,OACEiZ,gBAAA,OAAAhe,SAAA,CACEF,eAACsrH,GAAuB,CACtBxjC,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvBwb,uBAAwB9/F,EAAM8/F,uBAC9B1Y,0BAjC6BgD,IACjC,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EAA0B/yC,EAAUg7B,GAChC5D,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAGxBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAoBI0lB,sBAhDyB+C,IAC7B,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EAA0B/yC,EAAUg7B,GACpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,EAAE,EAsCjB8lB,mBAlBsB5B,IAC1B,MAAM,SAAE34B,EAAQ,IAAEg7B,GAAQloF,EAAMmnF,qBAAqBtB,GAErDoa,EAA0B/yC,EAAUg7B,GAEpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAWCxlF,SAAUA,EACV08F,eAAgBA,IAEjB58F,GAAUd,eAACD,KAAW,MACnB,I,QCwBKW,qBApBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OAChB48F,eAAiB/8F,EAAMuxG,gBAAgBC,cACvCnxG,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAICgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA5IKU,IAClB,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,eAAE48F,EAAc,SAAE18F,EAAQ,eAAEG,GAAmBC,EAExF,MAAOT,EAAO+vB,GAAYvT,qBAC1B,IAAI9b,EAAUm1B,uBAIGwM,wBACjBxhC,qBAAU,KACR+pH,GAAe,GACd,IAEH,MAAMA,EAAgB95F,UACpB,IAAIG,EAAO,CACTi8B,SAAS6vC,EAAe7vC,UAE1B3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK/M,GAAQ4K,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,EAASxR,EAAS0S,MAClBxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAMF,IAAIgrE,EAAa,OAALz5F,QAAK,IAALA,OAAK,EAALA,EAAOixB,KACF,OAALjxB,QAAK,IAALA,KAAO6qH,eACF,OAAL7qH,QAAK,IAALA,KAAO8qH,eAEnB,MAAOnxE,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EASnC,OAPAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAEDt6C,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAE9Bo6C,GAAe,IAEZp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5C6c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gCAGfH,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAC+1D,GAAgB,CAAC10D,QAASA,SAIjC6c,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CACtB5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QAChBljC,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEzCphB,eAAA,MAAAE,SAAI,oBAENge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAO3sC,qBAEbvvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOzsC,iBAEbzvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOC,oBAEbn8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOE,sBAEbp8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAI,GAAQ,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOsxB,+BAIpBxtG,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,UAAQme,QAASA,KACf9c,EAAQkyB,KAAK,CAACC,SAAU,OAC1B7yB,MAAO,CAACyiC,IAAK,QACb,EACEljC,SAAC,kBACHF,eAAA,UAAQme,QApFAs/E,KAChBp8F,EAAQkyB,KAAK,2BAA2B,EAmFLrzB,SAAC,6BAIjC,I,QCmBQQ,qBApBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OAChB48F,eAAiB/8F,EAAM09F,aAAastB,cACpC3qH,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAICgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAzIKU,IAClB,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,eAAE48F,EAAc,SAAE18F,EAAQ,eAAEG,EAAc,QAACE,GAAYD,EAC5FmpD,EAAUmzC,EACd,MAAO/8F,EAAO+vB,GAAYvT,qBAC1B,IAAIyuG,EAAWp1F,uBAIEwM,wBACjBxhC,qBAAU,KACRqqH,GAAe,GACd,IAED,MAAMA,EAAgBp6F,UACtB,IAAIG,EAAO,CACTi8B,SAAS6vC,EAAe7vC,UAE1B3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9K,GAAS2I,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBnB,EAASxR,EAAS0S,MAClBtwB,QAAQC,IAAI,aAAa2d,EAAS0S,KAAKA,MACvCxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,CAAC,QAECA,GACF,GAUF,IAAIgrE,EAAa,OAALz5F,QAAK,IAALA,OAAK,EAALA,EAAOixB,KACF,OAALjxB,QAAK,IAALA,KAAO6qH,eACF,OAAL7qH,QAAK,IAALA,KAAO8qH,eAEnB,MAAOnxE,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EASnC,OAPAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAEDt6C,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAChCo6C,GAAe,IAEVp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAGxCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAElC6c,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CACtB5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QAChBljC,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEzCphB,eAAA,MAAAE,SAAI,oBAENge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAO3sC,qBAEbvvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOzsC,iBAEbzvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOC,oBAEbn8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOE,sBAEbp8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAI,GAAQ,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOsxB,+BAIpBxtG,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,UAAQme,QAASA,KACf9c,EAAQkyB,KAAK,CAACC,SAAU,OAAQ7yB,MAAO,CAACyiC,IAAK,QAAQ,EACrDljC,SAAC,kBACHF,eAAA,UAAQme,QA7EAs/E,KAChBmuB,EAASr4F,KAAK,CACZC,SAAU,2BACV7yB,MAAO,CACL4pD,YAEF,EAuEiCrqD,SAAC,6BAIjC,I,wBCzDQQ,qBANUC,IAChB,CACLitD,SAAUjtD,EAAMmrH,qBAAqBC,uBAI1BrrH,EAzEyBU,IACtC,IAAI,SAAEiyC,EAAQ,SAAEua,GAAaxsD,EAE7B,MAAMC,EAAUm1B,uBACVsC,EAAWkK,wBACjB,IAAIsR,EAAexb,EAASn4B,MAAM2zC,aAalC,OACEp2B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDge,gBAAA,OAAK/d,UAAU,wCAAuCD,SAAA,CACpDge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UAAQG,UAAU,UAAUge,QAhBhB2+E,KACpBx7F,QAAQC,IAAI,iBACZF,EAAQkyB,KAAK,CACXC,SAAU,8BACV7yB,MAAO,CACL2zC,aAAcA,EACdpiB,SAAU4G,EAASn4B,QAErB,EAQyDT,SACjDF,eAAA,OAAKsgB,IAAKpb,GAAOgS,SAAUkK,IAAI,cAEjCphB,eAAA,MAAAE,SAAI,yBAGNge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,gBAAeD,SAAC,iBAC/BF,eAAA,OAAKG,UAAU,iBAAgBD,SAAE0tD,EAASe,gBAG5C3uD,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,MAAAE,SAAI,wBAEJge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,0DAEJge,gBAAA,MAAAhe,SAAA,CACG,IAAI,0EAKPge,gBAAA,MAAAhe,SAAA,CACG,IAAI,qEAKTF,eAAA,OAAKG,UAAU,iBAAgBD,SAAC,8BAM1CF,eAAA,OAAKG,UAAU,eAAege,QAASA,IAAMk1B,IAAWnzC,SAAC,iBAGxD,I,QCnEP,MAqGa8rH,GAAoBn/C,IAO1B,IAP2B,SAChCmU,EAAQ,MACRviD,EAAK,gBACLwmD,EAAe,mBACfmD,EAAkB,0BAClBwC,EAAyB,cACzBpB,GACD3c,EAOC,IAAIo/C,EAAiB,iBAOrB,OANIhnC,IAAoBxmD,EACtBwtF,GAAkB,eACTjrC,EAAS2J,cAClBshC,GAAkB,iBAIlBjsH,eAAA,SAAOG,UAAW8rH,EAAgB9tG,QAdhBirB,KAClBg/C,EAAmB3pD,GACnBmsD,EAA0BnsD,GAC1B+qD,GAAc,EAAM,EAWmCtpF,SACrDF,eAAA,OAAKG,UAAU,cAAaD,SAAEu+B,EAAQ,KAChC,EAIGytF,OAjIa3vF,IAQrB,IARsB,SAC3BykD,EAAQ,MACRviD,EAAK,gBACLwmD,EAAe,mBACfmD,EAAkB,0BAClBwC,EAAyB,KACzB7K,EAAI,cACJyJ,GACDjtD,EACC,MAAM,OAAEmvD,EAAM,aAAEa,GAAiBvL,EAC3BoV,EAAU1K,EAAOzsF,SAAS,UAC1Bk3F,EAAUzK,EAAOzsF,SAAS,QAChC,IAAIq2F,EAAgB,GAQpB,OALEA,EADEvV,EACc2L,EAEAa,GAAgBb,EAG9BzG,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,GAC1B+qD,GAAc,EAAM,EACpBtpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,IAAE,GAAGu+B,EAAQ,KAAK,OAClDz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,QAG5C4/D,EAAS2J,YAEhBzsE,gBAAA,SACE/d,UAAU,+BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,GAC1B+qD,GAAc,EAAM,EACpBtpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,IAAE,GAAGu+B,EAAQ,KAAK,OAClDz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,QAKnDlD,gBAAA,SACE/d,UAAU,kBACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,GAC1B+qD,GAAc,EAAM,EACpBtpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,IAAE,GAAGu+B,EAAQ,KAAK,OAClDz+B,eAAA,OAAKG,UAAW,QAAOg2F,EAAU,YAAc,IAAKj2F,SACjDk2F,EACCp2F,eAAA,OACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQq3C,KAGrCt1F,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQq3C,UAI5Ct1F,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,OAGvD,E,QChEa+qG,OArCEA,IAEbnsH,eAAA,OACEM,MAAM,KACNC,OAAO,KACPqzF,QAAQ,YACRC,KAAK,OACLC,MAAM,6BAA4B5zF,SAElCge,gBAAA,KAAGa,GAAG,eAAc7e,SAAA,CAClBF,eAAA,QACE+zF,EAAE,MACFC,EAAE,MACF1zF,MAAM,OACNC,OAAO,OACP0zF,GAAG,MACHJ,KAAK,YAEP7zF,eAAA,QACE+zF,EAAE,MACFC,EAAE,MACF1zF,MAAM,OACNC,OAAO,OACP0zF,GAAG,MACHC,OAAO,UACP,eAAa,QAEfl0F,eAAA,QACE+e,GAAG,SACHswB,EAAE,qoDACFwkD,KAAK,iBCPAu4B,OArBGA,IAEdpsH,eAAA,OACEM,MAAM,KACNC,OAAO,KACPqzF,QAAQ,YACRC,KAAK,OACLC,MAAM,6BAA4B5zF,SAElCge,gBAAA,KAAGa,GAAG,eAAc7e,SAAA,CAClBF,eAAA,QAAMM,MAAM,KAAKC,OAAO,KAAK0zF,GAAG,IAAIJ,KAAK,YACzC7zF,eAAA,QACE+e,GAAG,SACHswB,EAAE,shEACFwkD,KAAK,eCOAw4B,OArBGA,IAEdrsH,eAAA,OACEM,MAAM,KACNC,OAAO,KACPqzF,QAAQ,YACRC,KAAK,OACLC,MAAM,6BAA4B5zF,SAElCge,gBAAA,KAAGa,GAAG,eAAc7e,SAAA,CAClBF,eAAA,QAAMM,MAAM,KAAKC,OAAO,KAAK0zF,GAAG,IAAIJ,KAAK,YACzC7zF,eAAA,QACE+e,GAAG,SACHswB,EAAE,qoDACFwkD,KAAK,eCuBAy4B,OArCEA,IAEbtsH,eAAA,OACEM,MAAM,KACNC,OAAO,KACPqzF,QAAQ,YACRC,KAAK,OACLC,MAAM,6BAA4B5zF,SAElCge,gBAAA,KAAGa,GAAG,eAAc7e,SAAA,CAClBF,eAAA,QACE+zF,EAAE,MACFC,EAAE,MACF1zF,MAAM,OACNC,OAAO,OACP0zF,GAAG,MACHJ,KAAK,YAEP7zF,eAAA,QACE+zF,EAAE,MACFC,EAAE,MACF1zF,MAAM,OACNC,OAAO,OACP0zF,GAAG,MACHC,OAAO,UACP,eAAa,QAEfl0F,eAAA,QACE+e,GAAG,SACHswB,EAAE,shEACFwkD,KAAK,iBCgGA04B,OArHWhwF,IAYnB,IAADkrD,EAAAC,EAAA,IAZqB,mBACzBiJ,EAAkB,WAClBlQ,EAAU,uBACVsU,EAAsB,qBACtBjN,EAAoB,gBACpB7C,EAAe,mBACfmD,EAAkB,0BAClBwC,EAAyB,KACzB7K,EAAI,oBACJke,EAAmB,WACnB1U,EAAU,cACVC,GACDjtD,EACC,MAAOytD,EAAQC,GAAa9sE,oBAAS,GAErC,OACEe,gBAAA,OACE/d,UAAW,oBAAmBopF,EAAa,wBAA0B,IAAKrpF,SAAA,CAE1EF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CACxB,IACgD,QAD7CunF,EACkC,QADlCC,EACHI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAAI,UAEvDznF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,cAKHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,mBAAkBD,SAAC,kBAChCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACosH,GAAS,IAAMpsH,eAACssH,GAAQ,MAErCtsH,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACmsH,GAAQ,IAAMnsH,eAACqsH,GAAS,YAIzCnuG,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAE3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,0BAMnDF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAE5BF,eAAA,OACEG,UAAW,yBACD6pF,EAAS,GAAK,qBAAsB9pF,SAE7C4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,yBAEX6pF,EACI,uCACA,uCAEJjrE,GAAG,QAAO7e,SAET8pF,EACChqF,eAACksH,GAAmB,CAClBlrC,SAAUj+E,EACV07B,MAAOA,EACPwmD,gBAAiBA,EACjBmD,mBAAoBA,EACpBwC,0BAA2BA,EAC3BqT,oBAAqBA,EACrBle,KAAMA,EACNwJ,WAAYA,EACZC,cAAeA,IAGjBxpF,eAACgsH,GAAiB,CAChBhrC,SAAUj+E,EACV07B,MAAOA,EACPwmD,gBAAiBA,EACjBmD,mBAAoBA,EACpBwC,0BAA2BA,EAC3BqT,oBAAqBA,EACrBle,KAAMA,EACNwJ,WAAYA,EACZC,cAAeA,KA/Bd/qD,KAqCX,WAGJ,E,gBC7FK+tF,OA5BWjwF,IAKnB,IAADkrD,EAAA,IALqB,gBACzBxC,EAAe,qBACf6C,EAAoB,KACpB/H,EAAI,QACJ4J,GACDptD,EAC4BurD,EAAqBjqF,OAEhD,OACEqgB,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,YAG9BmC,eAAA,OAAKG,UAAU,uBAAsBD,SAClC4nF,EAAqB7C,IACe,QADCwC,EACtCK,EAAqB7C,UAAgB,IAAAwC,GAArCA,EAAuC8E,aACrCvsF,eAAA,UAAQme,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAAE6/E,EAAO,SAAM,MAErD,OAGA,E,QC4FK0sC,OAlHalwF,IAOrB,IAADkrD,EAAA,IAPuB,uBAC3B3H,EAAsB,KACtBC,EAAI,oBACJke,EAAmB,qBACnBnW,EAAoB,gBACpB7C,EAAe,QACf0E,GACDptD,EAuFC,OACEv8B,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,cAAaD,SAAC,oBACQ,QADcunF,EACnDK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuC+F,iBAI5CtvE,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CAAC,YACf,GAAGP,OAAOslF,GAAmB,QAGzCjlF,eAAA,OAAKG,UAAU,cAAaD,SAvFLosF,MAC3B,MAAM,OAAEZ,EAAM,aAAEa,GAAiBzM,GAA0B,CAAC,EACtDqW,EAAUzK,GAAUA,EAAOzsF,SAAS,QACpCm3F,EAAU1K,GAAUA,EAAOzsF,SAAS,UACpCo3F,EAAW3K,GAAUA,EAAOzsF,SAAS,WAC3C,IAAIw3F,EAAW,GAEf,GAAIN,EAAS,CACX,MACMlqB,EADc,oCACMyqB,KAAKhL,GAC3Bzf,GAASA,EAAM,KACjBwqB,EAAWxqB,EAAM,GAErB,CAEA,OAAI8T,EAEA7hE,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,KAKb0K,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAI/B89F,EAAoB1R,GAEpBruE,gBAAA,OAAAhe,SAAA,CACGqsF,GACCvsF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQsuC,KAKb6J,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,oBAKjC+d,gBAAA,OAAAhe,SAAA,CACGwrF,GACC1rF,eAAA,KACEG,UAAW,GAAGg2F,EAAU,cAAgB,MACtCC,EAAU,cAAgB,MACxBC,EAAW,eAAiB,KAChCr4C,wBAAyB,CACvBC,OAAQytC,KAIb0K,GAAWp2F,eAAA,SAAOG,UAAU,gBAC5Bk2F,GAAYr2F,eAAA,UAAQG,UAAU,mBAIvC,EAiBkCmsF,SAE5B,E,QC4JKogC,OA5QSnwF,IAejB,IAfkB,aACvBspD,EAAY,kBACZD,EAAiB,uBACjB9F,EAAsB,KACtBC,EAAI,qBACJ+H,EAAoB,YACpBuC,EAAW,WACXD,EAAU,gBACVnF,EAAe,IACf2E,EAAG,yBACH3B,EAAwB,oBACxB4X,EAAmB,wBACnB3X,EAAuB,uBACvBC,EAAsB,cACtBG,GACD/rD,EAmPC,OACEv8B,eAAA,OAAKG,UAAU,kBAAiBD,SACF,OAA3B4/E,QACkCpiF,KAAb,OAAtBoiF,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBrZ,QA3CN6mB,EAACxN,EAAwBC,KAC7C,IAAID,EAmCF,OAAO,KAnCmB,CAC1B,IAAInvD,EACFtwB,EAAOy/E,EAAuB0N,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,MApMmBk6D,EAACC,EAAcC,EAAkBhL,KAC1D,MAAMqL,EAAuB3sD,GACP,6BACDA,GAGrB,OACEz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,0DACA,0DACL/kF,SAEA4qF,EAAarkB,QAAUqkB,EAAarkB,OAAO5oE,OACxCitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,IAAI+sD,EAAazoF,EAAQ0jE,OAUzB,OARGsZ,GACD+K,EAAaE,cACbF,EAAaE,aAAavsD,KAE1B+sD,EACEV,EAAaE,aAAavsD,GAAOgoC,QAAU1jE,EAAQ0jE,QAIrDvoD,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1B5rE,UAAUyqE,EACVroE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,GAAG5B,YAC3B/lF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAIdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxC+W,EAAoB98F,EAAQ+lF,WAC5BjD,EAAaZ,GACbmF,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,GAAGkrF,EAAoB3sD,UAG5Bz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQutC,YAxCjC/sD,EA4CJ,IAGV,QAEG,EAuHAosD,CACL/K,EACAmF,EACAlF,GAEJ,KAAK,EACH,MAnDiBwL,EAACzL,EAAwBiL,IAE9C/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBAEZhhB,MAAOqiF,EAAuByI,eAC9B3pE,SAAWnB,IACT0qE,EAAuB1qE,GACvBmoE,EAAkBnoE,EAAMK,OAAOrgB,OAC/B2sF,GAAY,EAEdjrE,UAAUmpE,GAVLyC,SAuCFQ,CACLzL,EACAmF,GAGJ,KAAK,EACH,MA/HkBqG,EAACR,EAAcC,KACvC,MAAMK,EAAuB3sD,GACP,6BACDA,GAErB,OACEz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,0DACA,0DACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,OACEvgB,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,EAAKm9C,YAAc/lF,EAAQ+lF,YAI1ClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCjD,EAAaZ,GACbmF,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,yBA7JEwtC,EA8JAzoF,EAAQ0jE,OA7JzB,CAAExoB,OAAQutC,aAsHO/sD,GAvHA+sD,KAmKJ,IAGV,QAEG,EA6DAF,CACLxL,EACAmF,GAGJ,QACE,OAAO,KAEb,CAEA,EAOMqI,CAAcxN,EAAwBC,GACtC,IACA,E,QC7KK4sC,OA3FUpwF,IAkBlB,IAlBmB,eACxByqD,EAAc,aACdnB,EAAY,YACZN,EAAW,gBACXN,EAAe,0BACf8C,EAAyB,KACzBp2B,EAAI,UACJglC,EAAS,yBACTi2B,EAAwB,qBACxB9kC,EAAoB,IACpB8B,EAAG,UACHE,EAAS,eACTK,EAAc,mBACdwG,EAAkB,WAClBlQ,EAAU,sBACVuH,EAAqB,SACrBgB,EAAQ,0BACRyB,GACDluD,EACC,OACEre,gBAAA,OAAK/d,UAAU,mCAAkCD,SAAA,CAC/CF,eAAA,OAAKG,UAAU,wBAAuBD,SACnC+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0Bp2B,EAAO,GACjCk0B,EAAaZ,EAAkB,GAC/B0R,IACAi2B,GAA0B,EAC1B1sH,SACH,iBAMPF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjD/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEmf,WAAWomE,EACXplF,UAAWolF,EAAc,mBAAqB,gBAC9CpnE,QAASA,KACP6oE,GAAe,GACfmD,GAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,cAKHge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEmf,WAAWomE,EACXplF,UAAWolF,EAAc,mBAAqB,gBAC9CpnE,QAASA,KACP6oE,GAAe,GACfmD,GAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEG,UAAU,gBACVge,QAASA,KACP6pE,EAAsBr2B,EAAO,GAC7Bk0B,EAAaZ,EAAkB,GAC/B+D,IACAyB,GAA2B,EAC3BvqF,SACH,gBAMH,E,QCjDK2sH,OAtCUtwF,IAMlB,IANmB,qBACxBurD,EAAoB,gBACpB7C,EAAe,uBACfnF,EAAsB,KACtBC,EAAI,WACJoH,GACD5qD,EACC,OACEre,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,aAAYD,SAAC,cAC3BinF,KAAgBW,EAAqBjqF,OAClCiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UAAWs+B,GAASwmD,GAAmBlF,EAAO,OAAS,OAEvD/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ6qF,WAFb7qF,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,EAAgB,OAAT,OAGtC/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ8qF,iBAFb9qF,EAAQ8lF,IAAM,WAQ3B,OACA,E,QCsDKikC,OAvFevwF,IAOvB,IAPwB,gBAC7B6vD,EAAe,UACfjD,EAAS,uBACTrJ,EAAyB,CAAC,EAAC,KAC3BC,EAAI,OACJ3qD,EAAM,WACN+xD,GACD5qD,EACC,MAAM,iBAAEowD,EAAgB,eAAEE,GAAmB/M,EAEvCrS,GADWsS,GAAQ8M,EACSA,EAAiBF,EAK7C/oB,EAAeljB,mBAAQ,IACpB,KACSp8C,SAASC,eAAe,UAChCs/D,cAAcC,YAClB,iCAAiC1uC,MACjC,KAIF,MAAM23F,EAAiB1wF,IACrB,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,MAAM8vD,EAAqB,CAAE9vD,YAAa3T,EAAEzK,KAAKoe,aACjDk0B,eAAeC,QACb,qBACA9hE,KAAKw+C,UAAUi/C,GAEnB,GAMF,OAHAvtE,OAAOmR,iBAAiB,UAAWqpF,GAG5B,KACLx6F,OAAOoR,oBAAoB,UAAWopF,EAAc,CACrD,GAEF,CAAC33F,IAGJ,IAAKq4C,EACH,OAAO,KAIT,MAAM2f,EACJjE,IAAcpJ,EACZ,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGEitC,EA9Ca,uDA8CMz1F,KAAKk2C,GACxBw/C,EAAY,YAAY11F,KAAKk2C,GAEnC,OACEvvD,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,EAC5B8sH,GAASC,IAAc9lC,KACxBnnF,eAAA,UAAQG,UAAU,qCAAqCge,QAASiuE,EAAgBlsF,SAC7EktF,IAIJjE,GAAa6jC,GAAS7lC,IACrBnnF,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,EACR/N,MAAM,0EACNC,iBAAe,IAEfqzB,GAAa8jC,EACfjtH,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,gBAEV,OACA,EC3DK+sH,OAzBWA,KACxB,MAAO/e,EAAWgf,GAAgBhwG,oBAAS,GAE3C7b,QAAQC,IAAI,YAAa4sG,GAEzB,MAAMif,EAAoBA,KACxBD,GAAchf,EAAU,EAgB1B,MAAO,CAAEkf,kBAbiBA,IACjBrtH,eAAA,OAAKme,QAASivG,EAAkBltH,SAAC,qBAYdotH,oBATAA,IAExBpvG,gBAACwe,KAAK,CAACC,MAAM,EAAM4W,OAAQ65E,EAAkBltH,SAAA,CAC3CF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAC,qBAC1BF,eAAC08B,KAAMmX,KAAI,CAAA3zC,SAAC,uCAK+BiuG,YAAW,ECwP/Cof,OAnQaC,gBAC1BjxF,IAgDO,IAhDN,eACCyqD,EAAc,aACdnB,EAAY,YACZN,EAAW,kBACXK,EAAiB,WACjBuB,EAAU,cACV0hC,EAAa,gBACb5jC,EAAe,qBACf6C,EAAoB,QACpB6B,EAAO,KACP5J,EAAI,uBACJD,EAAsB,oBACtBme,EAAmB,YACnBpmD,EAAW,iBACXwwC,EAAgB,UAChBgB,EAAS,KACT1sD,EAAI,uBACJ8sD,EAAsB,gBACtBjB,EAAe,uBACfG,EAAsB,oBACtBD,EAAmB,UACnBK,EAAS,0BACT4E,EAAyB,0BACzB5F,EAAyB,KACzBp2B,EAAI,UACJglC,EAAS,yBACTi2B,EAAwB,IACxBhjC,EAAG,eACHO,EAAc,UACdL,EAAS,mBACT6G,EAAkB,WAClBlQ,EAAU,sBACVuH,EAAqB,SACrBgB,EAAQ,0BACRyB,EAAyB,4BACzBwD,EAA2B,yBAC3BhG,EAAwB,oBACxB4X,EAAmB,WACnBzV,EAAU,YACVC,EAAW,wBACXnC,EAAuB,uBACvBC,EAAsB,cACtBG,EAAa,gBACb8D,EAAe,UACfjD,EAAS,OACT/zD,EAAM,WACNm0D,EAAU,cACVC,GACDjtD,EACC,MAAM,kBAAE8wF,EAAiB,oBAAEC,EAAmB,UAAEnf,GAC9C+e,KACF,OACEhvG,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,cAGDF,eAAA,UACEG,UAAU,mBACVge,QAASA,KAEPsiE,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAACwsH,GAAiB,CAChB3D,cAAeA,EACf5jC,gBAAiBA,EACjB6C,qBAAsBA,EACtB/H,KAAMA,EACN4J,QAASA,IAGXzrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAACysH,GAAmB,CAClB3sC,uBAAwBA,EACxBC,KAAMA,EACNke,oBAAqBA,EACrBnW,qBAAsBA,EACtB7C,gBAAiBA,EACjB0E,QAASA,IAGX3pF,eAACytH,GAAe,CACd5nC,aAAcA,EACdD,kBAAmBA,EACnB9F,uBAAwBA,EACxBC,KAAMA,EACN+H,qBAAsBA,EACtBuC,YAAaA,EACbD,WAAYA,EACZnF,gBAAiBA,EACjB2E,IAAKA,EACL3B,yBAA0BA,EAC1B4X,oBAAqBA,EACrB3X,wBAAyBA,EACzBC,uBAAwBA,EACxBG,cAAeA,KAKfsB,GACA5pF,eAAC6sH,GAAgB,CACf/sC,uBAAwBA,EACxBgI,qBAAsBA,EACtB7C,gBAAiBA,EACjBlF,KAAMA,EACNoH,WAAYA,KAIdyC,GACA5pF,eAAC8sH,GAAqB,CACpBhtC,uBAAwBA,EACxBC,KAAMA,EACNqM,gBAAiBA,EACjBjD,UAAWA,EACX/zD,OAAQA,EACR+xD,WAAYA,OAKlBjpE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOuK,mBAAoB2R,IAAI,OAE3CphB,eAAA,QACEme,QAAS8vE,EACT9tF,UAAU,mBAAkBD,SAC7B,uBAYHF,eAAC2sH,GAAgB,CACf3lC,eAAgBA,EAChBnB,aAAcA,EACdN,YAAaA,EACbN,gBAAiBA,EACjBnF,uBAAwBA,EACxBiI,0BAA2BA,EAC3Bp2B,KAAMA,EACNglC,UAAWA,EACXi2B,yBAA0BA,EAC1B9kC,qBAAsBA,EACtB8B,IAAKA,EACLE,UAAWA,EACXK,eAAgBA,EAChBwG,mBAAoBA,EACpBlQ,WAAYA,EACZuH,sBAAuBA,EACvBgB,SAAUA,EACVyB,0BAA2BA,UAIjCzqF,eAACqqC,KAAc,IACfnsB,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOsE,QAAS4X,IAAI,OAEhCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DACHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UAAQme,QAASA,IAAMkqE,IAAmBnoF,SAAC,sBAMnDge,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SAAE6C,EAAQ0qF,gBAbJ1qF,EAAQgc,QAkBjD/e,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CAACvuE,SAAU4pE,EAAW5qE,QAASwvE,EAA0BztF,SAAC,qBAMnE,ICwDGwtH,OApTsBtsH,IAAW,IAADqmF,EAC7C,IAAI,qBACFK,EAAoB,uBACpBhI,EAAsB,KACtBnuB,EAAI,gBACJszB,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,mBACtBC,EAAkB,iBAClBC,EAAgB,cAChBC,EAAa,OACblzD,EAAM,aACNlG,EAAY,cACZE,EAAa,oBACbywE,GACEz+F,EAEJ,MAAM,eACJ4lF,EAAc,WACdG,EAAU,YACV5B,EAAW,aACXM,EAAY,kBACZD,GACEZ,GACFC,EACA6C,EAAqB7C,GAAiBsD,eACtCzI,GAGIiV,EAAyBhsD,iBAAO,OAE/By/C,EAAiBC,GAAsBtrE,mBAAS,KAEhDurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAA2C,QAAvCnB,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCoB,IAC7CC,UAAW,GACXhoD,YAAa,MAGRqoD,EAAWC,GAAgBjsE,oBAAS,GAIrC4rE,EAAqD,KAAzCL,EAAoBI,UAAUjrF,OAkC1CmrF,EAAWA,KACf,MAAM+N,EAAoB9R,EAAkB,EACtC0oC,EACkB,OAAtB54B,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBn3E,QAAQ1d,SAAS62F,GAC5B,OAAf42B,QAAe,IAAfA,KAAiB92B,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,GAUlEn6D,EAAM2mD,GAAWnmE,oBAAS,GAE3BsjE,EAAaA,IAAM6C,GAAQ,IAC1BiG,EAAYC,GAAiBrsE,oBAAS,IAEtCksE,EAAWC,GAAgBnsE,oBAAS,GAErCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAGrCY,EAAwBA,IAAMJ,GAAa,IAG1CvJ,EAAM4J,GAAWxsE,oBAAS,IAC1BysE,EAAKC,GAAU1sE,oBAAS,IACxB2sE,EAAWC,GAAe5sE,oBAAS,GAE1C0iE,GAAWC,EAAwBC,EAAMoH,KAEzC,MAAM+C,EAAYA,KAChBL,GAAO,GACPE,GAAY,EAAM,EAGdI,EAAiBA,KACrBN,GAAO,GACPT,GAAa,EAAM,EA2DrB,IAAI6U,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EA6BA,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,2CAA0CD,SACvDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAGFxpF,eAACutH,GAAmB,CAClBvmC,eAAgBA,EAChBnB,aAAcA,EACdN,YAAaA,EACbK,kBAAmBA,EACnBuB,WAAYA,EACZlC,gBAAiBA,EACjB6C,qBAAsBA,EACtB6B,QAASA,EACT5J,KAAMA,EACND,uBAAwBA,EACxBme,oBAAqBA,EACrBpmD,YAzJIA,IAAMyrC,GAAQ,GA0JlB+E,iBAAkBA,EAClBgB,UAAWA,EACX1sD,KAAMA,EACN8sD,uBAAwBA,EACxBjB,gBAAiBA,EACjBG,uBAAwBA,EACxBD,oBAAqBA,EACrBK,UAAWA,EACX4E,0BA/LkBA,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IACrB,MAApBA,EAAS2S,SACXzC,IACAq6D,IACA90C,GAAgB,0CAChBg0C,EAAuB,CAAEG,UAAW,KACtC,GAEJ,CAAE,MAAO7jF,GAAQ,GAqLH8iF,0BAA2BA,EAC3Bp2B,KAAMA,EACNglC,UA7KEA,KAChB,MAAMC,EAAoB3R,EAAkB,EACtC0oC,EACJ54B,EAAuBn3E,QAAQ1d,SAAS02F,GAC3B,OAAf+2B,QAAe,IAAfA,KAAiB92B,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA0KzD81B,yBA3HiBA,KAE7B9kC,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,GACF,EAoHcN,IAAKA,EACLE,UAAWA,EACXK,eAAgBA,EAChBwG,mBAAoBA,EACpBlQ,WAAYA,EACZuH,sBAAuBA,EACvBgB,SAAUA,EACVyB,0BAxHkBA,KAE9B3C,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,GACF,EAiHc+D,4BA9NoBA,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GAiNc64D,yBAA0BA,EAC1B4X,oBAAqBA,EACrBzV,WArJGA,KACjBL,GAAY,EAAK,EAqJHM,YAlJIA,CAACC,EAAGC,EAAIC,IACtB7qF,OAAO2qF,IAAMnD,IACR,qCACEoD,GAAMpD,KAAgBoD,EAAGlvB,QAAQ17D,OAAO6qF,KAAc,EACxD,mCAEA,wBA6IKtC,wBAAyBA,EACzBC,uBAAwBA,EACxBG,cAAeA,EACf8D,gBA1GQA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,gCACzCzqB,YAAW,KACTze,QAAQC,IAAI,WACZ8qF,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,IAAK,EAqGM+rC,UAAWA,EACX/zD,OAAQA,EACRm0D,WAAYA,EACZC,cAAeA,IAEjBxpF,eAACusH,GAAiB,CAChB57B,mBAAoBA,EACpBlQ,WAAYA,EACZsU,uBAAwBA,EACxBjN,qBAAsBA,EACtB7C,gBAAiBA,EACjBmD,mBAAoBA,EACpBwC,0BAnImB3F,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DssF,IAEAD,GACF,EA+HcnK,KAAMA,EACNke,oBAAqBA,EACrB1U,WAAYA,EACZC,cAAeA,gBAOlB,ECgcAokC,OAlvB0BxsH,IAAW,IAAD04E,EACjD,IAAI,QACFz4E,EAAO,SACPusD,EAAQ,aACR1+B,EAAY,cACZE,EAAa,SACbpuB,EAAQ,eACRG,EAAc,UACdggB,GACE/f,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACd+Z,oBAAqB,CAAC,EACtB9W,qBAAsB,GACtBhI,uBAAwB,CAAC,EACzB2O,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjBkb,gBAAiB,KACjBxuC,KAAM,EACN+8B,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,EACTloC,KAAM,EACN1X,QAAS,EACTmqB,MAAO,GACPC,QAAS,EACTC,QAAS,IAGLvgC,EAAWkK,wBAEXsR,EAAuB,OAARxb,QAAQ,IAARA,GAAe,QAAPghD,EAARhhD,EAAUn4B,aAAK,IAAAm5E,OAAP,EAARA,EAAiBxlC,aAiBtC,IAAI86C,EAfJ5tF,qBAAU,QAAU,CAACb,EAAMskF,gBAAiBtkF,EAAMmnF,uBAElDtmF,qBAAU,KACR6tF,GAAgB,GACf,IAEH7tF,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB3uF,EAAMkkF,YAAYn3B,eAElC,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAIV,MAAM2+D,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAEpBttF,QAAQC,IAAIq8D,GACZ,IAAI4xB,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,GACb12B,cAAco2B,GAIhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KAEjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KAEpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJg2B,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAuD9D4pC,EAA4B/lE,UAChC,MAAMo8F,EAAkCv5E,EACrC+L,QAAQ,OAAQ,IAChBvhD,cACH,IAAIqiB,EAEoC,yBAApC0sG,EACF1sG,EAAY,EACiC,4BAApC0sG,EACT1sG,EAAY,EACiC,qBAApC0sG,IACT1sG,EAAY,GAGd,MAAMyQ,EAAO,CACXm7B,WAAYa,EAAS5gB,QAAQL,UAC7B+hB,SAAUd,EAASc,SACnBgiD,eAAgB9iD,EAASe,WACzBgD,KAAMA,EACNynC,QAAS,EACTj4E,UAAWA,GAIb,IACE,MAAMjC,QAAiBwS,KAAMqC,KAAKzH,GAASsF,GAEd,MAAzB1S,EAAS0S,KAAKC,QAEhBnB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAKm+D,mBAGjD,CAAE,MAAO9qF,GACP3D,QAAQC,IAAI0D,EACd,GAGI0qF,EAAaA,KACjB,IAAItgD,EAAI,IAAIC,KAEZ,MAAMiiE,EAAe,IAAIjiE,KAAKtuC,EAAS45C,YAEvC22D,EAAaC,QAAQD,EAAaruC,UAAYuuC,QAC9CnwG,QAAQC,IAAI8tC,GACZ,IAAIqiE,EAAqBjzG,KAAKkzG,IAAIlzG,KAAKkzG,IAAIJ,EAAeliE,GAAK,KAK/D,MAGM8pB,EAAQ,GAHD16D,KAAKC,MAAMgzG,EAAqB,OAGlBjzG,KAAKC,MAAMgzG,EAAqB,MAAQ,GACnEA,GAA8B,KAARv4C,EACtB73D,QAAQC,IAAI,mBAAoB43D,GAGhC,MAAMC,EAAU36D,KAAKC,MAAMgzG,EAAqB,IAAM,GAItD,OAFApwG,QAAQC,IAAI43D,EAAQ,IAAMC,GAEnB/pB,EAAE6zB,SAAS,EAGd7vB,EAAW5hB,UAEf,IAAIozD,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQqnF,GAoCX3lF,MAAM,mCApCmB,CACzB,IAAI2zB,OA1HqBpB,WAC3B,MAAMo8F,EAAkCv5E,EACrC+L,QAAQ,OAAQ,IAChBvhD,cACH,IAAIqiB,EAEoC,yBAApC0sG,EACF1sG,EAAY,EACiC,4BAApC0sG,EACT1sG,EAAY,EACiC,qBAApC0sG,IACT1sG,EAAY,GAGd,MAAMyQ,EAAO,CACXm7B,WAAYa,EAAS5gB,QAAQL,UAC7B+hB,SAAUd,EAASc,SACnBgiD,eAAgB9iD,EAASe,WACzBgD,KAAM,EACNynC,QAAS,EACTj4E,UAAWA,GAGb+N,IACA,IAEE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzH,GAASsF,GAE3C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACAooE,EAA0B72F,EAAMgxD,MACzB,CACLttD,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GAyE+B+8D,GAEC,IAADsI,EAAAC,EAAAC,EAA7B,GAAIzlE,EAAiBxuB,OACnB,GAAoB,OAAhBwuB,QAAgB,IAAhBA,GAAsB,QAANulE,EAAhBvlE,EAAkBjB,YAAI,IAAAwmE,GAAS,QAATC,EAAtBD,EAAwBrlE,eAAO,IAAAslE,GAAM,QAANC,EAA/BD,EAAiCzmE,YAAI,IAAA0mE,GAArCA,EAAuCvI,gBAAiB,CAAC,IAADwI,EAAAC,EAAAC,EAAAC,EAC1C,OAAhB7lE,QAAgB,IAAhBA,GAAsB,QAAN0lE,EAAhB1lE,EAAkBjB,YAAI,IAAA2mE,GAAS,QAATC,EAAtBD,EAAwBxlE,eAAO,IAAAylE,GAAM,QAANC,EAA/BD,EAAiC5mE,YAAI,IAAA6mE,GAAiB,QAAjBC,EAArCD,EAAuC1I,uBAAe,IAAA2I,GAAtDA,EAAwDvgE,SACrDp1B,IACCA,EAAQ4oF,UAAW,EACnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,EAAE,IAIrC,IAAI7gD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBACEj1D,EAAiBjB,KAAKmB,QAAQnB,KAAKm+D,gBAErCpB,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAE3C,MACEpxF,MAAM,gCAGRA,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAGjBkR,EAAuBrV,IAC3B95D,GAAUa,IACD,IACFA,EACH4uE,gBAAiB3V,KAEnB,EAGEmG,EAAqBl/D,UACzB,IAAI,gBACFwzD,EAAe,YACf0J,EAAW,YACX9J,EAAW,uBACX/E,EAAsB,qBACtBgI,GACEnnF,EAUA6vF,GANF,4DADA3L,EAAY9yC,QAGR8yC,EAAY9yC,OAIGw+C,EAAkB5B,IAEnC/8D,EAAO,CAAC,EAEkD,IAAD61D,EAAAC,EAA7D,GAA0C,mBAAtC5H,EAAuB0N,YACzB57D,EAAO,CACLunE,WAAiD,QAArC1R,EAAAK,EAAqB7C,UAAgB,IAAAwC,GAAgB,QAAhBC,EAArCD,EAAuCc,sBAAc,IAAAb,GAArDA,EACR7pF,OACAiqF,EAAqB7C,GAAiBsD,eACtC,GACJM,IAAK/I,EAAuB+I,IAC5B77C,QAAS4gB,EAAS5gB,QAAQH,YAC1BhD,KAAM2mD,EACN1oC,UAAWg4B,EAAuBguC,qBAE/B,GAA0C,oBAAtChuC,EAAuB0N,YAAmC,CAAC,IAADoH,EACnEhjE,EAAO,CACLk3D,UAAiC,OAAtBhJ,QAAsB,IAAtBA,GAA4C,QAAtB8U,EAAtB9U,EAAwB4K,4BAAoB,IAAAkK,GAA5CA,EAA8C/2F,OACrDiiF,EAAuB4K,qBAAqBppE,KAAKqqB,IAAI,CACnDm9C,UAAWn9C,EAAKm9C,cAElB,GACJD,IAAK/I,EAAuB+I,IAC5B77C,QAAS4gB,EAAS5gB,QAAQH,YAC1BhD,KAAM2mD,EACN1oC,UAAWg4B,EAAuBguC,eAEtC,MACEl8F,EAAO,CACLk3D,UAAWnoF,EAAMw/F,gBACjBtX,IAAK/I,EAAuB+I,IAC5B77C,QAAS4gB,EAAS5gB,QAAQH,YAC1BhD,KAAM2mD,EACN1oC,UAAWg4B,EAAuBguC,gBAItC5+F,IACA,IAG+B,aAFNwC,KAAMqC,KAAKvM,GAASoK,IAE9BA,KAAKC,QAChBzC,IAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAGI+iF,EAAyBr2B,IAC7B,IAAI,gBACFszB,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EAEA6vF,EAAiBD,EAAkB5B,GACvC7O,EAAuBmQ,eAAiBO,EAExCG,IAEE7I,EAAqB7C,GAAiB0F,aACtC7C,EAAqB7C,GAAiBxe,OAAO3hB,QAC1CinC,GAAMA,EAAEd,sBACTptF,OAEFiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IACXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,EACb8nB,KAAMA,MAGJm2B,EAAqB7C,GAAiB0F,aACxC6M,EAA0B7lC,GAG5Bp/B,OAAO+vC,SAAS,EAAG,EAAE,EAGjBylB,EAA6Bp2B,IACjC,IAAI,gBACFszB,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GAGvC7O,EAAuBmQ,eAAiBO,EAExC,IAAI3mD,EAAO8lD,IAEXgB,IAEI1L,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,EACb8nB,KAAMA,MAER6lC,EAA0B7lC,GAE1Bp/B,OAAO+vC,SAAS,EAAG,GACrB,EAMI2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAK,CAC9D5B,UAAW0B,IAMJ,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DxrF,OAAO6qF,GACT1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,EAAQ+lF,YAAc0B,IAG/B,IAAqB,IAAjBmH,EAAoB,CACtB,IAAIC,EAAM,CACR9I,UAAW0B,GAEb1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA+zF,EAEJ,MACE9J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,GAM7C,IAFP7C,EAAqB7C,GAAiByF,qBAAqBrvB,QACzDmvB,IAMO,IAFP1C,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwBttF,OAC9D,EACA2sF,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAEF,IAOK,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EAAqB7C,GAAiBkL,0BACnCtyF,OACH,EACA2sF,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EACE7C,GACAkL,0BAA0B90B,QAAQmvB,GACpC,GAKF1C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAElB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAC1B,IAAI,gBACFvB,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IACAjgE,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,EACjB70B,KAAM60B,EAAiB,MAEzBgR,EAA0BhR,EAAiB,EAAE,EAGzC6B,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EACxCg5F,EAAc,GAElB7R,EAAqB3vD,SAASp1B,IAC5B,GAA0C,mBAAtCA,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAEhB19C,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,KAEF,IAAIiB,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAGFr4F,QAAQC,IAAIsxB,GACRA,EAAiBxuB,QACnB+qB,IACA/tB,EAAQkyB,KAAK,CACXC,SAAU,gBACV7yB,MAAO,CACLyiC,IAAK,oBAIThU,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAC9B,EAGIymE,EAAgB1oE,UACpB,IAAI,gBAAEwzD,EAAe,qBAAE6C,GAAyBnnF,EAC5CiwF,EAAqB9I,EAAqB7C,GAC1C7iD,EAAiB,CACnBssB,SAAUd,EAASc,SACnB7kB,KAAM+mD,EAAmBX,gBAE3B,IACE,MAAM/wE,QAAiBwS,KAAMqC,KAAKtM,GAAS2a,GAE3C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GA0CF,OACE1zB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8CAA6CD,SAC1DF,eAAA,OAAKG,UAAU,uCAAsCD,SAvCvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OAAO3wB,eAAC+tH,GAA8B,CAAC16E,SAAUA,IACnD,KAAK,EACH,OACErzC,eAAC0tH,GAA2B,CAC1B5lC,qBAAsBnnF,EAAMmnF,qBAC5BhI,uBAAwBn/E,EAAMm/E,uBAC9BnuB,KAAMhxD,EAAMgxD,KACZ88B,gCACE9tF,EAAM8tF,gCAERoR,oBAAqBA,EACrB5a,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxBC,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,IAIrB,QACE,OAAO,KACX,EAOO6E,CAAWtzB,EAAMgwB,WAGb,ECnsBAjwB,qBAdUC,IAAK,IAAA6kG,EAAA,MAAM,CAClC1kG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrB0sD,SAAUjtD,EAAMmrH,qBAAqBC,oBACrCiC,qBAAsBrtH,EAAME,aAAamtH,qBACzC7sH,eAAgBR,EAAMQ,eACtBggB,UAA+B,QAAtBqkF,EAAE7kG,EAAMQ,sBAAc,IAAAqkG,OAAA,EAApBA,EAAsBxyE,cAAc,GAAG7R,UACnD,IAE2BgP,IAAQ,CAClCjB,aAAcA,IAAMiB,EAASC,MAC7BhB,cAAeA,IAAMe,EAASC,SAGjB1vB,EAjDkB67B,IAU1B,IAV2B,QAChCl7B,EAAO,OACPP,EAAM,SACNE,EAAQ,UACRmgB,EAAS,eACThgB,EAAc,qBACd6sH,EAAoB,SACpBpgE,EAAQ,aACR1+B,EAAY,cACZE,GACDmN,EAGC,OACEre,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SACzCF,eAAC4tH,GAA+B,CAC9BvsH,QAASA,EACTL,SAAUA,EACV4sD,SAAUA,EACVogE,qBAAsBA,EACtB7sH,eAAgBA,EAChBggB,UAAWA,EACX+N,aAAcA,EACdE,cAAeA,QAKtBtuB,GAAUd,eAACD,KAAW,MACtB,I,QC6cQW,qBA9BUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtBuB,OAAQz0B,EAAMM,KAAKC,KAAKm4B,QACxBl4B,eAAgBR,EAAMQ,eACtBH,SAAUL,EAAMM,KAAKC,SAIGivB,IACnB,CACLjB,aAAcA,KACZiB,EAASqE,KAAuB,EAGlCpF,cAAeA,KACbe,EAASqE,KAAwB,EAGnCnE,QAAUP,IACRK,EAASG,GAAoBR,GAAS,EAGxC8pD,gBAAkB9pD,IAChBK,EAASypD,GAAgB9pD,GAAS,KAKzBpvB,EA7diBU,IAC9B,IAAI,OACFN,EAAM,QACNO,EAAO,SACPL,EAAQ,eACRG,EAAc,MACdmwB,EAAK,UACLuC,EAAS,OACTuB,EAAM,QACN/E,EAAO,gBACPupD,GACEx4E,EAEJ,MAAO6uE,EAAgB8oC,GAAqB57F,mBAAS,CAAC,IAC/C67F,EAAWC,GAAgB97F,oBAAS,IACpC+7F,EAAUC,GAAeh8F,mBAAS,KAClCk+D,EAAe+9B,GAAoBj8F,mBAAS,CAAC,IAC7C8wG,EAAiBC,GAAsB/wG,oBAAS,IAChDgxG,EAAQC,GAAajxG,mBAAS,IAErC,IAAI2b,EAAWkK,wBACXsR,EAAexb,EAASn4B,MAAMmxE,YAAYx9B,aAC1C+5E,EAAiBv1F,EAASn4B,MAAMmxE,YAAYv9B,OAC5CA,EAA2B,EAAjB85E,EAAsB,EAChCC,EAAmBx1F,EAASn4B,MAAMmxE,YAAYvuB,SAC9Cb,EAAmB5pB,EAASn4B,MAAMmxE,YAAYlU,SAC9C2wD,EAAsBz1F,EAASn4B,MAAMmxE,YAAYhxC,YAErDt/B,qBAAU,KACRk4G,GAAmB,GAClB,IAgCH,IAAI8U,EAAgBH,EAAiBC,EAEjCG,EAAgBD,EADOnzC,EAAc93B,SAAW,IAAOirE,EAG3D,MAAM39C,EAAc,IAAIvhC,KAaxB,IAAIwhC,EAXFD,EAAYphC,cACZ,KACCohC,EAAYrhC,WAAa,GAC1B,IACAqhC,EAAYthC,UAOQ,QALpBshC,EAAYE,WACZ,IACAF,EAAYG,aACZ,IACAH,EAAYI,cAGd,MAwDMgqC,EAAuBxpF,UAC3B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3Bm4B,EAAc,CAClBtnC,UAAyB,OAAdhhB,QAAc,IAAdA,OAAc,EAAdA,EAAgBgyB,cAAc,GAAGhR,UAC5CyO,SAAwB,OAAdzvB,QAAc,IAAdA,OAAc,EAAdA,EAAgBiyB,aAAaxC,SACvC8jB,WAA0B,OAAdu7B,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBnlE,WAC7CoN,WAA0B,OAAdmuB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,OAE7CiO,oBAAmC,OAAdytB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,SACtDzB,WAA0B,OAAdmuB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,OAE7CkO,SAAU7wB,EAAK1S,SAASk8F,QACxB14D,iBAAgC,OAAdutB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBj8C,SACnDrb,MAAO3wB,EAAK1S,SAASqjC,OAGvB,IAEE,GAA6B,aADN7wB,KAAMqC,KAAKzQ,GAAQmmC,EAAa,CAAE91B,aAC5C/B,KAAKC,OAAgB,MA7EnBJ,WAEjB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI/O,IACjC,OAA6B,MAAzB1D,EAAS0S,KAAKC,QAChBxB,EAAQnR,EAAS0S,KAAKA,MAEf,GAEA,CAEX,CAAE,MAAO3sB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACT,GAkEiCo2G,GAE3Bh6G,EAAQkyB,KAAK,CACXC,SAAU,gBACV7yB,MAAO,CAAEyiC,IAAK,iBAQpB,CACF,CAAE,MAAOn+B,GACP3D,QAAQC,IAAI0D,EAEd,GA+BIy0G,EAAoBjoF,UACxB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAInBwH,EAASn4B,MAAMmxE,YAAYp9B,WAGzC,IACE,MAAMx1B,QAAiBwS,KAAMC,IAC3B,GAAGvJ,iBAAsB0Q,EAASn4B,MAAMmxE,YAAYp9B,aACpD,CAAE/gB,YAGyB,MAAzBzU,EAAS0S,KAAKC,QAChBknF,EAAkB75F,EAAS0S,KAAKA,KAEpC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAOI00G,EAAkC1pC,IACtC,IAAI2pC,EAAkB,IAAK54G,GAC3B,GAAmB,OAAf44G,QAAe,IAAfA,KAAiBngF,MAAO,CAC1B,GAAkB,OAAdw2C,QAAc,IAAdA,MAAgB4pC,iBAAiBtlE,OAiCnC,YADAr1C,MAAM,wBAhCqC,CAC3C,IAAI46G,EA3DWC,MAEnB,IAAIxnE,EAAO,GACPynE,EACF,oEAEF,IAAK,IAAIpiD,EAAI,EAAGA,EAAI,GAAIA,IACtBrlB,GAAQynE,EAASthD,OAAOj6D,KAAKC,MAAsBs7G,GAAhBv7G,KAAKE,WAE1C,OAAO4zC,CAAI,EAkDKwnE,GACRE,EAAc,SAChBC,EAAO,WAELC,EAAe,GAAGF,KAAeH,MACrB,OAAd7pC,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,SACnB,OAAd07B,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,aACjB,OAAd0sB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBvlE,gBACpB,OAAfslE,QAAe,IAAfA,OAAe,EAAfA,EAAiB50G,QACA,OAAf40G,QAAe,IAAfA,OAAe,EAAfA,EAAiBngF,mBAAmBygF,IAEpCE,EAAYC,kBAAOF,GAEnBG,EAAoB,CACtBn4G,IAAK83G,EACL13D,MAAOu3D,EAEPvlE,QACgB,OAAd07B,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,QACjC07B,EAAe4pC,iBAAiBt2D,SAClCg3D,UAA0B,OAAfX,QAAe,IAAfA,OAAe,EAAfA,EAAiB50G,KAC5By0B,MAAsB,OAAfmgF,QAAe,IAAfA,OAAe,EAAfA,EAAiBngF,MACxB+gF,MAAsB,OAAfZ,QAAe,IAAfA,OAAe,EAAfA,EAAiBpgF,OACxBihF,YAA2B,OAAdxqC,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBvlE,aAC9ComE,KAAM,WACNC,KAAM,WACNC,KAAMR,GAzEaxoF,EA4EH0oF,EA1EtB/nF,OAAOsoF,KAAKC,OAAOlpF,EAAM,CACvBmpF,gBAAiB,SAAU77F,GAGyB,YAA9CA,EAASA,SAAS87F,UAAUl8G,cAC9Bm8G,EAAqB/7F,GAErBhgB,MAAMggB,EAASA,SAASg8F,WAE5B,EACAC,eAAgB,SAAUj8F,GAAW,GAiErC,CAIF,MACEhgB,MACE,sEAEFmC,EAAQkyB,KAAK,sBArFU3B,KAsFzB,EAaF,OACE1T,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5Cge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAC47C,GAAe,CAACv6C,QAASA,IAE1BrB,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,gBACV7yB,MAAO,CAAEyiC,IAAK,iBACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,UAAQG,UAAU,qBAAoBD,SAAEo0C,IAEtC92C,aAAQyyE,GAmEN,KAlEF/xD,gBAACwe,KAAK,CACJC,KAAMq8E,EACNzlE,OA3REsE,KAClBohE,GAAa,EAAM,EA2RH94G,UAAU,eACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CACXC,aAAW,EACXz1C,UAAU,YAEZH,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,MAAKD,SACzBF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7Bge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,UAAQwE,MAAO,CAAE4mC,YAAa,QAASlrC,SACpC,UAAKq0C,MACE,IACVv0C,eAAA,QAAMwE,MAAO,CAAE/E,MAAO,SAAUS,SAAE,WAChCmuH,EAAiBC,QAGrBtuH,eAAA,KAAAE,SAAG,0EAIHge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,SACEK,KAAK,OACLoe,YAAY,cACZhhB,MAAOy7G,EACPt6F,SAAWyd,GA9Db5K,iBACD7yB,aAA2BnB,IAKhD07G,EAAY17G,EACd,EAwD4Bi+G,CAAkBr/E,EAAEve,OAAOrgB,SAG/BuC,eAAA,UAAQme,QAASA,IAlTjBsT,WACxB,MAAM,WAAEijB,EAAU,OAAEH,GAAW07B,EAAe4pC,iBAExClmF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACX6gD,YAAaymC,EACb7/E,QAASjE,EACTsf,aACAH,UAEIr1B,QAAiBwS,KAAMqC,KAAK5O,GAAQyM,EAAM,CAAE+B,YACrB,MAAzBzU,EAAS0S,KAAKC,OAChBunF,EAAiBl6F,EAAS0S,KAAKA,MAE/B1yB,MAAM,iBACR,EAgS+C08G,GAA4B17G,SAAC,kBAKtDge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,iBAE5B1C,aAAQ69E,GAGRr7E,eAAA,QAAAE,SAAO,UAAKsuH,MAFZtwG,gBAAA,QAAAhe,SAAA,CAAM,UAAGuuH,EAAc3uH,QAAQ,SAKjB,GAAjB2uH,EACCzuH,eAAA,OAAKG,UAAU,UAAUy1C,aAAW,EAAA11C,SAClCF,eAAA,UACEme,QAASA,IAzQjBsT,WACpB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIm4B,EAAc,CAChBtnC,UAAyB,OAAdhhB,QAAc,IAAdA,OAAc,EAAdA,EAAgBgyB,cAAc,GAAGhR,UAC5CyO,SAAwB,OAAdzvB,QAAc,IAAdA,OAAc,EAAdA,EAAgBiyB,aAAaxC,SACvC8jB,WAA0B,OAAdu7B,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBnlE,WAC7CoN,WAA0B,OAAdmuB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBtlE,OAC7CiO,oBAAmC,OAAdytB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBt2D,SACtDzB,WAAY,OAEZW,SAAUquB,EACVpuB,iBAAgC,OAAdutB,QAAc,IAAdA,OAAc,EAAdA,EAAgB4pC,iBAAiBj8C,SACnDrb,MAAoB,OAAb84B,QAAa,IAAbA,OAAa,EAAbA,EAAewgC,YAIxB,IACE,MAAM38F,QAAiBwS,KAAMqC,KAAKzQ,GAAQmmC,EAAa,CAAE91B,YAC5B,MAAzBzU,EAAS0S,KAAKC,OAIhBxwB,EAAQkyB,KAAK,CACXC,SAAU,gBACV7yB,MAAO,CAAEyiC,IAAK,kBAGhBlkC,MAAMggB,EAASwU,QAGnB,CAAE,MAAOzuB,GACP3D,QAAQC,IAAI0D,EAEd,GAqO2C62G,GAA8B57G,SAC9C,aAKHF,eAAC83E,GAAe,CACdikC,iBA3IF9rC,IACxB0pC,EAA+B1pC,EAAe,EA2IpBA,eAAgBA,EAAe4pC,iBAC/BtlE,OAAQk6E,GAAiBD,cAQvCtwG,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,OAAKG,UAAU,kBAAiBD,SAC5B1C,aAAQyyE,GAKN,KAJF/xD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,gBACJF,eAAA,KAAAE,SAAIquH,WAMZrwG,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,MAAAE,SAAI,kBAEJge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,eAAcD,SAAC,aAC9Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,QAAAhe,SAAA,CAAOwiD,EAAiB,OACxB1iD,eAAA,QAAAE,SAAM,iBAIVge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAC,UAC3Bge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CAAC,UAAGmuH,QAG5BnwG,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,aAC7Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,UACzBouH,QAIPpwG,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,iBAAgBD,SAAC,gBAChCge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CAAC,OACrBmuH,EAAiBC,EAAiB,gBAM/CtuH,eAAA,OACEG,UAAU,YACVge,QAASA,KAvY3B86F,GAAcD,GACdoV,EAAUC,GAwYUz0C,EAAgB,IAAI,EACpB15E,SAEFF,eAAA,UAAAE,SAAQ,gCASvBY,GAAUd,eAACD,KAAW,MACtB,I,QCldA,MAAM2uH,GAA8B,8BCiB5B,OAfkB5+F,IACxB,CACLzvB,KAAM8uB,GACNW,YC+gBWpvB,qBA7BUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBktD,YAAartD,EAAME,aAAamtD,YAChC7sD,eAAgBR,EAAMQ,eACtBH,SAAUL,EAAMM,KAAKC,KACrB8sG,iBAAkBrtG,EAAME,aAAamtG,qBAGd79E,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCkW,eAAiBxW,IACfK,EAASiY,GAAoB9B,eAAexW,GAAS,EAEvDyW,aAAezW,IACbK,EAASiY,GAAoB7B,aAAazW,GAAS,EAErD6+F,wBAA0B7+F,IACxBK,EAASy+F,GAAmD9+F,GAAS,KAK5DpvB,EAtfuBU,IACpC,IAAI,eACFD,EAAc,YACd6sD,EAAW,eACX1nB,EAAc,aACdC,EAAY,aACZrX,EAAY,cACZE,EAAa,OACbtuB,EAAM,wBACN6tH,EAAuB,SACvB3tH,EAAQ,iBACRgtG,GACE5sG,GACA,cAAE+xB,EAAa,aAAED,GAAiB/xB,EAClCE,EAAUm1B,uBACd,MAAMsC,EAAWkK,wBACjB,IAAIsR,EAAexb,EAASn4B,MAAM2zC,aAC9B2Z,EAAen1B,EAAS5G,SAE5B,MAAM+9C,EAAiB3Z,cACpB31D,IAAK,IAAAkuH,EAAA,OAAU,OAALluH,QAAK,IAALA,GAA0B,QAArBkuH,EAALluH,EAAO2zE,2BAAmB,IAAAu6C,OAArB,EAALA,EAA4Bt6C,0BAA0B,KAG5D5zE,EAAO+vB,GAAYvT,mBAAS,CACjC+wC,mBAAoB,CAClBvhB,UAAW,GACXE,YAAa,GACbE,YAAa,GACb+hF,WAAW,EACX3gB,WAAW,GAEb7hE,YAAa,CAAC,EACd6hB,UAAW,CAAC,EACZC,qBAAqB,IAGvB5sD,qBAAU,KACR6sD,IACA9hB,IACAjrC,QAAQC,IAAIysG,EAAiBp8E,KAAK68E,eAAe,GAChD,IAEHjtG,qBAAU,MAELhE,aAAQmD,EAAM2rC,cACf3rC,EAAM2rC,YAAYU,QAAQnvC,QAC1B8C,EAAMytD,qBAENE,GACF,GACC,CAAC3tD,EAAM2rC,cAEV,MAAMgiB,EAAiBA,KACrB,IAAI,UAAE3hB,GAAcqhB,GAChB,YAAE1hB,GAAgB3rC,EACtB+vB,GAAUa,IAAS,IAAWA,EAAW68B,qBAAqB,MAE1DzhB,GACF0hB,IACAE,EAAUp7B,EAAc,GAAGhR,UAAWwqB,KAEtCrG,EAAe,CACbqG,UAAWL,EAAYU,QAAQ,GAAGJ,OAClCC,YAAaP,EAAYU,QAAQ,GAAGF,SACpCC,YAAaT,EAAYU,QAAQ,GAAGP,OAEtC/b,GAAUa,IAAS,IACdA,EACH28B,mBAAoB,IACf38B,EAAU28B,mBACbvhB,UAAWL,EAAYU,QAAQ,GAAGJ,OAClCC,YAAaP,EAAYU,QAAQ,GAAGF,SACpCC,YAAaT,EAAYU,QAAQ,GAAGP,UAGxC8hB,EAAUp7B,EAAc,GAAGhR,UAAWmqB,EAAYU,QAAQ,GAAGJ,QAC/D,EAGIyhB,EAAiBA,KACrB39B,GAAUa,IAAS,IACdA,EACH28B,mBAAoB,IACf38B,EAAU28B,mBACbvhB,UAAsB,OAAXqhB,QAAW,IAAXA,OAAW,EAAXA,EAAarhB,UACxBE,YAAamhB,EAAYnhB,YACzBE,YAAaihB,EAAYjhB,gBAE1B,EAGCR,EAAiB9a,UACrB,IAAI,cAAE0B,EAAa,aAAED,GAAiB/xB,EAClCywB,EAAO,CAAC,EAES,6BAAjB0iB,EACF1iB,EAAO,CAELzP,UAAW2W,EAAS5G,SAChB+7B,EACA96B,EAAc,GAAGhR,UACrBH,SAAUkR,EAAalR,SACvBb,UAAW,GAEa,gCAAjBmzB,EACT1iB,EAAO,CACLzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,SACvBb,UAAW,GAEa,wBAAjBmzB,IACT1iB,EAAO,CACLzP,UAAWgR,EAAc,GAAGhR,UAC5BH,SAAUkR,EAAalR,SACvBb,UAAW,IAIf+N,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKzM,GAASsK,GAC3C,GAA6B,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH+a,YAAaptB,EAAS0S,KAAKA,SAEzBkH,EAAS5G,UAAU,CACrB,MAAM,OAAE0a,EAAM,SAAEE,EAAQ,KAAEL,GAASvtB,EAAS0S,KAAKA,KAAKob,QAAQ,GAC9DwhB,EAAoB,GAAI5hB,EAAQE,EAAUL,EAC5C,CAEJ,CAAE,MAAOxnC,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIspD,EAAY98B,MAAOtP,EAAWyqB,KAClC,IAAIhb,EAAO,CAAC,EACS,6BAAjB0iB,EACF1iB,EAAO,CACLzP,UAAW2W,EAAS5G,SAAW+7B,EAAe9rC,EAC9C4qC,WAAYngB,EACZzrB,UAAW,GAEa,gCAAjBmzB,EACT1iB,EAAO,CACLm7B,WAAYngB,EACZzrB,UAAW,GAEa,wBAAjBmzB,IACT1iB,EAAO,CACLm7B,WAAYngB,EACZzrB,UAAW,IAIf+N,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKxM,GAASqK,GAEd,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACH48B,UAAWjvC,EAAS0S,KAAKA,SAG/B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI9F,EAA8BC,IAClC,MAAMC,EAAYD,EAAaA,EAAWb,MAAM,KAAO,KAEvD,OAAkB,OAAdc,EACK,CACLC,WAAY,0BAA0BD,EAAU,OAAOA,EAAU,iBAG5D,CACLC,WAAY,UAEhB,EAGIkvD,EAAsBA,CAAC/wC,EAAOmvB,EAAQE,EAAUL,KACpDnG,EAAe,CACbqG,UAAWC,EACXC,YAAaC,EACbC,YAAaN,IAGf/b,GAAUa,IAAS,IACdA,EACH28B,mBAAoB,IACf38B,EAAU28B,mBACbvhB,UAAWC,EACXC,YAAaC,EACbC,YAAaN,OAGjB8hB,EAAUp7B,EAAc,GAAGhR,UAAWyqB,EAAO,GAmCxC0N,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAiB,SAAU+W,GAE3B,KACLloB,OAAOoR,oBAAoB,SAAU8W,EAAS,IAE/C,CAACH,IAGFp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC08B,KAAK,CACJ3d,GAAG,MACH4d,KAAMh8B,EAAMwtG,UACZ56D,OAAQA,IACN7iB,GAAUa,IAAS,IACdA,EACH48E,WAAW,MAGf3wB,WAAW,EACX5pC,UAAQ,EAAA1zC,SAERge,gBAACwe,KAAMmX,KAAI,CAAA3zC,SAAA,CACTF,eAAA,KAAAE,SAAG,iBACHge,gBAAA,KAAAhe,SAAA,CAAG,wCACqC,IACtCF,eAAA,UAAQwE,MAAO,CAAE/E,MAAO,UAAW2/B,WAAY,OAAQl/B,SAAC,6BAE/C,sBAGXF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,UACEme,QAASA,KACP9c,EAAQkyB,KAAK,YAA0B,OAAd08C,QAAc,IAAdA,OAAc,EAAdA,EAAgBv7B,aAAa,EACtDx0C,SACH,cAIHF,eAAA,OACEme,QAASA,IACPuS,GAAUa,IAAS,IACdA,EACH48E,WAAW,MAEdjuG,SAEDF,eAAA,OAAKsgB,IAAKpb,GAAOkD,UAAWgZ,IAAI,iBAKtCphB,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACpCo6C,GAAe,IAEdp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5C6c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,gCAGfH,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAC47C,GAAe,CAACv6C,QAASA,SAIhCrB,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,wCAAuCD,SAAA,CACpDge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,gBACV7yB,MAAO,CAAEyiC,IAAK,iBACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,MAAAE,SAAKS,EAAMmuH,UAAYnuH,EAAMqsC,QAAUsH,QAEvC3zC,EAAMmuH,WACN9uH,eAACkvG,GAAqB,CAAC9rE,IAAKkR,IAE9Bt0C,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,EAC5BS,EAAMmuH,WACN9uH,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACvC1C,aAAQwwG,EAAiBp8E,MAmEvB,KAlEAo8E,EAAiBp8E,KAAKob,QAAQnvC,OAC5BmwG,EAAiBp8E,KAAKob,QAAQ1rB,KAC5B,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAI,WAAWhc,EAAQ6pC,SACvB5nC,KAAK,UACLvH,MAAOsF,EAAQ6pC,OACfrrB,QACExe,EAAQ6pC,SACR7uB,SACEpd,EAAMutD,mBACHvhB,aAYTzuB,gBAAA,SACEsD,QAAS,WAAWze,EAAQ6pC,SAC5BpoC,MAAOrF,EACL4D,EAAQ3D,YAEV+e,QAASA,KACPqwC,EACE,KACAzrD,EAAQ6pC,OACR7pC,EAAQ+pC,SACR/pC,EAAQ0pC,MAEV1sB,YAAW,KAlL9B+sB,QAoLuB/pC,EAAQ+pC,SAnLtDpc,GAAUa,IAAS,IACdA,EACHu9F,WAAW,EACX9hF,QAASF,KAiLkC,GACA,IAAI,EACP5sC,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OACEsgB,IAAKvd,EAAQ0pC,KACbrrB,IAAI,SAELre,EAAQ+pC,YAGX9sC,eAAA,OACEsgB,IAAKpb,GAAO2C,kBACZuZ,IAAI,eArDHqd,KA4Db,KAEL39B,GAAUd,eAACD,KAAW,SAK5BY,EAAMmuH,WACL9uH,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,2BAA0BD,SACrC1C,aAAQmD,EAAMwtD,WAmChB,KAlCExtD,EAAMwtD,UAAUjc,MAAMr0C,OACpB8C,EAAMwtD,UAAUjc,MAAM5wB,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAEEG,UAAU,uBACVge,QAASA,IAnNnByvC,KACxB,MACMh8B,EAAO,IAAKg8B,EAAU5gB,QADZrsC,EAAMutD,oBAEtB5sD,QAAQC,IAAI,KAAMqwB,GAClB+8F,EAAwB/8F,GACnBo8E,EAAiBp8E,KAAKm9F,cASzB1tH,EAAQkyB,KAAK,CACXC,SAAU,+BACV7yB,MAAO,CACL2zC,aAAcA,EACd3zC,MAAOm4B,EAAS5G,YATpBxB,GAAUa,IAAS,IACdA,EACH48E,WAAW,KAUf,EA8LiDpL,CAAiBhgG,GAAS7C,SAEzCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SACxB6C,EAAQ4rD,iBAIf3uD,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OACEsgB,IAAKpb,GAAO+C,SACZmZ,IAAI,gBAfLqd,KAuBXz+B,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKsgB,IAAKpb,GAAO+I,mCAkB7CjO,eAAC67C,GAAgB,MACR,I,QCpaAmzE,IC/EX,GD+EWA,GAzEkB5tH,IAC/B,IAAI,YAAEyjF,EAAW,oBAAEC,EAAmB,SAAEzxC,GAAajyC,EAQrD,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8CAA6CD,SAC1DF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,aACV7yB,MAAO,CAAEyiC,IAAK,cACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAE2kF,EAAYr3B,aAChDtvC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAE2kF,EAAY9yC,SACxC7zB,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAAC,aAE7BF,eAAA,QAAAE,SACE1C,aAAQqnF,GAEN,KADA,GA9BtB,SAAkBzrB,GAChB,IAAIw5B,EAAIn0F,KAAKC,MAAM06D,EAAU,IACzB2yB,EAAI3yB,EAAU,GAGlB,OAFAw5B,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GAEZ,KADX7G,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GACF,MACvB,CAwByB8G,CAAShO,EAAYn3B,yBAKhCxvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,MAAAhe,SAAA,CACAF,eAAA,MAAAE,SAAI,0DACFF,eAAA,MAAAE,SAAI,yEAIJF,eAAA,MAAAE,SAAI,oEAKNge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OACEsgB,IAAK,kCAAkCukE,EAAYiO,qBACnD1xE,IAAI,yBAIRphB,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKme,QAASA,IAAMk1B,IAAYlzC,UAAU,eAAcD,SACtDF,eAAA,UAAAE,SAAQ,8BAOX,E,QC1Ef,SAAS,KAAa,OAAO,GAAWvC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICwpDAo7B,OAnqDe7tH,IAAW,IAADqmF,EAAAC,EACtC,IAAI,qBACFI,EAAoB,gBACpB7C,EAAe,uBACfnF,EAAsB,eACtB4O,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,oBACZG,EAAmB,mBACnBhK,EAAkB,iBAClBC,EAAgB,gCAChBoG,EAA+B,oBAC/BU,EAAmB,oBACnBF,EAAmB,gBACnB9P,EAAe,gBACf4P,EAAe,cACfzG,EAAa,OACblzD,EAAM,aACNlG,EAAY,cACZE,GACEhuB,EAEJI,qBAAU,KAEkB,GAAxBktF,EAAev1B,OACW,GAA1Bu1B,EAAet1B,SACW,GAA1Bs1B,EAAer1B,UAEfn6D,MAAM,gDACNmpF,EAAiBvI,GACnB,GACC,CAAC4O,EAAer1B,UACnB,MAAO2wB,EAAQC,GAAa9sE,oBAAS,IAC9BqrE,EAAiBC,GAAsBtrE,mBAAS,KAChD4iE,EAAM4J,GAAWxsE,oBAAS,IAC1BosE,EAAYC,GAAiBrsE,oBAAS,GAE7C0iE,GAAWC,EAAwBC,GAEnC,MAAO2I,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAITioD,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,OAkE5Bk3F,EAAyBhsD,iBAAO,OAe/BpM,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAG1B+F,EAAWC,GAAgBnsE,oBAAS,GACrCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,GA8B3CuB,EAAqBA,CAACC,EAAcC,EAAkBhL,KAKvD,IAADkV,EA4DuEG,EAhEzE,OACU,GAARrV,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEmB,QAAnB+0F,EAAAnK,EAAarkB,cAAM,IAAAwuB,GAAnBA,EAAqBp3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,GAAuB,GAAnB17B,EAAQq2F,QACV,OACEl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KAAO3nF,EAAQ+lF,UACR,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAhCRhoC,EAuCd,IAEF,SAIO,GAARshD,QACmBriF,IAAxBotF,EAAarkB,QAAgD,OAAxBqkB,EAAarkB,OAElDzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEmB,QAAnBk1F,EAAAtK,EAAarkB,cAAM,IAAA2uB,GAAnBA,EAAqBv3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAC5B17B,EAAQq2F,QAERl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KACxB3nF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAjCRhoC,MAoFhB,cAnGP,CAwGP,EAGI6sD,EAAoBA,CAACR,EAAcC,EAAkBhL,IAE/C,GAARA,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,GAAuB,GAAnB17B,EAAQq2F,QACV,OACEl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,aAG3C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAhCRhoC,EAuCd,IAEF,SAKF,GAARshD,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAC5B17B,EAAQq2F,QAERl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,aAG3C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAhCRhoC,MAkFhB,cApGL,EA2GH8sD,EAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAAOqqF,EAAqB7C,GAAiBsD,gBAAkB,GAS/D3pE,SAAWnB,GAAU0qE,EAAuB1qE,IAZvCstE,SAkEjB,IAAIkT,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAMutF,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbS,EAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAaXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAchBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaduiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaH,QAAfqtD,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAchBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QApEd,IAADqtD,EAAAE,CAkFT,EAEIP,GAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,gBAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,iDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,+CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,iDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,2CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAfikF,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBqgB,gBAAA,SACE/d,UAAU,+CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,kCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACtC,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA7EnC,IAADikF,EAAAC,CAkFT,EAyByBrE,EAAqBjqF,OA+BhD,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,4CAA2CD,SACxDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,cAoBDF,eAAA,UACEG,UAAU,mBACVge,QAASA,KAEPsiE,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAE9CmC,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAev1B,QAElBn5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAet1B,UAElBp5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAer1B,QAAU,EACtBq1B,EAAer1B,QACf,IAAG,IAAMq1B,EAAer1B,gBAIlCn7C,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAClB2G,gBACD5rF,eAAA,OACEsgB,IAAKpb,GAAO6T,aACZ5Y,UAAU,cACVge,QAASA,IAAM8zE,MAGjBjyF,eAAA,OACEsgB,IAAKpb,GAAO4T,YACZ3Y,UAAU,cACVge,QAASA,IAAM8zE,QAoBpBnS,EAAuByM,aACtBvsF,eAAA,UACEG,UAAW,cACXge,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAG7B6/E,EAAO,SAAM,MAGhB,WAKR7hE,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOuE,SAAU2X,IAAI,OAEjCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UACEme,QAASA,IACPkqE,EAAiBvI,GAClB5/E,SACF,sBAuBTge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BAAyBD,SAAC,oBAGvCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7BvC,OAAOC,KAAK6wF,GAAiCntE,KAC5C,CAACurB,EAAapO,IAEVvgB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAI8tB,EACJ7nC,KAAK,UACLvH,MAAOovC,EACPtrB,QAASsrB,IAAgBsyC,EACzBvgE,SAAUA,IACRqwE,EAAoBpiD,KAGxB7sC,eAAA,SAAOihD,IAAKpU,EAAY3sC,SACrB2sC,MAdEpO,UAuBjBvgB,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,KAAGG,UAAU,0BAAyBD,SAAC,oBAGvCF,eAAA,OAAKG,UAAU,kCAAiCD,SAC7Ci/E,GACCxhF,OAAOC,KACL6wF,EAAgCtP,IAChC79D,KAAI,CAACq0E,EAAal3D,IAEhBvgB,gBAAA,OAEE+D,MAAM,wBAAuB/hB,SAAA,CAE7BF,eAAA,SACEK,KAAK,QACL0e,GAAI42E,EACJ3wF,KAAK,UACLvH,MAAOk4F,EACPp0E,QAASo0E,IAAgB5G,EACzBnwE,SAAUA,IACRuwE,EAAoBwG,KAGxB31F,eAAA,SAAOihD,IAAK00C,EAAYz1F,SACrBy1F,MAdEl3D,gBAuBrBvgB,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SAExCF,eAAA,OAAKG,UAAU,uBAAsBD,SAiCnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,YAAYP,OAAOslF,GAAmB,OAOzCjlF,eAAA,OAAKG,UAAU,MAAKD,SA3xBxC6/E,EAEA//E,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,UAKjCuS,EAA0C,OAAtBne,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,cAE5CvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuByM,gBAMnCvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,mBA0wBvB1rF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3B4/E,QACiCpiF,IAAlCoiF,EAAuBrZ,OAnsCvB6mB,EAACxN,EAAwBC,KAC7C,IAAIpvD,EACAtwB,EAA6B,OAAtBy/E,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB0N,YAAY1uF,cAU/C,OAPE6xB,EADW,mBAATtwB,EACK,EACyB,oBAAvBA,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EACL/K,EACAmF,EACAlF,GAEJ,KAAK,EACH,OAAOwL,EAAiBtG,EAAiBlF,GAC3C,KAAK,EACH,OAAOuL,EAAkBxL,EAAwBmF,EAAiBlF,GACpE,QACE,OAAO,KACX,EA2qCwBuN,CAAcxN,EAAwBC,GACtC,QAMR//E,eAACqqC,KAAc,IAEfnsB,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsBhvD,OAoBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QAt0CQwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAizC0C/E,SACpC,mBAqBPge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OACE1Z,MAAO,CACLywD,UAAW,MACXtT,aAAc,MACdliD,MAAO,UACPwjD,SAAU,YACV/iD,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OAAKsgB,IAAKpb,GAAOuK,uBACX,IACRzP,eAAA,QACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QA53CY8vE,KAClC/+D,IACA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GA+2C2DlvB,SACtC,uBAIHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EACE9C,EAAkB,GAp0ClC0R,MAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAk0CxCH,EAAW,EACXz2F,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SACtBonF,EAAkB,EAChBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,aAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GAr2CvD+D,MACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAk2CxC9N,EAAU,EACV9oF,SACH,gCAuCfF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAmBxBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBunF,EACa,QADbC,EACxBI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAC/C,SAEJznF,eAAA,UAAQme,QAASA,IAAMsiE,IAAavgF,SAAC,mBAqBvCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,6BAM/CF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAE3B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,EAAoBlpF,EAAS07B,MAV7BA,KAeX,0BA+Bb,EClqBA/9B,qBArBUC,IAChB,CACLitD,SAAUjtD,EAAMuuH,cAAcC,aAC9BhuH,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCs6E,uBAAyB56E,IACvBK,EAASi/F,GAAmCt/F,GAAS,KAK5CpvB,EA9/BmBU,IAChC,IAAI,QACFC,EAAO,SACPusD,EAAQ,uBACR88C,EAAsB,eACtBvpG,EAAc,aACd+tB,EAAY,cACZE,EAAa,SACbpuB,GACEI,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACdC,oBAAqB,CAAC,EAEtBgD,qBAAsB,GACtBhI,uBAAwB,CAAC,EACzB2O,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,KAEJzP,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,IAEzC8xE,EAAuBjiD,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3BG,EAAS/D,EAAgB,EAKrBkK,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3BG,EAAS/D,EAAgB,EA0B3B,IAAImK,EAvBJ5tF,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAEpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,IACAiI,GAAwB,GACvB,IAEH91F,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB3uF,EAAMkkF,YAAYn3B,eAElC,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAGV,MAAM2+D,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAGpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,GACb12B,cAAco2B,GAGhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJg2B,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAG9D0pC,EAAyB7lE,UAC7B,IAAIG,EAAO,CACTi8B,SAAUD,EAASC,UAErB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlQ,GAAQ+N,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHuzD,oBAAqB5lE,EAAS0S,KAAKA,SAErCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAqCIuyF,EAA4B/lE,MAAOo8B,EAAUg7B,KAKjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAEF35D,IAEA,IAEE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,2EACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GA6BI0qF,EAAaA,KACT,IAAIrgD,MACH4zB,UAGL7vB,EAAW5hB,UACf,IAAIqzD,EAAsB,IAAKnkF,EAAMmkF,qBACjCD,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQsnF,IAAyBtnF,aAAQqnF,GA8F5C3lF,MAAM,mCA9FoD,CAC1D,IAAI2zB,OApGqBpB,WAC3B,IAAIG,EAAO,CACTi8B,SAAUg3B,EAAYh3B,UAExB3+B,IACA,IAEE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,yEACAnC,GAEF,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GAqE+B+8D,CAAqBjL,GAClD,MAAM8S,EApCeC,KACvB,MAAMC,EAAyB,CAAC,EAChC,IAAK,IAAIjgC,EAAI,EAAGA,EAAIggC,EAAU/5F,OAAQ+5D,IACpCggC,EAAUhgC,GAAe,WAAIA,EACxBigC,EAAuBD,EAAUhgC,GAAY,SAKhDigC,EAAuBD,EAAUhgC,GAAY,WAC5CigC,EAAuBD,EAAUhgC,GAAY,SAC5CggC,EAAUhgC,GAAiB,cAG7BigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cACzB,CAACggC,EAAUhgC,IAEfigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cAC3BrkC,KAAKqkE,EAAUhgC,IAfjBigC,EAAuBD,EAAUhgC,GAAY,SAAK,CAChD,CAACggC,EAAUhgC,GAAiB,cAAI,CAACggC,EAAUhgC,KAiBjD,OAAOigC,CAAsB,EAacK,CACvCrlE,EAAiBjB,KAAKmB,QAAQnB,MAEhC,GAAIiB,EAAiBxuB,OAAQ,CAC3BmzF,EACE3kE,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi8B,SACtCh7B,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi3D,KAExCh2D,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAADi2F,EACtDj2F,EAAQ4oF,UAAW,EACnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAC/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAEJ,IAAIvmD,EAAO8lD,IACXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KACpD68D,gCAAiCkJ,EACjChJ,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAG3C,MACEpxF,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAEjB5G,EAA6BwP,IACjC,IAAI,gBAAEtS,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IACP1K,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf8mD,IAEAp+D,OAAO+vC,SAAS,EAAG,GACnBk1B,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAE7B,EAGIG,EAAY/D,IACF3gF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,UACV,EA+DEyH,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,qBAAE7G,EAAoB,YAAEjD,GACxDlkF,EACFW,QAAQC,IAAI,8BAA+BumF,GAE3C,IAAI8I,EAAqB9I,EAAqB7C,GAC9C3jF,QAAQC,IAAI,4BAA6BqvF,GACzC,IAAIC,EAEF,4DADAhM,EAAY9yC,OAER,OACuB,8BAAvB8yC,EAAY9yC,OACZ,OACA,QAEFngB,EAAO,CAAC,EAE8C,IAAD61D,EAAAC,EAAzD,GAAsC,mBAAlCkJ,EAAmBpD,YACrB57D,EAAO,CACLo/D,eAAgBJ,EAAmBI,eACnCmI,WAAiD,QAArC1R,EAAAK,EAAqB7C,UAAgB,IAAAwC,GAAgB,QAAhBC,EAArCD,EAAuCc,sBAAc,IAAAb,GAArDA,EACR7pF,OACAiqF,EAAqB7C,GAAiBsD,eACtC,GACJ16B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,mBAEzB,GAAsC,oBAAlCF,EAAmBpD,YAAmC,CAAC,IAAD4S,EAC/DxuE,EAAO,CACLo/D,eAAgBrxF,OAAOixF,EAAmBI,gBAC1ClI,UAA6B,OAAlB8H,QAAkB,IAAlBA,GAAwC,QAAtBwP,EAAlBxP,EAAoBlG,4BAAoB,IAAA0V,GAAxCA,EAA0CviG,OACjD+yF,EAAmBlG,qBAAqBppE,KAAKqqB,IAAI,CAC/Cm9C,UAAWn9C,EAAKm9C,cAElB,GACJj7B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAetxF,OAAOixF,EAAmBK,eACzCC,eAAgBvxF,OAAOixF,EAAmBM,gBAC1CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,aAEhC,MACEl/D,EAAO,CACLo/D,eAAgBrxF,OAAOixF,EAAmBI,gBAC1ClI,UAAW,CAACnoF,EAAMw/F,iBAClBtyC,SAAU+iC,EAAmB/iC,SAC7BojC,cAAetxF,OAAOixF,EAAmBK,eACzCC,eAAgBvxF,OAAOixF,EAAmBM,gBAC1CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,cAGhC5hE,IAK6B,aAJNwC,KAAMqC,KAC3B,2EACAnC,IAEWA,KAAKC,QAChBzC,GACF,EAGI44D,EAAyBuP,IAAQ,IAAD3C,EAAA6E,EACpC,IAAI,gBACFxU,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IAIE7I,EAAqB7C,GAAiB0F,aAChB,OAAtB7K,QAAsB,IAAtBA,GAA8B,QAAR8U,EAAtB9U,EAAwBrZ,cAAM,IAAAmuB,GAAsC,QAAtC6E,EAA9B7E,EAAgC9vC,QAAQinC,GAAMA,EAAEd,6BAAoB,IAAAwO,GAApEA,EACI57F,OAEJiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf2tD,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3Bt2D,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAKF,GAKvD,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DX,EACF1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,IAAYynF,KAGA,IAAjBmH,EACF7J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA2sF,GAGF1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGlD7C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAElB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAc7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAjBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAC3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAKhO,GAAQ6L,EAAK,EAU/CsgE,CAAepK,EAAqB7C,GAAiB,EAGjDmN,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAC1B,MAAM,qBAAEsB,GAAyBnnF,EAEjC+vB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MAInBgR,EACE1P,EAAqBtB,GAAgB34B,SACrCi6B,EAAqBtB,GAAgBqC,IACtC,EA0GGR,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCoC,EAAU+8E,EAEV6Z,EAAc,GAElB,GAA0C,mBAAtC52F,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,CACA1C,IACA,IAAI2D,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,QACnB+qB,IACAs7E,EAAuB7lB,GACvBxjF,EAAQkyB,KAAK,CACXC,SAAU,yBAGZpE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAE9B,EAGIymE,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,IAAIr4D,EAAiB,CACnByrB,SAAUg3B,EAAYh3B,SAEtBhkB,KAAM,IAGR,IACE,MAAM3qB,QAAiBwS,KAAMqC,KAAK5N,GAAQic,GAC1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAiDF,OACE1zB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,uCAAsCD,SAjDvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAACgvH,GAAuB,CACtBnqC,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,IAGhB,KAAK,EACH,OACErzC,eAACivH,GAAoB,CACnBnnC,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdG,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACf0wD,uBAAwBn/E,EAAMm/E,yBAIpC,QACE,OAAO,KACX,EAOO7rD,CAAWtzB,EAAMgwB,WAGb,ICv9BAjwB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EAxBYU,IACzB,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,GAAaI,EAEpC,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAACC,WAAQ,CAAAC,SACPF,eAACqvH,GAAwB,CAACruH,SAAUA,EAAUK,QAASA,UAI5DP,GAAUd,eAACD,KAAW,MACd,IC+HAW,ICvJX,GDuJWA,iBAnBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB48F,eAAgB/8F,EAAMuuH,cAAcI,eACpCtuH,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAGEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAnIUU,IACvB,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,eAAE48F,EAAc,SAAG18F,EAAQ,eAACG,EAAc,QAAEE,GAAYD,EAC7FmpD,EAAUmzC,EACd,MAAO/8F,EAAO+vB,GAAYvT,qBAC1B,IAAIyuG,EAAWp1F,uBAKfh1B,qBAAU,KACR+tH,GAAgB,GACf,IAEH,MAAMA,EAAiB99F,UACrB,IAAIG,EAAO,CACTi8B,SAAU6vC,EAAe7vC,UAE3B3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9K,GAAS2I,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBnB,EAASxR,EAAS0S,MAClBxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAUF,IAAIgrE,EAAa,OAALz5F,QAAK,IAALA,OAAK,EAALA,EAAOixB,KACF,OAALjxB,QAAK,IAALA,KAAO6qH,eACF,OAAL7qH,QAAK,IAALA,KAAO8qH,eACnB,MAAOnxE,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAGDt6C,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAE9Bo6C,GAAe,IAEZp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAGxCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAEjC6c,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CACtB5I,SAAU,aACV7yB,MAAO,CAAEyiC,IAAK,cAChBljC,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEzCphB,eAAA,MAAAE,SAAI,oBAENge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAO3sC,qBAEbvvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOzsC,iBAEbzvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOC,oBAEbn8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOE,sBAEbp8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAI,GAAQ,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOsxB,+BAIpBxtG,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,UAAQme,QAASA,KAAO9c,EAAQkyB,KAAK,CAACC,SAAU,aAAc7yB,MAAO,CAAEyiC,IAAK,cAAe,EAAEljC,SAAC,kBAC9FF,eAAA,UAAQme,QA5EAs/E,KAChBmuB,EAASr4F,KAAK,CACZC,SAAU,4BACV7yB,MAAO,CACL4pD,YAEF,EAsEiCrqD,SAAC,6BAIjC,I,QChIP,SAAS,KAAa,OAAO,GAAWvC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICw8BA27B,OAx9B2BpuH,IACxC,IAAI,qBACF0mF,EAAoB,gBACpB7C,EAAe,uBACfwb,EAAsB,0BACtB1Y,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,SAClBpnF,GACEI,GAEA,OAAEg0B,GAAWp0B,EAEjB,MAAO++E,EAAM4J,GAAWxsE,oBAAS,IAC1BgsE,EAAWC,GAAgBjsE,oBAAS,IACpCosE,EAAWC,GAAiBrsE,oBAAS,IACrC6sE,EAAOC,GAAa9sE,oBAAS,GAEpC0iE,GAAW4gB,EAAwB1gB,GACnCF,GAAW4gB,EAAwBzW,GAEnC,MA2BMK,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAwBL7V,EAAqBA,CAACC,EAAc/K,KACxC,OAAY,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EACyB,OAAlB,OAAZ+K,QAAY,IAAZA,OAAY,EAAZA,EAAcE,cAEdhrF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAMRz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,GAA0B,QAAdoK,EAAZpK,EAAcE,oBAAY,IAAAkK,GAA1BA,EAA4Br3F,OACzBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,cAnFP,EA4CG,IAADy2D,CA4CT,EAGI5J,EAAoBA,CAACR,EAAc/K,KACpB,IAADkV,EAAAG,EAuFTD,EAvFT,OAAY,GAARpV,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,GAAoB,QAARmK,EAAZnK,EAAcrkB,cAAM,IAAAwuB,GAApBA,EAAsBp3F,OACA,QADMu3F,EACzBtK,EAAarkB,cAAM,IAAA2uB,OAAA,EAAnBA,EAAqB9zE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EACyB,OAAlB,OAAZ+K,QAAY,IAAZA,OAAY,EAAZA,EAAcE,cAEdhrF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAMRz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,GAA0B,QAAdqK,EAAZrK,EAAcE,oBAAY,IAAAmK,GAA1BA,EAA4Bt3F,OACzBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,cAnFP,CAwFP,EAGI8sD,EAAmBA,KAAO,IAAD9D,EAC7B,OACEznF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAE9CppE,UAAQ,GALH8lE,QASF,EA2BTrhB,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B1uC,MAC/B,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEmoB,EAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACvCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC7C,EAAE,EAiFP,IAAI6gD,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAIT,OAFa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAC3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAMutF,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbS,EAAsBA,CAACjL,EAAUviD,IACjCwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,0BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWW,GAAzBuiD,EAAS4Y,aAET55F,eAAA,SACEG,UAAU,gBACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAUgB,GAAzBuiD,EAAS4Y,aAEhB55F,eAAA,SACEG,UAAU,cACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,aAVb,EAuBLgtD,EAAuBA,CAACzK,EAAUviD,IAClCwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,0CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OAC3Bz+B,eAAA,OAAKG,UAAU,OAAMD,SACTF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIV,GAAzB+4E,EAAS4Y,aAET17E,gBAAA,SACE/d,UAAU,gCACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OAC7Bz+B,eAAA,OAAKG,UAAU,OAAMD,SACPF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAGL,GAAzB+4E,EAAS4Y,aAEhB17E,gBAAA,SACE/d,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OAC7Bz+B,eAAA,OAAKG,UAAU,OAAMD,SACPF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,mBAnBlC,EAkDF6/E,EAAqBjqF,OAE9B,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACvCqpF,EACGvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,oBAAmBD,SAC9BF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,eAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SAC1Cge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC3Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAE9CmC,eAAA,OAAKG,UAAU,aAAYD,SAC1BugG,EAAuBlU,aACpBvsF,eAAA,UACEG,UAAW,cACXge,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAG7B6/E,EAAO,SAAM,MAGhB,UAsBR7hE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CAExCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACxB,IACfF,eAAA,QAAAE,SACyB,OAAtBugG,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBjT,mBAI7BxtF,eAAA,OAAKG,UAAU,uBAAsBD,SAkBnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAGJ,OAA3Bwb,QAC0B/iG,IAA3B+iG,EACEzgG,eAAA,KACEG,UAAU,eACV69C,wBAzcD49C,EAAC6E,EAAwB1gB,KAClD,GAAY,GAARA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,QAE7B,GAAY,GAAR3L,GAAyD,IAAlB,OAAtB0gB,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBlU,cAAuB,CAEzE,OADa0R,EAA0C,OAAtBwC,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBlU,cAEhD,CACLtuC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBlU,cAG3B,CACLtuC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAGtC,CACE,MAAO,CACLztC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAEpC,EAqbmDkQ,CACvB6E,EACA1gB,KAIJ,WAMR//E,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3BugG,QACiC/iG,IAAlC+iG,EAAuBh6B,OAjzBrB6mB,EAACmT,EAAwB1gB,KAC7C,IAAI0gB,EAsBF,OAAO,KAtBmB,CAC1B,IAAI9vE,EACFtwB,EAAOogG,EAAuBjT,YAShC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB4V,EAAwB1gB,GACpD,KAAK,EACH,OAAOwL,EAAiBkV,EAAwB1gB,GAClD,KAAK,EACH,OAAOuL,EAAkBmV,EAAwB1gB,GACnD,QACE,OAAO,KAEb,CAEA,EA0xBsBuN,CAAcmT,EAAwB1gB,GACtC,KAgBN7hE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GAC5CmE,GAAa,GA1xB3B9kF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,IAA2B,IAAvBy+B,EAAkB,GAAU,KACrCiE,SAAU,UAsxB2B,EACXhpF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,sBACVtzB,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GACxCmE,GAAa,GA9zB3B9kF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,UA0zB0B,EACVhpF,SACH,gBAOTge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,eACJge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEg+C,wBAxaD2iD,EAACF,EAAwB1gB,KAC9C,GAAY,GAARA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,UAE7B,GAAY,GAARlf,EAAe,CAGxB,OAFake,EAAoBwC,EAAuBtB,gBAG/C,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBtB,gBAG3B,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,SAGtC,CACE,MAAO,CACLhhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAEpC,EAmZ+CiV,CACvBF,EACA1gB,KA7dLD,KACnB,MAAM9e,EAAgC,OAAtB8e,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB6M,iBAClCC,EAAqC,OAAtB9M,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB+M,eAIvCpf,GAFWsS,GAAQ6M,EAESA,EAAe5rB,EAI3C++B,EAFa,uDAESxoE,KAAKk2C,GAG3B2f,EACNjE,IAAcpJ,EACZ,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGF,OAAItS,GAA8C,KAA3BA,EAAgB3vE,OAEnCogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAGFjE,GAAa4W,EACZ//F,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,EACR/N,MAAM,0EACNC,iBAAe,IAEf,KACHqzB,IAAc4W,EACb//F,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,gBAEV,QAID,IACT,EAgbqBusF,CAAY+T,eAKrBzgG,eAAA,OAAKG,UAAW,8BACZopF,EAAa,kCAAoC,IAChDrpF,SACHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACtCF,eAAA,UACIK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAGxBxpF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACzC8pF,EAAShqF,eAACg3F,GAAK,IAAKh3F,eAACi3F,GAAI,MAE1Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACzC8pF,EAAUhqF,eAACk3F,GAAI,IAAKl3F,eAACm3F,GAAK,YAM7Bj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,yBAM/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAC5B,OAApB4nF,QAAoB,IAApBA,KAAsBjqF,OACC,OAApBiqF,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBxmE,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAEEG,UAAW,mCAAkC6pF,EAAS,kCAAmC,IACzFjrE,GAAG,QAAO7e,SAET8pF,EAASyB,EAAqB1oF,EAAS07B,GAASwtD,EAAoBlpF,EAAS07B,IAJzEA,KAQX,wBAUX,EC90BA/9B,qBAhBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,SAGGivB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EAxIoBU,IACjC,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,SAAEE,GAAaI,EACxD,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,GACtB7C,gBAAiB,EACjBwb,uBAAwB,CAAC,IAG3Bj/F,qBAAU,KACR88E,GAAiB,GAChB,IAEH,MAAMxlD,EAAWkK,wBAEXs7C,EAAkB7sD,UACtBvC,IACA,IAAI0C,EAAO,CACTi8B,SAAU/0B,EAASn4B,MAAM4pD,QAAQsD,UAEnC,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAK9N,GAAQ2L,GACb,MAAzB1S,EAAS0S,KAAKC,SAChB+uE,EACE1hF,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBAAiBp3B,SAC1C3uC,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBAAiB4D,KAG5Cn4D,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsB5oE,EAAS0S,KAAKA,SAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIwxE,EAA4BnvE,MAAOo8B,EAAUg7B,KACjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAGF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK7N,GAAS0L,GAEf,KAAxB1S,EAAS0S,KAAKC,SAChBzC,IAEAsB,GAAUa,IAAS,IACdA,EACHkvE,uBAAwBvhF,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GA8CF,OACEiZ,gBAAA,OAAAhe,SAAA,CACEF,eAACwvH,GAAgC,CAC/B1nC,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvBwb,uBAAwB9/F,EAAM8/F,uBAC9B1Y,0BAjC6BgD,IACjC,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EAA0B/yC,EAAUg7B,GAChC5D,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAGxBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAoBI0lB,sBAjDyB+C,IAC7B,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAChD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAC/C6V,EAA0B/yC,EAAUg7B,GACpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,EAAE,EAyCjB8lB,mBAlBsB5B,IAC1B,MAAM,SAAE34B,EAAQ,IAAEg7B,GAAQloF,EAAMmnF,qBAAqBtB,GAErDoa,EAA0B/yC,EAAUg7B,GAEpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAWCxlF,SAAUA,IAEXF,GAAUd,eAACD,KAAW,MACnB,ICrEK0vH,IC/DX,GD+DWA,GAvD0BruH,IACzC,IAAI,YAAEyjF,EAAW,SAAExxC,GAAajyC,EAC9B,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8CAA6CD,SAC1DF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,aACV7yB,MAAO,CAAEyiC,IAAK,cACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAE2kF,EAAYr3B,aAChDtvC,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAE2kF,EAAY9yC,WAE1C7zB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OACEsgB,IAAK,kCAAkCukE,EAAYiO,qBACnD1xE,IAAI,yBAGRphB,eAAA,KAAAE,SAAG,0DACHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,8BAOtC,E,QC1Df,SAAS,KAAa,OAAO,GAAWvC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICq2CA67B,OAl3CuBtuH,IAAW,IAADqmF,EAAAC,EAC9C,IAAI,qBACFI,EAAoB,uBACpBhI,EAAsB,KACtBnuB,EAAI,gBACJszB,EAAe,eACfyJ,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,YACZE,EAAW,oBACXC,EAAmB,mBACnBhK,EAAkB,iBAClBC,EAAgB,oBAChB8G,EAAmB,oBACnBF,EAAmB,gBACnB9P,EAAe,gBACf4P,EAAe,cACfzG,EAAa,OACblzD,EAAM,aACNlG,EAAY,cACZE,EAAa,oBACbywE,GACEz+F,EAEJ,MAAOonF,EAAiBC,GAAsBtrE,mBAAS,KAEhDurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,MAERkpD,EAAQC,GAAa9sE,oBAAS,IAC9BgsE,EAAWC,GAAgBjsE,oBAAS,IACpCosE,EAAYC,GAAiBrsE,oBAAS,GAIvC4rE,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,QAiE3B8+B,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAE1B+F,EAAWC,GAAgBnsE,oBAAS,GACrCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,IAG1CvJ,EAAM4J,GAAWxsE,oBAAS,IAC1BysE,EAAKC,GAAU1sE,oBAAS,IACxB2sE,EAAWC,GAAe5sE,oBAAS,GAE1C0iE,GAAWC,EAAwBC,EAAM6J,GACzC/J,GAAWC,EAAwBkK,EAAQJ,GAE3C,MAAMM,GAAYA,KAChBL,GAAO,GACPE,GAAY,EAAM,EAEdI,GAAiBA,KACrBN,GAAO,GACPT,GAAa,EAAM,EAGfgB,GAAaA,KACjBL,GAAY,EAAK,EA8CbM,GAAcA,CAACC,EAAGC,EAAIC,KACrBZ,GAAOjqF,OAAO2qF,GACV,sCACGV,GAAOW,GAAMA,EAAGlvB,QAAQ17D,OAAO6qF,KAAc,EAChD,mCAEA,wBA0BLC,GAA6BxF,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DqsF,KAEAC,IACF,EAGIS,GAA6B3F,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DssF,KAEAD,IACF,EAGIW,GAAqBA,CAACC,EAAcC,IAEtC/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1B5rE,UAAUyqE,EACVroE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,GAAG5B,YAC3B/lF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxC+W,EAAoB98F,EAAQ+lF,WAC5BsB,IAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAzCRhoC,KAiDd,SAMN6sD,GAAoBA,CAACR,EAAcC,IAErC/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,EAAKm9C,YAAc/lF,EAAQ+lF,YAI1ClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCsB,IAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,GACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAtCRhoC,KA8Cd,SAMN8sD,GAAmBA,CAACzL,EAAwBiL,IAE9C/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBAEZhhB,MAAOqiF,EAAuByI,eAC9B3pE,SAAWnB,IACT0qE,EAAuB1qE,GACvB2sE,IAAY,EAEdjrE,UAAUmpE,GATLyC,SAgCXK,GAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,GAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbC,GAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,KACPiqE,EAAmB3pD,GACnBgsD,GAA0BhsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,aAInB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAf6jF,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,KACEG,UAAU,OACV69C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,aAIvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA5EnC,IAAD6jF,EAAAE,CAiFT,EAEIC,GAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBgsD,GAA0BhsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAiBduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAaXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAchBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaduiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaH,QAAfytD,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAchBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,GAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAvEd,IAADytD,EAAAC,CAsFT,EAGIvoB,GAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B1uC,MAC/B,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEmoB,GAAkBA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACzCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC3C,EAAE,EAGDsvC,GAAcA,KAClB,MAAM1rB,EAAgC,OAAtB8e,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB6M,iBAClCC,EAAqC,OAAtB9M,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB+M,eAIvCpf,GAFWsS,GAAQ6M,EAESA,EAAe5rB,EAI3C++B,EAFa,uDAESxoE,KAAKk2C,GAG3B2f,EACJjE,IAAcpJ,EACV,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGN,OAAItS,GAA8C,KAA3BA,EAAgB3vE,OAEnCogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,GAAgBlsF,SACjEktF,IAGFjE,GAAa4W,EACZ//F,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,GACR/N,MAAM,0EACNC,iBAAe,IAEf,KACHqzB,IAAc4W,EACb//F,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,gBAEV,QAID,IACT,EA2CyB2nF,EAAqBjqF,OA8BhD,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qDAAoDD,SACjEF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,cAGDF,eAAA,UACEG,UAAU,mBACVge,QAASA,KAEPsiE,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,cAKlDqgB,gBAAA,OAAK1Z,MAAO,CAAE0uD,UAAW,OAAQ3M,QAAS,QAASrmD,SAAA,CACjDF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,0DAAyDD,SACtEge,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACtB,IACfF,eAAA,QAAAE,SAEI4nF,EAAqB7C,GAClBuI,qBAMbtvE,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OA7H/BqH,MAC3B,OAAIvM,EAEA//E,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,WAfL1tF,EAoBc,OAAtB8hF,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,gBAhBrC,IAAIC,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,EAe5BmC,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuByM,gBAMnCvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,UAhCjB,IAAU1tF,CAqClC,EAoG2BsuF,UAIPtsF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3B4/E,QACiCpiF,IAAlCoiF,EAAuBrZ,OAn5BzB6mB,CAACxN,IACrB,IAAIA,EAuBF,OAAO,KAvBmB,CAC1B,IAAInvD,EACFtwB,EAAOy/E,EAAuB0N,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,GAAmB/K,EAAwBmF,GACpD,KAAK,EACH,OAAOsG,GAAiBzL,EAAwBmF,GAClD,KAAK,EACH,OAAOqG,GAAkBxL,EAAwBmF,GACnD,QACE,OAAO,KAEb,CAEA,EA23B0BqI,CAAcxN,GACd,QAp6BHkgB,MACvB,IAAKpW,EACH,OACE1rE,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuBmf,YAGlCvS,OAGP,EA25BmBsT,MAKHhgG,eAACqqC,KAAc,IACfnsB,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOuE,SAAU2X,IAAI,OAEjCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UACEme,QAASA,IACPkqE,EAAiBvI,GAClB5/E,SACF,sBAQTge,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsB1qF,EAAQgc,QAoBjD/e,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QA5kCQwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAujC0C/E,SACpC,mBAoBPge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OACE1Z,MAAO,CACLywD,UAAW,MACXtT,aAAc,MACdliD,MAAO,UACPwjD,SAAU,YACV/iD,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OAAKsgB,IAAKpb,GAAOuK,uBACX,IACRzP,eAAA,QACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QAloCY8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GAonC2DlvB,SACtC,uBAIHge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EACE9C,EAAkB,GAzlCpC3gF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,IAA2B,IAAvBy+B,EAAkB,GAAU,KACrCiE,SAAU,WAwFoBjE,KAE9B6C,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,KAEAD,IACF,EAu/B8B0iC,CAAyB3nC,EAAgB,EACzC/kF,SACH,iBAOPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SACtBonF,EAAkB,EAChBjlF,eAAA,OAAKG,UAAU,cAAaD,SACzB0pF,EACC5pF,eAAA,UACEmf,UAAU2qE,EACV3pF,UAAY2pF,EAAwB,OAAZ,UACxB3rE,QAASA,IAAMgsE,KAAiBjqF,SACjC,aAIDF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,aAMLF,eAAA,OAAKG,UAAU,cAAaD,SACzB0pF,EACC5pF,eAAA,UACEmf,UAAU2qE,EACV3pF,UAAY2pF,EAAwB,OAAZ,UACxB3rE,QAASA,IAAMgsE,KAAiBjqF,SACjC,aAIDF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GACxCiF,KAnpClB5lF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,WA8GVpB,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,KAEAD,IA6hCyD,EAC3BhqF,SACH,yBA4BjBF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAGxBtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBunF,EACa,QADbC,EACxBI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuC2F,iBAAS,IAAA5F,IAC/C,SAEJznF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,mBAIHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,qBAa/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAChD4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IAENjrE,GAAG,QAAO7e,SAET8pF,EACChqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAEjCz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,GAAoBlpF,EAAS07B,MAX7BA,KAgBX,0BAUb,EC1lBA/9B,qBAtBUC,IAChB,CACLitD,SAAUjtD,EAAMuuH,cAAcC,aAC9BnB,qBAAsBrtH,EAAME,aAAamtH,qBACzC7sH,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCs6E,uBAAyB56E,IACvBK,EAASi/F,GAAmCt/F,GAAS,KAK5CpvB,EAvxB2BU,IACxC,IAAI,QACFC,EAAO,SACPusD,EAAQ,aACR1+B,EAAY,cACZE,EAAa,SACbpuB,EAAQ,eACRG,EAAc,uBACdupG,GACEtpG,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACd+Z,oBAAqB,CAAC,EACtB9Z,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtBhI,uBAAwB,CAAC,EACzB2O,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjBkb,gBAAiB,KACjBxuC,KAAM,EACN+8B,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,EACTloC,KAAM,EACN1X,QAAS,EACTmqB,MAAO,GACPC,QAAS,EACTC,QAAS,KAGJ8lB,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,IAEzC8xE,EAAuBjiD,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzE5tF,QAAQC,IAAI,CAAE0jF,oBACdv0D,GAAUa,IAAS,IACdA,EACH0zD,qBACC,EAICkK,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,qBACC,EAGLzjF,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAEpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,GAAgB,GACf,IAEH,MAAMA,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAiC9D4pC,EAA4B/lE,MAAOo8B,EAAUg7B,KACjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAEF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK7N,GAAS0L,GAEd,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIouC,EAAW5hB,UAEf,IAAIozD,EAAc,IAAKlkF,EAAMkkF,aAC7B,GAAKrnF,aAAQqnF,GAiCX3lF,MAAM,mCAjCmB,CACzB,IAAI2zB,OAzDqBpB,WAC3B,IAAIG,EAAO,CACTi8B,SAAUg3B,EAAYh3B,UAExB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9N,GAAQ2L,GAC1C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GA8B+B+8D,CAAqBjL,GAE9ChyD,EAAiBxuB,QACnBwuB,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAC1CA,EAAQ4oF,UAAW,EACnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,EAAE,IAKnCh6D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KAGpDg9D,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,eAEzCkH,EACE3kE,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi8B,SACtCh7B,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi3D,MAGxC3pF,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAGjB5G,EAA6BwP,IAAQ,IAAD3C,EAAA6E,EACxC,IAAI,gBACFxU,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EAGrD1I,EAAqB7C,EAAkB,GAAG0F,aACpB,OAAtB7K,QAAsB,IAAtBA,GAA8B,QAAR8U,EAAtB9U,EAAwBrZ,cAAM,IAAAmuB,GAAsC,QAAtC6E,EAA9B7E,EAAgC9vC,QAAQinC,GAAMA,EAAEd,6BAAoB,IAAAwO,GAApEA,EACI57F,OAEJiqF,EAAqB7C,EAAkB,GAAG0G,UAAW,EAErD7D,EAAqB7C,EAAkB,GAAG0G,UAAW,EAInD1G,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAIxB6I,IACAp+D,OAAO+vC,SAAS,EAAG,GACnBk1B,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAE7B,EAGIgX,EAAuBrV,IAC3B95D,GAAUa,IACD,IACFA,EACH4uE,gBAAiB3V,KAEnB,EAGEmG,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,YAAE9J,EAAW,uBAAE/E,GAC/Cn/E,EACE6vF,EAAiBD,EAAkB5B,GACnC/8D,EAAO,CACTi8B,SAAUiyB,EAAuBjyB,SACjCi7B,UAAWnoF,EAAMw/F,gBACjBtX,IAAK/I,EAAuB+I,IAC5Bh/C,KAAM2mD,EACN1oC,UAAWg4B,EAAuBguC,gBAGpC5+F,IACA,IAE+B,aADNwC,KAAMqC,KAAK3N,GAAQwL,IAC7BA,KAAKC,QAChBzC,IAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAiFI+iF,EAAyBuP,IAAQ,IAAD8I,EAAAC,EACpC,IAAI,gBACFrb,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IAIE7I,EAAqB7C,GAAiB0F,aAChB,OAAtB7K,QAAsB,IAAtBA,GAA8B,QAARugB,EAAtBvgB,EAAwBrZ,cAAM,IAAA45B,GAAsC,QAAtCC,EAA9BD,EAAgCv7C,QAAQinC,GAAMA,EAAEd,6BAAoB,IAAAqV,GAApEA,EACIziG,OAEJiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,GAzBI,IAAIyF,MACH4zB,UA0BTxyC,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf2tD,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3Bt2D,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAK,CAC9D5B,UAAW0B,IAMJ,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DxrF,OAAO6qF,GACT1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,EAAQ+lF,YAAc0B,IAG/B,IAAqB,IAAjBmH,EAAoB,CACtB,IAAIC,EAAM,CACR9I,UAAW0B,GAEb1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA+zF,EAEJ,MACE9J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,GAM7C,IAFP7C,EAAqB7C,GAAiByF,qBAAqBrvB,QACzDmvB,IAMO,IAFP1C,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwBttF,OAC9D,EACA2sF,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAEF,IAOK,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EAAqB7C,GAAiBkL,0BACnCtyF,OACH,EACA2sF,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EACE7C,GACAkL,0BAA0B90B,QAAQmvB,GACpC,GAKF1C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAElB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAE7DqK,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAM7D,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAGlCvJ,EAAqB7C,GAAiB4D,GAIxD,KAAO,CAGWf,EAAqB7C,GAAiB4D,GAIxD,GAGIuJ,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAC1B,MAAM,qBAAEsB,GAAyBnnF,EAEjC+vB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MAInBgR,EACE1P,EAAqBtB,GAAgB34B,SACrCi6B,EAAqBtB,GAAgBqC,IACtC,EAGGR,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCoC,EAAU+8E,EAEV6Z,EAAc,GAElB,GAA0C,mBAAtC52F,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,CACA1C,IACA,IAAI2D,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,QACnB+qB,IACAs7E,EAAuB7lB,GAQvBxjF,EAAQkyB,KAAK,CACXC,SAAU,yBAGZpE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAE9B,EAGIymE,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,IAAIr4D,EAAiB,CACnByrB,SAAUg3B,EAAYh3B,SACtBhkB,KAAM,IAER,IACE,MAAM3qB,QAAiBwS,KAAMqC,KAAK5N,GAAQic,GAC1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAsDF,OACE1zB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8CAA6CD,SAC1DF,eAAA,OAAKG,UAAU,uCAAsCD,SAtDvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAACyvH,GAA+B,CAC9B5qC,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,EACVurD,oBAAqBj+F,EAAMkkF,YAC3B+rB,eAAgBjwG,EAAM+lD,OAG5B,KAAK,EACH,OACE1mD,eAAC0vH,GAA4B,CAC3B5nC,qBAAsBnnF,EAAMmnF,qBAC5BhI,uBAAwBn/E,EAAMm/E,uBAC9BnuB,KAAMhxD,EAAMgxD,KACZ88B,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjB8Q,oBAAqBA,EACrB5Q,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,IAIrB,QACE,OAAO,KACX,EAOO6E,CAAWtzB,EAAMgwB,WAGb,ICruBAjwB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EAjCoBU,IACjC,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,GAAaI,EAUpC,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,oCAAmCD,SAC5CF,eAAC2vH,GAAgC,CAC/BtuH,QAASA,EACTL,SAAUA,QAInBF,GAAUd,eAACD,KAAW,MACd,ICqDA6vH,OA7EoBxuH,IACjC,IAAI,YAAEyjF,EAAW,oBAAEC,EAAmB,SAAEzxC,EAAQ,kBAAE0xC,GAAsB3jF,EAUxE,OARAE,QAAQC,IAAI,yBAA0BsjF,GASpC7kF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,WACV7yB,MAAO,CAAEyiC,IAAK,YACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAE2kF,EAAYr3B,aACxCtvC,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAAC,aAE3B1C,aAAQqnF,GAEN,KADA,GA7BtB,SAAkBzrB,GAChB,IAAIw5B,EAAIn0F,KAAKC,MAAM06D,EAAU,IACzB2yB,EAAI3yB,EAAU,GAGlB,OAFAw5B,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GAEZ,KADX7G,EAAIA,EAAI,GAAK,IAAMA,EAAIA,GACF,MACvB,CAuByB8G,CAAShO,EAAYn3B,uBAIhCxvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CAQxBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OACEsgB,IAAK,kCAAkCukE,EAAYiO,qBACnD1xE,IAAI,yBAGRphB,eAAA,KAAAE,SAAG,0DACHF,eAAA,KAAAE,SAAG,yEAIHF,eAAA,KAAAE,SAAG,iEAIHF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,8BAOtC,E,QCmsDA2vH,OAnwDkBzuH,IAAW,IAADwzF,EAAA6E,EAAAhS,EAAAC,EAAAC,EACzC,IAAI,qBACFG,EAAoB,gBACpB7C,EAAe,uBACfnF,EAAsB,eACtB4O,EAAc,0BACd3G,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,YACZE,EAAW,oBACXC,EAAmB,mBACnBhK,EAAkB,iBAClBC,EAAgB,gCAChBoG,EAA+B,oBAC/BU,EAAmB,oBACnBF,EAAmB,gBACnB9P,EAAe,gBACf4P,EAAe,cACfzG,EAAa,OACblzD,EAAM,aACNlG,EAAY,cACZE,GACEhuB,EAEJI,qBAAU,KACoB,GAAxBktF,EAAev1B,OAAwC,GAA1Bu1B,EAAet1B,SAA0C,GAA1Bs1B,EAAer1B,UAC7En6D,MAAM,gDACNmpF,EAAiBvI,GACnB,GACD,CAAC4O,EAAer1B,UAEjB,MAAOmvB,EAAiBC,GAAsBtrE,mBAAS,KAChD4iE,EAAM4J,GAAWxsE,oBAAS,IAC1BosE,EAAYC,GAAiBrsE,oBAAS,IACtC6sE,EAAOC,GAAa9sE,oBAAS,GAEpC0iE,GAAWC,EAAwBC,EAAMiK,GAEzC,MAAOtB,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAITioD,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,QAmE3B8+B,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAG1B+F,EAAWC,GAAgBnsE,oBAAS,GACrCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAgCrC+B,EAAqBA,CAACC,EAAcC,EAAkBhL,KAKvD,IAADkV,EA4DuEG,EAhEzE,OACU,GAARrV,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEmB,QAAnB+0F,EAAAnK,EAAarkB,cAAM,IAAAwuB,GAAnBA,EAAqBp3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,GAAuB,GAAnB17B,EAAQq2F,QACV,OACEl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KAAO3nF,EAAQ+lF,UACR,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAhCRhoC,EAuCd,IAEF,SAIO,GAARshD,QACmBriF,IAAxBotF,EAAarkB,QAAgD,OAAxBqkB,EAAarkB,OAElDzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,+CACA,+CACL/kF,SAEmB,QAAnBk1F,EAAAtK,EAAarkB,cAAM,IAAA2uB,GAAnBA,EAAqBv3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAC5B17B,EAAQq2F,QAERl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KACxB3nF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,GACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,aAG5C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAjCRhoC,MAoFhB,cAnGP,CAwGP,EAGI6sD,EAAoBA,CAACR,EAAcC,EAAkBhL,IAE/C,GAARA,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,GAAuB,GAAnB17B,EAAQq2F,QACV,OACEl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,aAG3C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAhCRhoC,EAuCd,IAEF,SAKF,GAARshD,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,8CACA,8CACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAC5B17B,EAAQq2F,QAERl7E,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,GACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,aAG3C5qE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,GACvBtoF,EAAQ0jE,iBAhCRhoC,MAkFhB,cApGL,EA2GH8sD,EAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAAOqqF,EAAqB7C,GAAiBsD,gBAAkB,GAS/D3pE,SAAWnB,GAAU0qE,EAAuB1qE,IAZvCstE,SAkEjB,IAAIkT,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAMutF,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,GAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbC,GAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACjBz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEvCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAGhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIhC+4E,EAAS4K,gBAEhB1tE,gBAAA,SACE/d,UAAU,gDACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAf6jF,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACzCF,eAAA,OAAAE,SAAM,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA7EnC,IAAD6jF,EAAAE,CAkFT,EAGIC,GAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAaXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAchBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaXuiD,EAAS4K,gBAEhB5rF,eAAA,SACEG,UAAU,gCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaduiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAaH,QAAfytD,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAchBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QApEd,IAADytD,EAAAC,CAkFT,EAyByBrE,EAAqBjqF,OA8BhD,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACvCqpF,EACGvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CAqCzCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,iDAAgDD,SAAA,CACzDge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,YAE9BmC,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,QAAAhe,SAAA,CACEF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAev1B,QAElBn5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAet1B,UAElBp5D,eAAA,SAAOG,UAAU,iBAAgBD,SAAC,MAClCF,eAAA,SAAOG,UAAU,cAAaD,SAC3BwuF,EAAer1B,QAAU,EACtBq1B,EAAer1B,QACf,IAAG,IAAMq1B,EAAer1B,gBAIlCn7C,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqB7C,IACtB6C,EAAqB7C,GAClB2G,gBACD5rF,eAAA,OACEsgB,IAAKpb,GAAO6T,aACZoF,QAASA,IAAM8zE,MAGjBjyF,eAAA,OACEsgB,IAAKpb,GAAO4T,YACZqF,QAASA,IAAM8zE,QAMrB,qBADuB,OAAtBnS,QAAsB,IAAtBA,GAAmC,QAAb8U,EAAtB9U,EAAwB0N,mBAAW,IAAAoH,OAAb,EAAtBA,EAAqC91F,eAEpCkB,eAAA69B,YAAA,CAAA39B,SACG+9F,EACuB,OAAtBne,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,cAExBvsF,eAAA,UAAQme,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAEnC6/E,EAAO,SAAM,OAGhB,KAIJ//E,eAAA69B,YAAA,CAAA39B,SACG+9F,EACuB,OAAtBne,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,gBAEJ,OAAtBzM,QAAsB,IAAtBA,GAAoC,QAAd2Z,EAAtB3Z,EAAwBkL,oBAAY,IAAAyO,OAAd,EAAtBA,EAAsC57F,QACpC,EACAmC,eAAA,UAAQme,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAEnC6/E,EAAO,SAAM,OAGhB,WAOV7hE,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7BvC,OAAOC,KAAK6wF,GAAiCntE,KAC5C,CAACurB,EAAapO,IAEVvgB,gBAAA,OAAiB+D,MAAM,gBAAe/hB,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAI8tB,EACJ7nC,KAAK,UACLvH,MAAOovC,EACPtrB,QAASsrB,IAAgBsyC,EACzBvgE,SAAUA,IACRqwE,EAAoBpiD,KAGxB7sC,eAAA,SAAOihD,IAAKpU,EAAY3sC,SACrB2sC,MAZKpO,UAqBpBvgB,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,OAAKG,UAAU,kBAAiBD,SAC7Bi/E,GACCxhF,OAAOC,KACL6wF,EAAgCtP,IAChC79D,KAAI,CAACq0E,EAAal3D,IAEhBvgB,gBAAA,OAAiB+D,MAAM,gBAAe/hB,SAAA,CACpCF,eAAA,SACEK,KAAK,QACL0e,GAAI42E,EACJ3wF,KAAK,UACLvH,MAAOk4F,EACPp0E,QAASo0E,IAAgB5G,EACzBnwE,SAAUA,IACRuwE,EAAoBwG,KAGxB31F,eAAA,SAAOihD,IAAK00C,EAAYz1F,SACrBy1F,MAZKl3D,aAqBtBz+B,eAAA,OAAKG,UAAU,2BAA0BD,SACvCge,gBAAA,KAAAhe,SAAA,CAAG,iBAEDge,gBAAA,QAAAhe,SAAA,CACG,IACqC,QADlCunF,EACHK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCpnF,aAmB9C6d,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,KAAG/d,UAAU,kBAAiBD,SAAA,CAAC,YACnB+kF,EAAkB,KAE9BjlF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAAE,SAEEF,eAAA,OAAK+e,GAAG,uBAAsB7e,SAntBlD6/E,EAEA//E,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,UAKjCuS,EAA0C,OAAtBne,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,cAE5CvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuByM,gBAMnCvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,mBAwwBzBxtE,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOsE,QAAS4X,IAAI,OAEhCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DAIHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UACEme,QAASA,IACPkqE,EAAiBvI,GAClB5/E,SACF,sBAsDTF,eAAA,OAAKG,UAAU,kBAAiBD,SAEhCF,eAAA,OAAKG,UAAU,4BAA2BD,SAEZ,OAA3B4/E,QACiCpiF,IAAlCoiF,EAAuBrZ,OAnxCrB6mB,EAACxN,EAAwBC,KAC7C,IAAIpvD,EACAtwB,EAA6B,OAAtBy/E,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB0N,YAAY1uF,cAU/C,OAPE6xB,EADW,mBAATtwB,EACK,EACyB,oBAAvBA,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EACL/K,EACAmF,EACAlF,GAEJ,KAAK,EACH,OAAOwL,EAAiBtG,EAAiBlF,GAC3C,KAAK,EACH,OAAOuL,EAAkBxL,EAAwBmF,EAAiBlF,GACpE,QACE,OAAO,KACX,EA2vCsBuN,CAAcxN,EAAwBC,GACtC,OAKN//E,eAACqqC,KAAc,IAEfnsB,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SACxB6C,EAAQ0qF,gBAdsBhvD,OAoBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CACLvuE,SAAU4pE,EACV5qE,QAt4CQwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAi3C0C/E,SACpC,sBAmDTge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACtCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GA95C1D3gF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,IAA2B,IAAvBy+B,EAAkB,GAAU,KACrCiE,SAAU,UA05C2B,EACXhpF,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EAEdvgF,SACD,aAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GAj8CtD3gF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,UA67C0B,EACVhpF,SACH,0BASbF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACtCge,gBAAA,OAAAhe,SAAA,CACAF,eAAA,UACMK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAmB1BtrE,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAkD,QAAlDwnF,EAAuC,QAAvCC,EAAEG,EAAqB7C,UAAgB,IAAA0C,OAAA,EAArCA,EAAuC0F,iBAAS,IAAA3F,IAAI,SACjF1nF,eAAA,UAAQme,QAASA,IAAMsiE,IAAavgF,SAAC,cAEvCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAM/pF,SACtC8pF,EAAShqF,eAAA,OAAKsgB,IAAKpb,GAAOqK,oBAAsB6R,IAAI,UAAYphB,eAAA,OAAKsgB,IAAKpb,GAAOoK,mBAAoB8R,IAAI,WAE1GphB,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAO/pF,SACvC8pF,EAAUhqF,eAAA,OAAKsgB,IAAKpb,GAAOkK,mBAAoBgS,IAAI,SAAYphB,eAAA,OAAKsgB,IAAKpb,GAAOmK,oBAAqB+R,IAAI,kBAI5GlD,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,6BAM/CF,eAAA,OAAKG,UAAU,qCACfD,SAEG4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,mCAAkC6pF,EAAS,kCAAmC,IAAK9pF,SAE7F8pF,EAAShqF,eAAA69B,YAAA,CAAA39B,SAAGurF,GAAqB1oF,EAAS07B,KAAaz+B,eAAA69B,YAAA,CAAA39B,SAAG+rF,GAAoBlpF,EAAS07B,MAHnFA,KAOX,0BAoHX,ECr2BA/9B,qBAtBUC,IAChB,CACLitD,SAAUjtD,EAAMmvH,gBAAgBC,eAChC5uH,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrC4/F,yBAA2BlgG,IACzBK,EAASu7E,GAAuC57E,GAAS,KAKhDpvB,EAp5BqBU,IAClC,IAAI,QACFC,EAAO,SACPusD,EAAQ,yBACRoiE,EAAwB,eACxB7uH,EAAc,aACd+tB,EAAY,cACZE,EAAa,SACbpuB,EAAQ,QACRupD,GACEnpD,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACdC,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtBhI,uBAAwB,CAAC,EACzB2O,gCAAiC,CAAC,EAClCnG,cAAe,CAAC,EAChBrD,gBAAiB,EACjByJ,eAAgB,CACdv1B,MAAO,EACPC,QAAS,EACTC,QAAS,GAEXs1B,YAAa,EACbC,QAAS,KAGJzP,EAAiBp1B,GAAc5sC,mBAAS,KACxC4xE,EAAiBC,GAAc7xE,mBAAS,IAEzC8xE,EAAuBjiD,IAC3B,MAAMkiD,EAAUvxF,OAAOC,KACrB+C,EAAM8tF,gCAAgCzhD,IACtC,GACF+c,EAAW/c,GACXgiD,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCzhD,GAASkiD,GAAS,GAAe,WACzEx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3BG,EAAS/D,EAAgB,EAIrBkK,EAAuBD,IAC3BF,EAAWE,GACX,MAAMjK,EACJtkF,EAAM8tF,gCAAgCtP,GAAiB+P,GAAS,GAClD,WAEhBx+D,GAAUa,IAAS,IACdA,EACH0zD,sBAGF,MAAM,qBAAE6C,GAAyBnnF,EACjC,IAAI42F,EAAKtS,EACTuS,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3BG,EAAS/D,EAAgB,EA8B3B,IAAImK,EAvBJ5tF,qBAAU,KACJb,EAAMmnF,qBAAqBjqF,SAC7BksD,EAAWppD,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA0B,SACtE+J,EACEruF,EAAMmnF,qBAAqBnnF,EAAMskF,iBAA+B,cAEpE,GACC,CAACtkF,EAAMskF,gBAAiBtkF,EAAMmnF,uBAEjCtmF,qBAAU,KACR6tF,IACAiI,GAAwB,GACvB,IAEH91F,qBAAU,KACW,IAAfb,EAAMgwB,MACR2+D,EAAqB3uF,EAAMkkF,YAAYn3B,eAElC,KACLsL,cAAco2B,EAAa,IAE5B,CAACzuF,EAAMgwB,OAGV,MAAM2+D,EAAwB1xB,IAAc,IAAD2xB,EACzC,IAAIX,EAAuB,QAAhBW,EAAG5uF,EAAMiuF,eAAO,IAAAW,IAAI,EAC/BX,GAAoB,IAGpB,IAAIY,EAA2B,GAAX5xB,EAAgB,KAAO,IAAItuB,MAAO4zB,UACtDssB,GAAgCZ,EAEhCQ,EAAex2B,aAAY,KACzB,IAAI62B,GAAM,IAAIngD,MAAO4zB,UACjBwsB,EAAWF,EAAgBC,EAC3BC,EAAW,GACb12B,cAAco2B,GAGhB,IAAIj2B,EAAQ16D,KAAKC,MACdgxF,EAAQ,MAAwB,MAE/Bt2B,EAAU36D,KAAKC,MAAOgxF,EAAQ,KAAmB,KACjDr2B,EAAU56D,KAAKC,MAAOgxF,EAAQ,IAAkB,KACpDh/D,GAAUa,IAAS,IACdA,EACHm9D,eAAgB,IACXn9D,EAAUm9D,eACbv1B,QACAC,UACAC,cAED,GACF,IAAK,EAGJg2B,EAAiBA,KACrB3+D,GAAUa,IAAS,IAAWA,EAAWszD,YAAaj3B,KAAY,EAG9D0pC,EAAyB7lE,UAC7B,IAAIG,EAAO,CACTi8B,SAAUD,EAASC,UAGrB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKlQ,GAAQ+N,GACb,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHuzD,oBAAqB5lE,EAAS0S,KAAKA,SAErCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAiCIuyF,EAA4B/lE,MAAOo8B,EAAUg7B,KAKjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAEF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK7N,GAAS0L,GAC3CtwB,QAAQC,IAAI,4BAA6B2d,GACZ,MAAzBA,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHuuD,uBAAwB5gE,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GA4BI0qF,EAAaA,KACT,IAAIrgD,MACH4zB,UAGL7vB,EAAW5hB,UAEf,IAAIqzD,EAAsB,IAAKnkF,EAAMmkF,qBACjCD,EAAc,IAAKlkF,EAAMkkF,aAE7B,GAAKrnF,aAAQsnF,IAAyBtnF,aAAQqnF,GAwH5C3lF,MAAM,mCAxHoD,CAC1D,IAAI2zB,OA7FqBpB,WAC3B,IAAIG,EAAO,CACTi8B,SAAUg3B,EAAYh3B,UAExB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9N,GAAQ2L,GAC1C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GAkE+B+8D,CAAqBjL,GAClD,MAAM8S,EAtCeC,KACvB,MAAMC,EAAyB,CAAC,EAChC,IAAK,IAAIjgC,EAAI,EAAGA,EAAIggC,EAAU/5F,OAAQ+5D,IACpCggC,EAAUhgC,GAAe,WAAIA,EACxBigC,EAAuBD,EAAUhgC,GAAY,SAKhDigC,EAAuBD,EAAUhgC,GAAY,WAC5CigC,EAAuBD,EAAUhgC,GAAY,SAC5CggC,EAAUhgC,GAAiB,cAG7BigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cACzB,CAACggC,EAAUhgC,IAEfigC,EAAuBD,EAAUhgC,GAAY,SAC3CggC,EAAUhgC,GAAiB,cAC3BrkC,KAAKqkE,EAAUhgC,IAfjBigC,EAAuBD,EAAUhgC,GAAY,SAAK,CAChD,CAACggC,EAAUhgC,GAAiB,cAAI,CAACggC,EAAUhgC,KAiBjD,OAAOigC,CAAsB,EAecK,CACvCrlE,EAAiBjB,KAAKmB,QAAQnB,MAEhC,GAAIiB,EAAiBxuB,OAAQ,CAC3BmzF,EACE3kE,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi8B,SACtCh7B,EAAiBjB,KAAKmB,QAAQnB,KAAK,GAAGi3D,KAGxCh2D,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAADi2F,EACtDj2F,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAK/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAsBJ,IAAIvmD,EAAO8lD,IACXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KACpD68D,gCAAiCkJ,EACjChJ,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAG3C,MACEpxF,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAEjB5G,EAA6BwP,IACjC,IAAI,gBAAEtS,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IACP1K,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf8mD,IAEAp+D,OAAO+vC,SAAS,EAAG,GACnBk1B,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAE7B,EAGIG,EAAY/D,IACF3gF,SAAS2kF,uBACrB,sCACA,GACM3mB,SAAS,CACf9b,IAAK,GAA2B,IAAvBy+B,EAAkB,GAC3BiE,SAAU,UACV,EAIEyH,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,qBAAE7G,EAAoB,YAAEjD,GACxDlkF,EACEiwF,EAAqB9I,EAAqB7C,GAC1C4L,EAEF,4DADAhM,EAAY9yC,OAER,OACuB,8BAAvB8yC,EAAY9yC,OACZ,OACA,QAEFngB,EAAO,CAAC,EAE8C,IAAD61D,EAAAC,EAAnB,mBAAlCkJ,EAAmBpD,YACrB57D,EAAO,CACLo/D,eAAgBJ,EAAmBI,eACnCmI,WAAiD,QAArC1R,EAAAK,EAAqB7C,UAAgB,IAAAwC,GAAgB,QAAhBC,EAArCD,EAAuCc,sBAAc,IAAAb,GAArDA,EACR7pF,OACAiqF,EAAqB7C,GAAiBsD,eACtC,GACJ16B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAeL,EAAmBK,cAClCC,eAAgBN,EAAmBM,eACnCrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,cAG9Bl/D,EAAO,CACLo/D,eAAgBrxF,OAAOixF,EAAmBI,gBAE1ClI,UAAW8H,EAAmBlG,qBAAqB7sF,OAC/C+yF,EAAmBlG,qBACnB,GACJ78B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAetxF,OAAOixF,EAAmBK,eACzCC,eAAgBvxF,OAAOixF,EAAmBM,gBAC1CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM+mD,EAAmBX,eACzBthC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAC9B/V,OAAQ8+C,EACR3B,QAAS0B,EAAmBE,cAGhC5hE,IAE6B,aADNwC,KAAMqC,KAAK3N,GAAQwL,IAC7BA,KAAKC,QAChBzC,GACF,EAGI44D,EAAyBuP,IAAQ,IAAD3C,EAAA6E,EACpC,IAAI,gBACFxU,EAAe,YACf0J,EAAW,qBACX7G,EAAoB,uBACpBhI,GACEn/E,EACA6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IAIE7I,EAAqB7C,GAAiB0F,aAChB,OAAtB7K,QAAsB,IAAtBA,GAA8B,QAAR8U,EAAtB9U,EAAwBrZ,cAAM,IAAAmuB,GAAsC,QAAtC6E,EAA9B7E,EAAgC9vC,QAAQinC,GAAMA,EAAEd,6BAAoB,IAAAwO,GAApEA,EACI57F,OAEJiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAGf2tD,EACE1P,EAAqByP,GAAI1pC,SACzBi6B,EAAqByP,GAAI1O,KAG3Bt2D,OAAO+vC,SAAS,EAAG,EAAE,EAGjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAE5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAKF,GAKvD,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DX,EACF1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,IAAYynF,KAGA,IAAjBmH,EACF7J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA2sF,GAGF1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGlD7C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAElB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAa7DmK,EAAeA,KACnB,IAAI,gBAAEhN,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,iBACnC9D,EAAqB7C,GAAiB2G,gBAEzCl7D,GAAUa,IAAS,IAAWA,EAAWu2D,2BAjBpBr2D,WACrB,MAAM,SAAEo8B,EAAQ,IAAEg7B,EAAG,gBAAE+C,GAAoB3G,EAC3C,IAAIrzD,EAAO,CACTi8B,SAAUA,EACVmF,aAAc61B,EACdh3D,OAAQ+5D,EAAkB,EAAI,EAC9BvrF,KAAM,SAEeqxB,KAAMqC,KAAKhO,GAAQ6L,EAAK,EAU/CsgE,CAAepK,EAAqB7C,GAAiB,EAGjDkN,EAAcA,KAClB,IAAI,gBAAElN,EAAe,qBAAE6C,EAAoB,YAAEjD,GAAgBlkF,EAM7D,GAJAmnF,EAAqB7C,GAAiBoM,UACnCvJ,EAAqB7C,GAAiBoM,SAEzC3gE,GAAUa,IAAS,IAAWA,EAAWu2D,2BACrCA,EAAqB7C,GAAiBoM,SAAU,CAClD,IAAIz/D,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,KAAO,CACL,IAAIA,EAAO,CACTvxB,KAAM,EACN2yD,aAAc80B,EAAqB7C,GAAiB4D,IACpDh3D,OAAQ,GAEVynE,EAAY1nE,EACd,GAEI0nE,EAAc7nE,UAClB,UACyBC,KAAMqC,KAAK1P,GAAQuN,EAC5C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAEImtF,EAAuB30E,IAC3B,IAAI,QAAE8D,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAEhDmnF,EAAqB7C,GAAiB2G,gBAAkBrqE,EAExDmP,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAC1B,MAAM,qBAAEsB,GAAyBnnF,EAGjC+vB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MAInBgR,EACE1P,EAAqBtB,GAAgB34B,SACrCi6B,EAAqBtB,GAAgBqC,IACtC,EAGGR,EAAmB52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCoC,EAAU+8E,EAEV6Z,EAAc,GAElB,GAA0C,mBAAtC52F,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,CACA1C,IACA,IAAI2D,QAAyBsnE,EAC3Bh5F,EACA0jF,EACA8U,GAEE9mE,EAAiBxuB,QACnB+qB,IAEA4gG,EAAyBnrC,GACzBxjF,EAAQkyB,KAAK,CACXC,SAAU,uBAGZpE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAE9B,EAGIymE,EAAgB1oE,MAAO+oE,EAAiB3V,EAAa4V,KACzD,IAAIr4D,EAAiB,CAInByrB,SAAUg3B,EAAYh3B,SAEtBhkB,KAAM,IAgBR,IACE,MAAM3qB,QAAiBwS,KAAMqC,KAAK5N,GAAQic,GAC1C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAGIqxD,EAAoBA,KACxB1jF,EAAQkyB,KAAK,WAAW,EAmD1B,OACEvzB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,uCAAsCD,SAnDvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAAC4vH,GAAyB,CACxB/qC,YAAalkF,EAAMkkF,YACnBC,oBAAqBnkF,EAAMmkF,oBAC3BzxC,SAAUA,EACV0xC,kBAAmBA,IAGzB,KAAK,EACH,OACE/kF,eAAC6vH,GAAuB,CACtB/nC,qBAAsBnnF,EAAMmnF,qBAC5B2G,gCACE9tF,EAAM8tF,gCAERtP,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBtkF,EAAMskF,gBACvByJ,eAAgB/tF,EAAM+tF,eACtB3G,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACbC,oBAAqBA,EACrBhK,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,EACf0wD,uBAAwBn/E,EAAMm/E,yBAIpC,QACE,OAAO,KACX,EAOO7rD,CAAWtzB,EAAMgwB,WAGb,IC92BAjwB,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EAzBcU,IAC3B,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAACE,GAAaI,EAC/B03B,EAAWkK,wBACXunB,EAAkB,OAARzxB,QAAQ,IAARA,OAAQ,EAARA,EAAUn4B,MAAMitD,SAASC,SACvC,OACE3vC,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7CF,eAAA,OAAKG,UAAU,uCAAsCD,SACnDF,eAACC,WAAQ,CAAAC,SACLF,eAACiwH,GAA0B,CAAEjvH,SAAUA,EAAUK,QAASA,EAASkpD,QAASA,UAInFzpD,GAAUd,eAACD,KAAW,MACd,ICkIAW,ICxJX,GDwJWA,iBAnBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB48F,eAAgB/8F,EAAMmvH,gBAAgBI,iBACtClvH,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAGEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAtIQU,IACrB,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,eAAE48F,EAAc,SAAE18F,EAAQ,eAAEG,EAAc,QAAEE,GAAYD,EAE7FmpD,EAAUmzC,EACd,MAAO/8F,EAAO+vB,GAAYvT,qBAC1B,IAAIyuG,EAAWp1F,uBAIEwM,wBACjBxhC,qBAAU,KACRqqH,GAAe,GACd,IAEH,MAAMA,EAAgBp6F,UACpB,IAAIG,EAAO,CACTi8B,SAAU6vC,EAAe7vC,UAE3B3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK9K,GAAS2I,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBnB,EAASxR,EAAS0S,MAClBxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAWF,IAAIgrE,EAAa,OAALz5F,QAAK,IAALA,OAAK,EAALA,EAAOixB,KACF,OAALjxB,QAAK,IAALA,KAAO6qH,eACF,OAAL7qH,QAAK,IAALA,KAAO8qH,eAEnB,MAAOnxE,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EASnC,OAPAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAEDt6C,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAE9Bo6C,GAAe,IACZp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAGxCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAEhC6c,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CACtB5I,SAAU,WACV7yB,MAAO,CAAEyiC,IAAK,YAChBljC,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEzCphB,eAAA,MAAAE,SAAI,oBAENge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAO3sC,qBAEbvvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOzsC,iBAEbzvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOC,oBAEbn8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAS,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOE,sBAEbp8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAI,GAAQ,OAALk6F,QAAK,IAALA,OAAK,EAALA,EAAOsxB,+BAIpBxtG,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,UAAQme,QAASA,KACf9c,EAAQkyB,KAAK,CAACC,SAAU,WAAY7yB,MAAO,CAACyiC,IAAK,YAAY,EAC7DljC,SAAC,kBACHF,eAAA,UAAQme,QA9EAs/E,KAChBmuB,EAASr4F,KAAK,CAEZC,SAAU,mCACV7yB,MAAO,CACL4pD,YAEF,EAuEiCrqD,SAAC,6BAIjC,I,QCjIP,SAAS,KAAa,OAAO,GAAWvC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC+hCAs8B,OAnjC6B/uH,IAC1C,IAAI,qBACF0mF,EAAoB,gBACpB7C,EAAe,uBACfwb,EAAsB,0BACtB1Y,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,OAClBhzD,GACEh0B,EACJ,MAAM2zF,EAAyBhsD,iBAAO,OAE/Bg3C,EAAM4J,GAAWxsE,oBAAS,IAC1BgsE,EAAWC,GAAgBjsE,oBAAS,IACpCosE,EAAYC,GAAiBrsE,oBAAS,IACtC6sE,EAAQC,GAAa9sE,oBAAS,GA4C/BktE,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAIL7V,EAAqBA,CAACC,EAAc/K,IAC5B,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EAEP//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcE,aAAantF,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAMRz+B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAOR6sD,EAAoBA,CAACR,EAAc/K,IAC3B,GAARA,EAEA//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,SAIO,GAARshD,EAEP//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcE,aAAantF,OACxBitF,EAAaE,aAAa1pE,KAAI,CAACve,EAAS07B,IAEpCvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,cAvCL,EA8CH8sD,EAAmBA,KAAO,IAAD9D,EAC7B,OACEznF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAE9CppE,UAAQ,GALH8lE,QASF,EAoDTrhB,EAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,iCAAiC1uC,MACjC,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAI8vD,EAAqB,CAAE9vD,YAAa3T,EAAEzK,KAAKoe,aAC/Ck0B,eAAeC,QACb,qBACA9hE,KAAKw+C,UAAUi/C,GAEnB,CACF,GAAE,EAGE1T,EAAkBA,KACtBhD,GAAcD,EAAU,EAgE1B,IAAI8U,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAMutF,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAiJbS,EAAsBA,CAACjL,EAAUviD,IACjCwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,0BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWW,GAAzBuiD,EAAS4Y,aAET55F,eAAA,SACEG,UAAU,+BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAUgB,GAAzBuiD,EAAS4Y,aAEhB55F,eAAA,SACEG,UAAU,cACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,aAVb,EAuBLgtD,EAAuBA,CAACzK,EAAUviD,IAClCwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,0CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACTz+B,eAAA,OAAKG,UAAU,OAAMD,SAC3BF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIV,GAAzB+4E,EAAS4Y,aAET17E,gBAAA,SACE/d,UAAU,+CACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACXz+B,eAAA,OAAKG,UAAU,OAAMD,SACzBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAGL,GAAzB+4E,EAAS4Y,aAEhB17E,gBAAA,SACE/d,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnB2qD,GAAa,EAAM,EACnBlpF,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACXz+B,eAAA,OAAKG,UAAU,OAAMD,SACzBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKvB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,mBAnBlC,EAiDF6/E,EAAqBjqF,OAG9B,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,gBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,UAE9CmC,eAAA,OAAKG,UAAU,aAAYD,SACxB+9F,EACuB,OAAtBwC,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBlU,cAExBvsF,eAAA,UACEG,UAAW,cACXge,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SAG7B6/E,EAAO,SAAM,MAGhB,UAsBR7hE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CAExCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACtB,IACfF,eAAA,QAAAE,SAA6B,OAAtBugG,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBjT,mBAGnCxtF,eAAA,OAAKG,UAAU,uBAAsBD,SAkBnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAGJ,OAA3Bwb,QAC0B/iG,IAA3B+iG,EACEzgG,eAAA,KACEG,UAAU,eACV69C,wBAplBD49C,EAAC6E,EAAwB1gB,KAClD,GAAY,GAARA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,QAE7B,GAAY,GAAR3L,EAAe,CAGxB,OAFake,EAAoBwC,EAAuBlU,cAG/C,CACLtuC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBlU,cAG3B,CACLtuC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAGtC,CACE,MAAO,CACLztC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAEpC,EA+jBmDkQ,CACvB6E,EACA1gB,KAIJ,WAMR//E,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3BugG,QACiC/iG,IAAlC+iG,EAAuBh6B,OAx4BrB6mB,EAACmT,EAAwB1gB,KAC7C,IAAI0gB,EAuBF,OAAO,KAvBmB,CAC1B,IAAI9vE,EACFtwB,EAAOogG,EAAuBjT,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB4V,EAAwB1gB,GACpD,KAAK,EACH,OAAOwL,EAAiBkV,EAAwB1gB,GAClD,KAAK,EACH,OAAOuL,EAAkBmV,EAAwB1gB,GACnD,QACE,OAAO,KAEb,CAEA,EAg3BsBuN,CAAcmT,EAAwB1gB,GACtC,KAgBN7hE,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GA73BxD0R,MAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA03B1CH,EAAW,EACXz2F,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,oBAEVtzB,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GA95BrD+D,MACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA25B1C9N,EAAU,EACV9oF,SACH,gBAOTge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,eACJge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KACEg+C,wBA1oBD2iD,EAACF,EAAwB1gB,KAC9C,GAAY,GAARA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,UAE7B,GAAY,GAARlf,EAAe,CAGxB,OAFake,EAAoBwC,EAAuBtB,gBAG/C,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBtB,gBAG3B,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,SAGtC,CACE,MAAO,CACLhhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAEpC,EAqnB+CiV,CACvBF,EACA1gB,KAplBLD,KACnB,MAAM9e,EAAU8e,EAAuB6M,iBACjCC,EAAe9M,EAAuB+M,eACtCC,EAAsBhN,EAAuBiN,uBAC7CC,EAAoBlN,EAAuBmN,qBAE3CC,GAAWnN,GAAQ6M,GAAgBI,EACnCvf,EAAkByf,EAAUN,EAAe5rB,EAC3CmsB,EAAuBD,EACzBF,EACAF,EAIJ,IAFmB,uDAEHv1D,KAAKk2C,GACnB,OAAO,KAGT,MAAM2f,EAAcrN,EAAO,sBAAwB,2GAEnD,OAAIoN,GAAwD,KAAhCA,EAAqBrvF,OAE7CogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAEFjE,EACCnpF,eAAC4/E,GAA4B,CAC3BzhB,SAAUgvB,EACVhtF,UAAU,gBAEV,QAKN+d,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC1ButE,GACCztE,eAAA,UACEG,UAAU,yBACVge,QAASiuE,EAAgBlsF,SAExBktF,IAIJjE,EACCnpF,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,EACR/N,MAAM,0EACNC,iBAAe,IAEf,OAGV,EA8hBqB42B,CAAY+T,eAKrBzgG,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAGxBxpF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,qBAM/CF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAEP,OAApB4nF,QAAoB,IAApBA,KAAsBjqF,OACC,OAApBiqF,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBxmE,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACGyB,EAAqB1oF,EAAS07B,GAC9BwtD,EAAoBlpF,EAAS07B,IAT5BA,KAaX,0BAUb,ECt6BA/9B,qBAhBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,SAGGivB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EAvIsBU,IACnC,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,SAAEE,GAAaI,EACxD,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,GACtB7C,gBAAiB,EACjBwb,uBAAwB,CAAC,IAE3Bj/F,qBAAU,KACR88E,GAAiB,GAChB,IAEH,MAAMxlD,EAAWkK,wBAEXs7C,EAAkB7sD,UACtBvC,IACA,IAAI0C,EAAO,CAETi8B,SAAU/0B,EAASn4B,MAAM4pD,QAAQsD,UAEnC,IACE,MAAM3uC,QAAiBwS,KAAMqC,KAAK9N,GAAQ2L,GACb,MAAzB1S,EAAS0S,KAAKC,SAChB+uE,EACE1hF,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBAAiBp3B,SAC1C3uC,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBAAiB4D,KAG5Cn4D,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsB5oE,EAAS0S,KAAKA,SAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIwxE,EAA4BnvE,MAAOo8B,EAAUg7B,KACjD,MAAMj3D,EAAO,CACXi8B,WACAg7B,OAGF35D,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK7N,GAAS0L,GAEf,KAAxB1S,EAAS0S,KAAKC,SAChBzC,IAEAsB,GAAUa,IAAS,IACdA,EACHkvE,uBAAwBvhF,EAAS0S,KAAKA,KAAK,OAGjD,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GA6CF,OACEiZ,gBAAA,OAAAhe,SAAA,CACEF,eAACmwH,GAAkC,CACjCroC,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvBwb,uBAAwB9/F,EAAM8/F,uBAC9B1Y,0BAjC6BgD,IACjC,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EAA0B/yC,EAAUg7B,GAChC5D,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAGxBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAoBI0lB,sBAhDyB+C,IAC7B,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD,MAAM,SAAEktD,EAAQ,IAAEg7B,GAAQf,EAAqBiD,GAE/C6V,EAA0B/yC,EAAUg7B,GACpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,EAAE,EAsCjB8lB,mBAlBsB5B,IAC1B,MAAM,SAAE34B,EAAQ,IAAEg7B,GAAQloF,EAAMmnF,qBAAqBtB,GAErDoa,EAA0B/yC,EAAUg7B,GAEpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAWCpxD,OAAQp0B,EAASo0B,SAElBt0B,GAAUd,eAACD,KAAW,MACnB,I,oBCsEKW,qBAzBUC,IAChB,CACL+uE,QAAS/uE,EAAMgvE,eAAeD,QAC9B1uE,SAAUL,EAAMM,KAAKC,KACrBowB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,SACtBuxE,gBAAiBzvH,EAAMgvE,eAAe0gD,mBACtC32C,aAAc/4E,EAAM2zE,oBAAoBoF,iBAIhBvpD,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCC,QAAUP,IACRK,EAASG,GAAoBR,GAAS,KAK7BpvB,EA7LWU,IACxB,MAAM,QACJsuE,EAAO,SACP1uE,EAAQ,MACRswB,EAAK,UACLuC,EAAS,gBACTu8F,EAAe,aACflhG,EAAY,cACZE,EAAa,QACbiB,EAAO,aACPqpD,GACEt4E,GAEE,UACJ+gB,EAAS,SACTyO,EAAQ,WACR8jB,EAAU,WACVoN,EAAU,oBACVU,EAAmB,SACnBC,EAAQ,iBACRC,EAAgB,MAChBH,GACE6tE,GAEGE,EAAkBC,GAAuBpzG,mBAAS,CAAC,GACpD9b,EAAUm1B,uBAEhBh1B,qBAAU,KACRgvH,GAAqB,GACpB,IAEH,MAAMA,EAAsB/+F,UAC1B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BpS,QAAiBwS,KAAMqC,KAC3B,GAAG1K,cACDroB,EAASq4B,mBACCq2C,mBAAyBgK,0CACrC,CAAE/lD,YAGyB,MAAzBzU,EAAS0S,KAAKC,QAChB0+F,EAAoBrxG,EAAS0S,MAEsB,cAA/C1S,EAAS0S,KAAK6+F,eAAe3xH,gBAC/Bm8G,UACM5nF,KAAUC,OAAO,CACrBtuB,KAAM,wBACNgZ,WAAY,CACVmE,UAAWA,EACXyO,SAAUA,EACV8/F,UAAW5uE,EACXg3B,WAAYpkC,EACZi8E,gBAAiBluE,EACjBxpB,UAAWj4B,EAASgE,KACpBw0B,OAAQx4B,EAASw4B,OACjBpE,OAAQp0B,EAASq4B,mBAKjBhG,KAAUC,OAAO,CACrBtuB,KAAM,uBACNgZ,WAAY,CACVmE,UAAWA,EACXyO,SAAUA,EACV8/F,UAAW5uE,EACXg3B,WAAYpkC,EACZi8E,gBAAiBluE,EACjBxpB,UAAWj4B,EAASgE,KACpBw0B,OAAQx4B,EAASw4B,OACjBpE,OAAQp0B,EAASq4B,UAGvB,EAGFtZ,YAAW,KACT1e,EAAQkyB,KAAK,kBAAkB,GAC9B,CAAC,MAEJ,MAAM0nF,EAAuBxpF,UAC3B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IAAIm4B,EAAc,CAChBtnC,YACAyO,WACA8jB,aACAoN,aACAU,sBACAC,WACAC,mBACAH,SAGFrzB,IACA,IAEE,GAA6B,aADNwC,KAAMqC,KAAKzQ,GAAQmmC,EAAa,CAAE91B,aAC5C/B,KAAKC,OAAgB,CAChCzC,UAC6BisF,IAE3Bh6G,EAAQkyB,KAAK,kBAIjB,CACF,CAAE,MAAOtuB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIisF,EAAa5pF,UACjBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI/O,IACjC,OAA6B,MAAzB1D,EAAS0S,KAAKC,QAChBxB,EAAQnR,EAAS0S,KAAKA,MACtBxC,IACO,GAEA,CAEX,CAAE,MAAOnqB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACT,GAkBF,OACEjF,eAAA,OACEwE,MAAO,CACLjE,OAAQ,QACRkE,QAAS,OACTs5B,eAAgB,SAChBD,WAAY,UACZ59B,SAEFF,eAAA,OAAKwE,MAAO,CAAElE,MAAO,SAAUJ,SAC5BvC,OAAOC,KAAK0yH,GAAkBzyH,SAxBmB,cAAlDyyH,EAAiBG,eAAe3xH,cAC3BkB,eAACqpC,KAAM,CAACunF,cAAeC,GAAqBvnF,MAAM,IAGvDprB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAACqpC,KAAM,CAACunF,cAAeE,GAAgBxnF,MAAM,IAC7CtpC,eAAA,OAAKwE,MAAO,CAAEy+C,SAAU,KAAMxjD,MAAO,MAAO8xC,UAAW,UAAWrxC,SAAC,oCAoBnE,I,QC1HK6wH,OA7CiBA,IAE5B/wH,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,0CAAyCD,SAAA,CACtDF,eAAA,OAAAE,SAAKF,eAAA,OAAKsgB,IAAKpb,GAAOsQ,YAAa4L,IAAI,aACvClD,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KAAAE,SAAG,4BACHge,gBAAA,KAAAhe,SAAA,CAAG,eAAYF,eAAA,UAAAE,SAAQ,mCAAuC,yBAAsBF,eAAA,QAAAE,SAAM,SAAW,gBAEvGF,eAAA,OAAAE,SAEAge,gBAACie,IAAI,CAACC,GAAI,CAAE5I,SAAU,uBAAwBtzB,SAAA,CAACF,eAAA,OAAKsgB,IAAKpb,GAAOuQ,iBAAkB2L,IAAI,SAAS,yB,QChBhG,MAAM4vG,GAAuB,uBACvBC,GAAyB,yBAGzBC,GAA+B,+BAE/BC,GACX,sCCuBa,OAPYrhG,IAClB,CACLzvB,KAAM8uB,GACNW,YAIW,GArBcA,IACpB,CACLzvB,KAAM8uB,GACNW,YC0cWpvB,oBAAQ,MAjBKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCghG,wBAA0BthG,IACxBK,EAASkhG,GAAsCvhG,GAAS,EAE1DwhG,0BAA4BxhG,IAC1BK,EAASkhG,GAAwCvhG,GAAS,KAKjDpvB,EA3cmBU,IAChC,MAAM,wBACJgwH,EAAuB,QACvB/vH,EAAO,aACP6tB,EAAY,cACZE,EAAa,0BACbkiG,GACElwH,GAEGT,EAAO+vB,GAAYvT,mBAAS,CACjCgwF,qBAAsB,GACtBxwE,MAAM,EACNstF,OAAQ,KAGVzoH,qBAAU,KACR+vH,GAAyB,GACxB,IAGH,MAAMA,EAA0B9/F,UAC9B,IACEvC,IACA,MAAMhQ,QAAiBwS,KAAMqC,KAAKzK,IACL,MAAzBpK,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IACD,IACFA,EACH47E,qBAAsBjuF,EAAS0S,KAAKA,KAAK4/F,UAIjD,CAAE,MAAOvsH,GACP3D,QAAQC,IAAI0D,EACd,GAGIwsH,EAAwBA,CAACxH,EAAQyH,KACrC,IAAIC,EAAkB,EAEtB,OAAO1H,EAAO3oG,KAAI,CAAC4wB,EAAOzT,IACpBkzF,EAAkBz/E,EAAMA,MAAMr0C,QAAU6zH,GAC1CC,GAAmBz/E,EAAMA,MAAMr0C,OAE7BqgB,gBAAA,QAAM/d,UAAU,WAAUD,SAAA,CACvBgyC,EAAMA,MAAO+3E,EAAOpsH,OAAS,GAAK4gC,EAAQwrF,EAAOpsH,OAAS,EAAI,IAAM,KADvCq0C,EAAMA,QAKjC,MAET,EAGE0/E,EAA4B3H,GACRA,EAAO4H,QAAO,CAACC,EAAK5/E,IAAU4/E,EAAM5/E,EAAMA,MAAMr0C,QAAQ,GAgB5Ek0H,EAAsB9H,IAC1Bv5F,GAAUa,IAAS,IACdA,EACH04F,YACC,EAYL,OACEjqH,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAA,OAAKG,UAAU,kCAAiCD,SAG9Cge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,MAAI+D,MAAM,2BAA2BlD,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAC5DF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MAC2B,kBAE3BlD,GAAG,oBACH,iBAAe,MACf,iBAAe,iBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,gBACd,gBAAc,QAAOhE,SACtB,oBAIHF,eAAA,MAAIiiB,MAAM,WAAW/d,KAAK,eAAchE,SACtCF,eAAA,UACEiiB,MACiD,WAEjDlD,GAAG,sBACH,iBAAe,MACf,iBAAe,mBACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,kBACd,gBAAc,QAAOhE,SACtB,2BAOPF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK+D,MAAM,cAAclD,GAAG,eAAc7e,SAAA,CACxCF,eAAA,OACEiiB,MAEM,4BAGNlD,GAAG,gBACH7a,KAAK,WACL,kBAAgB,oBAAmBhE,SAEnCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC3C1C,aAAQmD,EAAMwsG,sBAgHdjvF,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKsgB,IAAKpb,GAAO6O,yBAEnBmK,gBAAA,KAAAhe,SAAA,CAAG,iCAA8BF,eAAA,SAAM,cAnHzCW,EAAMwsG,qBAAqB7rF,KAAI,CAAC6qF,EAAO1tE,KACrC,IAAK0tE,EAAM35C,WACX,OACEt0C,gBAAA,OACE/d,UAAU,6BAA4BD,SAAA,CAGtCge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,YAAWD,SAAEisG,EAAMnnG,OAClCkZ,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,eAChBF,eAAA,SACZA,eAAA,UAAAE,SAAS,IAAIovC,KAAK68D,EAAM6lB,WAAWC,mBAAmB,SAAS5xE,QAAQ,MAAO,aAGlFniC,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC9BuxH,EAAsBtlB,EAAMj6D,MAAO,IACnC0/E,EAAyBzlB,EAAMj6D,OAAS,IACzCh0B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,QAAAE,SAAM,QACNF,eAAA,UACEK,KAAK,SACLF,UAAU,gBACV,iBAAe,QACf,iBAAe,kBACfge,QAASA,IAAM4zG,EAAmB5lB,EAAMj6D,OAAOhyC,SAChD,mBAMHF,eAAA,OACEiiB,MAAM,aACNlD,GAAG,iBACH,mBAAiB,SACjB,mBAAiB,QACjBmzG,SAAS,KACT,kBAAgB,sBAChB,cAAY,OAAMhyH,SAElBF,eAAA,OAAKiiB,MAAM,uCAAsC/hB,SAC/Cge,gBAAA,OAAK+D,MAAM,gBAAe/hB,SAAA,CACxBge,gBAAA,OAAK+D,MAAM,eAAc/hB,SAAA,CACvBF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,KACEiiB,MAAM,mBACNlD,GAAG,sBAAqB7e,SACzB,aAIHF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,UACEK,KAAK,SACL4hB,MAAM,YACN,kBAAgB,QAChB,aAAW,eAIjBjiB,eAAA,OAAKiiB,MAAM,aAAY/hB,SACrBF,eAAA,OAAAE,SAGGS,EAAMspH,OAAO3oG,KAAKve,GAEf/C,eAAA,OAAKG,UAAU,WAAUD,SACtB6C,EAAQmvC,cAMnBlyC,eAAA,OAAKiiB,MAAM,eAAc/hB,SACvBF,eAAA,UACEK,KAAK,SACLF,UAAU,WACV,kBAAgB,QAChB,aAAW,QAAOD,SACnB,sBAQXge,gBAAA,OAAK/d,UAAU,+DAA8DD,SAAA,CAC3Ege,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CACjCge,gBAAA,QAAM/d,UAAU,eAAcD,SAAA,CAACge,gBAAA,UAAAhe,SAAA,CAASisG,EAAMke,eAAgB,OAAa,WAC3EnsG,gBAAA,QAAM/d,UAAU,cAAcqE,MAAO,CAAC/E,MAAO,GAAG0sG,EAAM3sG,aAAcy/B,gBAAgB,GAAGktE,EAAM/sG,WAAWb,MAAM,KAAK,MAAM2B,SAAA,CAAEisG,EAAMn/D,QAAS,UAE1IhtC,eAAA,OAAKG,UAAU,gBAAeD,SAE5BF,eAAA,OACEG,UAAU,WACVge,QAASA,IAtLlBguF,KACnBilB,EAAwBjlB,EAAMQ,kBAC9B2kB,EAA0BnlB,EAAMnnG,MAEhC3D,EAAQkyB,KAAK,sBAAsB,EAkLQs/E,CAAY1G,GAAOjsG,SAElCge,gBAAA,UAAQ/d,UAAU,kBAAiBD,SAAA,CAAC,iBAElCF,eAAA,OAAKsgB,IAAKpb,GAAO0C,eAAgBwZ,IAAI,sBAhGxC+qF,EAAMQ,iBAuGf,QAaR3sG,eAAA,OACEiiB,MAGM,gBAENlD,GAAG,kBACH7a,KAAK,WACL,kBAAgB,sBAAqBhE,SAErCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC3C1C,aAAQmD,EAAMwsG,sBAoJdjvF,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKsgB,IAAKpb,GAAO6O,yBAEnBmK,gBAAA,KAAAhe,SAAA,CAAG,6BAA0BF,eAAA,SAAM,oBAvJrCW,EAAMwsG,qBAAqB7rF,KAAI,CAAC6qF,EAAO1tE,KACrC,GAAI0tE,EAAM35C,WACV,OACEt0C,gBAAA,OACE/d,UAAU,6BACVqE,MAAO,CAAC2tH,cAAe,QAAQjyH,SAAA,CAG/Bge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,YAAWD,SAAEisG,EAAMnnG,OAClCkZ,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,eAChBF,eAAA,SACZA,eAAA,UAAAE,SAAS,IAAIovC,KAAK68D,EAAM6lB,WAAWC,mBAAmB,SAAS5xE,QAAQ,MAAO,aAGlFrgD,eAAA,OAAKG,UAAU,YAAWD,SAC1Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC5BuxH,EAAsBtlB,EAAMj6D,MAAO,IACnC0/E,EAAyBzlB,EAAMj6D,OAAS,IACzCh0B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,QAAAE,SAAM,QACNF,eAAA,UACEK,KAAK,SACLF,UAAU,gBACV,iBAAe,QACf,iBAAe,mBACfge,QAASA,IAAM4zG,EAAmB5lB,EAAMj6D,OAAOhyC,SAChD,qBAOLge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,MAAAE,SACEge,gBAAA,MAAI/d,UAAU,aAAYD,SAAA,CAC1BF,eAAA,QAAAE,SACKisG,EAAMke,iBACD,IAAI,YAIhBnsG,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEge,gBAAA,MAAI1Z,MAAO,CAACm9C,aAAc,OAAOzhD,SAAA,CAC/Bge,gBAAA,MAAI/d,UAAU,eAAcD,SAAA,CAC1BF,eAAA,QAAAE,SACGisG,EAAMke,gBACJle,EAAMimB,gBACLjmB,EAAMkmB,mBACJ,IAAI,iBAER,IACNn0G,gBAAA,MAAI/d,UAAU,WAAUD,SAAA,CACtBge,gBAAA,QAAAhe,SAAA,CAAM,IAA6B,KAA1BisG,EAAMimB,iBAAoD,KAA1BjmB,EAAMkmB,gBAA0B,IAAMlmB,EAAMkmB,gBAAgB,OAAQ,WACzG,IACNn0G,gBAAA,MAAI/d,UAAU,aAAYD,SAAA,CACxBge,gBAAA,QAAAhe,SAAA,CAAM,IAA6B,KAA1BisG,EAAMimB,iBAAoD,KAA1BjmB,EAAMkmB,gBAA0B,IAAMlmB,EAAMimB,gBAAgB,OAAQ,aACzG,OAERpyH,eAAA,OAAKG,UAAU,gBAAeD,SAE5BF,eAAA,OACEG,UAAU,WACVge,QAASA,KAAMiuF,OAnRnBuB,EAmRsCxB,EAAMQ,iBAlRtEykB,EAAwBzjB,QACxBtsG,EAAQkyB,KAAK,2BAFao6E,KAmR8D,EAAAztG,SAE1Dge,gBAAA,UAAQ/d,UAAU,kBAAiBD,SAAA,CAAC,gBAElCF,eAAA,OAAKsgB,IAAKpb,GAAO0C,eAAgBwZ,IAAI,uBAO/CphB,eAAA,OACEiiB,MAAM,aACNlD,GAAG,kBACH,mBAAiB,SACjB,mBAAiB,QACjBmzG,SAAS,KACT,kBAAgB,uBAChB,cAAY,OAAMhyH,SAElBF,eAAA,OAAKiiB,MAAM,uCAAsC/hB,SAC/Cge,gBAAA,OAAK+D,MAAM,gBAAe/hB,SAAA,CACxBge,gBAAA,OAAK+D,MAAM,eAAc/hB,SAAA,CACvBF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,KACEiiB,MAAM,mBACNlD,GAAG,uBAAsB7e,SAC1B,aAIHF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,UACEK,KAAK,SACL4hB,MAAM,YACN,kBAAgB,QAChB,aAAW,eAIjBjiB,eAAA,OAAKiiB,MAAM,aAAY/hB,SACrBF,eAAA,OAAAE,SACGS,EAAMspH,OAAO3oG,KAAKve,GAEf/C,eAAA,OAAKG,UAAU,WAAUD,SACtB6C,EAAQmvC,cAMnBlyC,eAAA,OAAKiiB,MAAM,eAAc/hB,SACvBF,eAAA,UACEK,KAAK,SACLF,UAAU,WACV,kBAAgB,QAChB,aAAW,QAAOD,SACnB,qBAnHJisG,EAAMQ,iBA0If,mBAgBZ,I,QCzZKjsG,qBANUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,UAINJ,EA7BOU,IACpB,IAAI,OAAEN,GAAWM,EAEjB,MAAMC,EAAUm1B,uBAChB,OACEtY,gBAAA,OAAAhe,SAAA,CACEF,eAAC47C,GAAe,CAACv6C,QAASA,IAC1B6c,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,2BAA0BD,SACvCF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAC+wH,GAAuB,IACxB/wH,eAACsyH,GAAwB,CAACjxH,QAASA,WAIzCrB,eAAC67C,GAAgB,OAElB/6C,GAAUd,eAACD,KAAW,MACnB,I,QCVV,MAAMwyH,GAAgB,CACpB,CACEC,iBAAkB,EAClBC,UAAW,IAEb,CACED,iBAAkB,GAClBC,UAAW,IAEb,CACED,iBAAkB,GAClBC,UAAW,IAEb,CACED,iBAAkB,GAClBC,UAAW,IAEb,CACED,iBAAkB,GAClBC,UAAW,IAEb,CACED,iBAAkB,GAClBC,UAAW,IAEb,CACED,iBAAkB,GAClBC,UAAW,IAEb,CACED,iBAAkB,GAClBC,UAAW,IAEb,CACED,iBAAkB,GAClBC,UAAW,KAytBA/xH,qBA7BUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,SACtB78B,SAAUrhB,EAAMM,KAAKC,KAAK8gB,SAC1Bb,UAAWxgB,EAAMQ,eAAe6xB,cAAc,GAAG7R,UACjDgB,UAAWxhB,EAAMQ,eAAegyB,cAAc,GAAGhR,cAIzBgO,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCghG,wBAA0BthG,IACxBK,EAASkhG,GAAsCvhG,GAAS,EAG1DwhG,0BAA4BxhG,IAC1BK,EAASkhG,GAAwCvhG,GAAS,KAKjDpvB,EArtBiBU,IAAW,IAADsxH,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACxC,MAAM,aACJhkG,EAAY,cACZE,EAAa,SACbpN,EAAQ,MACRsP,EAAK,UACLuC,EAAS,UACT1R,EAAS,wBACTivG,EAAuB,0BACvBE,EAAyB,OACzBxwH,GACEM,GAEGT,EAAO+vB,GAAYvT,mBAAS,CACjCg2G,SAAU,GACVzpE,SAAU,CAAC,EACXugE,OAAQ,CAAC,EACTmJ,iBAAkB,CAAC,EACnBb,cAAe,GACfpzC,gBAAiB,GACjBkqC,eAAgB,GAChBgK,wBAAyB,GACzBC,yBAA0B,GAC1BC,gBAAgB,EAChB52F,MAAM,EACN2sF,WAAW,IAGb9nH,qBAAU,KACRgyH,IACAC,IAEI9yH,EAAMw+E,iBACRwqC,EAAchpH,EAAMw+E,gBAAgBvyC,OACtC,GACC,IAEHprC,qBAAU,KACRmoH,EAAchpH,EAAMw+E,gBAAgBvyC,OAAO,GAC1C,CAACjsC,EAAMw+E,kBAEV,MAOMtnC,EAAcA,KAClBnnB,GAAUa,IAAS,IACdA,EACHoL,MAAM,KACL,EAGC62F,EAAkB/hG,UACtB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACX5P,WACAG,aAEF,IACE+M,IACA,MAAMhQ,QAAiBwS,KAAMqC,KAAKvK,GAASoI,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHm4B,SAAUxqC,EAAS0S,KAAKA,KACxButD,gBAAiBjgE,EAAS0S,KAAKA,KAAKob,QAAQ,OAGlD,CAAE,MAAO/nC,GAAQ,GAGbwuH,EAAqBhiG,UACzB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAAIjN,GAAQ,CAAEiP,YAEnB,MAApBzU,EAAS2S,QACXnB,GAAUa,IAAS,IACdA,EACH6hG,iBAAkBl0G,EAAS0S,KAAKA,QAGtC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAsCI0kH,EAAgBl4F,UACpB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACXm7B,aACA5qC,aAEF,IACE,MAAMjD,QAAiBwS,KAAMqC,KAAKtK,GAASmI,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH04F,OAAQ/qG,EAAS0S,KAAKA,QAG5B,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAUIyuH,EAAuBj2G,IAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OAClBw1G,EAA2B,IAAI3yH,EAAM2yH,0BACrC3hC,EAAc2hC,EAAyBzgE,WAAW9vD,GAC7CA,IAAYtF,KAGA,IAAjBk0F,EACF2hC,EAAyB/zC,OACvB+zC,EAAyBz1H,OAAS,EAClC,EACAJ,GAGF61H,EAAyB/zC,OAAOoS,EAAa,GAG/CjhE,GAAUa,IAAS,IACdA,EACH+hG,yBAA0BA,KACzB,EAGCK,EAAuBl2G,IAC3BiT,GAAUa,IAAS,IACdA,EACHghG,cAAe90G,EAAMK,OAAOrgB,SAC3B,EA2KCm2H,EAAuBA,KAAO,IAADC,EACjC,MAAMC,EAAS,GASf,GARoB,QAApBD,EAAAlzH,EAAM0oH,sBAAc,IAAAwK,GAApBA,EAAsB17F,SAASp1B,IAAa,IAADgxH,EAAAC,EACpC,OAALrzH,QAAK,IAALA,GAAa,QAARozH,EAALpzH,EAAOspH,cAAM,IAAA8J,GAAO,QAAPC,EAAbD,EAAe7hF,aAAK,IAAA8hF,GAApBA,EAAsB1yG,KAAKqqB,IACrBA,EAAK+iB,UAAY3rD,GACnB+wH,EAAOvgG,KAAKoY,EAAKgjB,WACnB,GACA,IAGAmlE,EAAOj2H,OAAS,EAClB,OAAOi2H,CACT,EAUF,OACE9zH,eAAA,OAAAE,SACEge,gBAAA,OAAAhe,SAAA,CACEF,eAAC47C,GAAe,IAChB57C,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,IACDF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,kBACVtzB,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,MAAIG,UAAU,eAAcD,SAAC,kCAE/Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,SAAOG,UAAU,WAAUD,SAAC,cAC5BF,eAAA,OAAAE,SACEF,eAAA,SACEK,KAAK,OACLoe,YAAY,YACZhhB,MAAOkD,EAAMwyH,SACbv0G,SAzGQnB,IAC5BiT,GAAUa,IAAS,IACdA,EACH4hG,SAAU11G,EAAMK,OAAOrgB,SACtB,SA0GWygB,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,SAAOG,UAAU,WAAUD,SAAC,mBAC5BF,eAAA,OAAKG,UAAU,mBAAkBD,SAC7B1C,aAA8B,QAAvBk1H,EAAC/xH,EAAM+oD,SAAS1c,eAAO,IAAA0lF,OAAA,EAAtBA,EAAwB70H,QAE9B,KApODo2H,MACrB,MAAMvqE,EAAgB,OAAL/oD,QAAK,IAALA,OAAK,EAALA,EAAO+oD,SAAS1c,QAI3BknF,EAA2B,OAARxqE,QAAQ,IAARA,OAAQ,EAARA,EAAU5E,QAAQ9X,IACzC,GAA+B,IAA3BA,EAAQq3C,eACV,OAAOr3C,CACT,IAGF,OAAuB,OAAhBknF,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5yG,KAAI,CAAC0rB,EAASvO,IAEnCvgB,gBAAA,OAAsC/d,UAAU,wBAAuBD,SAAA,CACrEF,eAAA,SACEK,KAAK,QACL0e,GAAIiuB,EAAQJ,OACZnvC,MAAOuvC,EAAQF,SACfvrB,QAAS5gB,EAAMw+E,gBAAgBryC,UAAYE,EAAQF,SACnDluB,SAAUA,IAxDSouB,KAC3Btc,GAAUa,IAAS,IACdA,EACH4tD,gBAAiBnyC,KAChB,EAoDqBiiD,CAAoBjiD,KAEtChtC,eAAA,SAAOwhB,QAASwrB,EAAQJ,OAAO1sC,SAAE8sC,EAAQF,aARjC,UAAUE,EAAQJ,WAW9B,EA2MoBqnF,QAKR/1G,gBAAA,OAAK/d,UAAU,YAAYge,QAjDxBg2G,KACjBzjG,GAAUa,IAAS,IACdA,EACHgiG,gBAAgB,KACf,EA6C0DrzH,SAAA,CAC7Cge,gBAAA,SAAO/d,UAAU,WAAUD,SAAA,CAAC,iBAAcF,eAAA,QAAAE,SAAM,qCAAuCF,eAAA,OAAKsgB,IAAKpb,GAAO4C,iBAAkBsZ,IAAI,eAC9HlD,gBAAA,UACE7d,KAAK,SACLF,UAAU,gBACV,iBAAe,QACf,iBAAe,kBAAiBD,SAAA,CACjC,eAECF,eAAA,OACEG,UAAU,aACVmgB,IAAKpb,GAAO2O,6BAKlB7T,eAAA,OACEiiB,MAAM,aACNlD,GAAG,iBACH,mBAAiB,SACjB,mBAAiB,QACjBmzG,SAAS,KACT,kBAAgB,sBAChB,cAAY,OAAMhyH,SAElBF,eAAA,OAAKiiB,MAAM,uCAAsC/hB,SAC/Cge,gBAAA,OAAK+D,MAAM,gBAAe/hB,SAAA,CACxBge,gBAAA,OAAK+D,MAAM,eAAc/hB,SAAA,CACvBF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,KACEiiB,MAAM,mBACNlD,GAAG,sBAAqB7e,SACzB,oBAIHF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,UACEK,KAAK,SACL4hB,MAAM,YACN,kBAAgB,QAChB,aAAW,eAIjBjiB,eAAA,OAAKiiB,MAAM,aAAY/hB,SACrBF,eAAA,OAAAE,SACI1C,aAA0B,QAAnBm1H,EAAChyH,EAAMspH,OAAO/3E,aAAK,IAAAygF,OAAA,EAAlBA,EAAoB90H,QA4D1B,KA3DFmC,eAAA,OAAKG,UAAU,gCAA+BD,SAC5Cge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,SACEK,KAAK,WACL0e,GAAG,aACH/Z,KAAK,SACLvH,MAAM,MACNmhB,SAAWnB,GAzKlBA,KAC7B,IAAI,QAAE8D,GAAY9D,EAAMK,OACpBqwC,EAAY,IAAKxtD,EAAMspH,QACvBA,EAAS,GAET1oG,GACF4sC,EAAUjc,MAAM/Z,SAASp1B,IACvBknH,EAAO12F,KAAKxwB,EAAQ2rD,SAAS,IAE/Bh+B,GAAUa,IAAS,IACdA,EACH83F,eAAgBY,EAChBX,UAAW/nG,OAGbmP,GAAUa,IAAS,IACdA,EACH83F,eAAgB,GAChBC,UAAW/nG,KAEf,EAsJsC2oG,CAAsBzsG,GAExB8D,QAAS5gB,EAAM2oH,YAEjBtpH,eAAA,SAAOwhB,QAAQ,aAAYthB,SAAC,oBAMhCF,eAAA,OAAKG,UAAU,2BAA0BD,SACpB,QAAlB0yH,EAAAjyH,EAAMspH,OAAO/3E,aAAK,IAAA0gF,GAAlBA,EAAoB/0H,OACjB8C,EAAMspH,OAAO/3E,MAAM5wB,KACjB,CAACve,EAAS07B,IAENvgB,gBAAA,OAEE/d,UAAU,uBAAsBD,SAAA,CAEhCF,eAAA,SACEK,KAAK,WACL0e,GAAI,SAAShc,EAAQ2rD,WACrB1pD,KAAK,QACLvH,MAAOsF,EAAQ2rD,SACf9vC,SAAWnB,GA3KhCA,KACzB,GAA8B,KAA1B9c,EAAMw+E,gBAER,YADAjgF,MAAM,yBAIR,IAAI,MAAEzB,GAAUggB,EAAMK,OAClBurG,EAAiB,IAAI1oH,EAAM0oH,gBAE3B13B,EAAc03B,EAAex2D,WAAW9vD,GACnCA,IAAYpD,OAAOlC,MAGP,IAAjBk0F,EACF03B,EAAe9pC,OAAO8pC,EAAexrH,OAAS,EAAG,EAAG8B,OAAOlC,IAE3D4rH,EAAe9pC,OAAOoS,EAAa,GAGrCjhE,GAAUa,IAAS,IACdA,EACH83F,eAAgBA,KACf,EAsJ6Cc,CAAkB1sG,GAEpB8D,QAAS5gB,EAAM0oH,eAAet3F,MAC3BsK,GAEGA,IAAMt5B,EAAQ2rD,aAKtB1uD,eAAA,SACEG,UAAU,cACVqhB,QAAS,SAASze,EAAQ2rD,WAAWxuD,SAEpC6C,EAAQ4rD,eAvBN,SAAS5rD,EAAQ2rD,cA6B9B,gBAOhB1uD,eAAA,OAAKiiB,MAAM,eAAc/hB,SACvBF,eAAA,UACEK,KAAK,SACLF,UAAU,WACV,kBAAgB,QAChB,aAAW,QAAOD,SACnB,kBAQTge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,SAAQD,UACA,QAApB2yH,EAAAlyH,EAAM0oH,sBAAc,IAAAwJ,OAAA,EAApBA,EAAsBh1H,QAAS,IACR,QADSi1H,EAC/Bc,WAAsB,IAAAd,OAAA,EAAtBA,EAAwBxxG,KAAI,CAACqqB,EAAMlN,IAE/Bz+B,eAAA,OACEG,UAAU,iBAAgBD,SAGzByrC,GAFI,kBAAkBlN,WAQV,QAAtBs0F,EAAAa,WAAsB,IAAAb,OAAA,EAAtBA,EAAwBl1H,QAAS,GAClCmC,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,UACE7d,KAAK,SACLF,UAAU,gBACV,iBAAe,QACf,iBAAe,iBAAgBD,SAAA,EAER,QAAtB8yH,EAAAY,WAAsB,IAAAZ,OAAA,EAAtBA,EAAwBn1H,QAAS,EAAE,SAKxCmC,eAAA,OACEiiB,MAAM,aACNlD,GAAG,gBACH,mBAAiB,SACjB,mBAAiB,QACjBmzG,SAAS,KACT,kBAAgB,sBAChB,cAAY,OAAMhyH,SAElBF,eAAA,OAAKiiB,MAAM,uCAAsC/hB,SAC/Cge,gBAAA,OAAK+D,MAAM,gBAAe/hB,SAAA,CACxBge,gBAAA,OAAK+D,MAAM,eAAc/hB,SAAA,CACvBF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,KACEiiB,MAAM,mBACNlD,GAAG,sBAAqB7e,SACzB,aAIHF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,UACEK,KAAK,SACL4hB,MAAM,YACN,kBAAgB,QAChB,aAAW,eAIjBjiB,eAAA,OAAKiiB,MAAM,aAAY/hB,SACrBF,eAAA,OAAAE,SACyB,QADzB+yH,EACGW,WAAsB,IAAAX,OAAA,EAAtBA,EAAwB3xG,KAAI,CAACve,EAAS07B,IAEnCz+B,eAAA,OACEG,UAAU,WAAUD,SAGnB6C,GAFI,uBAAuB07B,WAQtCz+B,eAAA,OAAKiiB,MAAM,eAAc/hB,SACvBF,eAAA,UACEK,KAAK,SACLF,UAAU,WACV,kBAAgB,QAChB,aAAW,QAAOD,SACnB,qBASXge,gBAACwe,KAAK,CACJC,KAAMh8B,EAAMg8B,KACZ4W,OAAQsE,EACR13C,UAAU,mBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,MAAAE,SAAI,qCACJF,eAAA,KAAAE,SAAG,qCACHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAACm8B,IAAI,CAACC,GAAI,CAAE5I,SAAU,kBAAmBtzB,SACvCF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,oBAKnDF,eAACm8B,IAAI,CACHC,GAAI,CACF5I,SAAU,uBACVtzB,SAEFF,eAAA,UAAAE,SAAQ,4BAOlBge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CACpCge,gBAAA,SAAO/d,UAAU,WAAUD,SAAA,CAAC,2BAAwBF,eAAA,QAAAE,SAAM,qCAAuCF,eAAA,OAAKsgB,IAAKpb,GAAO4C,iBAAkBsZ,IAAI,eAKtIphB,eAAA,OAAKG,UAAU,2BAA0BD,UACrC1C,aAA8B,QAAvB01H,EAACvyH,EAAMyyH,wBAAgB,IAAAF,OAAA,EAAtBA,EAAwBnJ,kBA9jBxBqK,MAAO,IAADC,EAAAC,EAAAC,EAClC,OACEv0H,eAAA69B,YAAA,CAAA39B,SACI1C,aAA8B,QAAvB62H,EAAC1zH,EAAMyyH,wBAAgB,IAAAiB,OAAA,EAAtBA,EAAwBtK,iBA2B9B,KA1BsB,QADwBuK,EAC9C3zH,EAAMyyH,wBAAgB,IAAAkB,GAAiB,QAAjBC,EAAtBD,EAAwBvK,uBAAe,IAAAwK,OAAjB,EAAtBA,EAAyCjzG,KAAKve,IAC5C,GAA0B,YAAtBA,EAAQ+kD,UACV,OACE5pC,gBAAA,OACE/d,UAAU,+BAA8BD,SAAA,CAGxCF,eAAA,SACEK,KAAK,WACL0e,GAAI,cAAchc,EAAQ+kD,YAC1B9iD,KAAMjC,EAAQm3F,aACdz8F,MAAOsF,EAAQ+kD,WAAa,GAC5BlpC,SAAWnB,GAAUi2G,EAAoBj2G,GAIzC8D,QAAS5gB,EAAM2yH,yBAAyBvhG,MAAMsK,GACrCA,IAAMt5B,EAAQ+kD,cAGzB9nD,eAAA,SAAOwhB,QAAS,cAAcze,EAAQ+kD,YAAY5nD,SAC/C6C,EAAQ+kD,cAhBN/kD,EAAQ+kD,UAkBT,KAIf,EAgiBessE,QAINl2G,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,WAAUD,SAAC,4BAE5BF,eAAA,OAAKG,UAAU,cAAaD,SA3crCqyH,GAAcjxG,KAAK0rB,GAEtB9uB,gBAAA,OAEE/d,UAAU,wBAAuBD,SAAA,CAEjCF,eAAA,SACEK,KAAK,QACL0e,GAAIiuB,EAAQylF,UACZh1H,MAAOuvC,EAAQwlF,iBACfjxG,QAAS5gB,EAAM4xH,eAAiBvlF,EAAQwlF,iBACxC5zG,SAAU+0G,IAEZz1G,gBAAA,SAAOsD,QAASwrB,EAAQylF,UAAUvyH,SAAA,CAChCge,gBAAA,QAAAhe,SAAA,CAAM,IAAE8sC,EAAQwlF,iBAAiB,OAAQ,YAXtC,gBAAgBxlF,EAAQylF,0BA4czBzyH,eAAA,OAAKG,UAAU,6BAA4BD,SACrCF,eAAA,UAAQme,QA3ZDsT,UACvB,MAAMptB,OAjCWmwH,MACjB,MAAM,SACJrB,EAAQ,gBACRh0C,EAAe,eACfkqC,EAAc,yBACdiK,EAAwB,cACxBf,GACE5xH,EAEJ,OAAwB,IAApBwyH,EAASt1H,QACXqB,MAAM,uCACC,GAC6B,IAA3BigF,EAAgBthF,QACzBqB,MAAM,yBACC,GAC4B,IAA1BmqH,EAAexrH,QACxBqB,MAAM,wBACC,GACsC,IAApCo0H,EAAyBz1H,QAClCqB,MAAM,kCACC,GAC2B,IAAzBqzH,EAAc10H,QACvBqB,MAAM,iCACC,GACE00H,IAAuB/1H,OAAS00H,GACzCrzH,MAAM,8BACC,GAEA,CACT,EAIqBs1H,GAErB,GAAInwH,EAAQ,CACV,MAAMutB,EAAO,CACX5sB,KAAMrE,EAAMwyH,SACZnmF,QAASrsC,EAAMw+E,gBAAgBvyC,OAC/BsF,MAAOvxC,EAAM0oH,eACbvhE,UAAWnnD,EAAM2yH,yBACjBjJ,eAAgB1pH,EAAM4xH,eAGxB,IACErjG,IACA,MAAMhQ,QAAiBwS,KAAMqC,KAAKxK,GAASqI,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IAxPNsB,GAAUa,IAAS,IACdA,EACHoL,MAAM,MAwPFjM,GAAUa,IAAS,IACdA,EACHo8E,eAAgBzuF,EAAS0S,KAAK+6E,qBAEhCykB,EAAwBlyG,EAAS0S,KAAK+6E,kBACtC2kB,EAA0B3wH,EAAMwyH,UAEpC,CAAE,MAAO92F,GACPjN,IACA9tB,QAAQC,IAAI86B,EACd,CACF,GA8XkDn8B,SAAC,8BAK9CY,GAAUd,eAACD,KAAW,QAErB,I,gBCrrBKW,qBAPUC,IAChB,CACL8zH,qBAAsB9zH,EAAM+zH,aAAaC,iBACzCxzH,eAAgBR,EAAMQ,kBAIc,KAAzBT,EAnD0BU,IACvC,IAAI,SAAEiyC,EAAQ,oBAAEurD,EAAmB,qBAAE61B,GAAyBrzH,EAE9D,OACEpB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,kBACVtzB,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,uBACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKG,UAAU,YAAWD,SAAEu0H,MAE9Bv2G,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACvB0+F,EAAoBC,aAErB7+F,eAAA,MAAAE,SAAI,6CAIRF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,8BAOtC,I,QC4tDA00H,OAtvDwBxzH,IAAW,IAADqmF,EAAAC,EAAAC,EAAAC,EAC/C,IAAI,qBACFE,EAAoB,gBACpB7C,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,mBACtBC,EAAkB,iBAClBC,EAAgB,OAChBjzD,EAAM,aACNlG,EAAY,cACZE,GACEhuB,EAeJ,MAAM2zF,EAAyBhsD,iBAAO,OAE/By/C,EAAiBC,GAAsBtrE,mBAAS,KAChD6sE,EAAQC,GAAa9sE,oBAAS,IAE9BurE,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAAMd,EAAqB7C,GAAiB4D,IAC5CC,UAAW,GACXhoD,YAAa,KAKTioD,EACoC,GAAxCL,EAAoBI,UAAUjrF,QACY,GAA1C6qF,EAAoB5nD,YAAYjjC,QA6D3B8+B,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAC1B6F,EAAWC,GAAgBjsE,oBAAS,IAEpCksE,EAAWC,GAAgBnsE,oBAAS,GACrCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,EAErCY,EAAwBA,IAAMJ,GAAa,IAG1CvJ,EAAM4J,GAAWxsE,oBAAS,IAC1BysE,EAAKC,GAAU1sE,oBAAS,IACxB2sE,EAAWC,GAAe5sE,oBAAS,GAE1C0iE,GAAWoF,EAAiBlF,EAAM6J,GAElC,MAAMM,EAAYA,KAChBL,GAAO,GACPE,GAAY,EAAM,EAEdI,EAAiBA,KACrBN,GAAO,GACPT,GAAa,EAAM,EAGfgB,EAAaA,KACjBL,GAAY,EAAK,EA+BbM,EAAcA,CAACC,EAAGC,EAAIC,KACrBZ,GAAOjqF,OAAO2qF,GACV,sCACGV,GAAOW,GAAMA,EAAGlvB,QAAQ17D,OAAO6qF,KAAc,EAChD,mCAEA,wBA2DX,IAAIyT,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAM+sF,EAA6B3F,IAC7B6C,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DssF,IAEAD,GACF,EAGIW,EAAqBA,CAACC,EAAcC,EAAkBhL,KAKvD,IAADkV,EAqFuEG,EAzFzE,OACU,GAARrV,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,0DACA,0DACL/kF,SAEmB,QAAnB+0F,EAAAnK,EAAarkB,cAAM,IAAAwuB,GAAnBA,EAAqBp3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,GAAuB,GAAnB17B,EAAQq2F,QACV,OACEl7E,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ3pE,UAAUyqE,EACV5kF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KAAO3nF,EAAQ+lF,UACR,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxCsB,GAAY,IAqBhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAzDRhoC,EAgEd,IAEF,SAIO,GAARshD,QACmBriF,IAAxBotF,EAAarkB,QAAgD,OAAxBqkB,EAAarkB,OAElDzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,0DACA,0DACL/kF,SAEmB,QAAnBk1F,EAAAtK,EAAarkB,cAAM,IAAA2uB,GAAnBA,EAAqBv3F,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IACT,GAAnB17B,EAAQq2F,QAERl7E,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,WACL8e,UAAUyqE,EACV7qE,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KACxB3nF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,IACTwqE,EACExqE,EACA1a,EAAQ+lF,WAEVsB,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBA3CRhoC,GAoDVvgB,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ3pE,UAAUyqE,EACV5kF,KAAM,oBAAoB+lF,IAC1BxpE,QACEumE,EAAqBiD,GAClBL,qBAAqB7sF,OACpBiqF,EAAqBiD,GAClBL,qBAAqB,KACxB3nF,EAAQ+lF,UACuB,GAA/B/lF,EAAQkoF,oBAKdrsE,SAAWnB,IACTwqE,EACExqE,EACA1a,EAAQ+lF,WAEVsB,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBA3CRhoC,KAoDhB,cAvHP,CA4HP,EAGI6sD,EAAoBA,CAACR,EAAcC,EAAkBhL,IAE/C,GAARA,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,0DACA,0DACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,GAAuB,GAAnB17B,EAAQq2F,QACV,OACEl7E,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ3pE,UAAUyqE,EACV5kF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCsB,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAvCRhoC,EA8Cd,IAEF,SAKF,GAARshD,QACwBriF,IAAxBotF,EAAarkB,QACW,OAAxBqkB,EAAarkB,OAGXzmE,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,0DACA,0DACL/kF,SAEA4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAC5B17B,EAAQq2F,QAERl7E,gBAAA,OAAiB/d,UAAU,wBAAuBD,SAAA,CAChDF,eAAA,SACEK,KAAK,WACL8e,UAAUyqE,EACV7qE,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1BxpE,UACEumE,EAAqBiD,GAClBL,qBAAqB7sF,QACpBiqF,EACEiD,GACAL,qBAAqB34D,MAAM4Z,GACpBA,IAAS5oC,EAAQ+lF,YAIhClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCsB,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqBiD,GAClBI,wBACHpoF,EAAQ+lF,WACR5oF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAvCRhoC,MAgGhB,cAlHL,EAyHH8sD,EAAoBR,GAEtB/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,GAAoB9F,EAChB,sBACA,qBACL/kF,SAEDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEmf,UAAUyqE,EACVvpF,KAAK,SACLoe,YAAY,oBACZhhB,MAAOqqF,EAAqB7C,GAAiBsD,gBAAkB,GAC/D3pE,SAAWnB,IACT0qE,EAAuB1qE,GACvB2sE,GAAY,GAPTW,SAgBXK,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAGbC,GAAuBA,CAACzK,EAAUviD,IAClCwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,8BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,IAAE,GAAGu+B,EAAQ,KAAK,OAElDz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACiB,OAA1B1K,EAASuL,aACTvL,EAASuL,aACTvL,EAAS0K,eAKrB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,QAG5C4/D,EAAS2J,YAEhBzsE,gBAAA,SACE/d,UAAU,+BACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,IAAE,GAAGu+B,EAAQ,KAAK,OAElDz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,QAKnDlD,gBAAA,SACE/d,UAAU,kBACVge,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,EAAM,EAChCv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAAC,IAAE,GAAGu+B,EAAQ,KAAK,OAClDz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAkLrCgkF,GAAsBA,CAACjL,EAAUviD,KACrC,IAAIwtF,EAAiB,iBAOrB,OANIhnC,IAAoBxmD,EACtBwtF,GAAkB,eACTjrC,EAAS2J,cAClBshC,GAAkB,iBAIlBjsH,eAAA,SACEG,UAAW8rH,EACX9tG,QAASA,KACPiqE,EAAmB3pD,GACnBmsD,EAA0BnsD,EAAM,EAChCv+B,SAEFF,eAAA,OAAKG,UAAU,cAAaD,SAAEu+B,EAAQ,KAChC,EAwMHqpD,EAAqBjqF,OAE9B,MAAM+lE,GAAeA,KACPt/D,SAASkmC,cAAc,WAC7Bq5B,cAAcC,YAClB,+BAA+B1uC,MAC/B,KAOF,IAAI2uC,EAAcxxC,OAAOmR,iBACrB,mBACA,eAIJsgC,EAHczxC,OAAOwxC,IACc,gBAAhBA,EAAgC,YAAc,WAE3C,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,IAAIi0B,EAAsB,CAAEj0B,YAAa3T,EAAEzK,KAAKoe,aAChDk0B,eAAeC,QACb,sBACA9hE,KAAKw+C,UAAUojB,GAEnB,CACF,GAAE,EAGEmoB,GAAkBA,KACtBhD,GAAcD,EAAU,EAGpBuD,GAAe5M,IACnB,MAAM9e,EAAgC,OAAtB8e,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB6M,iBAClCC,EAAqC,OAAtB9M,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB+M,eACvCC,EAA4C,OAAtBhN,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBiN,uBAC9CC,EAA0C,OAAtBlN,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBmN,qBAE5CC,GAAWnN,GAAQ6M,GAAgBI,EACnCvf,EAAkByf,EAAUN,EAAe5rB,EAC3CmsB,EAAuBD,EACzBF,EACAF,EAIJ,IAFmB,uDAEHv1D,KAAKk2C,GACnB,OAAO,KAGT,MAAM2f,EAAcrN,EAAO,sBAAwB,2GAEnD,OAAIoN,GAAwD,KAAhCA,EAAqBrvF,OAE7CogB,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,UACEG,UAAU,qCACVge,QAASiuE,GAAgBlsF,SAExBktF,IAEFjE,EACCnpF,eAAC4/E,GAA4B,CAC3BzhB,SAAUgvB,EACVhtF,UAAU,gBAEV,QAKN+d,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC9ButE,GACCztE,eAAA,UACEG,UAAU,qCACVge,QAASiuE,GAAgBlsF,SAExBktF,IAIJjE,EACCnpF,eAAA,UACE+e,GAAG,SACHuB,IAAKmtD,EACL9I,OAAQf,GACR/N,MAAM,0EACNC,iBAAe,IAEf,OAGV,EAGIwpC,GAAmBxf,IACvB,IAAK8J,EAAK,CACR,IAAIoV,EAAelf,EAAuBmf,SACtCC,EAAkB,aAEtB,IAAKnf,GAAQD,EAAuBqf,eAAgB,CAClD,MAAMC,EAAoBtf,EAAuBqf,eAC3CE,EAAuB,yCAEvBw1B,GACHz1B,EAAkBthG,QAAUshG,EAAkBngG,SAAS,UAC1DqC,QAAQC,IAAI,uBAAwBszH,GAE/BA,IACH71B,EAAeI,EACfF,EAAkBG,EAEtB,CAEA,OACEnhF,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KAAGG,UAAU,aAAYD,SAAEg/F,IAC3Bl/F,eAAA,KACEG,UAAU,gBACV69C,wBAAyB,CACvBC,OAAQ+gD,OAKlB,GAGF,OACEh/F,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,2CAA0CD,SAAA,CACvDF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAqBlCge,gBAAA,OAAK/d,UAAU,mCAAkCD,SAAA,CAC/Cge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,YAG9BmC,eAAA,OAAKG,UAAU,uBAAsBD,SAClC4nF,EAAqB7C,IACe,QADCwC,EACtCK,EAAqB7C,UAAgB,IAAAwC,GAArCA,EAAuC8E,aACrCvsF,eAAA,UAAQme,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SACnC6/E,EAAO,SAAM,MAGhB,QA+CN7hE,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,QAAAhe,SAAA,CACEge,gBAAA,QAAM/d,UAAU,cAAaD,SAAA,CAAC,iBACb,OAGsB,QAFhCwnF,EAELI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EACI8F,iBAKVtvE,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CAAC,YACf,GAAGP,OAAOslF,GAAmB,QAGzCjlF,eAAA,OAAKG,UAAU,cAAaD,SACzB4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IA9sC1CqiD,EAAChB,EAAwBrhD,KAC9C,GAAIwmD,GAAmBxmD,EACrB,OAAIshD,EAEA//E,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,UAKjCuS,EAA0C,OAAtBne,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwByM,cAE5CvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuByM,gBAMnCvsF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ6hC,EAAuB4L,SAM3C,EAkrCqC5K,CAAe/9E,EAAS07B,KAEjC,YAMVz+B,eAAA,OAAKG,UAAU,kBAAiBD,SAnxC9BotF,MACpB,GAAIxF,EAAqBjqF,OAAQ,CAC/B,IAAI0vF,EAAezF,EACnB,OAAOyF,EAAajsE,KAAI,CAACvf,EAAK61D,KAC5B,IAAIjnC,EAAMtwB,EASV,OARAA,EAAO0B,EAAIyrF,YAET78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAED6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB0C,EAAa31B,GAAIA,EAAGmoB,GAChD,KAAK,EACH,OAAOwL,EAAiB3zB,GAC1B,KAAK,EACH,OAAO0zB,EAAkBiC,EAAa31B,GAAIA,EAAGmoB,GAC/C,QACE,OAAO,KACX,GAEJ,CACE,OAAO,IACT,EAyvCoDuN,KAElCttF,eAAA,OAAKG,UAAU,qBAAoBD,SAG/B0pF,EAoCA,GAnCA5pF,eAAA,OAAAE,SACG4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA69B,YAAA,CAAA39B,SAuBGu+B,IAAUwmD,GACTqa,GAAgBv8F,OAIxB,SAOV/C,eAAA,OAAKG,UAAU,mBAAkBD,SAC9B4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAAC0xB,EAAMvU,KAC9B,GAAIA,GAASwmD,EACX,OAAOjlF,eAAA69B,YAAA,CAAA39B,SAAGwsF,GAAY15C,IACxB,IAEF,UAIR90B,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOuK,mBAAoB2R,IAAI,OAE3CphB,eAAA,QACEme,QA16CY8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IACAs6D,IACF,GAEJ,CAAE,MAAOzkF,GACPmqB,GACF,GA65CsBjvB,UAAU,mBAAkBD,SAC7B,uBAYHge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAA,OAAKG,UAAU,wBAAuBD,SACnC+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,IA54Cd4O,MAChB,MAAMC,EAAoB3R,EAAkB,EACtC0oC,EACJ54B,EAAuBn3E,QAAQ1d,SAAS02F,GAC3B,OAAf+2B,QAAe,IAAfA,KAAiB92B,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAy4CzCH,GA9zC5B7O,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,GA0zCsD,EAC1BhqF,SACH,iBAMPF,eAAA,OAAKG,UAAU,yBAAwBD,SACpC4nF,EAAqBjqF,SACtBonF,EAAkB,EAChBjlF,eAAA,OAAKG,UAAU,cAAaD,SACzB0pF,EACC5pF,eAAA,UACEmf,UAAU2qE,EACV3pF,UACG2pF,EAEG,iBADA,qBAGN3rE,QAASA,KACPgsE,GAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,aAMLF,eAAA,OAAKG,UAAU,cAAaD,SACzB0pF,EACC5pF,eAAA,UACEmf,UAAU2qE,EACV3pF,UACG2pF,EAEG,kBADA,qBAGN3rE,QAASA,KACPgsE,GAAgB,EAChBjqF,SACH,aAIDF,eAAA,UACEG,UAAU,gBACVge,QAASA,KACP6pE,IA/8CjBgB,MACf,MAAM+N,EAAoB9R,EAAkB,EACtC0oC,EACJ54B,EAAuBn3E,QAAQ1d,SAAS62F,GAC3B,OAAf42B,QAAe,IAAfA,KAAiB92B,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA68CvC9N,GAh3C9BlB,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,GA42CyD,EAC3BhqF,SACH,wBA6BjBge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,KAAGG,UAAU,eAAcD,SACwB,QADxBynF,EACa,QADbC,EACxBE,EAAqB7C,UAAgB,IAAA2C,OAAA,EAArCA,EAAuCyF,iBAAS,IAAA1F,IAC/C,SAEJ3nF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,cAIHge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,mBAAkBD,SAAC,kBAChCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACosH,GAAS,IAAMpsH,eAACssH,GAAQ,MAErCtsH,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACmsH,GAAQ,IAAMnsH,eAACqsH,GAAS,YAIzCnuG,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,0BAQnDF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAE5BF,eAAA,OACEG,UAAW,yBACb6pF,EAAS,GAAK,qBAAsB9pF,SAEjC4nF,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/Bz+B,eAAA,OAEEG,UAAW,2BAErB6pF,EACI,2CACA,2CAEMjrE,GAAG,QAAO7e,SAET8pF,EACGyB,GAAqB1oF,EAAS07B,GAC9BwtD,GAAoBlpF,EAAS07B,IAX5BA,KAeX,qBAUlBz+B,eAACqqC,KAAc,IACfnsB,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOsE,QAAS4X,IAAI,OAEhCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DACHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UAAQme,QAASA,IAAMkqE,IAAmBnoF,SAAC,sBAMnDge,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aACVyzC,UAAQ,EAAA1zC,SAAA,CAERge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SAAE6C,EAAQ0qF,gBAbJhvD,OAkBzCz+B,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CAACvuE,SAAU4pE,EAAW5qE,QAtqDPwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IAChB,MAAzBA,EAAS0S,KAAKC,QAChBzC,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2CAEXi1D,EAAuB,CAAEG,UAAW,OAEpC15D,IACAq6D,IACA90C,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,2BAEb,GAEJ,CAAE,MAAOzuB,GAAQ,GAipDyD/E,SAAC,uBAOhE,EC5PAQ,qBAnBUC,IAChB,CACLm0H,mBAAoBn0H,EAAM+zH,aAAa/mB,eACvCxsG,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAM1B1vB,EA5nB2BU,IACxC,IAAI,QAAEC,EAAO,aAAE6tB,EAAY,cAAEE,EAAa,SAAEpuB,EAAQ,mBAAE8zH,GACpD1zH,EACF,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNiuE,oBAAqB,CAAC,EACtB9W,qBAAsB,GACtB7C,gBAAiB,EAEjB0J,YAAa,EACbC,QAAS,EACTloC,KAAM,EACN1X,QAAS,EACTmqB,MAAO,GACPC,QAAS,EACTC,QAAS,IAKX73D,qBAAU,KACRi+F,GAAsB,GACrB,IAGH,MAAMA,EAAuBhuE,UAC3BvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKrK,IAE9BxK,EAAS0S,KAAKC,QAChBnB,GAAUqgE,IAAQ,IACbA,EAEH6N,oBAAqB1/E,EAAS0S,KAAKA,SAIvCxC,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAoCI0qF,EAAaA,KACjB,IAAItgD,EAAI,IAAIC,KAEZ,MAAMiiE,EAAe,IAAIjiE,KAAKtuC,EAAS45C,YAEvC22D,EAAaC,QAAQD,EAAaruC,UAAYuuC,QAC9C,IAAIC,EAAqBjzG,KAAKkzG,IAAIlzG,KAAKkzG,IAAIJ,EAAeliE,GAAK,KAS/DqiE,GAA8B,MADhB,GAHDjzG,KAAKC,MAAMgzG,EAAqB,OAGlBjzG,KAAKC,MAAMgzG,EAAqB,MAAQ,IAInDjzG,KAAKC,MAAMgzG,EAAqB,IAGhD,OAAOriE,EAAE6zB,SAAS,EAMd7vB,EAAW5hB,UAGf,GAAKj0B,aAAQs3H,GAqHX51H,MAAM,mCArH0B,CAChC,IAAI2zB,OAhEqBpB,WAC3B,IAAIG,EAAO,CACT+6E,iBAAkBmoB,GAEpB5lG,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAKpK,GAASiI,GAE3C,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GAoC+B+8D,CAAqBglC,GAElD,GAAIjiG,EAAiBxuB,OAAQ,CAC3BwuB,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAAD28F,EAAA1G,EACtDj2F,EAAQ4oF,UAAW,EACnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAE/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEJrtF,EAAQk8F,SAA2B,QAAnBS,EAAG38F,EAAQk8F,gBAAQ,IAAAS,OAAA,EAAhBA,EACftP,WACA,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAEJ,IAAIvmD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNm3D,qBAAsBj1D,EAAiBjB,KAAKmB,QAAQnB,KACpD+8D,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAE3C,MACEpxF,MAAM,0BAEV,CAEA,EAGIqxF,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAIb,OAFqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAElC,EAEjB5G,EAA4BA,KAChC,IAAI,gBAAE9C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EAEzDkpC,EAAO8lD,IAEXgB,IACI1L,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,GACrB,EAIIquB,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzDiwF,EAAqB9I,EAAqB7C,GAC1CuL,EAAiBD,EAAkB5B,GAGnC/8D,EAAO,CAAC,EAEVA,EADoC,mBAAlCg/D,EAAmBpD,YACd,CACLmf,iBAAkBmoB,EAClB9jC,eAAgBjzE,SAAS6yE,EAAmBI,gBAE5CmI,WAAYvI,EAAmBlG,qBAAqB,GAChDkG,EAAmBlG,qBAAqB,GACN,mBAAlCkG,EAAmBpD,YACnBoD,EAAmBrI,eACnB,GAEJO,UAAW,GAEXj7B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ,GACRm9C,QAAS,IAGJ,CACLyd,iBAAkBmoB,EAElB9jC,eAAgBjzE,SAAS6yE,EAAmBI,gBAE5ClI,UAAW8H,EAAmBlG,qBAAqB7sF,OAC/C+yF,EAAmBlG,qBACnB,GAEJ78B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ,GACRm9C,QAAS,IAIbhgE,IACA,IAE+B,aADNwC,KAAMqC,KAAKnK,GAASgI,IAC9BA,KAAKC,QAChBzC,IAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAGI+iF,EAAwBA,KAC5B,IAAI,gBAAE/C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACxC4vF,EAAkB5B,GACvCgC,IAGE7I,EAAqB7C,GAAiB0F,aACtC7C,EAAqB7C,GAAiBxe,OAAO3hB,QAC1CinC,GAAMA,EAAEd,sBACTptF,OAEFiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,EAAE,EAEjB2lB,EAA2BA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAC5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAKF,GAKvD,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DxrF,OAAO6qF,GACT1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAI7DI,EAA0BA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,IAAYynF,KAGA,IAAjBmH,EACF7J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA2sF,GAGF1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGlD7C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DK,EAA0B1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAClB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAG7DM,EAAsB5B,IAC1BmK,IACAjgE,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAGC6B,EAAmB52D,UACvB,IAAI,qBAAEq2D,GAAyBnnF,EAE3Bg5F,EAAc,GAElB7R,EAAqB3vD,SAASp1B,IAC5B,GAA0C,mBAAtCA,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,KAEF1C,IACA,IAAI2D,QAAyBsnE,IACzBtnE,EAAiBxuB,QACnB+qB,IAEA/tB,EAAQkyB,KAAK,oBAEbnE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAC9B,EAIIymE,EAAgB1oE,UACpB,IAAI2Q,EAAiB,CAEnBuqE,iBAAkBmoB,EAClBjrF,KAAM,IAKR,IACE,MAAM3qB,QAAiBwS,KAAMqC,KAAKlK,GAASuY,GAC3C,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAqCF,OACE1zB,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAAA,OAAKG,UAAU,uCAAsCD,SAtCvCywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAAC+0H,GAA+B,CAC9B1hF,SAAUA,EACVurD,oBAAqBj+F,EAAMi+F,sBAGjC,KAAK,EACH,OACE5+F,eAAC40H,GAA6B,CAC5B9sC,qBAAsBnnF,EAAMmnF,qBAE5B7C,gBAAiBtkF,EAAMskF,gBACvB8C,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EAExBC,mBAAoBA,EACpBC,iBAAkBA,EAClBjzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,IAIrB,QACE,OAAO,KACX,EAOO6E,CAAWtzB,EAAMgwB,WAGb,ICr8CAjwB,IC/CX,GD+CWA,iBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,QAIVR,EApCoBU,IACjC,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,GAAaI,EASpC,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAV7CqyB,OAAOioB,YAAc,IAWR,KACTx6C,eAACC,WAAQ,CAAAC,SACPF,eAACg1H,GAAgC,CAC/B3zH,QAASA,EACTL,SAAUA,UAMnBF,GAAUd,eAACD,KAAW,MACd,I,QCnCf,SAAS,KAAa,OAAO,GAAWpC,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAAQr1B,EAAMm3D,GACrB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cg1E,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3CE,EAAG,GACHC,EAAG,GACH1zF,MAAO,KACPC,OAAQ,KACR0zF,GAAI,IACJC,OAAQ,UACRzhD,YAAa,KACE,gBAAoB,OAAQ,CAC3C1zB,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,cAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,IC3CX,GD2CW,IC1Cf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,shEACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICjCX,GDiCW,IChCf,SAAS,KAAa,OAAO,GAAWl2F,OAAOy1F,OAASz1F,OAAOy1F,OAAOjqC,OAAS,SAAUkqC,GAAK,IAAK,IAAIh3D,EAAI,EAAGA,EAAIu1B,UAAU/zD,OAAQw+B,IAAK,CAAE,IAAIi3D,EAAI1hC,UAAUv1B,GAAI,IAAK,IAAIk3D,KAAKD,GAAG,CAAG,GAAE1lB,eAAe4lB,KAAKF,EAAGC,KAAOF,EAAEE,GAAKD,EAAEC,GAAK,CAAE,OAAOF,CAAG,EAAG,GAASn4B,MAAM,KAAMtJ,UAAY,CAEnR,SAAS,GAASr1B,EAAMm3D,GACtB,IAAI,MACFl1E,EAAK,QACLm1E,KACGvyF,GACDm7B,EACJ,OAAoB,gBAAoB,MAAO,GAAS,CACtDj8B,MAAO,GACPC,OAAQ,GACRqzF,QAAS,YACTC,KAAM,OACNC,MAAO,6BACPpqD,IAAKgqD,EACL,kBAAmBC,GAClBvyF,GAAQod,EAAqB,gBAAoB,QAAS,CAC3DO,GAAI40E,GACHn1E,GAAS,KAAM,KAAO,GAAkB,gBAAoB,IAAK,CAClEO,GAAI,gBACU,gBAAoB,OAAQ,CAC1Cze,MAAO,GACPC,OAAQ,GACR0zF,GAAI,EACJJ,KAAM,YACS,gBAAoB,OAAQ,CAC3C90E,GAAI,SACJswB,EAAG,qoDACHwkD,KAAM,YAEV,CACA,MAAM,GAA0B,aAAiB,IAClC,ICszBAohC,OA10BsB7zH,IACnC,IAAI,qBACF0mF,EAAoB,gBACpB7C,EAAe,uBACfwb,EAAsB,0BACtB1Y,EAAyB,sBACzBC,EAAqB,mBACrBI,GACEhnF,EAEJ,MAAO2+E,EAAM4J,GAAWxsE,oBAAS,IAC1B2sE,EAAWC,GAAe5sE,oBAAS,IACnCysE,EAAKC,GAAU1sE,oBAAS,IACxB6sE,EAAQC,GAAa9sE,oBAAS,GACrC0iE,GAAW4gB,EAAwBzW,GACnC,MAAOT,EAAYC,GAAiBrsE,oBAAS,GA+BvCktE,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAIL7V,EAAqBA,CAACC,EAAcC,KACxC,GAAI9F,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,QAIZ,EAGI6sD,EAAoBA,CAACR,EAAcC,KACvC,GAAI9F,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBAER/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAxBRhoC,KAgCd,QAIZ,EAGI8sD,EAAoBR,IACmB,IAADtD,EAA1C,GAAIxC,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACL5C,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAC9CppE,UAAQ,GAHH8lE,QASjB,EAoDF,IAAIgZ,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,MAAMutF,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAWbS,EAAsBA,CAACjL,EAAUviD,KACrC,OAAIwmD,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAalBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYhBuiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAUTuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAWH,QAAfqtD,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CmuF,EACjEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAYhBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QA9Dd,IAADqtD,EAAAE,CA0ET,EAEIP,EAAuBA,CAACzK,EAAUviD,KACtC,OAAIwmD,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAInC+4E,EAAS2J,YACP3J,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrC+4E,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAG9B+4E,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAIxB,QAAfikF,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAA+B,GAAzBA,EAAEd,sBAA0BptF,QACpC,QAD0CsuF,EACjEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8CACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cAKrCiW,gBAAA,SACE/d,UAAU,iCACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,KAAAE,SAAI,GAAGu+B,EAAQ,OACfz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ+iC,EAAS0K,eAKzB1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,cA7EnC,IAADikF,EAAAC,CAkFT,EAyByBrE,EAAqBjqF,OAChD,OACEmC,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gDAA+CD,SAC5DF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACrCqpF,EACCvpF,eAAA,OACEG,UAAU,mCACVge,QAASA,KACPqrE,GAAc,EAAM,IAIxB,GAEFtrE,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,UACEG,UAAU,YACVge,QAASA,KACPqrE,GAAc,EAAK,EACnBtpF,SACH,gBAIHge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,iCAAgCD,SAC7Cge,gBAAA,KAAAhe,SAAA,CACG+kF,EAAkB,EAAE,IAAE6C,EAAqBjqF,cAiClDqgB,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,KAAG/d,UAAU,0BAAyBD,SAAA,CAAC,iBACtB,IACfF,eAAA,QAAAE,SAA6B,OAAtBugG,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBjT,mBAInCxtF,eAAA,OAAKG,UAAU,uBAAsBD,SASnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAG/B6C,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,GAASwmD,GAAmBlF,EACxB,OACA,OAGN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,SAFb3oF,EAAQ8lF,IAAM,MAKrB7oF,eAAA,KACEG,UACEs+B,GAASwmD,GAAoBlF,EAEzB,OADA,OAIN/hC,wBAAyB,CACvBC,OAAQl7C,EAAQwpF,eAFbxpF,EAAQ8lF,IAAM,WAQ3B,aAKV7oF,eAAA,OAAKG,UAAU,4BAA2BD,SACvC4nF,EAAqBjqF,OAAS,GAzqB9BiqF,KACrB,GAAIA,EAAqBjqF,OAAQ,CAC/B,IAAI0vF,EAAezF,EACnB,OAAOyF,EAAajsE,KAAI,CAACvf,EAAK61D,KAC5B,IAAIjnC,EAAMtwB,EASV,OARAA,EAAO0B,EAAIyrF,YAET78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAED6xB,GACN,KAAK,EACH,OAAOk6D,EAAmB0C,EAAa31B,GAAIA,GAC7C,KAAK,EACH,OAAO2zB,EAAiB3zB,GAC1B,KAAK,EACH,OAAO0zB,EAAkBiC,EAAa31B,GAAIA,GAC5C,QACE,OAAO,KACX,GAEJ,CACE,OAAO,IACT,EAgpBsB01B,CAAcxF,KAGlB5pE,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,aACJF,eAAA,OAAAE,SACEF,eAAA,KACEg+C,wBAjgBH2iD,EAACF,EAAwB1gB,KAC9C,GAAY,GAARA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,UAE7B,GAAY,GAARlf,EAAe,CAGxB,OAFake,EAAoBwC,EAAuBtB,gBAG/C,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBtB,gBAG3B,CACLlhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,SAGtC,CACE,MAAO,CACLhhD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAEpC,EA4eiDiV,CAEvB7Y,EAAqB7C,GACrBlF,OAIN//E,eAAA,cAIJke,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,IACP4pE,EAA0B9C,EAAkB,GAC7C/kF,SACF,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChC4nF,EAAqBjqF,SAAWonF,EAAkB,EACjDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,kBAEVtzB,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,IACP6pE,EAAsB/C,EAAkB,GACzC/kF,SACF,sBASbF,eAAA,OACEG,UAAW,8BACTopF,EAAa,kCAAoC,IAChDrpF,SAEHF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,UACEK,KAAK,SACL4hB,MAAM,qBACN,aAAW,QACX9D,QAASA,KACPqrE,GAAc,EAAM,IAGxBxpF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,KAAGG,UAAU,eAAcD,SAAC,oBAE9Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,oDAAmDD,SAAA,CAChEF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACg3F,GAAK,IAAMh3F,eAACi3F,GAAI,MAE7Bj3F,eAAA,UAAQme,QAASA,IAAM8rE,GAAWD,GAAQ9pF,SACvC8pF,EAAShqF,eAACk3F,GAAI,IAAMl3F,eAACm3F,GAAK,YAIjCj5E,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,eAI3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,qBAM/CF,eAAA,OAAKG,UAAU,qCAAoCD,SAC5B,OAApB4nF,QAAoB,IAApBA,KAAsBjqF,OACC,OAApBiqF,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBxmE,KAAI,CAACve,EAAS07B,IAEhCz+B,eAAA,OAEEG,UAAW,mCACT6pF,EACI,kCACA,IACH9pF,SAEF8pF,EACGyB,EAAqB1oF,EAAS07B,GAC9BwtD,EAAoBlpF,EAAS07B,IAT5BA,KAaX,0BAUb,ECzuBA/9B,qBAhBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBg0H,mBAAoBn0H,EAAM+zH,aAAa/mB,mBAGfx9E,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EA9FeU,IAC5B,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,mBAAEg0H,GAAuB1zH,EAClE,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,GACtB7C,gBAAiB,EACjBwb,uBAAwB,CAAC,IAE3Bj/F,qBAAU,KACR88E,GAAiB,GAChB,IAEH,MAAMA,EAAkB7sD,UACtBvC,IACA,IAAI0C,EAAO,CACT+6E,iBAAkBmoB,GAEpB,IACE,MAAM51G,QAAiBwS,KAAMqC,KAAKjK,GAAS8H,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IAEAsB,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsB5oE,EAAS0S,KAAKA,SAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAmCF,OACElR,gBAAA,OAAAhe,SAAA,CACEF,eAACi1H,GAA2B,CAC1BntC,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvBwb,uBAAwB9/F,EAAM8/F,uBAC9B1Y,0BA1B6BgD,IACjC,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAE5CskF,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAGxBv1D,OAAO+vC,SAAS,EAAG,GACrB,EAgBI0lB,sBAtCyB+C,IAC7B,IAAI,gBAAE9F,EAAe,qBAAE6C,GAAyBnnF,EAEhD+vB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,MAExBv1D,OAAO+vC,SAAS,EAAG,EAAE,EA+BjB8lB,mBAdsB5B,IAC1B91D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,IAYA1lF,GAAUd,eAACD,KAAW,MACnB,I,mBCiBKW,qBAjBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBymG,aAAc5mG,EAAM4mG,aAAaA,iBAGTp3E,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA5FKU,IAClB,MAAM,aAAE8tB,EAAY,cAAEE,EAAa,aAAEm4E,GAAiBnmG,GAC/C8zH,EAAYC,GAAiBh4G,mBAAS,CAAC,GAE9C3b,qBAAU,KACR4zH,GAAe,GACd,IAEa5+F,uBAAhB,MAEM4+F,EAAgB3jG,UACpB,IAAIG,EAAO,CACTi8B,SAAU05C,EAAa15C,SACvB+sC,QAAS2M,EAAa3M,SAExB1rE,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK/I,GAAS4G,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBsjG,EAAcj2G,EAAS0S,KAAKA,MAC5BxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGF,OACElR,gBAAA,OAAAhe,SAAA,CACEF,eAAC47C,GAAe,IAChB57C,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACm8B,QAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,OACV7yB,MAAO,CAAEyiC,IAAK,QACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,MAAAE,SAAI,oBAENge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAc,OAAVg1H,QAAU,IAAVA,OAAU,EAAVA,EAAYznE,qBAElBvvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SAAc,OAAVg1H,QAAU,IAAVA,OAAU,EAAVA,EAAYvnE,iBAElBzvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAc,OAAVg1H,QAAU,IAAVA,OAAU,EAAVA,EAAY76B,oBAElBn8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAc,OAAVg1H,QAAU,IAAVA,OAAU,EAAVA,EAAY56B,sBAElBp8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAI,GAAa,OAAVg1H,QAAU,IAAVA,OAAU,EAAVA,EAAYxJ,qCAMzB,I,wBCGK2J,OA/EyBj0H,IACtC,IAAI,SAAEiyC,EAAQ,oBAAEurD,EAAmB,aAAEgQ,GAAiBxtG,EAEtD,OACEpB,eAACC,WAAQ,CAAAC,SACPge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7CF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,sCAAqCD,SAClDge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,uBACV7yB,MAAO,CAAEyiC,IAAK,iBACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,0BAGrCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CAAC,YACdF,eAAA,QAAAE,SAAO0+F,EAAoB5xD,aAGtC9uB,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,KAAAE,SAAG,iBACHF,eAAA,MAAAE,SACG0+F,GACDA,EAAoBhtE,MACpBgtE,EAAoBhtE,KAAK/zB,OAAS,EAChC+gG,EAAoBhtE,KAAKtQ,KAAI,CAAC4wB,EAAOzT,IACnCz+B,eAAA,MAAAE,SAAiBgyC,GAARzT,KAGXz+B,eAAA,MAAAE,SAAI,qCAMZge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,mBACX,IACjBF,eAAA,UAAAE,SAAS0+F,EAAoBxqC,oBAGZ,KAAjBw6C,GACA1wF,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,kBACbF,eAAA,UAAAE,SAAS0uG,aAMhC1wF,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,wBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKG,UAAU,QACfH,eAAA,KAAAE,SAAI0+F,EAAoBC,+BAOpC7+F,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,UAAQme,QAASA,IAAMk1B,IAAWnzC,SAAC,qBAG9B,EC4IAo1H,OAtNsBl0H,IACnCE,QAAQC,IAAI,+BACZ,MAAM,kBACJwjF,EAAiB,KACjBr+B,EAAI,QACJrlD,EAAO,qBACPyuF,EAAoB,SACpB9uF,EAAQ,WACR2uF,EAAU,iBACVod,EAAgB,aAChB79E,EAAY,cACZE,EAAa,oBACbmmG,EAAmB,UACnB1hG,EAAS,MACTvC,EAAK,YACLkkG,EAAW,aACX5mB,GACExtG,GAEGT,EAAO+vB,GAAYvT,mBAAS,CACjCyhF,oBAAqB,CAAC,IAGxBp9F,qBAAU,KACRi+F,GAAsB,GACrB,IAEH,MAAMA,EAAuBhuE,UAC3B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjChwB,QAAQC,IAAI,UAAWsyB,EAAWvC,GAClC,MAAMM,EAAO,CACXob,QAASuoF,EAAoBp2C,iBAE/BjwD,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,yEACAnC,EACA,CAAE+B,YAGyB,MAAzBzU,EAAS0S,KAAKC,QAChBvwB,QAAQC,IAAI,uBAAwB2d,EAAS0S,KAAKo7E,QAClDt8E,GAAUqgE,IAAQ,IACbA,EACH6N,oBAAqB1/E,EAAS0S,SAEhCm7E,EAAiB7tF,EAAS0S,KAAKo7E,SACG,MAAzB9tF,EAAS0S,KAAKC,QACvB3yB,MAAMggB,EAAS0S,KAAK8B,SACpBryB,EAAQkyB,KAAK,CACXC,SAAU,uBACV7yB,MAAO,CAAEyiC,IAAK,oBAEPlkB,EAAS0S,KAAKC,OACvB3yB,MAAMggB,EAAS0S,KAAK8B,SACpBryB,EAAQkyB,KAAK,CACXC,SAAU,uBACV7yB,MAAO,CAAEyiC,IAAK,mBAUlBhU,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAiIF,OACEjF,eAACy1H,GAAgC,CAC/B72B,oBAAqBj+F,EAAMi+F,oBAC3BvrD,SAjIa5hB,UACf,IAAIozD,EAAc,IAAKlkF,EAAMi+F,qBAC7B,GAAKphG,aAAQqnF,GAwHX3lF,MAAM,mCAxHmB,CACzB,IAAI2zB,QAAyBi9D,EAAqBjL,GAElD,GADAvjF,QAAQC,IAAI,mCAAoCsxB,GAC5CA,EAAiBxuB,OAAQ,CAC3BwuB,EAAiBjB,KAAKmB,QAAQnB,KAAKuG,SAASp1B,IAAa,IAAD28F,EAAA1G,EACtDj2F,EAAQ4oF,UAAW,EAEnB5oF,EAAQ4nF,aAAc,EACtB5nF,EAAQ6oF,iBAAkB,EAC1B7oF,EAAQktF,eAAiB,EACzBltF,EAAQmtF,gBAAkB,EAC1BntF,EAAQotF,0BAA4B,GACpCptF,EAAQooF,wBAA0B,GAClCpoF,EAAQ2nF,qBAAuB,GAC/B3nF,EAAQ2oF,OAAS3oF,EAAQ2oF,OACtB0E,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEJrtF,EAAQk8F,SAA2B,QAAnBS,EAAG38F,EAAQk8F,gBAAQ,IAAAS,OAAA,EAAhBA,EACftP,WACA,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,gDAEU,QAAd4I,EAAAj2F,EAAQ0jE,cAAM,IAAAuyB,GAAdA,EAAgB7gE,SAASk4D,IACvBA,EAAI5pB,OAAS4pB,EAAI5pB,OACd2pB,WACC,gBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,iBACA,gDAEDA,WACC,gBACA,gDAEDA,WACC,kBACA,gDAEDA,WACC,iBACA,+CACD,GACH,IAEJ,IAAIvmD,EAAO8lD,IACX,MAAM7H,EAAuBj1D,EAAiBjB,KAAKmB,QAAQnB,KAC3D4jG,EAAY,EAAG1tC,GAEfp3D,GAAUa,IAAS,IACdA,EAGHo9D,YAAa9kD,EACb+kD,QAAS/7D,EAAiBjB,KAAKmB,QAAQu9D,cAG3C,MACEpxF,MAAM,0BAEV,CAEA,EAOE6lF,kBAAmBA,EACnB6rB,eAAgBlqD,EAChBrlD,QAASA,EACTutG,aAAcA,GACd,E,gBC7HS6d,OAxFalwF,IAIrB,IAADkrD,EAAAC,EAAAC,EAAA,IAJuB,KAC3B5H,EAAI,qBACJ+H,EAAoB,gBACpB7C,GACD1oD,EAaC,OACEv8B,eAAA,OAAKG,UAAU,mBAAkBD,SAE/Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,SACrB,IACPF,eAAA,QAAAE,SAA4C,QAA5CunF,EAAOK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuC94B,gBAGhDzwC,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAAC,aACpB,IACXF,eAAA,QAAAE,SAA4C,QAA5CwnF,EAAOI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuCgpB,oBAGhDxyF,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAAC,iBACpB,IACfF,eAAA,QAAAE,SAA4C,QAA5CynF,EAAOG,EAAqB7C,UAAgB,IAAA0C,OAAA,EAArCA,EAAuC6F,cAC9CxtF,eAAA,OAAKG,UAAU,2BAGjB+d,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,WACnB,IAAIP,OAAOslF,GAAmB,OAGxC6C,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IACjCvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,IAAUwmD,GAAmBlF,EAAO,OAAS,OAG/C/hC,wBAAyB,CAAEC,OAAQl7C,EAAQ2oF,SADtC3oF,EAAQ8lF,IAAM,MAGrB7oF,eAAA,KACEG,UACEs+B,IAAUwmD,GAAoBlF,EAAgB,OAAT,OAGvC/hC,wBAAyB,CAAEC,OAAQl7C,EAAQwpF,eADtCxpF,EAAQ8lF,IAAM,WAKzB,YAuBJ,E,QC3EV,MAIMuC,GAAuB3sD,GACP,6BACDA,GA+SNiuF,OA5SSnwF,IAejB,IAfkB,aACvBspD,EAAY,WACZsB,EAAU,kBACVvB,EAAiB,KACjB7F,EAAI,aACJ+K,EAAY,gBACZ7F,EAAe,IACf2E,EAAG,qBACH9B,EAAoB,cACpBQ,EAAa,WACb8B,EAAU,yBACVnC,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,OACtB0B,GACDttD,EACC,MAwEM8tD,EAAcA,CAACC,EAAGC,EAAIC,EAAUZ,KAC/BA,GAAOjqF,OAAO2qF,IAAMnD,IAChB,sCACGyC,GAAOW,GAAMA,EAAGlvB,QAAQ17D,OAAO6qF,KAAc,GAAKrD,IACrD,mCAEA,wBAIL0D,EAAqBA,CAACC,EAAcC,EAAkBhL,IAExD//E,eAACC,WAAQ,CAAAC,SACPF,eAAA,OACEG,UACE4qF,IAAqB9F,EACjB,+CACA,+CACL/kF,SAEA4qF,EAAarkB,QAAUqkB,EAAarkB,OAAO5oE,OACxCitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,IAAI+sD,EAAazoF,EAAQ0jE,OAUzB,OARGsZ,GACD+K,EAAaE,cACbF,EAAaE,aAAavsD,KAE1B+sD,EACEV,EAAaE,aAAavsD,GAAOgoC,QAAU1jE,EAAQ0jE,QAIrDvoD,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoB+lF,IAC1B5rE,UAAUyqE,EACVroE,QACEupE,EAAaJ,qBAAqB7sF,OAC9BitF,EAAaJ,qBAAqB,KAClC3nF,EAAQ+lF,UACwB,IAAhC/lF,EAAQkoF,oBAIdrsE,SAAWnB,IACTwqE,EAAyBxqE,EAAO1a,EAAQ+lF,WACxCjD,EAAaZ,GAEbmF,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRJ,EAAaK,wBACbpoF,EAAQ+lF,UACRc,GACA1pF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAC1B,GAAGkrF,GAAoB3sD,UAG5Bz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyB,CAAEC,OAAQutC,YAtCjC/sD,EA0CJ,IAGV,SAMN6sD,EAAoBA,CACxBR,EACA7F,EACA2E,EACA9B,EACAI,EACAkC,IAGEpqF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAW,8CAA8CD,SAC3D4qF,EAAarkB,OAAO5oE,OACjBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,KAChC,OACEvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B1jE,UACEumE,EAAqB7C,GAClByF,qBAAqB7sF,QACpBiqF,EACE7C,GACAyF,qBAAqB34D,MAAM4Z,GACpBA,EAAKm9C,YAAc/lF,EAAQ+lF,YAI1ClqE,SAAWnB,IACTyqE,EAAwBzqE,EAAO1a,EAAQ+lF,WACvCjD,EAAaZ,GACbmF,GAAY,IAGhBlsE,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRpD,EAAqB7C,GAClBkG,wBACHpoF,EAAQ+lF,UACRc,GACA1pF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,GAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,yBA1OAyoB,EA2OE1jE,EAAQ0jE,OA1O3B,CAAExoB,OAAQwoB,aAkMShoC,GAnMFgoC,KAgPF,IAGV,SAMN8kB,EAAmBA,CACvBT,EACA7F,EACAqD,EACAH,EACAiC,IAGEpqF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAW,sBAAsBD,SACpCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBAEZhhB,MAAOqtF,EAAavC,eACpB3pE,SAAWnB,IACTmoE,EAAkBnoE,EAAMK,OAAOrgB,OAC/B0qF,EAAuB1qE,GACvB2sE,GAAY,EAEdjrE,UAAUmpE,GAVLrD,SAkBjB,OACEjlF,eAAA,OAAAE,SA/PoBotF,EACpBxC,EACA7F,EACAlF,EACA6J,EACA9B,EACAQ,EACAL,EACAC,EACAC,EACAiC,KAEA,IAAKU,EAAc,OAAO,KAE1B,MAAQ0C,YAAantF,GAASyqF,EAC9B,IAAIn6D,EAUJ,OAPEA,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAAOk6D,EACLC,EACA7F,EACAlF,EACA6J,EACA9B,EACAQ,EACAL,EACAmC,GAEJ,KAAK,EACH,OAAOmB,EACLT,EACA7F,EACAqD,EACAH,EACAiC,GAEJ,KAAK,EACH,OAAOkB,EACLR,EACA7F,EACA2E,EACA9B,EACAI,EACAkC,GAEJ,QACE,OAAO,KACX,EAwMGkD,CACCxC,EACA7F,EACAlF,EACA6J,EACA9B,EACAQ,EACAL,EACAC,EACAC,EACAiC,IAcE,E,QCjMKuiC,OA3HUa,gBACvBjxF,IAkBO,IAlBN,aACCspD,EAAY,eACZmB,EAAc,YACdzB,EAAW,gBACXN,EAAe,eACfsW,EAAc,0BACdxT,EAAyB,sBACzBC,EAAqB,SACrBgB,EAAQ,UACR2N,EAAS,IACT/M,EAAG,mBACH+G,EAAkB,WAClBlQ,EAAU,eACV0J,EAAc,UACdL,EAAS,qBACThC,EAAoB,UACpBoC,EAAS,aACTd,GACD7sD,EA+BC,OACEre,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKwE,MAAO,CAAClE,MAAM,OAAQH,UAAU,oBAAmBD,SACrD+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,IACA4O,IApCV7O,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,IAiCUd,GAAa,GACbvD,EAAaZ,EAAgB,EAAE,EAC/B/kF,SACH,iBAOPF,eAAA,OAAKwE,MAAO,CAAClE,MAAM,OAAQH,UAAU,qBAAoBD,SACtDq7F,IAAmBtW,EAAkB,EACpC/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CAC/BF,eAAA,UACEmf,SAAUomE,EACVplF,UAAWolF,EAAc,mBAAqB,gBAC9CpnE,QAASA,KACP6oE,GAAe,GACfmD,GAAgB,EAChBjqF,SACH,aAGDF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,cAKLge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CAC/BF,eAAA,UACEmf,SAAUomE,EACVplF,UAAWolF,EAAc,mBAAqB,gBAC9CpnE,QAASA,KACP6oE,GAAe,GACfmD,GAAgB,EAChBjqF,SACH,aAGDF,eAAA,UACEme,QAASA,KACP6pE,IACAgB,IA1EZlB,EAAqB7C,EAAkB,GAAGyF,qBAAqB7sF,SACL,IAA1DiqF,EAAqB7C,EAAkB,GAAG0F,YAE1CR,IAEAD,IAuEYd,GAAa,GACbvD,EAAaZ,EAAgB,EAAE,EAC/B/kF,SACH,gBAML,I,QClGG2sH,OApBUtwF,IAAuC,IAAtC,uBAAEkkE,EAAsB,KAAE1gB,GAAMxjD,EACxD,OACEre,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,MAAAE,SAAI,cACJF,eAAA,KAEEg+C,wBAAyB,CACvBC,OAAQwiD,EAAuBxB,WAF5BwB,EAAuB5X,IAAM,MAKpC7oF,eAAA,KAEEg+C,wBAAyB,CACvBC,OAAQwiD,EAAuBtB,iBAF5BsB,EAAuB5X,IAAM,QAKhC,ECiIK6sC,OA1IUn5F,IAMlB,IAADkrD,EAAA,IANoB,aACxBv4D,EAAY,cACZE,EAAa,OACbgG,EAAM,qBACN0yD,EAAoB,gBACpB7C,GACD1oD,EACC,MAAOisD,EAAiBC,GAAsBtrE,mBAAS,KAEhDksE,EAAWC,GAAgBnsE,oBAAS,GACrCssE,EAAyBA,KAC7BH,GAAa,GACbX,EAAuB,CAAEG,UAAW,IAAK,GAGpCJ,EAAqBC,GAA0BxrE,mBAAS,CAC7Dkc,QAASjE,EACTwzD,KAA2C,QAAvCnB,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCoB,IAC7CC,UAAW,GACXhoD,YAAa,KAETioD,EAAqD,KAAzCL,EAAoBI,UAAUjrF,OAkChD,OACEqgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OACE1Z,MAAO,CACLywD,UAAW,OACXx1D,MAAO,UACPquF,WAAY,UACZ7qC,SAAU,OACV7jB,WAAY,MACZ4uD,WAAY,OACZn7C,eAAgB,OAChB8O,aAAc,QACdzhD,SAAA,CAEFF,eAAA,QAAMwE,MAAO,CAAE4mC,YAAa,MAAOe,OAAQ,WAAYjsC,SACrDF,eAAA,OAAKsgB,IAAKpb,GAAOuK,mBAAoB2R,IAAI,UACnC,IACRphB,eAAA,QACEwE,MAAO,CAAE2nC,OAAQ,WACjBhuB,QAnD4B8vE,KAClC/+D,IAEA,IACEwC,KAAMC,IAAIzK,IAASmK,MAAMnS,IACvBupE,EAAmB,IAAIvpE,EAAS0S,KAAKA,OAEb,MAApB1S,EAAS2S,SACXzC,IAjB4Bk6D,GAAa,GAmB3C,GAEJ,CAAE,MAAOrkF,GACPmqB,GACF,GAqC2ClvB,SACtC,uBAKHge,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQk2C,EACRtpF,UAAU,aAAYD,SAAA,CAEtBge,gBAACwe,KAAMiZ,OAAM,CAACC,aAAW,EAAA11C,SAAA,CACtB,IACDF,eAAA,MAAAE,SAAI,uBAENF,eAAC08B,KAAMmX,KAAI,CAAC1zC,UAAU,aAAYD,SAChCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAGG,UAAU,eAAcD,SAAC,gGAI5BF,eAAA,MAAIG,UAAU,YAAWD,SACP,OAAfsoF,QAAe,IAAfA,OAAe,EAAfA,EAAiBlnE,KAAI,CAACve,EAAS07B,IAE5BvgB,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQgc,GACZ/Z,KAAK,QACLvH,MAAOsF,EAAQ0qF,YACf7uE,SAAWnB,IACTkrE,EAAuB,IAClBD,EACHI,UAAWrrE,EAAMK,OAAOiB,IACxB,IAEH,IACH/e,eAAA,SAAOwhB,QAASze,EAAQgc,GAAG7e,SAAE6C,EAAQ0qF,gBAbJ1qF,EAAQgc,QAkBjD/e,eAAA,YACEG,UAAU,mBACVE,KAAK,OACLue,SAAWnB,GACTkrE,EAAuB,IAClBD,EACH5nD,YAAarjB,EAAMK,OAAOrgB,QAG9BghB,YAAY,mBACX,IACHze,eAAA,SACAA,eAAC0tF,KAAM,CAACvuE,SAAU4pE,EAAW5qE,QAvFLwvE,KAChCz+D,IACA,IACEwC,KAAMqC,KAAK5M,GAASuhE,GAAqBr3D,MAAMnS,IACrB,MAApBA,EAAS2S,SACXzC,IACAq6D,IACA90C,GAAgB,0CAChBg0C,EAAuB,CAAEG,UAAW,KACtC,GAEJ,CAAE,MAAO7jF,GAAQ,GA4EuD/E,SAAC,qBAMtE,ECpDQy1H,OAzFQp5F,IAMhB,IANiB,gBACtB6vD,EAAe,UACfjD,EAAS,uBACTsX,EAAsB,KACtB1gB,EAAI,OACJ3qD,GACDmH,EACC,MAAMqnC,EAAeA,KACLt/D,SAASC,eAAe,UAChCs/D,cAAcC,YAClB,iCAAiC1uC,MACjC,KAOF,MAAM2uC,EAAcxxC,OAAOmR,iBACvB,mBACA,eAKJsgC,EAJgBzxC,OAAOwxC,IAEL,gBAAhBA,EAAgC,YAAc,WAE1B,SAAU1nC,GAC9B,GAAIA,EAAEzK,MAAQyK,EAAEzK,KAAKoe,YAAa,CAChC,MAAM8vD,EAAqB,CAAE9vD,YAAa3T,EAAEzK,KAAKoe,aACjDk0B,eAAeC,QACb,qBACA9hE,KAAKw+C,UAAUi/C,GAEnB,CACF,GAAE,EAqDJ,OAAO9/F,eAAA,OAAAE,SAlDc4/E,KACnB,MAAM8zB,EAAiB9zB,EAAuB6M,iBAIxCS,EACNjE,IAAcpJ,EACZ,wHACAoJ,GAAapJ,EACb,uBACCoJ,GAAcpJ,EAEf,sBADA,2GAGF,OAAI6zB,GAXe,uDAWcr8E,KAAKq8E,GAGlC11F,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAEFjE,GACCnpF,eAAA,UACE+e,GAAG,SACHuB,IAAKszF,EACLjvC,OAAQf,EACR/N,MAAM,0EACNC,iBAAe,OAQrB53C,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAEFjE,GACCnpF,eAAC4/E,GAA4B,CAC3BzhB,SAAUy1C,EACVzzG,UAAU,kBAKpB,EAGWusF,CAAY+T,IAA8B,ECkD1C8sB,OAjIahxF,IAiCrB,IAjCsB,aAC3BspD,EAAY,WACZsB,EAAU,kBACVvB,EAAiB,eACjBoB,EAAc,YACdzB,EAAW,qBACXuC,EAAoB,gBACpB7C,EAAe,KACflF,EAAI,0BACJgI,EAAyB,sBACzBC,EAAqB,cACrB6gC,EAAa,SACb7/B,EAAQ,UACR2N,EAAS,gBACTvK,EAAe,UACfjD,EAAS,aACTC,EAAY,WACZgB,EAAU,cACV9B,EAAa,yBACbL,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,mBACtBwI,EAAkB,WAClBlQ,EAAU,UACVyJ,EAAS,IACTN,EAAG,UACHE,EAAS,eACTK,EAAc,OACdN,EAAM,4BACNoE,EAA2B,aAC3B/+D,EAAY,cACZE,EAAa,OACbgG,GACDmH,EACC,OACEre,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAMlCF,eAAA,OAAKG,UAAU,iDAAgDD,SAC7Dge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,cAIhCmC,eAACysH,GAAmB,CAClB1sC,KAAMA,EACN+H,qBAAsBA,EACtB7C,gBAAiBA,IAGnBjlF,eAAA,OAAKG,UAAU,4BAA2BD,SACvC4nF,EAAqBjqF,OAAS,GAC7BmC,eAAC0sH,GAAe,CACd7mC,aAAcA,EACdsB,WAAYA,EACZvB,kBAAmBA,EACnB7F,KAAMA,EACN+K,aAAchD,EAAqB7C,GACnCA,gBAAiBA,EACjB6C,qBAAsBA,EACtBsC,WAAYA,EACZ9B,cAAeA,EACfL,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxByB,IAAKA,EACLC,OAAQA,MAKd3rE,gBAAA,OAAK1Z,MAAO,CAAE0uD,UAAW,UAAWhzD,SAAA,CACjCinF,IACCnnF,eAAC6sH,GAAgB,CACfpsB,uBAAwB3Y,EAAqB7C,GAC7ClF,KAAMA,EACNkF,gBAAiBA,IAEjB,KAEHkC,IACCnnF,eAAC21H,GAAc,CACbl1B,uBAAwB3Y,EAAqB7C,GAC7ClF,KAAMA,EAEN3qD,OAAQA,EACRg3D,gBAAiBA,EACjBjD,UAAWA,IAEX,QAGNnpF,eAAC01H,GAAgB,CACfxmG,aAAcA,EACdE,cAAeA,EACfgG,OAAQA,EACR0yD,qBAAsBA,EACtB7C,gBAAiBA,OAGrBjlF,eAAC2sH,GAAgB,CACf9mC,aAAcA,EACdmB,eAAgBA,EAChBzB,YAAaA,EACbN,gBAAiBA,EACjBsW,eAAgBzT,EAAqBjqF,OACrCiqF,qBAAsBA,EACtBC,0BAA2BA,EAC3BC,sBAAuBA,EACvBgB,SAAUA,EACV2N,UAAWA,EACXhG,mBAAoBA,EACpBlQ,WAAYA,EACZyJ,UAAWA,EACXN,IAAKA,EACLE,UAAWA,EACXK,eAAgBA,EAChBf,aAAcA,MAEZ,E,gBC3DK8iC,OAxEa3vF,IAWrB,IAXsB,SAC3BykD,EAAQ,MACRviD,EAAK,gBACLwmD,EAAe,mBACfmD,EAAkB,KAClBrI,EAAI,UACJmK,EAAS,eACTC,EAAc,qBACdrC,EAAoB,aACpBsB,EAAY,OACZY,GACDztD,EACC,MAAMq5F,EAAY3wC,IAAoBxmD,EAChCksD,EAAc3J,EAAS2J,YAEvBiiC,EAA4BpmC,IAC5BsB,EAAqBtB,GAAgBkE,qBAAqB7sF,OAC5DssF,IAEAD,GACF,EAGI2rC,EAAsBA,KAC1BztC,EAAmB3pD,EAAOmuF,GAG1BxjC,GAAa,EAAM,EAGf0sC,EAAoBA,IACpBF,EACK,qBACEjrC,EACF,sBAEA,wBAIX,OACE3qF,eAAA69B,YAAA,CAAA39B,SACC8pF,EACDhqF,eAAA,OAAKG,UAAU,iEAAgED,SAC7Ege,gBAAA,SAAO/d,UAAW21H,IAAqB33G,QAAS03G,EAAoB31H,SAAA,CAClEge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ8hC,EACJiB,EAAS0K,OACT1K,EAASuL,cAAgBvL,EAAS0K,eAK9C1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,UAIpDphB,eAAA,OAAKG,UAAU,iCAAgCD,SAC9CF,eAAA,SAAOG,UAAW21H,IAAqB33G,QAAS03G,EAAoB31H,SAClEF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,WAId,ECcO8tF,OAjFWhwF,IAWnB,IAXoB,qBACzBurD,EAAoB,gBACpB7C,EAAe,mBACfmD,EAAkB,uBAClB2M,EAAsB,KACtBhV,EAAI,WACJU,EAAU,mBACVkQ,EAAkB,UAClBzG,EAAS,eACTC,EAAc,aACdf,GACD7sD,EACC,MAAOytD,EAAOC,GAAa9sE,oBAAS,GAEpC,OACEe,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,cAAaD,SAAC,kBAC7BF,eAAA,UACEme,QAASA,KACPwyE,IACAlQ,GAAY,EACZvgF,SACH,cAKHge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,qEAAoED,SAAA,CACjFF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAM/pF,SACpC8pF,EACChqF,eAAA,OAAKsgB,IAAKpb,GAAOqK,oBAAqB6R,IAAI,UAE1CphB,eAAA,OAAKsgB,IAAKpb,GAAOoK,mBAAoB8R,IAAI,WAG7CphB,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAO/pF,SACrC8pF,EACChqF,eAAA,OAAKsgB,IAAKpb,GAAOkK,mBAAoBgS,IAAI,SAEzCphB,eAAA,OAAKsgB,IAAKpb,GAAOmK,oBAAqB+R,IAAI,kBAKlDlD,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,SAAOG,UAAU,wCACjBH,eAAA,QAAMG,UAAU,eAAcD,SAAC,iBAEjCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,SAAOG,UAAU,sCACjBH,eAAA,QAAMG,UAAU,eAAcD,SAAC,kBAInCF,eAAA,OAAKG,UAAU,iBAAiBupC,IAAKqrD,EAAuB70F,SACrC,OAApB4nF,QAAoB,IAApBA,KAAsBjqF,OACC,OAApBiqF,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBxmE,KAAI,CAACve,EAAS07B,IAClCz+B,eAACksH,GAAmB,CAElBlrC,SAAUj+E,EACV07B,MAAOA,EACPwmD,gBAAiBA,EACjBmD,mBAAoBA,EACpBN,qBAAsBA,EACtB/H,KAAMA,EACNoK,eAAgBA,EAChBD,UAAWA,EACXd,aAAcA,EACdY,OAAUA,GAVLvrD,KAaT,SAEF,ECwFKs3F,OAjKsBx5F,IAe9B,IAf+B,qBACpCurD,EAAoB,gBACpB7C,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,OAClBhzD,EAAM,cACNkzD,EAAa,yBACbL,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,mBACtBwI,EAAkB,iBAClBtI,EAAgB,aAChBn5D,EAAY,cACZE,GACDmN,EACC,MAAMw4D,EAAyBhsD,iBAAO,OAEhC,eAACi+C,EAAc,WAAEG,EAAU,YAAE5B,EAAW,aAAEM,EAAY,kBAAED,GAAqBZ,GAAaC,EAAiB6C,EAAqB7C,GAAiBsD,iBAEhJxI,EAAM4J,GAAWxsE,oBAAS,IAC1BysE,EAAKC,GAAU1sE,oBAAS,IACxBwf,EAAM2mD,GAAWnmE,oBAAS,GAC3B06B,EAAcA,IAAMyrC,GAAQ,GAC5B7C,EAAaA,IAAM6C,GAAQ,IAE1BwG,EAAWC,GAAe5sE,oBAAS,IAEnCgsE,EAAWC,GAAgBjsE,oBAAS,GAE3C0iE,GAAWoF,EAAiBlF,EAAMoH,KAElC,MAQM+C,EAAYA,KAChBL,GAAO,GACPE,GAAY,EAAM,EAGdI,EAAiBA,KACrBN,GAAO,EAAM,EAsBTg/B,EACH,IAAM/gC,EAAqBjqF,QAAWonF,EAAkB,GAE3D,OACEjlF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAE9BF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAACusH,GAAiB,CAChBzkC,qBAAsBA,EACtB7C,gBAAiBA,EACjBmD,mBAAoBA,EACpB2M,uBAAwBA,EACxBhV,KAAMA,EACN4Q,mBAAoBA,EACpBlQ,WAAYA,EACZ0J,eAAgBA,EAChBD,UAAWA,EACXd,aAAcA,QAMpBppF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAACutH,GAAmB,CAClB1nC,aAAcA,EACdsB,WAAYA,EACZvB,kBAAmBA,EACnBoB,eAAgBA,EAChBzB,YAAaA,EACbuC,qBAAsBA,EACtB7C,gBAAiBA,EACjBlF,KAAMA,EACNgI,0BAA2BA,EAC3BC,sBAAuBA,EACvB6gC,cAAeA,EACf7/B,SAtDGA,KACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAmD1DH,UAhDIA,KAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA6C1D1K,gBA9EUA,KACtBhD,GAAcD,GACd,MAAMkD,EAAY/nF,SAASkmC,cAAc,wBACvCzqB,YAAW,KACTssE,EAAUtO,UAAYsO,EAAUjvC,YAAY,GAC7C,EAAE,EA0EO+rC,UAAWA,EACXiB,WA/DKA,KACjBL,GAAY,EAAK,EA+DLzB,cAAeA,EACfL,yBAA0BA,EAC1BE,uBAAwBA,EACxBD,wBAAyBA,EACzByI,mBAAoBA,EACpBlQ,WAAYA,EACZyJ,UAAWA,EACXN,IAAKA,EACLE,UAAWA,EACXK,eAAgBA,EAChBN,OAAQA,EACR36D,aAAcA,EACdE,cAAeA,EACfgG,OAAQA,EACRg0D,aAAcA,QAKpBlrE,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQsE,EACR13C,UAAU,gBACVyzC,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,WAAUD,SACvBF,eAAA,OAAKsgB,IAAKpb,GAAOsE,QAAS4X,IAAI,OAEhCphB,eAAA,MAAAE,SAAI,kBACJF,eAAA,KAAAE,SAAG,4DACHge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,UAAQG,UAAU,SAASge,QAAS05B,EAAY33C,SAAC,WAGjDF,eAAA,UAAQme,QAASA,IAAMkqE,IAAmBnoF,SAAC,4BAO9C,ECjHA81H,OAlDmB50H,IAChC,MAAM,qBACJ0mF,EAAoB,gBACpB3I,EAAe,gBACf4P,EAAe,oBACfE,EAAmB,oBACnBE,EAAmB,gBACnBlK,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrB2I,EAAkB,yBAClB1I,EAAwB,wBACxBC,EAAuB,uBACvBC,EAAsB,aACtB8J,EAAY,YACZE,EAAW,mBACX/J,EAAkB,iBAClBC,EAAgB,cAChBC,EAAa,OACblzD,EAAM,aACNlG,EAAY,cACZE,GACEhuB,EAEJ,OACEpB,eAAC+1H,GAA4B,CAC3BjuC,qBAAsBA,EACtB3I,gBAAiBA,EACjB4P,gBAAiBA,EACjBE,oBAAqBA,EACrBE,oBAAqBA,EACrBlK,gBAAiBA,EACjB8C,0BAA2BA,EAC3BC,sBAAuBA,EACvB2I,mBAAoBA,EACpB1I,yBAA0BA,EAC1BC,wBAAyBA,EACzBC,uBAAwBA,EACxB8J,aAAcA,EACdE,YAAaA,EACb/J,mBAAoBA,EACpBC,iBAAkBA,EAClBC,cAAeA,EACflzD,OAAQA,EACRlG,aAAcA,EACdE,cAAeA,GACf,EC2fS6mG,OAriBiB70H,IAAW,IAAD04E,EACxC,MAAM,aACJ5qD,EAAY,cACZE,EAAa,cACb8mG,EAAa,QACb70H,EAAO,SACPL,EAAQ,eACRG,EAAc,iBACd4rG,EAAgB,oBAChBwoB,EAAmB,MACnBjkG,EAAK,UACLuC,GACEzyB,EACE03B,EAAWkK,wBACX4rE,EAAuB,OAAR91E,QAAQ,IAARA,GAAe,QAAPghD,EAARhhD,EAAUn4B,aAAK,IAAAm5E,OAAP,EAARA,EAAiB80B,cAE/BjuG,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAM,EACNk0D,YAAa,CAAC,EACd+Z,oBAAqB,CAAC,EACtB9Z,oBAAqB,CAAC,EACtBgD,qBAAsB,GACtBQ,cAAe,CAAC,EAChBrD,gBAAiB,EACjB0J,YAAa,EACbC,QAAS,EACTloC,KAAM,EACN1X,QAAS,EACTmqB,MAAO,GACPC,QAAS,EACTC,QAAS,IAGLs2B,EAAaA,KACjB,IAAItgD,EAAI,IAAIC,KAEZ,MAAMiiE,EAAe,IAAIjiE,KAAKtuC,EAAS45C,YAEvC22D,EAAaC,QAAQD,EAAaruC,UAAYuuC,QAC9C,IAAIC,EAAqBjzG,KAAKkzG,IAAIlzG,KAAKkzG,IAAIJ,EAAeliE,GAAK,KAS/DqiE,GAA8B,MADhB,GAHDjzG,KAAKC,MAAMgzG,EAAqB,OAGlBjzG,KAAKC,MAAMgzG,EAAqB,MAAQ,IAInDjzG,KAAKC,MAAMgzG,EAAqB,IAGhD,OAAOriE,EAAE6zB,SAAS,EAyCdqtB,EAAqB5B,IACzB,IACI9kD,GADI,IAAIyF,MACC4zB,UAEb,OADqBzkE,KAAKoB,OAAOgqC,EAAO8kD,GAAe,IAClC,EAGjBgC,EAAqBl/D,UACzB,IAAI,gBAAEwzD,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzDiwF,EAAqB9I,EAAqB7C,GAC1CuL,EAAiBD,EAAkB5B,GAEnC/8D,EAAO,CAAC,EAEVA,EADqC,oBAAnCg/D,EAAmBpD,YACd,CACLwf,OAAQkpB,EACRllC,eAAgBjzE,SAAS6yE,EAAmBI,gBAE5CmI,WAAYvI,EAAmBlG,qBAAqB,GAChDkG,EAAmBlG,qBAAqB,GACL,oBAAnCkG,EAAmBpD,YACnBoD,EAAmBrI,eACnB,GAEJO,UAAW,GAEXj7B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ,GACRm9C,QAAS,IAGJ,CACL8d,OAAQkpB,EACRllC,eAAgBjzE,SAAS6yE,EAAmBI,gBAC5ClI,UAAW8H,EAAmBlG,qBAAqB7sF,OAC/C+yF,EAAmBlG,qBACnB,GACJ78B,SAAU+iC,EAAmB/iC,SAC7BojC,cAAelzE,SAAS6yE,EAAmBK,eAC3CC,eAAgBnzE,SAAS6yE,EAAmBM,gBAC5CrI,IAAK+H,EAAmB/H,IACxB77C,QAAS4jD,EAAmB5jD,QAC5BnD,KAAM2mD,GAAkC,EACxC7hC,WAAYiiC,EAAmBjiC,WAC/B7G,UAAW8oC,EAAmB9oC,UAE9B/V,OAAQ,GACRm9C,QAAS,GACTxgC,SAAUkiC,EAAmBliC,UAIjCx/B,IACA,IAK+B,aAJNwC,KAAMqC,KAC3B,yEACAnC,IAEWA,KAAKC,QAChBzC,IAEFA,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,EACd,GAgVF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,6CAA4CD,SACzDge,gBAAA,OAAK/d,UAAU,uCAAsCD,SAAA,CACnC,IAAfS,EAAMgwB,MACL3wB,eAACs1H,GAA2B,CAC1BxlC,qBApciBr+D,UAC3B,IAAIG,EAAO,CACTo7E,OAAmB,OAAXnoB,QAAW,IAAXA,OAAW,EAAXA,EAAamoB,QAGvB99E,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,4EACAnC,GAEF,OAA6B,MAAzB1S,EAAS0S,KAAKC,QAChBzC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS7T,EAAS0S,SAG5BxC,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,IAGxB,CAAE,MAAO9tB,GAGP,OAFA3D,QAAQC,IAAI0D,GACZmqB,IACO,CACL/qB,OAAQ,EACRutB,KAAM,CAAEmB,QAAS,CAAC,GAEtB,GAsaUgyD,kBAnacA,KACxB1jF,EAAQkyB,KAAK,uBAAuB,EAma1BmzB,KAAM/lD,EAAM+lD,KACZrlD,QAASA,EACTL,SAAUA,EACV2uF,WAAYA,EACZod,iBAAkBA,EAClB79E,aAAcA,EACdE,cAAeA,EACfmmG,oBAAqBA,EACrB1hG,UAAWA,EACXvC,MAAOA,EACPkkG,YA1BQA,CAACW,EAAKruC,KACxBp3D,GAAUa,IAAS,IACdA,EACHZ,KAAMwlG,EACNruC,qBAAsBA,KACrB,EAsBO8mB,aAAcA,IAGF,IAAfjuG,EAAMgwB,MACL3wB,eAACg2H,GAAwB,CACvBluC,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvB8C,0BAvWsBA,KAChC,IAAI,gBAAE9C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GAEvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvD,IAAI3mD,EAAO8lD,IAEXgB,IAEI1L,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,GACrB,EAuVU0lB,sBAjVkBA,KAC5B,IAAI,gBAAE/C,EAAe,YAAE0J,EAAW,qBAAE7G,GAAyBnnF,EACzD6vF,EAAiBD,EAAkB5B,GACvC7G,EAAqB7C,GAAiBgL,eAAiBO,EACvDG,IAIE7I,EAAqB7C,GAAiB0F,aACtC7C,EAAqB7C,GAAiBxe,OAAO3hB,QAC1CinC,GAAMA,EAAEd,sBACTptF,OAEFiqF,EAAqB7C,GAAiB0G,UAAW,EAEjD7D,EAAqB7C,GAAiB0G,UAAW,EAEnD,IAAI9hD,EAAO8lD,IAEXj/D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnC6C,qBAAsBA,EACtB6G,YAAa9kD,MAEftX,OAAO+vC,SAAS,EAAG,EAAE,EAyTXquB,mBAAoBA,EACpB1I,yBAvTqBA,CAACxqE,EAAO+sE,KACvC,IAAI,QAAEjpE,GAAY9D,EAAMK,QACpB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAC5C4gB,GACFumE,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiByF,qBAAqB,GAAKF,GAKvD,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,IAIF1C,EAAqB7C,GAAiBkG,wBAAwB,GAC5DxrF,OAAO6qF,GACT1C,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,IAExDpI,EAAqB7C,GAAiBkL,0BAA0B,GAC9D3F,EACF1C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBiL,gBAAkB,KAG1DpI,EAAqB7C,GAAiB0F,aAAc,EACpD7C,EAAqB7C,GAAiByF,qBAAuB,GAC7D5C,EAAqB7C,GAAiBkG,wBAA0B,GAChErD,EAAqB7C,GAAiBkL,0BAA4B,GAClErI,EAAqB7C,GAAiBiL,gBAAkB,GAE1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EAyRvDI,wBAtRoBA,CAACwJ,EAAQlH,KACvC,IAAI,gBAAEvF,EAAe,qBAAE6C,GAAyBnnF,EAE5CgxF,EAAc7J,EAChB7C,GACAyF,qBAAqB73B,WAAW9vD,GACzBA,IAAYynF,KAGA,IAAjBmH,EACF7J,EAAqB7C,GAAiByF,qBAAqBnL,OACzDuI,EAAqB7C,GAAiByF,qBAAqB7sF,OAC3D,EACA2sF,GAGF1C,EAAqB7C,GAAiByF,qBAAqBnL,OACzDoS,EACA,GAIA7J,EAAqB7C,GAAiByF,qBAAqB7sF,OAC7DiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,GAM7C,IAFP7C,EAAqB7C,GAAiByF,qBAAqBrvB,QACzDmvB,IAMO,IAFP1C,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwBttF,OAC9D,EACA2sF,GAGF1C,EAAqB7C,GAAiBkG,wBAAwB5L,OAC5DuI,EAAqB7C,GAAiBkG,wBAAwB9vB,QAC5DmvB,GAEF,IAOK,IAFP1C,EAAqB7C,GAAiBkL,0BAA0B90B,QAC9DmvB,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EAAqB7C,GAAiBkL,0BACnCtyF,OACH,EACA2sF,GAGF1C,EAAqB7C,GAAiBkL,0BAA0B5Q,OAC9DuI,EACE7C,GACAkL,0BAA0B90B,QAAQmvB,GACpC,GAKF1C,EAAqB7C,GAAiBkG,wBAAwBttF,SAChEiqF,EAAqB7C,GAAiBiL,iBAAkB,GAG1Dx/D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EA0MvDK,uBAvMoB1qE,IAC9B,IAAI,MAAEhgB,GAAUggB,EAAMK,QAElB,gBAAEmnE,EAAe,qBAAE6C,GAAyBnnF,EAChDmnF,EAAqB7C,GAAiBsD,eAAiB9qF,EAAMK,OAEzDgqF,EAAqB7C,GAAiBsD,eAAe1qF,OACvDiqF,EAAqB7C,GAAiB0F,aAAc,EAEpD7C,EAAqB7C,GAAiB0F,aAAc,EAGtDj6D,GAAUa,IAAS,IAAWA,EAAWu2D,0BAAwB,EA4LvDM,mBAzLeA,CAAC5B,EAAgBomC,KAC1Cl8F,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,MAEnBmK,IACAi8B,EAAyBpmC,EAAe,EAoL9B6B,iBA3Ia52D,UACvB,IAAI,YAAEozD,EAAW,qBAAEiD,GAAyBnnF,EAExCg5F,EAAc,GAElB7R,EAAqB3vD,SAASp1B,IAC5B,GAA0C,mBAAtCA,EAAQyqF,YAAY1uF,cAAoC,CAC1D,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,qBAAtC7uB,EAAQyqF,YAAY1uF,cAAsC,CACnE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBkP,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BmO,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxB2I,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,MAAO,GAA0C,oBAAtC7uB,EAAQyqF,YAAY1uF,cAAqC,CAClE,IAAI8yB,EAAO,CACTi3D,IAAK9lF,EAAQ8lF,IACbyI,QAASvuF,EAAQuuF,QACjBD,SAAUtuF,EAAQsuF,SAClBf,WAAYvtF,EAAQktF,eACpB2J,aAAc72F,EAAQ4nF,YACtBoP,iBAAkBh3F,EAAQg3F,iBAC1BxR,eAAgBxlF,EAAQwlF,eACxBsR,iBAAkB92F,EAAQmtF,gBAC1B4J,kBAAmB/2F,EAAQ6oF,gBAC3BsF,eAAgBnuF,EAAQmuF,eACxBF,eAAgBjuF,EAAQiuF,eACxBC,cAAeluF,EAAQkuF,cACvB+I,gBAAiBj3F,EAAQotF,0BACzB8J,eAAgBl3F,EAAQooF,wBACxBxI,OAAQ5/E,EAAQ2nF,qBAChBwP,aAAcn3F,EAAQm3F,aACtBltD,QAASjqC,EAAQiqC,QACjB0hB,SAAU3rD,EAAQ2rD,UAEf98B,EAAK0/D,UACR1/D,EAAK0/D,QAAU,GAEjBqI,EAAYpmE,KAAK3B,EACnB,KAEF1C,IACA,IAAI2D,OA1HgBpB,OAAO+oE,EAAiB3V,KAC5C,IAAIziD,EAAiB,CACnByrB,SAAUg3B,EAAYh3B,SACtBhkB,KAAM,GACNmjE,OAAQkpB,GAGV,IACE,MAAMh3G,QAAiBwS,KAAMqC,KAC3B,wEACAqO,GAEF,OAA6B,MAAzBljB,EAAS0S,KAAKC,OACT,CACLxtB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,UAIpB,CACLrvB,OAAQ,EACRutB,KAAM,CACJ8B,QAASxU,EAAS0S,KAAK8B,SAI/B,CAAE,MAAOzuB,GAEP,OADA3D,QAAQC,IAAI0D,GACL,CACLZ,OAAQ,EACRutB,KAAM,CACJ8B,QAAS,2BAGf,GAuF6BymE,CAC3Bh5F,EACA0jF,GAGEhyD,EAAiBxuB,QACnB+qB,IACA/tB,EAAQkyB,KAAK,0BAEbnE,IACAlwB,MAAM2zB,EAAiBjB,KAAK8B,SAC9B,EA6CU40D,cAAe3nF,EAAM2nF,cACrBlzD,OAAQp0B,EAASq4B,QACjBnK,aAAcA,EACdE,cAAeA,UAKd,EChdA1uB,qBA5BUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrB0sD,SAAUjtD,EAAM09F,aAAaC,YAC7B4R,aAAcvvG,EAAME,aAAaqvG,aACjC/uG,eAAgBR,EAAMQ,eACtBo0H,oBAAqB50H,EAAMy1H,mBAC3B9kG,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtBqiG,cAAev1H,EAAMy1H,mBAAmBF,kBAIhB/lG,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC28E,iBAAmBj9E,IACjBK,EAASkmG,GAAgBtpB,iBAAiBj9E,GAAS,KAK1CpvB,EA7EMU,IACnB,IAAI,QACFC,EAAO,OACPP,EAAM,SACNE,EAAQ,aACRkuB,EAAY,cACZE,EAAa,eACbjuB,EAAc,oBACdo0H,EAAmB,MACnBjkG,EAAK,UACLuC,EAAS,cACTqiG,EAAa,iBACbnpB,GACE3rG,EASJ,OACE8c,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,OAAKG,UAAU,+BAA8BD,SAV7CqyB,OAAOioB,YAAc,IAWR,KACTx6C,eAACC,WAAQ,CAAAC,SACPF,eAACi2H,GAAsB,CACrB50H,QAASA,EACTL,SAAUA,EACVkuB,aAAcA,EACdE,cAAeA,EACfkC,MAAOA,EACPuC,UAAWA,EACXqiG,cAAeA,EACfX,oBAAqBA,EACrBp0H,eAAgBA,EAChB4rG,iBAAkBA,UAM3BjsG,GAAUd,eAACD,KAAW,MACd,I,QCgHAW,qBAlBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB48F,eAAgB/8F,EAAMuxG,gBAAgBC,cACtC+jB,cAAev1H,EAAMy1H,mBAAmBF,kBAGhB/lG,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAhHiBU,IAC9B,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,cAAEo1H,GAAkB90H,EAC7D,MAAOk1H,EAAoBC,GAAyBp5G,mBAAS,CAAC,GAE9D3b,qBAAU,KACRg1H,GAAuB,GACtB,IAEH,MAAMA,EAAwB/kG,UAC5BnwB,QAAQC,IAAI,oCACZ,MAAMqwB,EAAO,CACXo7E,OAAQkpB,GAGV,IACE,MAAMh3G,QAAiBwS,KAAMqC,KAC3B,0EACAnC,GAGFtwB,QAAQC,IAAI,uBAAwB2d,GAEP,MAAzBA,EAAS0S,KAAKC,QAChB0kG,EAAsBr3G,EAAS0S,KAAKA,KAExC,CAAE,MAAOyK,GACP/6B,QAAQC,IAAI86B,EACd,GAGF,IAAIh7B,EAAUm1B,uBAiBd,OACEx2B,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAC47C,GAAe,IAChB19B,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACm8B,IAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CACtB5I,SAAU,uBACV7yB,MAAO,CAAEyiC,IAAK,iBAChBljC,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEzCphB,eAAA,MAAAE,SAAI,oBAENge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAsB,OAAlBo2H,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB7oE,qBAE1BvvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SAAsB,OAAlBo2H,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB3oE,iBAE1BzvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAsB,OAAlBo2H,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBj8B,oBAE1Bn8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAsB,OAAlBo2H,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoBh8B,sBAE1Bp8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAI,GAAqB,OAAlBo2H,QAAkB,IAAlBA,OAAkB,EAAlBA,EAAoB5K,+BAIjC1rH,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,UAAQme,QAASA,KAjDzB9c,EAAQkyB,KAAK,CACXC,SAAU,uBACV7yB,MAAO,CAAEyiC,IAAK,iBA+CqC,EAAEljC,SAAC,2BAKrD,I,wBC0DQwsH,OA1MSnwF,IAIjB,IAJkB,aACvBuuD,EAAY,gBACZ7F,EAAe,qBACf6C,GACDvrD,EACC,MAAM8tD,EAAcA,CAACC,EAAGoW,IAClBpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,wBAILtV,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAmHbirC,EAA6B/1E,mBACjC,IAjHyBmqC,EAACC,EAAcC,KACxC,GAAI9F,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBACR/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAvBRhoC,KA+Bd,QAIZ,EAsEMosD,CAAmBC,EAAc7F,IACvC,CAAC6F,EAAc7F,IAIXyxC,EAA4Bh2E,mBAChC,IAzEwB4qC,EAACR,EAAcC,KACvC,GAAI9F,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWkqF,EACTtnF,EAAQmoF,WACRnoF,EAAQkoF,qBACR/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAvBRhoC,KA+Bd,QAIZ,EA8BM6sD,CAAkBR,EAAc7F,IACtC,CAAC6F,EAAc7F,IAIX0xC,EAA2Bj2E,mBAC/B,IAjCwBqqC,KACmB,IAADtD,EAA1C,GAAIxC,IAAoB8F,EACtB,OACE/qF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACL5C,MAA4C,QAAvCgqF,EAAEK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuCc,eAC9CppE,UAAQ,GAHH8lE,QASjB,EAiBMsG,CAAiBtG,IACvB,CAACA,IAGH,MAA+C,mBAA3C6F,EAAa0C,YAAY1uF,cAEzBkB,eAAA,OAAKG,UAAU,0CAAyCD,SACrDu2H,IAG+C,oBAA3C3rC,EAAa0C,YAAY1uF,cAEhCkB,eAAA,OAAKG,UAAU,0CAAyCD,SACrDy2H,IAKH32H,eAAA,OAAKG,UAAU,0CAAyCD,SACrDw2H,GAGP,E,QC/HajK,OAzEalwF,IAIrB,IAADkrD,EAAAC,EAAAC,EAAA,IAJuB,KAC3B5H,EAAI,qBACJ+H,EAAoB,gBACpB7C,GACD1oD,EACC,OACEv8B,eAAA,OAAKG,UAAU,mBAAkBD,SAE/Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,UACrBF,eAAA,QAAAE,SAA4C,QAA5CunF,EAAOK,EAAqB7C,UAAgB,IAAAwC,OAAA,EAArCA,EAAuC94B,gBAGvDzwC,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAAC,cACpBF,eAAA,QAAAE,SAA4C,QAA5CwnF,EAAOI,EAAqB7C,UAAgB,IAAAyC,OAAA,EAArCA,EAAuCgpB,oBAG3DxyF,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAAC,kBAClBF,eAAA,QAAAE,SAA4C,QAA5CynF,EAAOG,EAAqB7C,UAAgB,IAAA0C,OAAA,EAArCA,EAAuC6F,cAC/DxtF,eAAA,OAAKG,UAAU,2BAGjB+d,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,WAAS,IACrCP,OAAOslF,GAAmB,OAG3B6C,EAAqBjqF,OAClBiqF,EAAqBxmE,KAAI,CAACve,EAAS07B,IACjCvgB,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,KACEG,UACEs+B,IAAUwmD,GAAmBlF,EAAO,OAAS,OAG/C/hC,wBAAyB,CAAEC,OAAQl7C,EAAQ2oF,SADtC3oF,EAAQ8lF,IAAM,MAGrB7oF,eAAA,KACEG,UACEs+B,IAAUwmD,GAAoBlF,EAAgB,OAAT,OAGvC/hC,wBAAyB,CAAEC,OAAQl7C,EAAQwpF,eADtCxpF,EAAQ8lF,IAAM,WAKzB,YAuBJ,ECTKgkC,OA5DUtwF,IAAuC,IAAtC,uBAAEkkE,EAAsB,KAAE1gB,GAAMxjD,EA+CxD,OACEre,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,eACJF,eAAA,OAAAE,SACEF,eAAA,KACEg+C,wBAzCe2iD,EAACF,EAAwB1gB,KAC9C,IAAa,IAATA,EACF,MAAO,CACL9hC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,SAAS7O,WACvC,gBACA,iDAGC,IAAa,IAATrQ,EAAgB,CAGzB,SArByB/hF,EAmBQyiG,EAAuBtB,kBAf3C,IAAI3S,WACAC,gBAAgBzuF,EAAK,aAE7By9D,KAAKv7D,SAASrC,OAAS,EAevB,CACLogD,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBtB,eAAe/O,WAC7C,gBACA,iDAIG,CACLnyC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,SAAS7O,WACvC,gBACA,gDAIR,CACE,MAAO,CACLnyC,OAA8B,OAAtBwiD,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwB/U,OAAO0E,WACrC,gBACA,iDAxCqBpyF,KA2C3B,EAQ+B2iG,CAAeF,EAAwB1gB,OAGpE//E,eAAA,UACI,ECDK2sH,OAtDUpwF,IAOlB,IAPmB,gBACxB0oD,EAAe,eACfsW,EAAc,0BACdxT,EAAyB,sBACzBC,EAAqB,SACrBgB,EAAQ,UACR2N,GACDp6D,EACC,OACEre,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GAC5C0R,GAAW,EACXz2F,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,SAChCq7F,IAAmBtW,EAAkB,EACpCjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,uBACV7yB,MAAO,CAAEyiC,IAAK,iBACdljC,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GACxC+D,GAAU,EACV9oF,SACH,eAMH,E,QCnBK02H,OA/BWr6F,IAKnB,IALoB,gBACzB6vD,EAAe,UACfjD,EAAS,uBACTsX,EAAyB,CAAC,EAAC,KAC3B1gB,GACDxjD,EACC,MAAM,iBAAEowD,EAAgB,eAAEE,GAAmB4T,EAGvChzB,GADWsS,GAAQ8M,EACSA,EAAiBF,EAE7CS,EAAcrN,EAAO,sBAAwB,2GAC7C82C,EACJppD,GAA8C,KAA3BA,EAAgB3vE,OAErC,OACEogB,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQG,UAAU,yBAAyBge,QAASiuE,EAAgBlsF,SACjEktF,IAGFjE,GAAa0tC,GACZ72H,eAAC4/E,GAA4B,CAC3BzhB,SAAUsP,EACVttE,UAAU,kBAGV,ECkDKotH,OAvEahxF,IAYrB,IAZsB,qBAC3BurD,EAAoB,gBACpB7C,EAAe,KACflF,EAAI,0BACJgI,EAAyB,sBACzBC,EAAqB,cACrB6gC,EAAa,SACb7/B,EAAQ,UACR2N,EAAS,SACT31F,EAAQ,gBACRorF,EAAe,UACfjD,GACD5sD,EACC,OACEre,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAMlCF,eAAA,OAAKG,UAAU,iDAAgDD,SAC7Dge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,QAAAE,SAAO+kF,EAAkB,IACxB,MACDjlF,eAAA,QAAAE,SAAO4nF,EAAqBjqF,cAGhCmC,eAACysH,GAAmB,CAClB1sC,KAAMA,EACN+H,qBAAsBA,EACtB7C,gBAAiBA,IAGnBjlF,eAAA,OAAKG,UAAU,4BAA2BD,SACvC4nF,EAAqBjqF,OAAS,GAC7BmC,eAAC0sH,GAAe,CACd5hC,aAAchD,EAAqB7C,GACnCA,gBAAiBA,EACjB6C,qBAAsBA,MAK5B5pE,gBAAA,OAAK1Z,MAAO,CAAE0uD,UAAW,UAAWhzD,SAAA,CAClCF,eAAC6sH,GAAgB,CACfpsB,uBAAwB3Y,EAAqB7C,GAC7ClF,KAAMA,IAGR//E,eAAC82H,GAAyB,CACxBr2B,uBAAwB3Y,EAAqB7C,GAC7ClF,KAAMA,EACN/+E,SAAUA,EACVorF,gBAAiBA,EACjBjD,UAAWA,UAIjBnpF,eAAC2sH,GAAgB,CACf1nC,gBAAiBA,EACjBsW,eAAgBzT,EAAqBjqF,OACrCkqF,0BAA2BA,EAC3BC,sBAAuBA,EACvBgB,SAAUA,EACV2N,UAAWA,MAET,E,gBCuJKu1B,OA/Na3vF,IAMrB,IANsB,SAC3BykD,EAAQ,MACRviD,EAAK,gBACLwmD,EAAe,mBACfmD,EAAkB,OAClB4B,GACDztD,EAuMC,OACEv8B,eAAA69B,YAAA,CAAA39B,SACC8pF,EACChqF,eAAA,OAAKG,UAAU,iEAAgED,SAzMvD+rF,MAC1B,OAAIhH,IAAoBxmD,EAEpBvgB,gBAAA,SACE/d,UAAU,6BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,EAAS0K,aAEjD1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,WAIjD4/D,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,EAAS0K,aAEjD1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,aAMrDlD,gBAAA,SACE/d,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,EAAS0K,aAEjD1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,WAKnD4/D,EAAS2K,SAETztE,gBAAA,SACE/d,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,EAAS0K,aAEjD1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,WAG5C4/D,EAAS6K,UAEhB3tE,gBAAA,SACE/d,UAAU,0BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,EAAS0K,aAEjD1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,WAItC,QAAf0qE,EAAA9K,EAASva,cAAM,IAAAqlB,GAAfA,EAAiBhnC,QAAQinC,GAAgC,IAA1BA,EAAEd,sBAA2BptF,QACrC,QAD2CmuF,EAClEhL,EAASuH,sBAAc,IAAAyD,GAAvBA,EAAyBnuF,OAGvBqgB,gBAAA,SACE/d,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,EAAS0K,aAEjD1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,WAKnDlD,gBAAA,SACE/d,UAAU,iBACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAAA,CAEzCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,EAAS0K,aAEjD1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,WArDjD,IAAD0qE,EAAAE,CA0DT,EAmGKC,KAGHjsF,eAAA,OAAKG,UAAU,iCAAgCD,SAnGtBurF,MAC3B,OAAIxG,IAAoBxmD,EAEpBz+B,eAAA,SACEG,UAAU,6BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAKduiD,EAAS2J,YACP3J,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,UAOlBz+B,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAMhBuiD,EAAS2K,SAET3rF,eAAA,SACEG,UAAU,4BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAITuiD,EAAS6K,UAEhB7rF,eAAA,SACEG,UAAU,0BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAKH,QAAfytD,EAAAlL,EAASva,cAAM,IAAAylB,GAAfA,EAAiBpnC,QAAQinC,GAAgC,IAA1BA,EAAEd,sBAA2BptF,QACrC,QAD2CsuF,EAClEnL,EAASuH,sBAAc,IAAA4D,GAAvBA,EAAyBtuF,OAGvBmC,eAAA,SACEG,UAAU,8BACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QAMhBz+B,eAAA,SACEG,UAAU,iBACVge,QAASA,IAAMiqE,EAAmB3pD,GAAOv+B,SAEzCF,eAAA,OAAKG,UAAU,cAAaD,SACzB,GAAGu+B,EAAQ,QA5Cd,IAADytD,EAAAC,CAkDT,EAWGV,MAMH,ECtHW8gC,OApGWhwF,IAKnB,IALoB,qBACzBurD,EAAoB,gBACpB7C,EAAe,mBACfmD,EAAkB,uBAClB2M,GACDx4D,EACC,MAAOytD,EAAOC,GAAa9sE,oBAAS,GAEpC,OAuCEe,eAtCA,CAsCA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KAAGG,UAAU,cAAaD,SAAC,oBAG7Bge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,qEAAoED,SAAA,CACjFF,eAAA,KAAGG,UAAU,MAAKD,SAAC,kBACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAM/pF,SACpC8pF,EACChqF,eAAA,OAAKsgB,IAAKpb,GAAOqK,oBAAqB6R,IAAI,UAE1CphB,eAAA,OAAKsgB,IAAKpb,GAAOoK,mBAAoB8R,IAAI,WAG7CphB,eAAA,UAAQme,QAASA,IAAM8rE,GAAU,GAAO/pF,SACrC8pF,EACChqF,eAAA,OAAKsgB,IAAKpb,GAAOkK,mBAAoBgS,IAAI,SAEzCphB,eAAA,OAAKsgB,IAAKpb,GAAOmK,oBAAqB+R,IAAI,kBAKlDlD,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,SAAOG,UAAU,wCACjBH,eAAA,QAAMG,UAAU,eAAcD,SAAC,iBAEjCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,SAAOG,UAAU,sCACjBH,eAAA,QAAMG,UAAU,eAAcD,SAAC,kBAInCF,eAAA,OAAKG,UAAU,iBAAiBupC,IAAKqrD,EAAuB70F,SACrC,OAApB4nF,QAAoB,IAApBA,KAAsBjqF,OACC,OAApBiqF,QAAoB,IAApBA,OAAoB,EAApBA,EAAsBxmE,KAAI,CAACve,EAAS07B,IAClCz+B,eAACksH,GAAmB,CAElBlrC,SAAUj+E,EACV07B,MAAOA,EACPwmD,gBAAiBA,EACjBmD,mBAAoBA,EACpB4B,OAAUA,GALLvrD,KAQT,SAEF,ECxBKs4F,OAvEwBx6F,IAShC,IATiC,qBACtCurD,EAAoB,gBACpB7C,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,SAClBpnF,EAAQ,gBACRorF,EAAe,UACfjD,GACD5sD,EACC,MAAMw4D,EAAyBhsD,iBAAO,OAE/Bg3C,EAAM4J,GAAWxsE,oBAAS,GAgB3B0rG,EACH,IAAM/gC,EAAqBjqF,QAAWonF,EAAkB,GAE3D,OACEjlF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAE9BF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAACusH,GAAiB,CAChBzkC,qBAAsBA,EACtB7C,gBAAiBA,EACjBmD,mBAAoBA,EACpB2M,uBAAwBA,QAM9B/0F,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAACutH,GAAmB,CAClBzlC,qBAAsBA,EACtB7C,gBAAiBA,EACjBlF,KAAMA,EACNgI,0BAA2BA,EAC3BC,sBAAuBA,EACvB6gC,cAAeA,EACf7/B,SA3CGA,KACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAwC1DH,UArCIA,KAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAkC1D91F,SAAUA,EACVorF,gBAAiBA,EACjBjD,UAAWA,cAMZ,ECgDAzoF,qBAnBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBo1H,cAAev1H,EAAMy1H,mBAAmBF,cACxCl1H,SAAUL,EAAMM,KAAKC,SAIGivB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAlHkBU,IAC/B,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,cAAEo1H,EAAa,SAAEl1H,GAAaI,EACvE,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,GACtB7C,gBAAiB,EACjBwb,uBAAwB,CAAC,EACzBtX,WAAW,IAYb3nF,qBAAU,KACR88E,GAAiB,GAChB,IAEH,MAAMA,EAAkB7sD,UACtBvC,IACA,IAAI0C,EAAO,CACT86E,QAASwpB,GAEX,IACE,MAAMh3G,QAAiBwS,KAAMqC,KAC3B,+EACAnC,GAE2B,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUqgE,IAAQ,IACbA,EACHjJ,qBAAsB5oE,EAAS0S,KAAKA,SAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAmCF,OACElR,gBAAA,OAAAhe,SAAA,CACEF,eAAC+2H,GAA8B,CAC7BjvC,qBAAsBnnF,EAAMmnF,qBAC5B7C,gBAAiBtkF,EAAMskF,gBACvBwb,uBAAwB9/F,EAAM8/F,uBAC9B1Y,0BA1B4BA,KAChC,MAAM,gBAAE9C,GAAoBtkF,EACxBskF,GAAmB,IACrBv0D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnCkE,WAAW,MAEb52D,OAAO+vC,SAAS,EAAG,GACrB,EAkBI0lB,sBAvCwBA,KAC5B,MAAM,gBAAE/C,EAAe,qBAAE6C,GAAyBnnF,EAC9CskF,EAAkB6C,EAAqBjqF,OAAS,IAClD6yB,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,EACnCkE,WAAW,MAEb52D,OAAO+vC,SAAS,EAAG,GACrB,EA+BI8lB,mBAhBsB5B,IAC1B91D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,EACjB2C,WAAW,KACV,EAYCnoF,SAAUA,EACVorF,gBA5EkBA,KACtB17D,GAAUqgE,IAAQ,IACbA,EACH5H,WAAYxoF,EAAMwoF,aACjB,EAyECA,UAAWxoF,EAAMwoF,YAElBroF,GAAUd,eAACD,KAAW,MACnB,I,uDC1BKW,qBARUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OAEjBk2H,eAAgBr2H,EAAMs2H,kBAAkBC,kBAAkBh2H,KAAKi2H,UAC/D7hG,gBAAiB30B,EAAMs2H,kBAAkBC,kBAAkB5hG,mBAGvB,KAAzB50B,EAlEWU,IACxB,IAAI,eAAE41H,EAAc,gBAAE1hG,GAAoBl0B,EAC1C,OACEpB,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,6BAA4BD,SAAA,CACzCF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAACijC,IAAO,CAAC7G,GAAG,oBAAmBl8B,SAC7BF,eAAA,OAAKsgB,IAAKpb,GAAO0E,YAAawX,IAAI,SAGtCphB,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,MAAAhe,SAAA,CACGo1B,GACCt1B,eAAA,MAAAE,SACEF,eAACijC,IAAO,CACNC,gBAAgB,UAChB/iC,UAAU,YACVgjC,OAAK,EACL/G,GAAG,oBAAmBl8B,SAEtBF,eAAA,QAAAE,SAAM,kBAKZF,eAAA,MAAAE,SACEF,eAACijC,IAAO,CACNC,gBAAgB,UAChB/iC,UAAU,YACVi8B,GAAI,CACF5I,SAAU,iBAEV7yB,MAAO,CAAEgwB,KAAM,EAAG5rB,QAASiyH,IAC3B92H,SAEFF,eAAA,QAAAE,SAAM,cAITo1B,GACCt1B,eAAA,MAAAE,SACEF,eAACijC,IAAO,CACNC,gBAAgB,UAChB/iC,UAAU,YACVgjC,OAAK,EACL/G,GAAG,cAAal8B,SAEhBF,eAAA,QAAAE,SAAM,4BAOjB,I,QC4HQQ,qBApBUC,IAChB,CACLw0B,sBACEx0B,EAAMs2H,kBAAkBC,kBAAkB/hG,sBAC5CiiG,oBAAqBz2H,EAAMs2H,kBAAkBC,kBAAkBh2H,KAC/Dm2H,UAAW12H,EAAMs2H,kBAAkBC,kBAAkBx4G,kBAG7ByR,IACnB,CACLJ,WAAaD,IACXK,EAASyF,GAAiB9F,GAAS,EAGrCwE,kBAAoBxE,IAClBK,EAASmE,GAAkBxE,GAAS,KAK3BpvB,EA3KYU,IACzB,IAAI,SACFJ,EAAQ,WACR+uB,EAAU,sBACVoF,EAAqB,oBACrBiiG,EAAmB,UACnBC,EAAS,kBACT/iG,GACElzB,EACJ,MAAMC,EAAUm1B,uBAWhB,OACEx2B,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,OAAKG,UAAU,gBAAgBge,QAdhB+rB,KACL3X,OAAOwrC,QAAQ,sCAE/BhuC,IACAuE,EAAkB,WAClBjzB,EAAQkyB,KAAK,KACf,EAQiErzB,SACvDF,eAAA,OAAKsgB,IAAKpb,GAAOgQ,OAAQkM,IAAI,eAIjCphB,eAAA,OAAKG,UAAU,0BAAyBD,SACtCF,eAAA,OAAKG,UAAU,mCAAkCD,SAC/CF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,UACEG,UAAU,6CACVE,KAAK,SACL0e,GAAG,sBACH,iBAAe,WACf,gBAAc,QAAO7e,SAErBF,eAAA,QAAMG,UAAU,gBAAeD,SAC7BF,eAAA,QAAMG,UAAU,sBAAqBD,SACjC1C,aAAQ23B,GAORn1B,eAAA,OAAKsgB,IAAKpb,GAAO+H,eAAgBmU,IAAI,KANrC+T,EAAsB6U,MAAMnsC,OAC1BmC,eAAA,OAAKsgB,IAAK6U,EAAsB6U,MAAO5oB,IAAI,KAE3CphB,eAAA,OAAKsgB,IAAKpb,GAAO+H,eAAgBmU,IAAI,WAS/CphB,eAAA,OACEG,UAAU,qCACV,kBAAgB,sBAAqBD,SAErCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,MAAAE,SAAI,sBAGNge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,SACpCF,eAAA,OAAKG,UAAU,sBAAqBD,SACjCi1B,EAAsBnwB,UAG3BkZ,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,aACpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CACjC,IACAi1B,EAAsBpwB,cAI3BmZ,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,aACpCF,eAAA,OAAKG,UAAU,sBAAqBD,SACjCi1B,EAAsBqE,eAK7Btb,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,MAAAE,SAAI,qBAGNge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,SACpCF,eAAA,OAAKG,UAAU,sBAAqBD,SACjCk3H,EAAoBE,YAIzBp5G,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,aACpCF,eAAA,OAAKG,UAAU,sBAAqBD,SACjCm3H,UAKPn5G,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,MAAAE,SAAI,qBAGNge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,WACpCF,eAAA,OAAKG,UAAU,sBAAqBD,SACjCi1B,EAAsBjT,YAG3BhE,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,UACpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CACjC,IACAi1B,EAAsBvT,cAI3B1D,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,iBAGpCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CACjC,IACAi1B,EAAsB6tF,sCAatC,ICjIAuU,OApBMA,IAEjBr5G,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAACw3H,GAAgB,MAEnBx3H,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAACy3H,GAAiB,aAK1Bz3H,eAACqqC,KAAc,OC6IN3pC,qBAnBUC,IAEhB,CACLG,OAAQH,EAAMI,GAAGD,OACjBu4C,OAAQ14C,EAAMs2H,kBAAkBC,kBAAkBh2H,KAAKi2H,UACvD7hG,gBAAiB30B,EAAMs2H,kBAAkBC,kBAAkB5hG,oBAInCnF,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EA1JmBU,IAAW,IAADs2H,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC1C,IAAI,OAAE1+E,EAAM,aAAEnqB,EAAY,cAAEE,EAAa,gBAAEkG,EAAe,OAAEx0B,GAAWM,EACvE,MAAOksG,EAAW0qB,GAAgB76G,mBAChC,IAAImyB,MAAK,IAAIA,MAAO4zB,UAAY,SAE3BqqC,EAAS0qB,GAAc96G,mBAAS,IAAImyB,OAEpC3uC,EAAO+vB,GAAYvT,mBAAS,CACjC+6G,kBAAmB,CAAC,IAGtB12H,qBAAU,KACRF,QAAQC,IAAI+rG,EAAU2kB,mBAAmB,SAAS,GACjD,CAAC3kB,IAEJ9rG,qBAAU,KACR22H,GAAsB,GACrB,IAEH,MAAMA,EAAuB1mG,UAC3B,MAAMG,EAAO,CACX8F,YAAa,oBACb3yB,QAAS,GAAGs0C,IACZkU,WAAY,GAAG+/C,EAAU2kB,mBAAmB,WAC5CmG,SAAU,GAAG7qB,EAAQ0kB,mBAAmB,YAE1C/iG,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,K9bkYZ,iD8blY0BnC,GAE3CtwB,QAAQC,IAAI,WAAY2d,GACxB5d,QAAQC,IAAI2d,EAAS0S,KAAKA,MAC1BlB,GAAUa,IAAS,IACdA,EACH2mG,kBAAmBh5G,EAAS0S,SAE9BxC,GACF,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAEF,OACEiZ,gBAAA2f,YAAA,CAAA39B,SAAA,CACGo1B,GAAmBt1B,eAACu3H,GAAY,IAEjCv3H,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1Cge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,MAAAE,SAAI,eAEJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,KAAAE,SAAG,sBACHF,eAAA,KAAAE,SAAG,+BAELge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,KAAAE,SAAG,SAEHF,eAACq4H,KAAU,CACT90C,SAAU+pB,EACV1uF,SAAWuvB,GAAS6pF,EAAa7pF,GACjCmqF,WAAW,aACXC,QAAS,IAAIjpF,UAGjBpxB,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,KAAAE,SAAG,OAEHF,eAACq4H,KAAU,CACT90C,SAAUgqB,EACV3uF,SAAWuvB,GAAS8pF,EAAW9pF,GAC/BmqF,WAAW,aACXC,QAAS,IAAIjpF,UAGjBtvC,eAAA,UAAQme,QAASA,IAAMg6G,IAAuBj4H,SAAC,mBAInDF,eAAA,MAAAE,SAAI,8BAEJge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAAE,SAAG,kBACHF,eAAA,KAAAE,SAAS,OAALS,QAAK,IAALA,GAAwB,QAAnB+2H,EAAL/2H,EAAOu3H,yBAAiB,IAAAR,OAAnB,EAALA,EAA0Bc,wBAEhCt6G,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAAE,SAAG,WACHF,eAAA,KAAGG,UAAU,MAAKD,SACV,OAALS,QAAK,IAALA,GAAwB,QAAnBg3H,EAALh3H,EAAOu3H,yBAAiB,IAAAP,OAAnB,EAALA,EAA0Bc,uBAG/Bv6G,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAAE,SAAG,YACHF,eAAA,KAAGG,UAAU,QAAOD,SACZ,OAALS,QAAK,IAALA,GAAwB,QAAnBi3H,EAALj3H,EAAOu3H,yBAAiB,IAAAN,OAAnB,EAALA,EAA0Bc,uBAG/Bx6G,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,KAAAE,SAAG,cACHF,eAAA,KAAGG,UAAU,SAAQD,SACb,OAALS,QAAK,IAALA,GAAwB,QAAnBk3H,EAALl3H,EAAOu3H,yBAAiB,IAAAL,OAAnB,EAALA,EAA0Bc,yBAIjC34H,eAAA,MAAAE,SAAI,uBACJge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,QAAAE,SAAM,SACNF,eAAA,QAAAE,SAAM,YACNF,eAAA,QAAAE,SAAM,aACNF,eAAA,QAAAE,SAAM,cAEF,OAALS,QAAK,IAALA,GAAwB,QAAnBm3H,EAALn3H,EAAOu3H,yBAAiB,IAAAJ,GAAM,QAANC,EAAxBD,EAA0BlmG,YAAI,IAAAmmG,OAAzB,EAALA,EAAgCz2G,KAAKve,GAElCmb,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,QAAAE,SAAO6C,EAAQ61H,WACf54H,eAAA,QAAAE,SAAO6C,EAAQ81H,gBACf74H,eAAA,QAAAE,SAAO6C,EAAQ+1H,iBACf94H,eAAA,QAAAE,SAAO6C,EAAQg2H,iCAS5Bj4H,GAAUd,eAACD,KAAW,MACtB,I,wBC6BQi5H,OAzKa53H,IAC1B,IAAI,YAAEm3E,EAAW,cAAE0gD,EAAa,cAAE59C,GAAkBj6E,EAEpD,OACEpB,eAAA,OAAAE,SACG+4H,EACCj5H,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,SACrBF,eAAA,QAAAE,SAAM,mBAIhBF,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAK24G,EAAcjvF,MAAO5oB,IAAI,aACnClD,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,UAASD,SAAE+4H,EAAc71E,eACxCpjD,eAAA,SAAAE,SAAO,wBAGXF,eAAA,OAAKG,UAAU,aAAYD,SACxB6d,SAASk7G,EAAc//E,OAAOoK,eAAe,gBAKpDtjD,eAAA,OAAKG,UAAU,oBAAmBD,SAMhCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,aAC7BF,eAAA,OAAKG,UAAU,gBAAeD,SACd,OAAbm7E,QAAa,IAAbA,KAAe69C,sBACdh7G,gBAAA,OAAAhe,SAAA,CAAK,IAEF6d,SACCs9D,EAAc69C,uBACd51E,eAAe,YAGnBplC,gBAAA,OAAAhe,SAAA,CAAK,IAEF6d,SACCk7G,EAAc//E,MAAQ+/E,EAAcz1E,kBACpCF,eAAe,mBAM3BplC,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,iBAAgBD,SAAC,gBAChCF,eAAA,OAAKG,UAAU,aAAYD,SACX,OAAbm7E,QAAa,IAAbA,KAAepF,eACd/3D,gBAAA,OAAAhe,SAAA,CAAK,KACA,IACF6d,SAASs9D,EAAcpF,gBAAgB3yB,eACtC,YAIJplC,gBAAA,OAAAhe,SAAA,CAAK,KACA,IACF6d,SAASk7G,EAAcz1E,kBAAkBF,eACxC,sBASdtjD,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,SACrBge,gBAAA,QAAAhe,SAAA,CAAM,IAAEq4E,EAAY3mD,KAAK/zB,OAAO,mBAG1CmC,eAAA,OAAKG,UAAU,WAAUD,SACrB1C,aAAQ+6E,GAqBN,KApBAA,EAAY3mD,KAAK/zB,OACf06E,EAAY3mD,KAAKtQ,KAAI,CAACve,EAAS07B,IAE3BvgB,gBAAA,OAAiB/d,UAAU,OAAMD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAKvd,EAAQinC,MAAO5oB,IAAI,aAC7BlD,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,UAASD,SACrB6C,EAAQqgD,eAEXpjD,eAAA,SAAAE,SAAO,wBAGXF,eAAA,OAAKG,UAAU,aAAYD,SACxB6C,EAAQo2H,cAAc71E,eAAe,aAXhC7kB,KAgBd,OAIRvgB,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAMhCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,aAC7Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAAC,IAC3Bq4E,EAAY6gD,eAAe91E,eAAe,eAIlC,OAAb+3B,QAAa,IAAbA,KAAe69C,sBACdh7G,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,mBAC7BF,eAAA,OAAKG,UAAU,gBAAeD,SACd,OAAbm7E,QAAa,IAAbA,KAAe69C,sBACdh7G,gBAAA,OAAAhe,SAAA,CAAK,IAEFm7E,EAAc69C,sBAAsB51E,eACnC,YAIJ,QAKN,MAIJplC,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,iBAAgBD,SAAC,gBAChCF,eAAA,OAAKG,UAAU,aAAYD,SACX,OAAbm7E,QAAa,IAAbA,KAAepF,eACd/3D,gBAAA,OAAAhe,SAAA,CAAK,UACAm7E,EAAcpF,eAAe3yB,eAAe,YAGjDplC,gBAAA,OAAAhe,SAAA,CACG,IAAI,UACFq4E,EAAY50B,YAAYL,eAAe,uBAQpD,ECiFK5iD,qBAnBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,cAIE1D,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA1OMU,IACnB,IAAI,eACFi4H,EAAc,YACd9gD,EAAW,aACXrpD,EAAY,cACZE,EAAa,OACbtuB,EAAM,eACN83E,EAAc,YACdD,EAAW,mBACX2gD,EAAkB,MAClBhoG,EAAK,UACLuC,GACEzyB,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCo8G,WAAY,CAAC,IA2BTC,EAAoBxgD,IAxBPvnD,WACjBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IAAIM,EAAO,CACTknD,WAAYE,GAEd,IACE,MAAM95D,QAAiBwS,KAAMqC,KAAK3J,GAASwH,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHgoG,WAAYr6G,EAAS0S,KAAKA,UAG9BgnD,GACF,CAAE,MAAO3zE,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAIAs0H,CAAWvgD,EAAK,EAyBZygD,EAAiBhoG,MAAOunD,EAAM0gD,KAClCxqG,IACA,IAAI0C,EAAO,CACTknD,WAAYE,EACZ31B,IAAKq2E,GAEP,IAE+B,aADNhoG,KAAMqC,KAAKrJ,GAASkH,IAC9BA,KAAKC,QAChBzC,IAEFwpD,GACF,CAAE,MAAO3zE,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAeF,OACEiZ,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,SACV7yB,MAAO,CAAEyiC,IAAK,aAAcm1C,YAAa,CAAEA,iBAC3Cr4E,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAC,qBAGhCge,gBAAA,WAAS/d,UAAU,0BAAyBD,SAAA,CAC1Cge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACjB1C,aAAQ+6E,GAiFN,KAhFAA,EAAY3mD,KAAK/zB,OACf06E,EAAY3mD,KAAKtQ,KAAI,CAACve,EAAS07B,IAE3Bz+B,eAAA,OAAiBiiB,MAAM,YAAW/hB,SAChCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKsgB,IAAKvd,EAAQinC,MAAO5oB,IAAI,eAE/BphB,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,MAAIG,UAAU,aAAYD,SACvB6C,EAAQqgD,eAEXpjD,eAAA,KAAGG,UAAU,YAAWD,SAAE6C,EAAQ42H,cAClC35H,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,UACEG,UAAU,gBACVge,QAASA,IAAMq7G,EAAiBz2H,EAAQi2E,MAAM94E,SAC/C,WAEQ,IAETF,eAAA,OACEG,UAAU,sBACVge,QAASA,IAhGrBsT,WAClBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IAAIM,EAAO,CACTknD,WAAYE,EACZ34E,KAAM,GAER,IAE+B,aADNqxB,KAAMqC,KAAK7J,GAAS0H,EAAM,CAAE+B,aACtC/B,KAAKC,QAChBzC,IAEFupD,IACA6gD,EAAiBxgD,EACnB,CAAE,MAAO/zE,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GA6E6C8zE,CAAYh2E,EAAQi2E,MAAM94E,SAC1C,mBAEM,IAAI,IAEXge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,MACvB,IACJge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,UACEme,QAASA,IA5DrBy7G,EAAC5gD,EAAM31B,KAC7B,IAAIq2E,EAAOr2E,EAAM,EACbq2E,EAAO,GACTD,EAAezgD,EAAM0gD,EACvB,EAyDoCE,CACE72H,EAAQi2E,KACRj2E,EAAQsgD,KAEXnjD,SAEDF,eAAA,OACEsgB,IAAKpb,GAAOkN,iBACZgP,IAAI,YAGRphB,eAAA,OAAKG,UAAU,SAAQD,SAAE6C,EAAQsgD,MACjCrjD,eAAA,UACEme,QAASA,KACP07G,OAhFb7gD,EAiFej2E,EAAQi2E,KAjFjB31B,EAkFStgD,EAAQsgD,SAhF9Co2E,EAAezgD,EADJ31B,EAAM,GADKw2E,IAAC7gD,EAAM31B,CAoFM,EAAAnjD,SAEDF,eAAA,OACEsgB,IAAKpb,GAAOiN,iBACZiP,IAAI,sBAOhBlD,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,QAAMG,UAAU,aAAYD,SAAC,UAC7Bge,gBAAA,QAAM/d,UAAU,OAAMD,SAAA,CACnB6d,SAAShb,EAAQm2C,OAAOoK,eACvB,SACA,oBAlEJ7kB,KA4Ed,KAGL39B,GAAUd,eAACD,KAAW,OAGzBme,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAACg5H,GAAkB,CAACzgD,YAAaA,IACjCv4E,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQmf,SAAUm6G,EAAoBn7G,QAASk7G,EAAen5H,SAAC,mCAMjE,I,wBCnOH,MAAM45H,GAAwB,wBACxBC,GACX,qCCca,OAdKjqG,IACX,CACLzvB,KAAM8uB,GACNW,YAWW,GAPwBA,IAC9B,CACLzvB,KAAM8uB,GACNW,YCmNWpvB,qBAhBUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,SACtB79C,SAAUL,EAAMM,KAAKC,SAIEivB,IAClB,CACL0/C,cAAgB//C,IACdK,EAAS6pG,GAAuBlqG,GAAS,KAKhCpvB,EArNkBU,IAC/B,MAAM,eAAE6uE,EAAc,OAAE17B,EAAM,MAAEjjB,EAAK,UAAEuC,EAAS,cAAEg8C,EAAa,SAAE7uE,GAC/DI,GACI,KAAE4D,EAAI,OAAEw0B,EAAM,MAAEC,EAAK,QAAEW,EAAO,SAAExJ,EAAQ,QAAEyI,EAAO,iBAAEpG,GACvDjyB,GAEK0vE,EAAcC,GAAmBxzD,mBAAS,CAAC,GAE5C9b,EAAUm1B,uBAEhBh1B,qBAAU,KACRovE,GAAiB,GAChB,IAEH,MAAMC,EAAc,IAAIvhC,KAEtBuhC,EAAYphC,cAEXohC,EAAYrhC,WAEbqhC,EAAYthC,UAEZshC,EAAYE,WAEZF,EAAYG,aAEZH,EAAYI,aAGd,MAAML,EAAkBn/C,UACtB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAAI,GAAGvI,cAAoB,CAAEuK,YAC1DryB,QAAQC,IAAI,kBAAmB2d,GACF,MAAzBA,EAAS0S,KAAKC,SAChB8+C,EAAgBzxD,EAAS0S,MACzBi+C,EAAc3wD,EAAS0S,KAAKs/C,UAEhC,CAAE,MAAOzzB,GACPn8C,QAAQC,IAAIk8C,EACd,GAGI0zB,EAAoBA,KACZ,IAARnsE,GAAsB,MAARA,GAChB9F,MAAM,kEACNmC,EAAQkyB,KAAK,uBACM,IAAViG,GAA0B,MAAVA,GACzBt6B,MACE,2EAEFmC,EAAQkyB,KAAK,uBACK,IAATkG,GAAwB,MAATA,GACxBv6B,MAAM,mEACNmC,EAAQkyB,KAAK,uBACa,IAAjB6G,EAAQz5B,OAAgC,MAAjBy5B,EAAQz5B,OACxCzB,MAAM,mEACNmC,EAAQkyB,KAAK,uBACY,IAAhB6G,EAAQG,MAA8B,MAAhBH,EAAQG,OACvCr7B,MAAM,kEACNmC,EAAQkyB,KAAK,sBACf,EAmIF,OAAOvzB,eAAA69B,YAAA,CAAA39B,SAAGvC,OAAOC,KAAK8yE,GAAc7yE,OA9HhCmC,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAK+e,GAAG,oBAAmB7e,SACzBge,gBAAA,QACElZ,KAAK,aACLuvB,OAAO,6DACPimC,OAAO,OAAMt6D,SAAA,CAEbF,eAAA,SACEK,KAAK,SACL2E,KAAK,cACLvH,MAAOizE,EAAaa,cAEtBvxE,eAAA,SAAOK,KAAK,SAAS2E,KAAK,WAAWvH,MAAM,OAC3CuC,eAAA,SAAOK,KAAK,SAAS2E,KAAK,SAASvH,MAAO82C,IAG1Cv0C,eAAA,SAAOK,KAAK,SAAS2E,KAAK,WAAWvH,MAAM,QAC3CuC,eAAA,SACEK,KAAK,SACL2E,KAAK,eACLvH,MAAO,GACLizE,EAAac,oEAOjBxxE,eAAA,SACEK,KAAK,SACL2E,KAAK,aAILvH,MAAO,GACLizE,EAAac,oEAOjBxxE,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLvH,MAAOizE,EAAaQ,WAEtBlxE,eAAA,SACEK,KAAK,SACL2E,KAAK,cACLvH,MAAOizE,EAAae,cAGtBzxE,eAAA,SACEK,KAAK,SACL2E,KAAK,cACLvH,MAAOizE,EAAagB,UAGtB1xE,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MAAOwyE,EAAev7B,WAAau7B,EAAev7B,WAAa,KAGjE10C,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLvH,MAAqB,OAAdwyE,QAAc,IAAdA,KAAgBrS,SAAyB,OAAdqS,QAAc,IAAdA,OAAc,EAAdA,EAAgBrS,SAAW,KAG/D59D,eAAA,SACEK,KAAK,SACL2E,KAAK,iBACLvH,MAAOwyE,EAAe1sB,SAAW0sB,EAAe1sB,SAAW,KAG7DvjD,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MACEwyE,EAAe37B,aAAe27B,EAAe37B,aAAe,KAIhEt0C,eAAA,SACEK,KAAK,SACL2E,KAAK,aACLvH,MAAOwyE,EAAe17B,OAAS07B,EAAe17B,OAAS,KAEzDv0C,eAAA,SACEK,KAAK,SACL2E,KAAK,WACLvH,MAAOwyE,EAAe9tD,UAAY8tD,EAAe9tD,UAAY,KAG/DniB,eAAA,SAAOK,KAAK,SAAS2E,KAAK,cAAcvH,MAAO82C,IAE/Cv0C,eAAA,SAAOK,KAAK,SAAS2E,KAAK,eAAevH,MAAOuH,IAChDhF,eAAA,SAAOK,KAAK,SAAS2E,KAAK,cAAcvH,MAAO+7B,IAC/Cx5B,eAAA,SAAOK,KAAK,SAAS2E,KAAK,gBAAgBvH,MAAOg8B,IACjDz5B,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MAAO28B,EAAQu3C,eAEjB3xE,eAAA,SAAOK,KAAK,SAAS2E,KAAK,eAAevH,MAAO28B,EAAQG,OACxDv6B,eAAA,SAAOK,KAAK,SAAS2E,KAAK,gBAAgBvH,MAAO28B,EAAQz5B,QAEzDX,eAAA,SAAOK,KAAK,SAAS2E,KAAK,UAAUvH,MAAOmzB,IAC3C5wB,eAAA,SAAOK,KAAK,SAAS2E,KAAK,SAASvH,MAAO47B,IAC1Cr5B,eAAA,SACEK,KAAK,SACL2E,KAAK,kBACLvH,MAAOw1B,EAAiB9R,YAG1BnhB,eAAA,SAAOK,KAAK,SAAS2E,KAAK,QAAQvH,MAAOizE,EAAaQ,WACtDlxE,eAAA,OAAKG,UAAU,UAAUge,QAASgzD,EAAkBjxE,SAClDF,eAAA,UAAAE,SAAQ,+BAO8C,IAAM,ICW3DQ,qBAjBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtBuB,OAAQz0B,EAAMM,KAAKC,KAAKm4B,YAIDlJ,IAClB,CACL4/C,sBAAwBjgD,IACtBK,EAAS4/C,GAAoDjgD,GAAS,KAK7DpvB,EAzMMU,IACnB,IAAI,gBACF64H,EAAe,aACfhoC,EAAY,cACZioC,EAAa,YACb3hD,EAAW,cACX0gD,EAAa,YACbzD,EAAW,KACXp0D,EAAI,UACJvtC,EAAS,MACTvC,EAAK,OACL8D,EAAM,sBACN26C,GACE3uE,EAEJ,MAAO83G,EAAUC,GAAeh8F,mBAAS,KAClCk+D,EAAe+9B,GAAoBj8F,mBAAS,CAAC,IAE7Cxc,EAAO+vB,GAAYvT,mBAAS,CACjCg9G,QAAS,KAGLlqD,EAAiB,CAAC,EAExBzuE,qBAAU,KACR44H,GAAY,GACX,IAEH,MAkBMA,EAAa3oG,UAEjB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IAAIM,EAAO,CACTwI,QACEz8B,OAAOC,KAAKq8H,GAAiBp8H,OAAS,EAClCo8H,EACAC,GAER,IACE,MAAMh7G,QAAiBwS,KAAMqC,KAAKtJ,GAASmH,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,SAEhBnB,GAAUa,IAAS,IACdA,EACH4oG,QAASj7G,EAAS0S,SAEpBm+C,EAAsB7wD,EAAS0S,MAEnC,CAAE,MAAO3sB,GAEP3D,QAAQC,IAAI0D,EACd,GAaF,OACEiZ,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,UAAUge,QAASq3G,EAAYt1H,SAAA,CAC3C,IACDF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,eAEnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAC,oBAEhCge,gBAAA,WAAS/d,UAAU,wBAAuBD,SAAA,CACxCF,eAAA,OAAKG,UAAU,OAAMD,SACnBge,gBAAA,WAAS/d,UAAU,kBAAiBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,qBAChCvC,OAAOC,KAAKq8H,GAAiBp8H,OAC5BmC,eAAA,OAAKiiB,MAAM,OAAM/hB,SACfge,gBAAA,OAAK+D,MAAM,YAAW/hB,SAAA,CACpBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,QAAMG,UAAU,OAAMD,SAAE+5H,EAAgBI,WAAgB,KACxDr6H,eAAA,QAAMG,UAAU,MAAKD,SAAE+5H,EAAgBzgG,YAEzCx5B,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,UAAQme,QAAS8zE,EAAa/xF,SAAC,gBAGnCF,eAAA,OAAKG,UAAU,SAAQD,SACrBF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,QAAAE,SAAM,qBAMdF,eAAA,OAAKiiB,MAAM,OAAM/hB,SACfge,gBAAA,OAAK+D,MAAM,YAAW/hB,SAAA,CACpBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBge,gBAAA,QAAM/d,UAAU,OAAMD,SAAA,CAAEg6H,EAAcG,SAAS,QAAS,KACxDr6H,eAAA,QAAMG,UAAU,MAAKD,SAAEg6H,EAAc1f,WAGvCx6G,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,UAAQme,QAAS8zE,EAAa/xF,SAAC,gBAGnCF,eAAA,OAAKG,UAAU,SAAQD,SACrBF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,QAAAE,SAAM,0BASpBge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,SACEK,KAAK,OACLoe,YAAY,oBACZhhB,MAAOy7G,EACPt6F,SAAWyd,GAzEC5K,iBACD7yB,aAA2BnB,IAKhD07G,EAAY17G,EACd,EAkE6Bi+G,CAAkBr/E,EAAEve,OAAOrgB,WAGhDuC,eAAA,UAAQme,QAASA,IA1HDsT,WACxB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAE3BM,EAAO,CACX6gD,YAAaymC,EACb7/E,QAASjE,EACTmf,OAAQ6sB,EAAOmX,EAAY50B,YAAcs1E,EAAcz1E,kBAEnDtkC,QAAiBwS,KAAMqC,KAAKvJ,GAASoH,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,OAChBunF,EAAiBl6F,EAAS0S,KAAKA,MAE/B1yB,MAAM,iBACR,EA2G+B08G,GAA4B17G,SAAC,kBAIrDkhE,EACCphE,eAACg5H,GAAkB,CACjBzgD,YAAaA,EACb8C,cAAeA,IAGjBr7E,eAACg5H,GAAkB,CACjBC,cAAeA,EACf59C,cAAeA,IAIlBja,EACCphE,eAACs6H,GAAwB,CACvBrqD,eAAgBA,EAChB17B,OAAQ8mC,EAAcpF,gBAAkBsC,EAAY50B,cAGtD3jD,eAACs6H,GAAwB,CACvBrqD,eAAgBA,EAChB17B,OACE8mC,EAAcpF,gBAAkBgjD,EAAcz1E,2BAMpD,ICoPK9iD,oBAAQ,MAXKyvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAvaSU,IACtB,MAAM,aACJ8tB,EAAY,cACZE,EAAa,gBACbmrG,EAAe,gBACfC,EAAe,cACfvB,EAAa,YACbwB,EAAW,YACXliD,EAAW,YACXi9C,EAAW,KACXp0D,EAAI,KACJzwC,EAAI,UACJkD,EAAS,MACTvC,GACElwB,GAEGs5H,EAAUC,GAAex9G,oBAAS,IAClCy9G,EAASC,GAAc19G,oBAAS,IAChC29G,EAAYC,GAAiB59G,oBAAS,IAEtCxc,EAAO+vB,GAAYvT,mBAAS,CACjC69G,aAAc,GACdf,gBAAiB,GACjBgB,WAAY,CAAC,EACbC,QAAS,GACT/2H,QAAS,GACTwsB,KAAMA,KAGDupG,EAAeiB,GAAoBh+G,mBAAS,CACjDk9G,SAAU,GACV7f,MAAO,GACPpgF,QAAS,GACTghG,SAAU,GACV7gG,KAAM,GACN55B,MAAO,GACP06H,QAAS,KAGLtyC,EAA4C,IAAhCpoF,EAAMs5H,gBAAgBp8H,OAExC2D,qBAAU,KACR85H,GAAY,GACX,CAAC36H,EAAM46H,cAEV,MAAM5nB,EAAet3E,IACnBA,EAAEm/F,UACFL,EAAiB,IAAKjB,EAAe,CAAC79F,EAAEve,OAAO9Y,MAAOq3B,EAAEve,OAAOrgB,OAAQ,EAGnE+2H,EAAaA,KACjB,IAAI,SAAE6F,EAAQ,MAAE7f,EAAK,QAAEpgF,EAAO,SAAEghG,EAAQ,KAAE7gG,EAAI,MAAE55B,EAAK,QAAE06H,GACrDnB,EAEF,OAA+B,IAA3BG,EAASv8H,OAAOD,QAClBqB,MAAM,2BACC,GAC0B,IAAxBs7G,EAAM18G,OAAOD,QACtBqB,MAAM,+BACC,GAC4B,IAA1Bk7B,EAAQt8B,OAAOD,QACxBqB,MAAM,0BACC,GAC6B,IAA3Bk8H,EAASt9H,OAAOD,QACzBqB,MAAM,2BACC,GACyB,IAAvBq7B,EAAKz8B,OAAOD,QACrBqB,MAAM,uBACC,GAC0B,IAAxByB,EAAM7C,OAAOD,QACtBqB,MAAM,wBACC,GAC4B,IAA1Bm8H,EAAQv9H,OAAOD,QACxBqB,MAAM,0BACC,GAEA,CACT,EAqCIo8H,EAAa7pG,UACjBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMqC,KAAKzJ,GAAS,CAAEqJ,YAChB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHypG,aAAc97G,EAAS0S,KACvBspG,QAASh8G,EAAS0S,KAAKwI,QAAQj8B,OAAO,OAG5C,CAAE,MAAO8G,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAgJF,OACEiZ,gBAAA,OAAAhe,SAAA,EACI46H,GACA58G,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,UAAUge,QAASs8G,EAAYv6H,SAAA,CAC3C,IACDF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,eAEnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAC,oBAGhCge,gBAAA,WAAS/d,UAAU,4BAA2BD,SAAA,CAC5Cge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,qBACjCF,eAAA,OAAKG,UAAU,OAAMD,SAAEw6H,GA9I/B16H,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SAAAE,SAAO,eACPF,eAAA,SACEK,KAAK,OACL2E,KAAK,WACL4Z,SAAU+0F,EACVl2G,MAAOy8H,EAAc3f,UACrBp6G,UAAU,sBAMhBH,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SAAAE,SAAO,kBACPF,eAAA,SACEK,KAAK,SACL2E,KAAK,QACL4Z,SAAU+0F,EACVl2G,MAAOy8H,EAAc1f,MACrBr6G,UAAU,sBAKhBH,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SAAAE,SAAO,kBACPF,eAAA,YACE6+B,KAAK,IACL75B,KAAK,UACL4Z,SAAU+0F,EACVl2G,MAAOy8H,EAAc9/F,QACrBj6B,UAAU,sBAKhBH,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SAAAE,SAAO,cACPF,eAAA,SACEK,KAAK,OACL2E,KAAK,WACL4Z,SAAU+0F,EACVl2G,MAAOy8H,EAAckB,SACrBj7H,UAAU,sBAKhBH,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SAAAE,SAAO,SACPF,eAAA,SACEK,KAAK,OACL2E,KAAK,OACL4Z,SAAU+0F,EACVl2G,MAAOy8H,EAAc3/F,KACrBp6B,UAAU,sBAKhBH,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SAAAE,SAAO,UACPF,eAAA,SACEK,KAAK,OACL2E,KAAK,QACL4Z,SAAU+0F,EACVl2G,MAAOy8H,EAAcv5H,MACrBR,UAAU,sBAKhBH,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SAAAE,SAAO,aACPF,eAAA,SACEK,KAAK,OACL2E,KAAK,UACL4Z,SAAU+0F,EACVl2G,MAAOy8H,EAAcmB,QACrBl7H,UAAU,8BAsDVy6H,GACA18G,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,eAAcD,SACzB1C,aAAQmD,EAAMu6H,SA4CZ,KA3CAv6H,EAAMu6H,QAAQr9H,OACZ8C,EAAMu6H,QAAQ55G,KAAKqqB,GAEf3rC,eAAA,OAAKG,UAAU,OAAMD,SACnBge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,SACEK,KAAK,WACLF,UAAU,SAEV1C,MAAOkuC,EAAK5sB,GACZH,SAAUA,IAtKf+sB,KAC3Bjb,GAAUa,IAAS,IACdA,EACH0oG,gBAAiBtuF,KAChB,EAkK6C8vF,CAAoB9vF,GACpCpqB,QACEoqB,EAAK5sB,KAAOpe,EAAMs5H,gBAAgBl7G,IAJ/B4sB,EAAK5sB,IAQZb,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBge,gBAAA,QAAM/d,UAAU,WAAUD,SAAA,CACvByrC,EAAK0uF,SAAS,QAEjBr6H,eAAA,QAAMG,UAAU,WAAUD,SACvByrC,EAAKnS,YAGVtb,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBge,gBAAA,QAAAhe,SAAA,CAAOyrC,EAAKvR,QAAQ,QACpBlc,gBAAA,QAAAhe,SAAA,CAAOyrC,EAAK+vF,SAAS,QACrBx9G,gBAAA,QAAAhe,SAAA,CAAOyrC,EAAKpR,KAAK,QACjBrc,gBAAA,QAAAhe,SAAA,CAAOyrC,EAAKhrC,MAAM,QAClBud,gBAAA,QAAAhe,SAAA,CAAOyrC,EAAKnR,QAAQ,qBAYhC,OAGRx6B,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,UAAQme,QA/MPw9G,KACjBhB,GAAaD,GACbG,GAAYD,EAAQ,EA6MwB16H,SAAC,4BAMrCge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACnBkhE,EACCphE,eAACg5H,GAAkB,CAACzgD,YAAaA,IAEjCv4E,eAACg5H,GAAkB,CAACC,cAAeA,IAGrCj5H,eAAA,OAAKG,UAAU,cAAaD,SAmBxBw6H,EAKA16H,eAAC0tF,KAAM,CAACvvE,QArHFsT,gBACC+iG,MAEnB9jG,GAAUa,IAAS,IACdA,EACH0oG,gBAAiB,OA3LHxoG,WAClBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,SADqBkjG,IACT,CACV,IAAI5iG,EAAO,CACT5sB,KAAMk1H,EAAcG,SACpB7gG,OAAQ0gG,EAAc1f,MACtBpgF,QAAS8/F,EAAc9/F,QACvBshG,SAAUxB,EAAckB,SACxB7gG,KAAM2/F,EAAc3/F,KACpB55B,MAAOu5H,EAAcv5H,MACrB65B,QAAS0/F,EAAcmB,SAEzB,IACE,MAAMn8G,QAAiBwS,KAAMqC,KAAKxJ,GAASqH,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHptB,QAAS+a,EAAS0S,KAAKC,OACvBopG,WAAY/7G,EAAS0S,KAAKA,UAG9B0pG,GACF,CAAE,MAAOr2H,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CACF,GA8JE22H,GACArB,IACAQ,GAAeD,GACfH,EAAYD,GACd,EA0G6Cx6H,SAAC,yBAJhCF,eAAC0tF,KAAM,CAACvuE,SAAU4pE,EAAW5qE,QAhIxBsT,UACnB6pG,IACAf,IACAQ,GAAeD,GACfH,GAAaD,GACbG,GAAYD,EAAQ,EA2H6C16H,SAAC,uBAY/D46H,GACC96H,eAAC67H,GAAW,CACV5pC,aAtIc6pC,KACpBtB,IACAO,GAAeD,GACfH,GAAaD,GACbG,GAAYD,EAAQ,EAmIdX,gBAAiBt5H,EAAMs5H,gBACvBC,cAAeA,EACfjB,cAAeA,EACf1gD,YAAaA,EACbkiD,YAAaA,EACbjF,YAAaA,EACbp0D,KAAMA,EACNk6D,WAAYA,MAGZ,ICrZKS,OAVAx/F,IAA8B,IAA7B,UAAEp8B,EAAS,SAAED,GAAUq8B,EACrC,OACEv8B,eAAA,OAAKG,UAAWA,EAAUD,SACxBF,eAAA,OAAKG,UAAU,OAAOqE,MAAO,CAAEw3H,WAAY,UAAW97H,SACnDA,KAEC,ECoVKQ,qBAxBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB7yB,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC6rG,wBAA0BnsG,IACxBK,EAAS+rG,GAAiDpsG,GAAS,KAK1DpvB,EApUSU,IAAW,IAAD04E,EAAAqiD,EAChC,IAAI,wBACFF,EAAuB,aACvB/sG,EAAY,cACZE,EAAa,OACbtuB,EAAM,UACN+yB,EAAS,MACTvC,EAAK,QACLjwB,EAAO,eACPF,EAAc,SACdH,GACEI,EAEA03B,EAAWkK,wBAEXo5F,EAAgB,OAARtjG,QAAQ,IAARA,GAAe,QAAPghD,EAARhhD,EAAUn4B,aAAK,IAAAm5E,OAAP,EAARA,EAAiBnpD,KAEzBsoG,EAAwB,OAARngG,QAAQ,IAARA,GAAe,QAAPqjG,EAARrjG,EAAUn4B,aAAK,IAAAw7H,OAAP,EAARA,EAAiBlD,cAErC,MAAOt4H,EAAO+vB,GAAYvT,mBAAS,CACjCwT,KAAMyrG,EAAQ,EAAI,EAClB7jD,YAAa,CAAC,EACdC,SAAU,GACVpX,MAAM,KAGDi7D,GAAUl/G,mBAAS,IACnBk6B,EAAQm+B,GAAar4D,mBAASi/G,EAAQ,EAAI,IAC1C97H,EAAOm6C,GAAYt9B,mBAAS,GAE7Bm/G,EAAM,GACZ,IAAK,IAAI1kE,EAAI,EAAGA,EAAIykE,EAAQzkE,IAC1B0kE,EAAI/oG,KACFvzB,eAAC+7H,GAAM,CAAC57H,UAAWy3D,GAAKvgB,EAAS,gBAAkB,UAAUn3C,SAC1D03D,GADgEA,IAavEp2D,qBAAU,KACRi5C,EAAU,KAAO4hF,EAAS,GAAMhlF,EAAO,GACtC,CAACglF,EAAQhlF,IAEZ,MAAMiiF,EAAqBjiF,GAAUglF,EAAS,EAC9C,IAAIzQ,EAAWp1F,uBAEf,MAAMoiD,EAAiBnnD,UACrB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjCpC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK5J,GAAS,CAAEwJ,YAChB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHgnD,YAAar5D,EAAS0S,SAExBqqG,EAAwB/8G,EAAS0S,MAErC,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI0zE,EAAclnD,UAClBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMqC,KAAK1J,GAAS,CAAEsJ,YAEhB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHinD,SAAUt5D,EAAS0S,KAAKA,SAG9B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGFzD,qBAAU,KACRo3E,IACAD,GAAa,GACZ,IAEH,MAAM0gD,EAAiBA,KACrB3oG,GAAUa,IAAS,IACdA,EACHZ,KAAM,EACNywC,MAAM,MAERm5D,GAAiB,EAcbC,EAAkBA,KAEpBhlD,EADEn+B,GAAU,EACF,EAEAA,EAAS,EACrB,EAGIklF,EAAmBA,KAErB/mD,EADEn+B,GAAU,EACF,EAEAA,EAAS,EACrB,EAGIkjF,EAAkBA,KAEpB/kD,EADEn+B,GAAUglF,EACFA,EAEAhlF,EAAS,EACrB,EAGIojF,EAAcA,KAClB/pG,GAAUa,IAAS,IACdA,EACHZ,KAAM,MAER6pG,GAAiB,EAGbhF,EAAcA,KAClB9kG,GAAUa,IAAS,IACdA,EACHZ,KAAM,MAER4rG,GAAkB,GAoCbjiF,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDgiF,EAAYA,KAChBjiF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS84F,GAE1B,KACNjqG,OAAOoR,oBAAoB,SAAS64F,EAAU,IAEhD,CAACliF,IAGDp8B,gBAAA,OAAAhe,SAAA,CAEGo6C,GAAe,IAEVp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5CrB,eAACC,WAAQ,CAAAC,SACLF,eAAC+1D,GAAgB,CAAC10D,QAASA,MAGrCrB,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,SACtBF,eAAA,OAAKG,UAAU,QAAOD,SACpBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,WAAWge,QAzHb+6D,KACzB0yC,EAASr4F,KAAK,uBAAuB,EAwH6BrzB,SAAA,CACpDF,eAAA,OAAKsgB,IAAKpb,GAAO8M,iBAAkBoP,IAAI,cACvCphB,eAAA,OAAKG,UAAU,QAAOD,SAAES,EAAM63E,SAAS36E,SACvCmC,eAAA,OAAKG,UAAU,WAAUD,SAAC,gBAE5Bge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKsgB,IAAKpb,GAAOgM,iBAAkBkQ,IAAI,aACvCphB,eAAA,OAAKG,UAAU,QAAOD,SAAES,EAAM43E,YAAYa,QAC1Cp5E,eAAA,OAAKG,UAAU,OAAMD,SAAC,oBAK7BS,EAAM43E,YAAYa,MAAQ,EACzBl7D,gBAAA,WAAAhe,SAAA,CACEF,eAAA,WAAAE,SACEF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OACEG,UAAU,WACVqE,MAAO,CAAElE,MAAOA,EAAQ,OAEzBg8H,KAGHt8H,eAAA,OAAKG,UAAU,oBAAmBD,SAzN3B,CACvB,gBACA,kBACA,kBACA,YAsNoCohB,KAAI,CAACqqB,EAAMlN,IAEzBz+B,eAAA,OAAiBG,UAAU,QAAOD,SAC/ByrC,GADOlN,cAUtBz+B,eAAA,WAAAE,SA7GQywB,KAClB,OAAQA,GACN,KAAK,EACH,OACE3wB,eAACy8H,GAAW,CACVpD,eAAgBA,EAChB9gD,YAAa53E,EAAM43E,YACnBK,eAAgBA,EAChBD,YAAaA,EACb2gD,mBAAoBA,IAG1B,KAAK,EACH,OACEt5H,eAAC08H,GAAc,CACbjC,YAAaA,EACbjF,YAAaA,EACbyD,cAAeA,EACf1gD,YAAa53E,EAAM43E,YACnB+gD,mBAAoBA,EACpBiB,gBAAiBA,EACjBC,gBAAiBA,EACjB7pG,KAAMhwB,EAAMgwB,KACZywC,KAAMzgE,EAAMygE,KACZm7D,iBAAkBA,IAIxB,QACE,OAAO,KACX,EA+EoBtoG,CAAWtzB,EAAMgwB,WAG7BzS,gBAAA,WAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,SACV7yB,MAAO,CAAEyiC,IAAK,eACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAC,qBAEhCge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,wBACtBF,eAAA,UAAQme,QA/KCuuB,KACrBk/E,EAASr4F,KAAK,CACZC,SAAU,SACV7yB,MAAO,CAAEyiC,IAAK,eACd,EA2K0CljC,SAAC,uBAM1CY,GAAUd,eAACD,KAAW,IACvBC,eAAC67C,GAAgB,MACb,I,QC+CKn7C,qBAtBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB8oG,qBAAsBh8H,EAAMk5E,UAAU8iD,qBACtC37H,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAzVMU,IACnB,IAAI,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,UAAE+yB,EAAS,MAAEvC,EAAK,QAAEjwB,EAAO,SAAEL,EAAQ,eAAEG,GAAmBC,EAEnG,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCy/G,UAAW,GACXrkD,YAAa,CAAC,EACdC,SAAU,GACVqkD,aAAa,IAEf,IACI15E,EADWngB,wBACQriC,MAAMwiD,QACzByoE,EAAWp1F,uBAEfh1B,qBAAU,KACRo3E,IACAD,GAAa,GACZ,IAEH,MAAMjsC,EAAiBA,KACrBk/E,EAASr4F,KAAK,CACZC,SAAU,oBAEV,EAOEolD,EAAiBnnD,UACrB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjCpC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK5J,GAAS,CAAEwJ,YAChB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHgnD,YAAar5D,EAAS0S,SAG5B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAkCI63H,EAAmB9jD,IACvB+jD,EAAY/jD,GAhCIvnD,WAChBvC,IACA,MAAMyE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IAAIM,EAAO,CACTknD,WAAYE,GAEd,IACE,MAAM95D,QAAiBwS,KAAMqC,KAAK9J,GAAS2H,EAAM,CAAE+B,YAEtB,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHqrG,UAAW19G,EAAS0S,SAG1B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAYA23H,CAAU5jD,GACVJ,IACAloD,GAAUa,IAAS,IACdA,EACHsrG,aAAa,KACZ,EAGCE,EAAe/jD,IAAU,IAADgkD,EAAAC,EAI5B,IAHgC,QAApBD,EAAGr8H,EAAM43E,mBAAW,IAAAykD,GAAM,QAANC,EAAjBD,EAAmBprG,YAAI,IAAAqrG,OAAN,EAAjBA,EAAyBn4E,QAAQ/hD,GACvCA,EAAQi2E,OAASA,KAEf,GACT,OAAO95E,MAAM,kCACf,EAGIy5E,EAAclnD,UAClBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1J,IACL,MAAzBnL,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHinD,SAAUt5D,EAAS0S,KAAKA,SAG9B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,IAmBKq1C,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAGDp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CAEGo6C,GAAe,IAEVp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5C6c,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,gCAGfH,eAAA,OAAKG,UAAU,+BAA8BD,SAC3CF,eAAC+1D,GAAgB,CAAC10D,QAASA,SAIrCrB,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,mBAEtBF,eAAA,OAAKG,UAAU,QAAOD,SACpBge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,WAAWge,QAtJjB++G,KACrBtR,EAASr4F,KAAK,uBAAuB,EAqJyBrzB,SAAA,CAChDF,eAAA,OAAKsgB,IAAKpb,GAAO8M,iBAAkBoP,IAAI,cACvCphB,eAAA,OAAKG,UAAU,QAAOD,SAAES,EAAM63E,SAAS36E,SACvCmC,eAAA,OAAKG,UAAU,WAAUD,SAAC,gBAE5Bge,gBAAA,OAAK/d,UAAU,UAAUge,QAASuuB,EAAexsC,SAAA,CAC/CF,eAAA,OAAKsgB,IAAKpb,GAAOgM,iBAAkBkQ,IAAI,aAhEjDzgB,EAAMi8H,UAAUxjD,MACXp5E,eAAA,OAAKG,UAAU,QAAOD,SAAES,EAAMi8H,UAAUxjD,QAExCp5E,eAAA,OAAKG,UAAU,QAAOD,SAAES,EAAM43E,YAAYa,QA+DrCp5E,eAAA,OAAKG,UAAU,OAAMD,SAAC,oBAK9Bge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,SACV7yB,MAAO,CACLyiC,IAAK,aACLw5F,UAAWj8H,EAAMi8H,YAEnB18H,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAC,qBAGhCge,gBAAA,WAAS/d,UAAU,+BAA8BD,SAAA,CAC/CF,eAAA,OAAKG,UAAU,OAAMD,SACnBge,gBAAA,OAAK+D,MAAM,OAAM/hB,SAAA,CACfF,eAAA,OAAKsgB,IAAK6iC,EAAQnZ,MAAO/nB,MAAM,mBAAmBb,IAAI,QACtDphB,eAAA,OAAKiiB,MAAM,YAAW/hB,SACpBF,eAAA,KAAGiiB,MAAM,YAAW/hB,SAAEijD,EAAQC,sBAIpCllC,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,MAAAE,SAAI,kBAEJF,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,OAAKsgB,IAAK6iC,EAAQnZ,MAAO5oB,IAAI,aAC7BlD,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,UAASD,SACrBijD,EAAQC,eAEXpjD,eAAA,SAAAE,SAAO,wBAGXF,eAAA,OAAKG,UAAU,aAAYD,SACxB6d,SAASolC,EAAQjK,OAAOoK,eAAe,gBAK9CplC,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAAC,aAC7Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAIrB,SAEL6d,SACColC,EAAQjK,MAAQiK,EAAQK,kBACxBF,eAAe,eAIrBplC,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,iBAAgBD,SAAC,gBAChCge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CAAC,KACvB,IACF6d,SAASolC,EAAQK,kBAAkBF,eAClC,SACA,gBAOVplC,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CA+BG,GAArBS,EAAMk8H,YACL78H,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,UAAQme,QAASA,IAAM2+G,EAAgB35E,EAAQ61B,MAAM94E,SAAC,kBAKxDF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,UAAQme,QAASuuB,EAAexsC,SAAC,iBAIrCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,UAAQme,QAASA,IA1ObglC,KACpByoE,EAASr4F,KAAK,CACZC,SAAU,mBACV7yB,MAAO,CAAEgwB,KAAM,EAAGsoG,cAAe91E,IACjC,EAsOqCg6E,CAAah6E,GAASjjD,SAAC,+BAU3DY,GAAUd,eAACD,KAAW,IACvBC,eAAC67C,GAAgB,MAChB,I,QCxDQn7C,qBArBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,mBAIEgvB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCqoD,YAAc3oD,IACZK,EAASitG,GAAyBttG,GAAS,KAIlCpvB,EAnQaU,IAC1B,IAAI,YAAEq3E,EAAW,aAAEvpD,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,QAAEO,EAAO,eAACF,EAAc,SAACH,GAAaI,EAE5F,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCq7D,SAAU,GACVD,YAAa,CAAC,IAEhB,IAAIqzC,EAAWp1F,uBAEfh1B,qBAAU,KACRm3E,IACAC,GAAgB,GACf,IAEH,MAMMD,EAAclnD,UAClBvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK1J,IACL,MAAzBnL,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHinD,SAAUt5D,EAAS0S,KAAKA,SAE1B6mD,EAAYv5D,EAAS0S,KAAKA,MAE9B,CAAE,MAAO3sB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CAAC,QACCmqB,GACF,GAGIoqG,EAAmB/nG,UACvBvC,IACA,IAAI0C,EAAO,CACTknD,WAAYE,EACZ34E,KAAM,GAER,IAE+B,aADNqxB,KAAMqC,KAAK7J,GAAS0H,IAC9BA,KAAKC,QAChBzC,IAGFupD,GACF,CAAE,MAAO1zE,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CAAC,QACCmqB,GACF,GA2BIwpD,EAAiBnnD,UAErB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAAK5J,IACL,MAAzBjL,EAAS0S,KAAKC,QAEhBnB,GAAUa,IAAS,IACdA,EACHgnD,YAAar5D,EAAS0S,QAG5B,CAAE,MAAO3sB,GAEP3D,QAAQC,IAAI0D,EACd,IAUKq1C,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAGDp8B,gBAAA,OAAAhe,SAAA,CAEGo6C,GAAe,IAEVp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5CrB,eAACC,WAAQ,CAAAC,SACLF,eAAC+1D,GAAgB,CAAC10D,QAASA,MAGrCrB,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,aACtBF,eAAA,OAAKG,UAAU,QAAOD,SACpBge,gBAAA,OAAK/d,UAAU,UAAUge,QAnIduuB,KACrBk/E,EAASr4F,KAAK,CACZC,SAAU,oBACV,EAgIyDtzB,SAAA,CAC/CF,eAAA,OAAKsgB,IAAKpb,GAAOgM,iBAAkBkQ,IAAI,aACvCphB,eAAA,OAAKG,UAAU,QAAOD,SAAES,EAAM43E,YAAYa,QAC1Cp5E,eAAA,OAAKG,UAAU,OAAMD,SAAC,iBAI5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,SACV7yB,MAAO,CAAEyiC,IAAK,eACdljC,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAC,qBAG/BS,EAAM63E,SAAS36E,OAAS,EACvBmC,eAAA,WAASG,UAAU,iBAAgBD,SAC/B1C,aAAQmD,EAAM63E,UAqDZ,KApDA73E,EAAM63E,SAAS36E,OACb8C,EAAM63E,SAASl3D,KAAI,CAACve,EAAS07B,IAEzBz+B,eAAA,OAAiBG,UAAU,YAAWD,SACpCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKsgB,IAAKvd,EAAQinC,MAAO5oB,IAAI,eAE/BphB,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,MAAIG,UAAU,aAAYD,SACvB6C,EAAQqgD,eAEXpjD,eAAA,KAAGG,UAAU,YAAWD,SAAC,qDAIzBF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,UACEG,UAAU,gBACVge,QAASA,IACPq7G,EAAiBz2H,EAAQi2E,MAC1B94E,SACF,WAEQ,IAETF,eAAA,OACEG,UAAU,oBACVge,QAASA,IAzI1BsT,WACjBvC,IACA,IAAI0C,EAAO,CACTknD,WAAYE,GAEd,IACE,MAAM95D,QAAiBwS,KAAMqC,KAAK9J,GAAS2H,GACd,MAAzB1S,EAAS0S,KAAKC,SAChBzC,IACAsB,GAAUa,IAAS,IACdA,EACHqrG,UAAW19G,EAAS0S,UAGxB4nG,EAAiBxgD,GACjBJ,GACF,CAAE,MAAO3zE,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CAAC,QACCmqB,GACF,GAoHiDiuG,CAAWt6H,EAAQi2E,MAAM94E,SACzC,sBAKLge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,QAAMG,UAAU,aAAYD,SAAC,UAC7Bge,gBAAA,QAAM/d,UAAU,OAAMD,SAAA,CACnB6d,SAAShb,EAAQm2C,OAAOoK,eACvB,SACA,oBAtCJ7kB,KAgDd,OAIRz+B,eAAA,WAAAE,SACEge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,4BACtBF,eAAA,UAAQme,QA5HEm/G,KACtB1R,EAASr4F,KAAK,CACZC,SAAU,SACV7yB,MAAO,CAAEyiC,IAAK,eACd,EAwH2CljC,SAAC,sBAM1CF,eAAC67C,GAAgB,IAClB/6C,GAAUd,eAACD,KAAW,MACnB,I,wBCtLKwsH,OAzEWhwF,IAKnB,IAADkrD,EAAAC,EAAAC,EAAA,IALqB,qBACzBG,EAAoB,gBACpB7C,EAAe,mBACfmD,EAAkB,uBAClB2M,GACDx4D,EACC,MAAM0vD,EAAsBA,CAACjL,EAAUviD,KACrC,MAEMwtF,EAFoBhnC,IAAoBxmD,EAG1C,0BACAuiD,EAAS4Y,aACT,gBACA,cAEJ,OACE17E,gBAAA,SACE/d,UAAW8rH,EACX9tG,QAASA,KACPiqE,EAAmB3pD,EAAM,EACzBv+B,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACzB,GAAGu+B,EAAQ,KACZz+B,eAAA,KAAGg+C,wBAAyB,CAAEC,OAAQ+iC,EAAS0K,aAEjD1rF,eAAA,OAAKG,UAAU,QAAQmgB,IAAKpb,GAAO+C,SAAUmZ,IAAI,YAC3C,EAIZ,OACElD,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CAAC,eACO,OAApB4nF,QAAoB,IAApBA,GAA0B,QAANL,EAApBK,EAAsBl2D,YAAI,IAAA61D,OAAN,EAApBA,EAA4B5pF,YAI7CmC,eAAA,OAAKG,UAAU,2BAA0BD,SACvCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,iBAE3Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,SAAOG,UAAU,kCACjBH,eAAA,SAAOG,UAAU,wBAAuBD,SAAC,oBAI/CF,eAAA,OACEG,UAAU,qCACVupC,IAAKqrD,EAAuB70F,SAEP,OAApB4nF,QAAoB,IAApBA,GAA0B,QAANJ,EAApBI,EAAsBl2D,YAAI,IAAA81D,GAA1BA,EAA4B7pF,OACL,OAApBiqF,QAAoB,IAApBA,GAA0B,QAANH,EAApBG,EAAsBl2D,YAAI,IAAA+1D,OAAN,EAApBA,EAA4BrmE,KAAI,CAACve,EAAS07B,IAEtCz+B,eAAA,OAEEG,UAAU,iCACV4e,GAAG,QAAO7e,SAET+rF,EAAoBlpF,EAAS07B,IAJzBA,KAQX,SAEF,E,gBCvBKguF,OA9CalwF,IAMrB,IANsB,uBAC3BkkE,EAAsB,gBACtBxb,EAAe,KACflF,EAAI,QACJ4J,EAAO,oBACPsU,GACD1hE,EACC,OACEre,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,MAAAE,SAAI,kBACJge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,QAAAhe,SAAA,CAAM,kBAAsC,OAAtBugG,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBjT,eAC9CxtF,eAAA,OAAKG,UAAU,sBAAqBD,SACjC+9F,EAA0C,OAAtBwC,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBlU,cAC3CvsF,eAAA,UAAQme,QAASA,IAAMwrE,GAAS5J,GAAM7/E,SACpCF,eAAA,OAAKsgB,IAAKpb,GAAOwE,YAAa0X,IAAI,OAGpC,QAKNlD,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,QAAMG,UAAU,eAAcD,SAC3B,GAAGP,OAAOslF,GAAmB,OAGJ,OAA3Bwb,QAC0B/iG,IAA3B+iG,EACEzgG,eAAA,KACEG,UAAU,eACV69C,wBAAyB,CACvBC,OAAQwiD,EAAuB/U,UAInC,WAIF,EC4XKghC,OAlNSvd,IAAMqe,MAC5BjxF,IAA8E,IAA7E,uBAAEkkE,EAAsB,KAAE1gB,EAAI,gBAAEkF,EAAe,qBAAE6C,GAAsBvrD,EACtE,MAAMghG,EAAsB78E,mBAC1B,IAAM,CAAC4pC,EAAGoW,IACJpW,EACK,sCACGA,GAAKoW,EACR,mCAEA,yBAGX,IAGItV,EAAuB3sD,GACT,CAChB,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,IACA,KAGiBA,GAGf4sD,EAAoBG,IACjB,CAAEvtC,OAAQutC,IAoHbgyC,EAAwB98E,mBAC5B,IAAM,CAAC+/C,EAAwB1gB,KAC7B,IAAI0gB,EA0BF,OAAO,KA1BmB,CAC1B,IAAI9vE,EACFtwB,EAAOogG,EAAuBjT,YAUhC,OAPE78D,EADyB,mBAAvBtwB,EAAKvB,cACA,EACyB,oBAAvBuB,EAAKvB,cACP,EAEA,EAGD6xB,GACN,KAAK,EACH,OAjIkBm6D,EAkIhB2V,EAhIRzgG,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACzC,OAAZ4qF,QAAY,IAAZA,KAAcrkB,OAAO5oE,OAClBitF,EAAarkB,OAAOnlD,KAAI,CAACve,EAAS07B,IAE9BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWo9H,EACTx6H,EAAQmoF,WACRnoF,EAAQkoF,qBACR/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAvBRhoC,KA+Bd,SA+FJ,KAAK,EACH,MA9Ce8sD,MAAO,IAAD9D,EACsBC,EAAnD,OAAwB,OAApBI,QAAoB,IAApBA,GAA0B,QAANL,EAApBK,EAAsBl2D,YAAI,IAAA61D,GAA1BA,EAA6BxC,GAE7BjlF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,SAEEK,KAAK,SACLoe,YAAY,oBACZhhB,MAC4C,QADvCiqF,EACHI,EAAqBl2D,KAAKqzD,UAAgB,IAAAyC,OAAA,EAA1CA,EAA4Ca,eAG9CppE,UAAQ,GAPH8lE,SAcR,IACT,EAwBesG,GACT,KAAK,EACH,MA5FgBD,CAACR,IAAwB,IAADmK,EAAAG,EAChD,OACEp1F,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,yCAAwCD,SACxC,OAAZ4qF,QAAY,IAAZA,GAAoB,QAARmK,EAAZnK,EAAcrkB,cAAM,IAAAwuB,GAApBA,EAAsBp3F,OACA,QADMu3F,EACzBtK,EAAarkB,cAAM,IAAA2uB,OAAA,EAAnBA,EAAqB9zE,KAAI,CAACve,EAAS07B,IAE/BvgB,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,SACEK,KAAK,WACL0e,GAAIhc,EAAQ+lF,UACZ9jF,KAAM,oBAAoBigF,IAC1B9lE,UAAQ,IAEVjB,gBAAA,SACEsD,QAASze,EAAQ+lF,UACjB3oF,UAAWo9H,EACTx6H,EAAQmoF,WACRnoF,EAAQkoF,qBACR/qF,SAAA,CAEFF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,GAAGkrF,EAChC3sD,UAGJz+B,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,KACEG,UAAU,iBACV69C,wBAAyBqtC,EACvBtoF,EAAQ0jE,iBAvBRhoC,KA+Bd,QAEG,EAoDE6sD,CAAkBmV,GAC3B,QACE,OAAO,KAEb,CA5IuB5V,IAACC,CA8IxB,GAEF,CAAC2V,EAAwBxb,IAG3B,OACEjlF,eAAA,OAAKG,UAAU,4BAA2BD,SACZ,OAA3BugG,QACiC/iG,IAAlC+iG,EAAuBh6B,OACnB+2D,EAAsB/8B,EAAwB1gB,GAC9C,IACA,ICzWG4sC,OAzDUpwF,IAQlB,IAADkrD,EAAA,IARoB,uBACxBgZ,EAAsB,gBACtBxb,EAAe,UACf0R,EAAS,SACT3N,EAAQ,0BACRjB,EAAyB,sBACzBC,EAAqB,qBACrBF,GACDvrD,EACC,OACEre,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,oBAAmBD,SAC/B+kF,EAAkB,GACjBjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP4pE,EAA0B9C,EAAkB,GAE5C0R,GAAW,EACXz2F,SACH,iBAMPF,eAAA,OAAKG,UAAU,qBAAoBD,UACZ,OAApB4nF,QAAoB,IAApBA,GAA0B,QAANL,EAApBK,EAAsBl2D,YAAI,IAAA61D,OAAN,EAApBA,EAA4B5pF,UAAWonF,EAAkB,EACxDjlF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAACm8B,QAAI,CACHh8B,UAAU,MACVi8B,GAAI,CACF5I,SAAU,iBACV7yB,MAAO,CAAEgwB,KAAM,IACfzwB,SACH,WAKHF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UACEme,QAASA,KACP6pE,EAAsB/C,EAAkB,GAExC+D,GAAU,EACV9oF,SACH,eAMH,ECvBK2sH,OA/BUtwF,IAIlB,IAJmB,uBACxBkkE,EAAsB,KACtB1gB,EAAI,oBACJke,GACD1hE,EAeC,OACEre,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,eACJF,eAAA,OAAAE,SACEF,eAAA,KACEg+C,wBAnBe2iD,EAACF,EAAwB1gB,KAC9C,IAAI09C,EAAO,GAEX,GAAI19C,EACF09C,EAA6B,OAAtBh9B,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,aAC1B,CACL,MAAMy+B,EAAkC,OAAtBj9B,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBtB,eAE1Cs+B,EADax/B,EAAoBy/B,GACnBA,EAAkC,OAAtBj9B,QAAsB,IAAtBA,OAAsB,EAAtBA,EAAwBxB,QACpD,CAEA,MAAO,CAAEhhD,OAAQw/E,EAAM,EAQQ98B,CAAeF,EAAwB1gB,SAGhE,ECkGKwtC,OArHahxF,IAQrB,IAADkrD,EAAAC,EAAA,IARuB,qBAC3BI,EAAoB,gBACpB7C,EAAe,uBACfwb,EAAsB,UACtB9J,EAAS,SACT3N,EAAQ,0BACRjB,EAAyB,sBACzBC,GACDzrD,EACC,MAAMl7B,EAAUm1B,yBAETupD,EAAM4J,GAAWxsE,oBAAS,GAEjC,IAAI0rG,EACD,KAA0B,OAApB/gC,QAAoB,IAApBA,GAA0B,QAANL,EAApBK,EAAsBl2D,YAAI,IAAA61D,OAAN,EAApBA,EAA4B5pF,SAAWonF,EAAkB,GAelE,IAAIgZ,EAAsB,SAAUjgG,GAClC,IAAKA,EACH,OAAO,EAKT,OAHa,IAAIwuF,WACAC,gBAAgBzuF,EAAK,aAE3By9D,KAAKv7D,SAASrC,OAAS,CACpC,EAEA,OACEqgB,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,UAAUge,QA3BZw/G,KACnBt8H,EAAQkyB,KAAK,CACXC,SAAU,iBACV7yB,MAAO,CAAEgwB,KAAM,IACf,EAuBmDzwB,SAC7CF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAGnCphB,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,sBAEnCge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,gBAEtBF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,UAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,OAAOge,QA/BZuuB,KACrBrrC,EAAQkyB,KAAK,CACXC,SAAU,uBACV,EA4BuDtzB,SAAC,oBAGhDF,eAAA,QAAAE,SACEF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOuP,iBAAkB2M,IAAI,uBAQnDlD,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,MAAAE,SAAI,qCACJge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAC62G,KAAW,CAACpnB,IAAKo5B,EAAe1oH,UAAU,gBAC3CH,eAAA,QAAMwE,MAAO,CAAEkiD,KAAMmiE,EAAgB,EAAI,KAAM3oH,SAAE,GAC/C+kF,EAAkB,SAGtB/mE,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,QAAAE,SAAM,MACNF,eAAA,QAAAE,SAA2B,OAApB4nF,QAAoB,IAApBA,GAA0B,QAANJ,EAApBI,EAAsBl2D,YAAI,IAAA81D,OAAN,EAApBA,EAA4B7pF,eAIvCmC,eAACysH,GAAmB,CAClBhsB,uBAAwBA,EACxBxb,gBAAiBA,EACjBlF,KAAMA,EACN4J,QAASA,EACTsU,oBAAqBA,IAGvBj+F,eAAC0sH,GAAe,CACdjsB,uBAAwBA,EACxBxb,gBAAiBA,EACjBlF,KAAMA,EACN+H,qBAAsBA,IAGxB9nF,eAAC2sH,GAAgB,CACflsB,uBAAwBA,EACxBxb,gBAAiBA,EACjB0R,UAAWA,EACX3N,SAAUA,EACVjB,0BAA2BA,EAC3BC,sBAAuBA,EACvBF,qBAAsBA,IAGxB9nF,eAAC6sH,GAAgB,CACfpsB,uBAAwBA,EACxB1gB,KAAMA,EACNke,oBAAqBA,SAGrB,ECQK2/B,OA9HsBzuB,IAAMqe,MAAMpsH,IAC/C,MAAM,qBACJ0mF,EAAoB,uBACpB2Y,EAAsB,gBACtBxb,EAAe,0BACf8C,EAAyB,sBACzBC,EAAqB,mBACrBI,EAAkB,OAClBhzD,GACEh0B,EAEE2zF,EAAyBhsD,iBAAO,OAE/BogD,EAAWC,GAAgBjsE,oBAAS,GAE3C3b,qBAAU,KACRF,QAAQC,IAAI,yBAA0Bk/F,EAAuB,GAC5D,CAACA,IA2EJ,OACEzgG,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,oCAAmCD,SAChDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAACusH,GAAiB,CAChBzkC,qBAAsBA,EACtB7C,gBAAiBA,EACjBmD,mBAAoBA,EACpB2M,uBAAwBA,MAI5B/0F,eAACutH,GAAmB,CAClBzlC,qBAAsBA,EACtB7C,gBAAiBA,EACjBwb,uBAAwBA,EACxB9J,UAtFEA,KAChB,MAAMC,EAAoB3R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS02F,GAC1BC,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EAmFxD9N,SA9FCA,KACf,MAAM+N,EAAoB9R,EAAkB,EAE1C8P,EAAuBn3E,QAAQ1d,SAAS62F,GAC1BF,eAAe,CAAE3N,SAAU,SAAU4N,MAAO,SAAU,EA2FxD/O,0BAA2BA,EAC3BC,sBAAuBA,gBAO1B,ICmDAtnF,qBAlBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB+8H,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,WAIjCjF,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAzKe67B,IAKvB,IAADu9C,EAAAqiD,EAAA2B,EAAAC,EAAA,IALyB,aAC7BF,EAAY,aACZ3uG,EAAY,cACZE,EAAa,OACbtuB,GACDy7B,EACC,MAAMzD,EAAWkK,yBAEXipE,EAAiBnzE,EAASn4B,MAAMsrG,eAChC+xB,EAA0B,OAARllG,QAAQ,IAARA,GAAe,QAAPghD,EAARhhD,EAAUn4B,aAAK,IAAAm5E,OAAP,EAARA,EAAiBtvB,cACnCyzE,EAAwB,OAARnlG,QAAQ,IAARA,GAAe,QAAPqjG,EAARrjG,EAAUn4B,aAAK,IAAAw7H,OAAP,EAARA,EAAiB8B,cACjCC,EAAmB,OAARplG,QAAQ,IAARA,GAAe,QAAPglG,EAARhlG,EAAUn4B,aAAK,IAAAm9H,OAAP,EAARA,EAAiBI,SAC5B9oG,EAAiB,OAAR0D,QAAQ,IAARA,GAAe,QAAPilG,EAARjlG,EAAUn4B,aAAK,IAAAo9H,OAAP,EAARA,EAAiB3oG,QAEzBz0B,EAAO+vB,GAAYvT,mBAAS,CACjC2qE,qBAAsB,CAAC,EACvB2Y,uBAAwB,CAAC,EACzB9uC,KAAM,EACNszB,gBAAiB,KAGb,qBAAE6C,EAAoB,gBAAE7C,GAAoBtkF,EAElDa,qBAAU,KACR88E,GAAiB,GAChB,CAACu/C,EAAcG,IAElB,MAAMG,EAA+Bz9E,mBACnC,IAAM//C,EAAMmnF,sBACZ,CAACnnF,EAAMmnF,uBAGHs2C,EAAiC19E,mBACrC,IAAM//C,EAAM8/F,wBACZ,CAAC9/F,EAAM8/F,yBAGHniB,EAAkB7sD,UACtBvC,IAEA,MAAM0C,EAAO,CACXob,QAASi/D,EACT5yE,QAASwkG,GAAgBzoG,EACzBy4B,SAAUowE,GAAiBC,EAC3BF,mBAGF18H,QAAQC,IAAI,kBAAmBqwB,GAE/B,IACE,MAAM1S,QAAiBwS,KAAMqC,KAC3B,oEACAnC,GAGF,GAA6B,MAAzB1S,EAAS0S,KAAKC,OAAgB,CAChC,MAAMwsG,EAAsBn/G,EAAS0S,KAAKA,KAAKjxB,EAAMskF,iBACrD2b,EACEy9B,EAAoBxwE,SACpBwwE,EAAoBx1C,KAGtBn4D,GAAUa,IAAS,IACdA,EACHu2D,qBAAsB5oE,EAAS0S,SAEjCxC,GACF,CACF,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGI27F,EAA4BnvE,MAAOo8B,EAAUg7B,KACjD35D,IACA,MAAM0C,EACKq6E,EADLr6E,EAEKisG,GAAgBzoG,EAFrBxD,EAGMqsG,GAAiBC,EAHvBtsG,EAIJosG,EAJIpsG,EAKJi3D,EAGF,IACE,MAAM3pE,QAAiBwS,KAAMC,IAC3B,6EAA6EC,cAAyBA,qBAAiCA,aAAgCA,SAAoBA,KAGhK,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHkvE,uBAAwBvhF,EAAS0S,KAAKA,KAAK,OAE7CxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAiCF,OACEjF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC3CF,eAAC49H,GAA4B,CAC3B91C,qBAAsBq2C,EACtB19B,uBAAwB29B,EACxBn5C,gBAAiBA,EACjB+C,sBArCuB+C,IAC7B,MAAM,SAAEl9B,EAAQ,IAAEg7B,GAAQf,EAAqBl2D,KAAKm5D,GACpD6V,EAA0B/yC,EAAUg7B,GACpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,MAErC1yD,OAAO+vC,SAAS,EAAG,EAAE,EA+BfylB,0BA5B2BgD,IACjC,MAAM,SAAEl9B,EAAQ,IAAEg7B,GAAQf,EAAqBl2D,KAAKm5D,GACpD6V,EAA0B/yC,EAAUg7B,GACpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBA,EAAkB,MAErC1yD,OAAO+vC,SAAS,EAAG,EAAE,EAsBf8lB,mBAnBoB5B,IAC1B,MAAM,SAAE34B,EAAQ,IAAEg7B,GAAQf,EAAqBl2D,KAAK40D,GACpDoa,EAA0B/yC,EAAUg7B,GAEpCn4D,GAAUa,IAAS,IACdA,EACH0zD,gBAAiBuB,KAChB,EAaG03C,SAAUA,EACV9oG,OAAQA,IAETt0B,GAAUd,eAACD,KAAW,QAErB,I,4BCvEKW,qBApBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB+8H,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,OACxD6oG,cAAet9H,EAAMs2H,kBAAkB9rE,kBAAkBZ,QACzD+zE,eAAgB39H,EAAMs2H,kBAAkB9rE,kBAAkBmzE,eAC1DC,cAAe59H,EAAMs2H,kBAAkB9rE,kBAAkBozE,kBAIlCpuG,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EA9EWU,IACxB,IAAI,cACF68H,EAAa,aACbJ,EAAY,aACZ3uG,EAAY,cACZE,EAAa,eACbkvG,EAAc,cACdC,EAAa,OACbz9H,GACEM,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCqhH,2BAA4B,CAAC,IAG/Bh9H,qBAAU,KACRi9H,GAA+B,GAC9B,IAEH,MAAMA,EAAgChtG,UACpCvC,IACA,IAAI0C,EAAO,CACTyH,QAASwkG,GAA8BU,EACvC1wE,SAAUowE,GAAgCK,GAG5C,IACE,MAAMp/G,QAAiBwS,KAAMqC,KAC3B,oFACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHitG,2BAA4Bt/G,EAAS0S,KAAKA,SAE5CxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGF,OACEiZ,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQt9C,EAAM69H,2BAA2Bf,UAGzC,OACJ38H,GAAUd,eAACD,KAAW,MACvB,ICGQW,qBANUC,IAChB,CACL20B,gBAAiB30B,EAAMs2H,kBAAkBC,kBAAkB5hG,mBAIvB,KAAzB50B,EAzDf,SAAY67B,GAAuB,IAAtB,gBAAEjH,GAAiBiH,EAC1Bl7B,EAAUm1B,wBAEd,MAAMkoG,EAAoB31F,iBAAO,MAkCjC,OACE7qB,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,UAAQG,UAAU,SAASge,QAnCPwgH,KACxB,MAAMC,EAAM,IAAIC,KAAM,CACpB9sF,OAAQ,KACR+sF,KAAM,OAGR,IAAIC,EAAaH,EAAII,SAASC,SAAS1+H,OAEvCq+H,EAAIM,QAAQ,gBAAiB,UAC7B,IAAIlrC,EAAI,IACJA,GAAK+qC,IACPH,EAAIO,UACJnrC,EAAI,GAEN4qC,EAAInB,KAAKiB,EAAkB9gH,QAAS,CAClC,cAAM08C,CAASskE,SACPA,EAAIQ,KAAK,WACjB,IAGFr/G,YAAW,KACLuV,EACFj0B,EAAQkyB,KAAK,qBAEblyB,EAAQkyB,KAAK,CACXC,SAAU,iBACV7yB,MAAO,CAAEgwB,KAAM,IAEnB,GACC,IAAK,EAMkDzwB,SAAC,qBAIzDF,eAAA,OAAK0pC,IAAKg1F,EAAkBx+H,SAC1BF,eAACq/H,GAAgB,QAIzB,I,gBC+Bez8F,OApFAA,IAEX5iC,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK+D,MAAM,UAAS/hB,SAAA,CAClBge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,kBAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,gBAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,cAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,mBAG3Bge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,gBAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,aAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,mBAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,mBAG3Bge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,QACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,gCAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,SACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,kCAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,QACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,mBAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,SACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,0BAI3Bge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,QACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,sBAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,OACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,gBAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,SACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,sCAEzBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,QACzBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,iC,gBCoctBQ,qBANUC,IAChB,CACLk9H,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,UAIpB,KAAzB10B,EA3gByBU,IACtC,IAAI,aACF8tB,EAAY,cACZE,EAAa,OACbtuB,EAAM,YACNf,EAAW,aACX89H,GACEz8H,GAECT,EAAO+vB,GAAYvT,mBAAS,CAC/BmiH,0BAA2B,CAAC,KAG1B,aAAEC,GAAiB5+H,EAAM2+H,0BAE7B99H,qBAAU,KACRg+H,GAA8B,GAC7B,IAEH,MAAMA,EAA+B/tG,UACnC,IAAIG,EAAO,CACTyH,QAASwkG,GAGX,IACE,MAAM3+G,QAAiBwS,KAAMqC,KAC3B,6EACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACH+tG,0BAA2BpgH,EAAS0S,QAG1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GA4dF,OAAOjF,eAAA,OAAAE,SAxduC,OAAxCS,EAAM2+H,0BAA0Bj/H,KAEhC6d,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,SAAAhe,SAAA,CACEge,gBAAA,MACE/d,UAAU,oBACVqE,MAAO,CAAEi7H,aAAc,uBAAwBv/H,SAAA,CAE/CF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,UACZqgI,oBAAqB,OACrBC,YAAa,uBACb1/H,SACH,iBAGDF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,WACZG,MAAO,UACPmgI,YAAa,uBACb1/H,SACH,YAGDF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,UACZsgI,YAAa,uBACb1/H,SACH,cAGDF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,UACZsgI,YAAa,uBACb1/H,SACH,UAIDF,eAAA,MACE0/H,QAAQ,KACRl7H,MAAO,CACLlF,WAAY,UACZugI,qBAAsB,QACtB3/H,SACH,eAKHge,gBAAA,MACE/d,UAAU,mBACVqE,MAAO,CAAEi7H,aAAc,uBAAwBv/H,SAAA,CAE/CF,eAAA,MAAAE,SAAI,YACJF,eAAA,MAAAE,SAAI,SACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,SAC7BF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,MAC7BF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,MAE7BF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,MAE7BF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,QACJF,eAAA,MAAAE,SAAI,QACJF,eAAA,MAAAE,SAAI,QACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,UAGJ1C,aAAQ+hI,GA8GN,KA7GAA,EAAa1hI,OACX0hI,EAAaj+G,KAAI,CAACve,EAAS07B,KAAW,IAADqhG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACnC,OACE3kH,gBAAA,MAAgB/d,UAAU,aAAYD,SAAA,CACpCF,eAAA,MAAIG,UAAU,cAAaD,SAAE6C,EAAQ63F,UACrC56F,eAAA,MAAIG,UAAU,cAAaD,SAAE6C,EAAQ1C,OACrCL,eAAA,MAAIG,UAAU,2BAA0BD,SACrC6C,EAAQorC,OAEXnuC,eAAA,MAAIG,UAAU,UAASD,SACJ,QADI4/H,EACpB/8H,EAAQ2mD,gBAAQ,IAAAo2E,GAAS,QAATC,EAAhBD,EAAkBh6E,eAAO,IAAAi6E,OAAT,EAAhBA,EAA2B+C,QAE9B5kH,gBAAA,MAAI/d,UAAU,UAASD,SAAA,CACpB,IACgB,QADb8/H,EACHj9H,EAAQ2mD,gBAAQ,IAAAs2E,GAAS,QAATC,EAAhBD,EAAkBl6E,eAAO,IAAAm6E,OAAT,EAAhBA,EAA2B74B,UAAUtnG,QAAQ,MAEhDoe,gBAAA,MAAI/d,UAAU,UAASD,SAAA,CACpB,IACgB,QADbggI,EACHn9H,EAAQ2mD,gBAAQ,IAAAw2E,GAAS,QAATC,EAAhBD,EAAkBp6E,eAAO,IAAAq6E,OAAT,EAAhBA,EAA2B4C,WAAWjjI,QAAQ,MAEjDE,eAAA,MAAIG,UAAU,UAASD,SACJ,QADIkgI,EACpBr9H,EAAQ2mD,gBAAQ,IAAA02E,GAAS,QAATC,EAAhBD,EAAkBt6E,eAAO,IAAAu6E,OAAT,EAAhBA,EAA2B2C,OAE9BhjI,eAAA,MAAIG,UAAU,UAASD,SAEH,QAFGogI,EAEnBv9H,EAAQ2mD,gBAAQ,IAAA42E,GAAS,QAATC,EAAhBD,EAAkBx6E,eAAO,IAAAy6E,OAAT,EAAhBA,EAA2B0C,aACxBC,gBAGPljI,eAAA,MAAIG,UAAU,mBAAkBD,SACb,QADasgI,EAC7Bz9H,EAAQ2mD,gBAAQ,IAAA82E,GAAS,QAATC,EAAhBD,EAAkB16E,eAAO,IAAA26E,OAAT,EAAhBA,EAA2B0C,MAG9BnjI,eAAA,MAAIG,UAAU,YAAWD,SACN,QADMwgI,EACtB39H,EAAQ2mD,gBAAQ,IAAAg3E,GAAW,QAAXC,EAAhBD,EAAkB96E,iBAAS,IAAA+6E,OAAX,EAAhBA,EAA6BmC,QAEhC9iI,eAAA,MAAIG,UAAU,YAAWD,SACN,QADM0gI,EACtB79H,EAAQ2mD,gBAAQ,IAAAk3E,GAAW,QAAXC,EAAhBD,EAAkBh7E,iBAAS,IAAAi7E,OAAX,EAAhBA,EAA6Bz5B,UAAUtnG,QAAQ,KAElDE,eAAA,MAAIG,UAAU,YAAWD,SACN,QADM4gI,EACtB/9H,EAAQ2mD,gBAAQ,IAAAo3E,GAAW,QAAXC,EAAhBD,EAAkBl7E,iBAAS,IAAAm7E,OAAX,EAAhBA,EAA6BgC,WAAWjjI,QAAQ,KAEnDE,eAAA,MAAIG,UAAU,YAAWD,SACN,QADM8gI,EACtBj+H,EAAQ2mD,gBAAQ,IAAAs3E,GAAW,QAAXC,EAAhBD,EAAkBp7E,iBAAS,IAAAq7E,OAAX,EAAhBA,EAA6B+B,OAEhC9kH,gBAAA,MAAI/d,UAAU,YAAWD,SAAA,CACtB,IAEQ,OAAP6C,QAAO,IAAPA,GAAiB,QAAVm+H,EAAPn+H,EAAS2mD,gBAAQ,IAAAw3E,GAAW,QAAXC,EAAjBD,EAAmBt7E,iBAAS,IAAAu7E,OAArB,EAAPA,EAA8B8B,aAC3BG,mBAGPpjI,eAAA,MAAIG,UAAU,uBAAsBD,SACjB,QADiBkhI,EACjCr+H,EAAQ2mD,gBAAQ,IAAA03E,GAAW,QAAXC,EAAhBD,EAAkBx7E,iBAAS,IAAAy7E,OAAX,EAAhBA,EAA6B8B,MAGhCnjI,eAAA,MAAIG,UAAU,QAAOD,SACF,QADEohI,EAClBv+H,EAAQ2mD,gBAAQ,IAAA43E,GAAO,QAAPC,EAAhBD,EAAkBz7E,aAAK,IAAA07E,OAAP,EAAhBA,EAAyBuB,QAE5B9iI,eAAA,MAAIG,UAAU,QAAOD,SACF,QADEshI,EAClBz+H,EAAQ2mD,gBAAQ,IAAA83E,GAAO,QAAPC,EAAhBD,EAAkB37E,aAAK,IAAA47E,OAAP,EAAhBA,EAAyBr6B,UAAUtnG,QAAQ,KAE9CE,eAAA,MAAIG,UAAU,QAAOD,SACF,QADEwhI,EAClB3+H,EAAQ2mD,gBAAQ,IAAAg4E,GAAO,QAAPC,EAAhBD,EAAkB77E,aAAK,IAAA87E,OAAP,EAAhBA,EAAyBoB,WAAWjjI,QAAQ,KAE/CE,eAAA,MAAIG,UAAU,QAAOD,SACF,QADE0hI,EAClB7+H,EAAQ2mD,gBAAQ,IAAAk4E,GAAO,QAAPC,EAAhBD,EAAkB/7E,aAAK,IAAAg8E,OAAP,EAAhBA,EAAyBmB,OAE5BhjI,eAAA,MAAIG,UAAU,QAAOD,SACF,QADE4hI,EAClB/+H,EAAQ2mD,gBAAQ,IAAAo4E,GAAO,QAAPC,EAAhBD,EAAkBj8E,aAAK,IAAAk8E,GAAc,QAAdC,EAAvBD,EAAyBkB,oBAAY,IAAAjB,OAArB,EAAhBA,EAAuCqB,cAE1CrjI,eAAA,MAAIG,UAAU,eAAcD,SACT,QADS+hI,EACzBl/H,EAAQ2mD,gBAAQ,IAAAu4E,GAAO,QAAPC,EAAhBD,EAAkBp8E,aAAK,IAAAq8E,OAAP,EAAhBA,EAAyBiB,MAG5BnjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFiiI,EACpBp/H,EAAQugI,sBAAc,IAAAnB,OAAA,EAAtBA,EAAwBoB,iBAE3BvjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFkiI,EACpBr/H,EAAQugI,sBAAc,IAAAlB,OAAA,EAAtBA,EAAwBh7B,YAE3BpnG,eAAA,MAAIG,UAAU,UAASD,SACE,QADFmiI,EACpBt/H,EAAQugI,sBAAc,IAAAjB,OAAA,EAAtBA,EAAwBU,aAE3B/iI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFoiI,EACpBv/H,EAAQugI,sBAAc,IAAAhB,OAAA,EAAtBA,EAAwBU,OAE3BhjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFqiI,EACpBx/H,EAAQugI,sBAAc,IAAAf,OAAA,EAAtBA,EAAwBiB,aAE3BxjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFsiI,EACpBz/H,EAAQugI,sBAAc,IAAAd,OAAA,EAAtBA,EAAwBiB,iBAE3BzjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFuiI,EACpB1/H,EAAQugI,sBAAc,IAAAb,OAAA,EAAtBA,EAAwBiB,iBAE3B1jI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFwiI,EACpB3/H,EAAQugI,sBAAc,IAAAZ,GAAW,QAAXC,EAAtBD,EAAwBiB,iBAAS,IAAAhB,OAAX,EAAtBA,EAAmCh1E,cAEtC3tD,eAAA,MAAIG,UAAU,UAASD,SACE,QADF0iI,EACpB7/H,EAAQugI,sBAAc,IAAAV,OAAA,EAAtBA,EAAwBO,MAE3BnjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADF2iI,EACpB9/H,EAAQugI,sBAAc,IAAAT,OAAA,EAAtBA,EAAwBe,eApGpBnlG,EAsGJ,IAGT,UAIT39B,GAAUd,eAACD,EAAW,OAKzBC,eAAA,OAAKiiB,MAAM,aAAY/hB,SACrBge,gBAAA,OAAK/d,UAAU,kCAAiCD,SAAA,CAC9CF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,SAAAhe,SAAA,CACEge,gBAAA,MAAI/d,UAAU,oBAAmBD,SAAA,CAC/BF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,UACZqgI,oBAAqB,OACrBC,YAAa,uBACb1/H,SACH,iBAGDF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,UACZsgI,YAAa,uBACb1/H,SACH,YAGDF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,UACZsgI,YAAa,uBACb1/H,SACH,cAIDF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,UACZsgI,YAAa,uBACb1/H,SACH,YAIDF,eAAA,MACE0/H,QAAQ,IACRl7H,MAAO,CACLlF,WAAY,UACZsgI,YAAa,uBACb1/H,SACH,WAIDF,eAAA,MACE0/H,QAAQ,KACRl7H,MAAO,CACLlF,WAAY,UACZugI,qBAAsB,QACtB3/H,SACH,eAIHge,gBAAA,MAAI/d,UAAU,mBAAkBD,SAAA,CAC9BF,eAAA,MAAAE,SAAI,YACJF,eAAA,MAAAE,SAAI,SACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,SAC7BF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,MAC7BF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,MAE7BF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,MAE7BF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAIG,UAAU,eAAcD,SAAC,MAE7BF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,OACJF,eAAA,MAAAE,SAAI,QACJF,eAAA,MAAAE,SAAI,QACJF,eAAA,MAAAE,SAAI,QACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,MACJF,eAAA,MAAAE,SAAI,UAGJ1C,aAAQ+hI,GA2IN,KA1IAA,EAAa1hI,OACX0hI,EAAaj+G,KAAI,CAACve,EAAS07B,KAAW,IAADolG,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GAAAC,GACnC,OACExpH,gBAAA,MAAgB/d,UAAU,aAAYD,SAAA,CACpCF,eAAA,MAAIG,UAAU,cAAaD,SAAE6C,EAAQ63F,UACrC56F,eAAA,MAAIG,UAAU,cAAaD,SAAE6C,EAAQ1C,OACrCL,eAAA,MAAIG,UAAU,2BAA0BD,SACrC6C,EAAQorC,OAEXnuC,eAAA,MAAIG,UAAU,UAASD,SACJ,QADI2jI,EACpB9gI,EAAQ2mD,gBAAQ,IAAAm6E,GAAS,QAATC,EAAhBD,EAAkB/9E,eAAO,IAAAg+E,OAAT,EAAhBA,EAA2BhB,QAE9B5kH,gBAAA,MAAI/d,UAAU,UAASD,SAAA,CACpB,IACgB,QADb6jI,EACHhhI,EAAQ2mD,gBAAQ,IAAAq6E,GAAS,QAATC,EAAhBD,EAAkBj+E,eAAO,IAAAk+E,OAAT,EAAhBA,EAA2B58B,UAAUtnG,QAAQ,MAEhDoe,gBAAA,MAAI/d,UAAU,UAASD,SAAA,CACpB,IACgB,QADb+jI,EACHlhI,EAAQ2mD,gBAAQ,IAAAu6E,GAAS,QAATC,EAAhBD,EAAkBn+E,eAAO,IAAAo+E,OAAT,EAAhBA,EAA2BnB,WAAWjjI,QAAQ,MAEjDE,eAAA,MAAIG,UAAU,UAASD,SACJ,QADIikI,EACpBphI,EAAQ2mD,gBAAQ,IAAAy6E,GAAS,QAATC,EAAhBD,EAAkBr+E,eAAO,IAAAs+E,OAAT,EAAhBA,EAA2BpB,OAE9BhjI,eAAA,MAAIG,UAAU,UAASD,SAEH,QAFGmkI,EAEnBthI,EAAQ2mD,gBAAQ,IAAA26E,GAAS,QAATC,EAAhBD,EAAkBv+E,eAAO,IAAAw+E,GAAc,QAAdC,EAAzBD,EAA2BrB,oBAAY,IAAAsB,OAAvB,EAAhBA,EACIrB,gBAGRljI,eAAA,MAAIG,UAAU,mBAAkBD,SACb,QADaskI,EAC7BzhI,EAAQ2mD,gBAAQ,IAAA86E,GAAS,QAATC,EAAhBD,EAAkB1+E,eAAO,IAAA2+E,OAAT,EAAhBA,EAA2BtB,MAG9BnjI,eAAA,MAAIG,UAAU,YAAWD,SACN,QADMwkI,EACtB3hI,EAAQ2mD,gBAAQ,IAAAg7E,GAAW,QAAXC,EAAhBD,EAAkB9+E,iBAAS,IAAA++E,OAAX,EAAhBA,EAA6B7B,QAEhC9iI,eAAA,MAAIG,UAAU,YAAWD,SACN,QADM0kI,EACtB7hI,EAAQ2mD,gBAAQ,IAAAk7E,GAAW,QAAXC,EAAhBD,EAAkBh/E,iBAAS,IAAAi/E,OAAX,EAAhBA,EAA6Bz9B,UAAUtnG,QACtC,KAGJE,eAAA,MAAIG,UAAU,YAAWD,SACN,QADM4kI,EACtB/hI,EAAQ2mD,gBAAQ,IAAAo7E,GAAW,QAAXC,EAAhBD,EAAkBl/E,iBAAS,IAAAm/E,OAAX,EAAhBA,EAA6BhC,WAAWjjI,QACvC,KAGJE,eAAA,MAAIG,UAAU,YAAWD,SACN,QADM8kI,EACtBjiI,EAAQ2mD,gBAAQ,IAAAs7E,GAAW,QAAXC,EAAhBD,EAAkBp/E,iBAAS,IAAAq/E,OAAX,EAAhBA,EAA6BjC,OAEhC9kH,gBAAA,MAAI/d,UAAU,YAAWD,SAAA,CACtB,IAEiB,QAFdglI,EAEFniI,EAAQ2mD,gBAAQ,IAAAw7E,GAAW,QAAXC,EAAhBD,EAAkBt/E,iBAAS,IAAAu/E,GAAc,QAAdC,EAA3BD,EAA6BlC,oBAAY,IAAAmC,OAAzB,EAAhBA,EACIhC,mBAGRpjI,eAAA,MAAIG,UAAU,uBAAsBD,SACjB,QADiBmlI,EACjCtiI,EAAQ2mD,gBAAQ,IAAA27E,GAAW,QAAXC,EAAhBD,EAAkBz/E,iBAAS,IAAA0/E,OAAX,EAAhBA,EAA6BnC,MAGhCnjI,eAAA,MAAIG,UAAU,UAASD,SACJ,QADIqlI,EACpBxiI,EAAQ2mD,gBAAQ,IAAA67E,GAAS,QAATC,EAAhBD,EAAkBl+B,eAAO,IAAAm+B,OAAT,EAAhBA,EAA2B1C,QAE9B9iI,eAAA,MAAIG,UAAU,UAASD,SACJ,QADIulI,EACpB1iI,EAAQ2mD,gBAAQ,IAAA+7E,GAAS,QAATC,EAAhBD,EAAkBp+B,eAAO,IAAAq+B,OAAT,EAAhBA,EAA2Bt+B,UAAUtnG,QAAQ,KAEhDE,eAAA,MAAIG,UAAU,UAASD,SACJ,QADIylI,EACpB5iI,EAAQ2mD,gBAAQ,IAAAi8E,GAAS,QAATC,EAAhBD,EAAkBt+B,eAAO,IAAAu+B,OAAT,EAAhBA,EAA2B7C,WAAWjjI,QAAQ,KAEjDE,eAAA,MAAIG,UAAU,UAASD,SACJ,QADI2lI,EACpB9iI,EAAQ2mD,gBAAQ,IAAAm8E,GAAS,QAATC,EAAhBD,EAAkBx+B,eAAO,IAAAy+B,OAAT,EAAhBA,EAA2B9C,OAE9BhjI,eAAA,MAAIG,UAAU,UAASD,SAEH,QAFG6lI,EAEnBhjI,EAAQ2mD,gBAAQ,IAAAq8E,GAAS,QAATC,EAAhBD,EAAkB1+B,eAAO,IAAA2+B,GAAc,QAAdC,EAAzBD,EAA2B/C,oBAAY,IAAAgD,OAAvB,EAAhBA,EACI0B,gBAGR3nI,eAAA,MAAIG,UAAU,mBAAkBD,SACb,QADagmI,EAC7BnjI,EAAQ2mD,gBAAQ,IAAAw8E,GAAS,QAATC,EAAhBD,EAAkB7+B,eAAO,IAAA8+B,OAAT,EAAhBA,EAA2BhD,MAG9BnjI,eAAA,MAAIG,UAAU,SAAQD,SACH,QADGkmI,EACnBrjI,EAAQ2mD,gBAAQ,IAAA08E,GAAQ,QAARC,EAAhBD,EAAkBwB,cAAM,IAAAvB,OAAR,EAAhBA,EAA0BvD,QAE7B9iI,eAAA,MAAIG,UAAU,SAAQD,SACH,QADGomI,EACnBvjI,EAAQ2mD,gBAAQ,IAAA48E,GAAQ,QAARC,EAAhBD,EAAkBsB,cAAM,IAAArB,OAAR,EAAhBA,EAA0Bn/B,UAAUtnG,QAAQ,KAE/CE,eAAA,MAAIG,UAAU,SAAQD,SACH,QADGsmI,EACnBzjI,EAAQ2mD,gBAAQ,IAAA88E,GAAQ,QAARC,EAAhBD,EAAkBoB,cAAM,IAAAnB,OAAR,EAAhBA,EAA0B1D,WAAWjjI,QAAQ,KAEhDE,eAAA,MAAIG,UAAU,SAAQD,SACH,QADGwmI,EACnB3jI,EAAQ2mD,gBAAQ,IAAAg9E,GAAQ,QAARC,EAAhBD,EAAkBkB,cAAM,IAAAjB,OAAR,EAAhBA,EAA0B3D,OAE7BhjI,eAAA,MAAIG,UAAU,SAAQD,SAEF,QAFE0mI,EAElB7jI,EAAQ2mD,gBAAQ,IAAAk9E,GAAQ,QAARC,EAAhBD,EAAkBgB,cAAM,IAAAf,GAAc,QAAdC,EAAxBD,EAA0B5D,oBAAY,IAAA6D,OAAtB,EAAhBA,EACIe,eAGR7nI,eAAA,MAAIG,UAAU,iBAAgBD,SACX,QADW6mI,EAC3BhkI,EAAQ2mD,gBAAQ,IAAAq9E,GAAQ,QAARC,EAAhBD,EAAkBa,cAAM,IAAAZ,OAAR,EAAhBA,EAA0B7D,MAG7BnjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADF+mI,GACpBlkI,EAAQugI,sBAAc,IAAA2D,QAAA,EAAtBA,GAAwB1D,iBAE3BvjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFgnI,GACpBnkI,EAAQugI,sBAAc,IAAA4D,QAAA,EAAtBA,GAAwB9/B,YAE3BpnG,eAAA,MAAIG,UAAU,UAASD,SACE,QADFinI,GACpBpkI,EAAQugI,sBAAc,IAAA6D,QAAA,EAAtBA,GAAwBpE,aAE3B/iI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFknI,GACpBrkI,EAAQugI,sBAAc,IAAA8D,QAAA,EAAtBA,GAAwBpE,OAE3BhjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFmnI,GACpBtkI,EAAQugI,sBAAc,IAAA+D,QAAA,EAAtBA,GAAwB7D,aAE3BxjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFonI,GACpBvkI,EAAQugI,sBAAc,IAAAgE,QAAA,EAAtBA,GAAwB7D,iBAE3BzjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFqnI,GACpBxkI,EAAQugI,sBAAc,IAAAiE,QAAA,EAAtBA,GAAwB7D,iBAE3B1jI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFsnI,GACpBzkI,EAAQugI,sBAAc,IAAAkE,QAAA,EAAtBA,GAAwB7D,UAAUh2E,cAErC3tD,eAAA,MAAIG,UAAU,UAASD,SACE,QADFunI,GACpB1kI,EAAQugI,sBAAc,IAAAmE,QAAA,EAAtBA,GAAwBtE,MAE3BnjI,eAAA,MAAIG,UAAU,UAASD,SACE,QADFwnI,GACpB3kI,EAAQugI,sBAAc,IAAAoE,QAAA,EAAtBA,GAAwB9D,eAjIpBnlG,EAmIJ,IAGT,UAIT39B,GAAUd,eAACD,EAAW,UAOA,ICzVpBW,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,aAIkB,KAAzBpzB,EAzKSU,IAAW,IAAD0mI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAChC,IAAI,MACF/2G,EAAK,UACLuC,EAAS,eACTmjG,EAAc,UACdnhG,EAAS,yBACTC,EAAwB,aACxB5G,EAAY,cACZE,EAAa,YACbrvB,EAAW,OACXe,EAAM,gBACNk1B,GACE50B,EACJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCmrH,kBAAmB,CAAC,EACpBC,eAAgB,CAAC,EACjBnzG,OAAQ,MAGJ,eAAEmzG,EAAc,OAAEnzG,GAAWz0B,EACnCa,qBAAU,KACRgnI,GAAmB,GAClB,IAEH,MAAMA,EAAoB/2G,UAExB,IAAIG,EAAO,CACT7sB,QAASiyH,GAGX,IACE,MAAM93G,QAAiBwS,KAAMqC,KAC3B,oEACAnC,GAGiC,IAADuM,EAAAC,EAAAilC,EAAAolE,EAAlC,GAA6B,MAAzBvpH,EAAS0S,KAAKC,aACVgE,EAAkB,OAAR3W,QAAQ,IAARA,GAAc,QAANif,EAARjf,EAAU0S,YAAI,IAAAuM,GAAM,QAANC,EAAdD,EAAgBvM,YAAI,IAAAwM,OAAZ,EAARA,EAAsB/E,eAChCrD,EAAwB,OAAR9W,QAAQ,IAARA,GAAc,QAANmkD,EAARnkD,EAAU0S,YAAI,IAAAyxC,GAAM,QAANolE,EAAdplE,EAAgBzxC,YAAI,IAAA62G,OAAZ,EAARA,EAAsB3qH,QAC5C4S,GAAUa,IAAS,IACdA,EACHg3G,eAAgBrpH,EAAS0S,KACzBwD,OAAQlW,EAAS0S,KAAKA,KAAKyH,YAE7BvD,EAAyB5W,EAAS0S,KAAKA,KAE3C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGF,OACEiZ,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,WAASG,UAAU,YAAWD,SAC5BF,eAAA,OAAKG,UAAU,OAAMD,SACnBge,gBAAA,OAAK+D,MAAM,mBAAkB/hB,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OACEsgB,IACgB,OAAdioH,QAAc,IAAdA,GAAoB,QAANT,EAAdS,EAAgB32G,YAAI,IAAAk2G,GAApBA,EAAsB99F,MAClBu+F,EAAe32G,KAAKoY,MACpB9kC,GAAOwX,WAEb0E,IAAI,kBAGRlD,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,MAAAE,SAAmB,OAAdqoI,QAAc,IAAdA,GAAoB,QAANR,EAAdQ,EAAgB32G,YAAI,IAAAm2G,OAAN,EAAdA,EAAsB/iI,OAC3BkZ,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,WACzBF,eAAA,QAAMG,UAAU,UAASD,SACR,OAAdqoI,QAAc,IAAdA,GAAoB,QAANP,EAAdO,EAAgB32G,YAAI,IAAAo2G,OAAN,EAAdA,EAAsBlqH,YAG3BI,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,WACzBF,eAAA,QAAMG,UAAU,UAASD,SACR,OAAdqoI,QAAc,IAAdA,GAAoB,QAANN,EAAdM,EAAgB32G,YAAI,IAAAq2G,OAAN,EAAdA,EAAsBjlB,YAG3B9kG,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,YACzBF,eAAA,QAAMG,UAAU,UAASD,SACR,OAAdqoI,QAAc,IAAdA,GAAoB,QAANL,EAAdK,EAAgB32G,YAAI,IAAAs2G,OAAN,EAAdA,EAAsBnjI,aAG3BmZ,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,UACzBF,eAAA,QAAMG,UAAU,UAASD,SACR,OAAdqoI,QAAc,IAAdA,GAAoB,QAANJ,EAAdI,EAAgB32G,YAAI,IAAAu2G,OAAN,EAAdA,EAAsBvmH,aAG3B1D,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,WACzBF,eAAA,QAAMG,UAAU,UAASD,SACR,OAAdqoI,QAAc,IAAdA,GAAoB,QAANH,EAAdG,EAAgB32G,YAAI,IAAAw2G,OAAN,EAAdA,EAAsBlmH,YAG3BhE,gBAAA,MAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,SAAQD,SAAC,UACzBF,eAAA,QAAMG,UAAU,UAASD,SACR,OAAdqoI,QAAc,IAAdA,GAAoB,QAANF,EAAdE,EAAgB32G,YAAI,IAAAy2G,OAAN,EAAdA,EAAsBj2G,oBAOjClU,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,SAAQD,SAAC,eACxBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,MAAKD,SAAgB,OAAdqoI,QAAc,IAAdA,OAAc,EAAdA,EAAgBG,aAEtC1oI,eAAA,OAAKG,UAAU,OAAMD,SAAC,yBAI1Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,UAASD,SAAC,aACzBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,MAAKD,SAAgB,OAAdqoI,QAAc,IAAdA,OAAc,EAAdA,EAAgBI,iBAEtC3oI,eAAA,OAAKG,UAAU,OAAMD,SAAC,yBAI1Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,UAASD,SAAC,eACzBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,YAAe,IACtCF,eAAA,QAAMG,UAAU,MAAKD,SAAgB,OAAdqoI,QAAc,IAAdA,OAAc,EAAdA,EAAgB3mH,aAEzC1D,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,QAAMG,UAAU,OAAMD,SAAC,aACvBF,eAAA,QAAMG,UAAU,MAAKD,SAAgB,OAAdqoI,QAAc,IAAdA,OAAc,EAAdA,EAAgBK,kCAUtDxzG,GACCp1B,eAAC6oI,GAA8B,CAC7Bz5G,cAAeA,EACfF,aAAcA,EACdpuB,OAAQA,EACRf,YAAaA,EACbq1B,OAAQA,MAGX,IChIQ0zG,OAjCgBvsG,IASxB,IATyB,cAC9BnN,EAAa,aACbF,EAAY,eACZ8nG,EAAc,UACdnhG,EAAS,yBACTC,EAAwB,OACxBh1B,EAAM,YACNf,EAAW,gBACXi2B,GACDuG,EACC,OACEv8B,eAAA69B,YAAA,CAAA39B,SACEF,eAAC+oI,GAAc,CACb35G,cAAeA,EACfF,aAAcA,EACd8nG,eAAgBA,EAChBnhG,UAAWA,EACXC,yBAA0BA,EAC1BE,gBAAiBA,EACjBl1B,OAAQA,EACRf,YAAaA,KASd,ECRP,MA2aMipI,GAAgB5nI,IAAW,IAAD6nI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAE9B,IAAI,YAAEC,EAAW,WAAEngF,GAAexpD,EAElCE,QAAQC,IAAI,cAAewpI,GAE3B,IAAI1pI,EAAUm1B,uBAEd,MAOM2X,EAAO,IAAImB,KAAKy7F,EAAYC,gBAAgBlgC,eAK5CjwD,EAAgB,GAJV1M,EAAKmV,eAAe,QAAS,CAAElV,IAAK,eAClCD,EAAKmV,eAAe,QAAS,CAAEnU,MAAO,aACvChB,EAAKmV,eAAe,QAAS,CAAElU,KAAM,cAelD,OACEpvC,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,mBACtBF,eAAA,OAAKG,UAAU,OAAMD,SAAE26C,OAGzB38B,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,UAASD,SACtBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,UAC1BF,eAAA,OAAAE,SACEF,eAAA,OAAKG,UAAU,WAAUD,SAAC,oBAG9BF,eAAA,OAAKG,UAAU,YAAWD,SACvB6qI,EAAYC,gBAAgBr9E,mBAKnC3tD,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,SAC1BF,eAAA,OAAAE,SACEF,eAAA,OAAKG,UAAU,WAAUD,SAAC,sBAG9BF,eAAA,OAAKG,UAAU,WAAUD,SACtB6qI,EAAYC,gBAAgBhI,YAInChjI,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,eAE5BF,eAAA,OAAKG,UAAU,MAAKD,SACjBzB,KAAKoB,MAAMkrI,EAAYC,gBAAgBj0B,iBAK9C/2G,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,oBAE5BF,eAAA,OAAKG,UAAU,MAAKD,SACjB6qI,EAAYC,gBAAgBC,qBAKnCjrI,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,oBAE5BF,eAAA,OAAKG,UAAU,MAAKD,SACjB6qI,EAAYC,gBAAgBE,sBAOvChtH,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OACE/d,UAAU,gBACVqE,MAAO,CACLy6B,gBAAiB8rG,EAAYC,gBAAgBG,YAC7C5iF,OAAQ,aAAawiF,EAAYC,gBAAgBI,oBACjDlrI,SAAA,CAEFge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBF,eAAA,OAAKG,UAAU,MAAKD,SACjB6qI,EAAYC,gBAAgBK,gBAGjCrrI,eAAA,OAAKG,UAAU,MAAKD,SAGlBF,eAAA,OACEM,MAAM,KACNC,OAAO,KACPqzF,QAAQ,YACRC,KAAMk3C,EAAYC,gBAAgBI,iBAClCt3C,MAAM,6BAA4B5zF,SAElCF,eAAA,KAAG+e,GAAG,0CAAyC7e,SAC7Cge,gBAAA,KAAGa,GAAG,QAAO7e,SAAA,CACXF,eAAA,QACE+e,GAAG,SACH,YAAU,UACV,YAAU,UACVswB,EAAE,sxBACFwkD,KAAMk3C,EAAYC,gBAAgBI,mBAEpCprI,eAAA,QACE+e,GAAG,WACH,YAAU,UACV,YAAU,UACVswB,EAAE,+yEACFwkD,KAAMk3C,EAAYC,gBAAgBI,mBAEpCprI,eAAA,QACE+e,GAAG,WACH,YAAU,UACV,YAAU,UACVswB,EAAE,gHACFwkD,KAAMk3C,EAAYC,gBAAgBI,4BAM5CltH,gBAAA,OAAK/d,UAAU,qCAAoCD,SAAA,CACjDF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBF,eAAA,OAAKG,UAAU,eAAcD,SAC1B6qI,EAAYC,gBAAgBjI,mBAKnC/iI,eAAA,OAAKG,UAAU,QAAOD,SACpBge,gBAAA,MAAAhe,SAAA,CAEI,QAD0B,QAA3B+oI,EAAA8B,EAAYC,uBAAe,IAAA/B,GAAS,QAATC,EAA3BD,EAA6BnjF,eAAO,IAAAojF,OAAT,EAA3BA,EAAsCoC,aAEc,KAA1B,QAA3BnC,EAAA4B,EAAYC,uBAAe,IAAA7B,GAAS,QAATC,EAA3BD,EAA6BrjF,eAAO,IAAAsjF,OAAT,EAA3BA,EAAsCkC,YACpCptH,gBAAA,MAAI/d,UAAU,OAAMD,SAAA,CAClBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,YACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADVmpI,EACjB0B,EAAYC,uBAAe,IAAA3B,GAAS,QAATC,EAA3BD,EAA6BvjF,eAAO,IAAAwjF,OAAT,EAA3BA,EAAsCtG,UAGzC,KAGF,QAD0B,QAA3BuG,EAAAwB,EAAYC,uBAAe,IAAAzB,GAAW,QAAXC,EAA3BD,EAA6B3jF,iBAAS,IAAA4jF,OAAX,EAA3BA,EAAwC8B,aAEc,KAA5B,QAA3B7B,EAAAsB,EAAYC,uBAAe,IAAAvB,GAAW,QAAXC,EAA3BD,EAA6B7jF,iBAAS,IAAA8jF,OAAX,EAA3BA,EAAwC4B,YACtCptH,gBAAA,MAAI/d,UAAU,OAAMD,SAAA,CAClBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,cACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADVypI,EACjBoB,EAAYC,uBAAe,IAAArB,GAAW,QAAXC,EAA3BD,EAA6B/jF,iBAAS,IAAAgkF,OAAX,EAA3BA,EAAwC5G,UAG3C,KAEgD,QAAxB,QAA3B6G,EAAAkB,EAAYC,uBAAe,IAAAnB,GAAO,QAAPC,EAA3BD,EAA6BhkF,aAAK,IAAAikF,OAAP,EAA3BA,EAAoCwB,aACc,KAAxB,QAA3BvB,EAAAgB,EAAYC,uBAAe,IAAAjB,GAAO,QAAPC,EAA3BD,EAA6BlkF,aAAK,IAAAmkF,OAAP,EAA3BA,EAAoCsB,YAClCptH,gBAAA,MAAI/d,UAAU,OAAMD,SAAA,CAClBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,UACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADV+pI,EACjBc,EAAYC,uBAAe,IAAAf,GAAO,QAAPC,EAA3BD,EAA6BpkF,aAAK,IAAAqkF,OAAP,EAA3BA,EAAoClH,UAGvC,KAEiD,QAAzB,QAA3BmH,EAAAY,EAAYC,uBAAe,IAAAb,GAAQ,QAARC,EAA3BD,EAA6B7iC,cAAM,IAAA8iC,OAAR,EAA3BA,EAAqCkB,aACc,KAAzB,QAA3BjB,EAAAU,EAAYC,uBAAe,IAAAX,GAAQ,QAARC,EAA3BD,EAA6B/iC,cAAM,IAAAgjC,OAAR,EAA3BA,EAAqCgB,YACnCptH,gBAAA,MAAI/d,UAAU,OAAMD,SAAA,CAClBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,WACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADVqqI,EACjBQ,EAAYC,uBAAe,IAAAT,GAAQ,QAARC,EAA3BD,EAA6BjjC,cAAM,IAAAkjC,OAAR,EAA3BA,EAAqCxH,UAGxC,KAGF,QAD0B,QAA3ByH,EAAAM,EAAYC,uBAAe,IAAAP,GAAS,QAATC,EAA3BD,EAA6BpjC,eAAO,IAAAqjC,OAAT,EAA3BA,EAAsCY,aAEc,KAA1B,QAA3BX,EAAAI,EAAYC,uBAAe,IAAAL,GAAS,QAATC,EAA3BD,EAA6BtjC,eAAO,IAAAujC,OAAT,EAA3BA,EAAsCU,YACpCptH,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,YACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADV2qI,EACjBE,EAAYC,uBAAe,IAAAH,GAAS,QAATC,EAA3BD,EAA6BxjC,eAAO,IAAAyjC,OAAT,EAA3BA,EAAsC9H,UAGzC,gBAMZ9kH,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CAEnBF,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,UAAAhe,SAAA,CAQEF,eAAA,QAAMG,UAAU,OAAMD,SAAC,gBAEvBF,eAAA,QAAAE,SACEF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOsP,iBAAkB4M,IAAI,iBAK/CphB,eAAA,OACEG,UAAU,iBACVge,QAASA,KAAMuuB,OAhPL6d,EAgPoBwgF,EAAYl9E,SA/OtDjD,EAAWL,QACXlpD,EAAQkyB,KAAK,CACXC,SAAU,wBAHU+2B,KAgP0C,EAAArqD,SAEpDge,gBAAA,UAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,OAAMD,SAAC,oBACvBF,eAAA,QAAAE,SACEF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOwP,mBAAoB0M,IAAI,6BASxD,EAIQ1gB,qBArTUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBk2H,eAAgBr2H,EAAMs2H,kBAAkBC,kBAAkBh2H,KAAKi2H,UAC/D0G,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,WAKhCjF,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErCyF,UAAY/F,IACVK,EAAS0F,GAAU/F,GAAS,EAG9B86B,WAAa96B,IACXK,EAASy6B,GAAW96B,GAAS,EAG/B+6B,iBAAmB/6B,IACjBK,EAAS06B,GAAiB/6B,GAAS,EAGrCi7B,UAAYj7B,IACVK,EAAS46B,GAAUj7B,GAAS,EAE9BgG,yBAA2BhG,IACzBK,EAAS2F,GAAyBhG,GAAS,EAG7CkG,gBAAkBlG,IAChBK,EAAS6F,GAAgBlG,GAAS,KAgRzBpvB,EAtrBCU,IACd,IAAI,cACFguB,EAAa,aACbF,EAAY,OACZpuB,EAAM,eACNk2H,EAAc,UACdnhG,EAAS,WACT+0B,EAAU,iBACVC,EAAgB,UAChBE,EAAS,yBACTj1B,EAAwB,aACxB+nG,EAAY,gBACZ7nG,GACE50B,EACAC,EAAUm1B,wBAET71B,EAAO+vB,GAAYvT,mBAAS,CAC/B4tH,YAAa,CAAC,KAGZ,YAAEA,GAAgBpqI,EAEtBa,qBAAU,KAER+pI,GAAgB,GACf,IAEH,MA6BMA,EAAiB95G,UAErB,IAAIG,EAAO,CACT7sB,QAASiyH,EACTwU,OAAQ,OAGV,IACE,MAAMtsH,QAAiBwS,KAAMqC,KAC3B,8EACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHw5G,YAAa7rH,EAAS0S,KAAK65G,gBAGjC,CAAE,MAAOxmI,GACP3D,QAAQC,IAAI0D,EACd,GAWF,OACEjF,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAACu3H,GAAY,CACXP,eAAgBA,EAChB+T,YAAaA,IAEf7sH,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAC8oI,GAAsB,CACrB15G,cAAeA,EACfF,aAAcA,EACd8nG,eAAgBA,EAChBnhG,UAAWA,EACXC,yBAA0BA,EAC1BE,gBAAiBA,EACjBl1B,OAAQA,EACRf,YAAaA,KACb89H,aAAcA,IAGhB3/G,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,uBACjCF,eAAA,UAAQG,UAAU,gBAAgBge,QAnFrBuuB,KAErBrrC,EAAQkyB,KAAK,CACXC,SAAU,iBACV7yB,MAAO,CAAEgwB,KAAM,EAAG5rB,QAASiyH,IAC3B,EA8EgE92H,SAAC,sBAI7Dge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CA8OrCF,eAAA,OAAKG,UAAU,8BAA6BD,SACxC1C,aAAQmD,EAAMoqI,aAkBZ,KAjBFpqI,EAAMoqI,YAAYn5G,KAAK/zB,OACrB8C,EAAMoqI,YAAYn5G,KAAKtQ,KAAI,CAACve,EAAS07B,IACnCz+B,eAACgpI,GAAY,CAEX+B,YAAahoI,EAEb6nD,WAAYA,GAHPnsB,KAOTz+B,eAAA,OAAKG,UAAU,UAASD,SACtBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKsgB,IAAKpb,GAAO+D,aAAcmY,IAAI,QACnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAC,0BAOvCY,GAAUd,eAACD,KAAW,UAI3BC,eAAC4iC,GAAM,QAER,I,gCCzUQ8oG,OAzEiBtqI,IAC9B,IAAI,kBAAEuqI,EAAiB,UAAEC,GAAcxqI,EAEvC,MAAMyqI,EAAgBF,EAAkB7mF,QACrCgnF,GAAkC,IAAzBA,EAAKr+E,kBAEXs+E,EAAmBF,EAAc95G,MACpC+5G,GAA0B,cAAjBA,EAAK9+F,UAGjB,OACE9uB,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,+BACjCF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,WAASG,UAAU,gBAAeD,SAChCge,gBAAA,SAAO1Z,MAAO,CAAElE,MAAO,QAASJ,SAAA,CAC9BF,eAAA,SAAOG,UAAU,gBAAeD,SAC9Bge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,mBACvB2rI,EAAcvqH,KAAKwqH,GAClB9rI,eAACmvG,IAAMlvG,SAAQ,CAAAC,SACK,cAAjB4rI,EAAK9+F,QACJ9uB,gBAAA,MACE/d,UAAU,OACVu/H,QAASqM,EAAiBC,WAAWnuI,OAAS,EAAEqC,SAAA,CAEhDF,eAAA,OAAAE,SAAM4rI,EAAK9+F,UACXhtC,eAAA,OAAKG,UAAU,SACd4rI,EAAiBC,WAAWnuI,OAAS,GACpCmC,eAAA,OAAKG,UAAU,eAAcD,SAC1B6rI,EAAiBC,WAAW1qH,KAAKo2D,GAChC13E,eAAA,QAAAE,SACGw3E,EAAIu0D,aADIv0D,EAAIu0D,oBAQvBjsI,eAAA,MAAAE,SAAK4rI,EAAK9+F,WAnBO8+F,EAAK9+F,gBA0BhChtC,eAAA,SAAAE,SACEge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAI/d,UAAU,UAASD,SAAA,CAAC,SAAO0rI,KAC9BC,EAAcvqH,KAAKwqH,GAClB9rI,eAAA,MAAAE,SACoB,cAAjB4rI,EAAK9+F,QACJhtC,eAAA,OAAKG,UAAU,uBAAsBD,SAClC6rI,EAAiBC,WAAW1qH,KAAKo2D,GAChC13E,eAAA,QAAMG,UAAU,MAAKD,SAClBw3E,EAAIjqB,iBADoBiqB,EAAIu0D,iBAMnCjsI,eAAA,OAAKG,UAAU,MAAKD,SAAE4rI,EAAKr+E,mBAVtBq+E,EAAK9+F,yBAmBtB,E,QC6BKk/F,OAlGW9qI,IAAW,IAAD+qI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAClC,IAAI,WAAEC,GAAexrI,EAErB,OACE8c,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,iBACjCF,eAAA,OAAKG,UAAU,UAASD,SACtBF,eAAA,OAAKG,UAAU,gBAAeD,SAC5Bge,gBAAA,SAAO1Z,MAAO,CAAElE,MAAO,QAASJ,SAAA,CAC9BF,eAAA,SAAOG,UAAU,gBAAeD,SAC9Bge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,aACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPT,EAAVS,EAAY9J,aAAK,IAAAqJ,OAAP,EAAVA,EAAmB7qH,KAAKqqB,GAChB3rC,eAAA,MAAAE,SAAKyrC,EAAKqB,iBAKvB9uB,gBAAA,SAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,oBACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPR,EAAVQ,EAAY9J,aAAK,IAAAsJ,OAAP,EAAVA,EAAmB9qH,KAAI,CAAC0xB,EAAM7wC,IAC7BnC,eAAA,MAAcG,UAAU,MAAKD,SAC1B8yC,EAAKya,iBADCtrD,QAMb+b,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,wBACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPP,EAAVO,EAAY9J,aAAK,IAAAuJ,OAAP,EAAVA,EAAmB/qH,KAAI,CAAC0xB,EAAM7wC,IAC7BnC,eAAA,MAAcG,UAAU,MAAKD,SAC1B8yC,EAAK65F,qBADC1qI,QAMb+b,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,sBACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPN,EAAVM,EAAY9J,aAAK,IAAAwJ,OAAP,EAAVA,EAAmBhrH,KAAI,CAAC0xB,EAAM7wC,IAC7BnC,eAAA,MAAcG,UAAU,MAAKD,SAC1B8yC,EAAK85F,mBADC3qI,QAMb+b,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,wBACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPL,EAAVK,EAAY9J,aAAK,IAAAyJ,OAAP,EAAVA,EAAmBjrH,KAAI,CAAC0xB,EAAM7wC,IAC7BnC,eAAA,MAAcG,UAAU,MAAKD,SAC1B8yC,EAAK+5F,qBADC5qI,QAMb+b,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,mBACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPJ,EAAVI,EAAY9J,aAAK,IAAA0J,OAAP,EAAVA,EAAmBlrH,KAAI,CAAC0xB,EAAM7wC,IAC7BnC,eAAA,MAAcG,UAAU,MAAKD,SAC1B8yC,EAAKg+C,eAAeA,gBADd7uF,QAMb+b,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,wBACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPH,EAAVG,EAAY9J,aAAK,IAAA2J,OAAP,EAAVA,EAAmBnrH,KAAI,CAAC0xB,EAAM7wC,IAC7BnC,eAAA,MAAcG,UAAU,MAAKD,SAC1B8yC,EAAKg6F,uBADC7qI,QAMb+b,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,wBACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPF,EAAVE,EAAY9J,aAAK,IAAA4J,OAAP,EAAVA,EAAmBprH,KAAI,CAAC0xB,EAAM7wC,IAC7BnC,eAAA,MAAcG,UAAU,MAAKD,SAC1B8yC,EAAKi6F,qBADC9qI,QAMb+b,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,mBACb,OAAV0sI,QAAU,IAAVA,GAAiB,QAAPD,EAAVC,EAAY9J,aAAK,IAAA6J,OAAP,EAAVA,EAAmBrrH,KAAI,CAAC0xB,EAAM7wC,IAC7BnC,eAAA,MAAcG,UAAU,MAAKD,SAC1B8yC,EAAKk6F,gBADC/qI,oBASjB,E,QCPKgrI,OAtFkB/rI,IAAW,IAADgsI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EACzC,IAAI,yBAAEC,GAA6BxsI,EAEnC,OACE8c,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,+BACjCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBge,gBAAA,OAAK/d,UAAW,UAAgC,OAAxBytI,QAAwB,IAAxBA,GAA8B,QAANR,EAAxBQ,EAA0Bh8G,YAAI,IAAAw7G,OAAN,EAAxBA,EAAgCS,YAAa,EAAI,eAAe,UAAY3tI,SAAA,CAClGF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CACO,OAAxB0tI,QAAwB,IAAxBA,GAA8B,QAANP,EAAxBO,EAA0Bh8G,YAAI,IAAAy7G,OAAN,EAAxBA,EAAgCQ,WAAW,YAIhD3vH,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,OAAMD,SAAC,cACtBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CACO,OAAxB0tI,QAAwB,IAAxBA,GAA8B,QAANN,EAAxBM,EAA0Bh8G,YAAI,IAAA07G,OAAN,EAAxBA,EAAgCQ,cAAc,kBAInD5vH,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,OAAMD,SAAC,aACtBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CACO,OAAxB0tI,QAAwB,IAAxBA,GAA8B,QAANL,EAAxBK,EAA0Bh8G,YAAI,IAAA27G,OAAN,EAAxBA,EAAgCQ,SAASjuI,QAAQ,GAAG,YAIzDoe,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,OAAMD,SAAC,mBACtBF,eAAA,OAAKG,UAAU,MAAKD,SACO,OAAxB0tI,QAAwB,IAAxBA,GAA8B,QAANJ,EAAxBI,EAA0Bh8G,YAAI,IAAA47G,GAAgB,QAAhBC,EAA9BD,EAAgCx8C,sBAAc,IAAAy8C,OAAtB,EAAxBA,EAAgDz8C,oBAIrD9yE,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,OAAMD,SAAC,UACtBF,eAAA,OAAKG,UAAU,MAAKD,SACO,OAAxB0tI,QAAwB,IAAxBA,GAA8B,QAANF,EAAxBE,EAA0Bh8G,YAAI,IAAA87G,OAAN,EAAxBA,EAAgC5lF,eAIrC5pC,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,OAAMD,SAAC,SACtBF,eAAA,OAAKG,UAAU,MAAKD,SAA0B,OAAxB0tI,QAAwB,IAAxBA,GAA8B,QAAND,EAAxBC,EAA0Bh8G,YAAI,IAAA+7G,OAAN,EAAxBA,EAAgCK,aAG1D9vH,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,eACfH,eAAA,OAAKG,UAAU,OAAMD,SAAC,cAExBge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,eACfH,eAAA,OAAKG,UAAU,OAAMD,SAAC,2BAG1Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,uBACjCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,MAAKD,SAChB1C,aAAQowI,EAAyBlkF,UAe/B,KAdAkkF,EAAyBlkF,SAAS7rD,OAChC+vI,EAAyBlkF,SAASpoC,KAAI,CAACve,EAAS07B,KAAW,IAADwvG,EACxD,OACE/vH,gBAAA,OAAiB/d,UAAU,gBAAeD,SAAA,CACxCF,eAAA,OAAKG,UAAU,UAASD,SAAE6C,EAAQiqC,UAClChtC,eAAA,MAAAE,SACU,OAAP6C,QAAO,IAAPA,GAAe,QAARkrI,EAAPlrI,EAASknH,cAAM,IAAAgkB,OAAR,EAAPA,EAAiB3sH,KAAI,CAACqqB,EAAMlN,IAC3Bz+B,eAAA,MAAAE,SAAiByrC,EAAKuG,OAAbzT,SAJLA,EAOJ,IAGV,iBAMV,ECsMKyvG,OAlRqB9sI,IAClC,IAAI,OACFN,EAAM,aACNouB,EAAY,cACZE,EAAa,OACbq7B,EAAM,yBACN0jF,EAAwB,gBACxBnjF,EAAe,gBACfC,EAAe,aACfC,EAAY,QACZX,EAAO,aACPszE,GACEz8H,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCyvH,WAAY,CAAC,EACbgB,yBAA0B,GAC1Bz8C,WAAY,EACZi9C,cAAe,GACfzC,kBAAmB,GACnBC,UAAW,KAGbpqI,qBAAU,KACR6sI,IACAC,GAA4B,GAC3B,IAEH9sI,qBAAU,KACR+sI,GAAe,GACd,CAAC5tI,EAAMytI,gBAEV,IAAI,WACFxB,EAAU,kBACVjB,EAAiB,cACjByC,EAAa,UACbxC,EAAS,yBACTgC,GACEjtI,EAEJ,MAAM4tI,EAAgB98G,UACpBvC,IACA,MAAMs/G,EAAa7tI,EAAMytI,cAAc/tF,QAAQ,KAAM,IAErD,IAAIzuB,EAAO,CACTyH,QAASwkG,EACThwE,SAAUtD,EACVy8C,MAAOwnC,GAGT,IACE,MAAMtvH,QAAiBwS,KAAMqC,KAC3B,sEACAnC,GAGFtwB,QAAQC,IAAI,gBAAiB2d,EAAS0S,MACT,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHq7G,WAAY1tH,EAAS0S,KAAKA,SAG5Bs5B,EAAahsC,EAAS0S,KAAKA,KAAKosG,iBAChChzE,EAAgB9rC,EAAS0S,KAAKA,KAAK68G,eACnCxjF,EAAgB/rC,EAAS0S,KAAKA,KAAKoxG,MACnC5zG,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,CAAC,QACCmqB,GAEF,GAGIi/G,EAAwB58G,UAC5BvC,IAEA,IAAI0C,EAAO,CACTyH,QAASwkG,EACThwE,SAAUtD,EACVy8C,MAAOonC,GAGT,IACE,MAAMlvH,QAAiBwS,KAAMqC,KAC3B,yEACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHo6G,kBAAmBzsH,EAAS0S,KAAKA,KAAKkxG,MACtC8I,UAAW1sH,EAAS0S,KAAK88G,mBAE3Bt/G,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIqpI,EAA6B78G,UACjCvC,IAEA,IAAI0C,EAAO,CACTyH,QAASwkG,EACThwE,SAAUtD,EACVy8C,MAAOonC,GAGT,IACE,MAAMlvH,QAAiBwS,KAAMqC,KAC3B,oEACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHq8G,yBAA0B1uH,EAAS0S,SAErCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAUF,OACEiZ,gBAAA,OAAK/d,UAAU,oCAAmCD,SAAA,CAChDF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAExB1C,aAAQitD,GAmCN,KAlCM,OAANA,QAAM,IAANA,KAAQ5sD,OACA,OAAN4sD,QAAM,IAANA,OAAM,EAANA,EAAQnpC,KAAI,CAACve,EAAS07B,IAElBz+B,eAAA,OAAKG,UAAU,4BAA2BD,SACtDF,eAAA,OAAKG,UAAU,kCAAiCD,SACpCge,gBAAA,OAEE/d,UAAU,6BAA4BD,SAAA,CAEtCF,eAAA,SACEK,KAAK,QACL0e,GAAI,WAAkB,OAAPhc,QAAO,IAAPA,OAAO,EAAPA,EAASiC,OACxBA,KAAK,UACLvH,MAAc,OAAPsF,QAAO,IAAPA,OAAO,EAAPA,EAASiC,KAChBuc,QACExe,EAAQiC,OAAS+Y,SAASpd,EAAMytI,eAElCxvH,SAAWnB,IACTkxH,OAhCI3pI,EAmCFjC,EAAQiC,UAlCtC0rB,GAAUa,IAAS,IACdA,EACH68G,cAAeppI,MAHO2pI,IAAQ3pI,CAqCL,IAEHhF,eAAA,SAAOwhB,QAAS,WAAkB,OAAPze,QAAO,IAAPA,OAAO,EAAPA,EAASiC,OAAO9E,SACjC,OAAP6C,QAAO,IAAPA,OAAO,EAAPA,EAASiC,SApBPy5B,SA2BX,KAIVz+B,eAAA,OAAKG,UAAU,6BAA4BD,SACzCge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,WAAAE,SACEge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,kBACrBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOyP,iBAAkByM,IAAI,UAEzCphB,eAAA,OAAKG,UAAU,mBAAkBD,SAC9B0sI,EAAW6B,sBAKlBvwH,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,mBACrBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAO0P,iBAAkBwM,IAAI,UAEzCphB,eAAA,OAAKG,UAAU,qBAAoBD,SAChC0sI,EAAW5J,aAKlB9kH,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,eACrBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAO2P,iBAAkBuM,IAAI,UAEzCphB,eAAA,OAAKG,UAAU,gBAAeD,SAC3B0sI,EAAWgC,mBAKlB1wH,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,iBACrBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAO4P,iBAAkBsM,IAAI,UAEzCphB,eAAA,OAAKG,UAAU,kBAAiBD,SAC7B0sI,EAAWiC,0BAOtB3wH,gBAAA,WAAS/d,UAAU,qBAAoBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,yBAAwBD,SAAC,yHAMxCge,gBAAA,UAAQ/d,UAAU,MAAMge,QAASgwH,EAAyBjuI,SAAA,CACxDF,eAAA,QAAAE,SAAM,oBAAuB,IAC7BF,eAAA,QAAAE,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOsP,iBAAkB4M,IAAI,gBAK7CphB,eAAC0rI,GAAsB,CACrBC,kBAAmBA,EACnBC,UAAWA,IAGb5rI,eAACksI,GAAgB,CAACU,WAAYA,IAE9B5sI,eAACmtI,GAAuB,CACtBS,yBAA0BA,gBAMhC,OACJ9sI,GAAUd,eAACD,KAAW,MACpB,EC5MKW,qBAhCUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB+8H,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,OACxDm1B,QAAS5pD,EAAMs2H,kBAAkB9rE,kBAAkBZ,QACnDE,OAAQ9pD,EAAMs2H,kBAAkB9rE,kBAAkBV,WAI3Bt6B,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAErC46B,gBAAkBl7B,IAChBK,EAAS66B,GAAgBl7B,GAAS,EAEpCm7B,gBAAkBn7B,IAChBK,EAAS86B,GAAgBn7B,GAAS,EAEpC+6B,iBAAmB/6B,IACjBK,EAAS06B,GAAiB/6B,GAAS,EAErCo7B,aAAep7B,IACbK,EAAS+6B,GAAap7B,GAAS,KAKtBpvB,EAjEKU,IAClBE,QAAQC,IAAI,QAAQH,GACpB,MAAM,OACJN,EAAM,QACNypD,EAAO,OACPE,EAAM,yBACN0jF,EAAwB,cACxB/+G,EAAa,aACbF,EAAY,gBACZ87B,EAAe,gBACfC,EAAe,aACf4yE,EAAY,aACZ3yE,GACE9pD,EAEJ,OADFE,QAAQC,IAAI,UAAUgpD,GAElBvqD,eAAA,OAAAE,SACEF,eAACkuI,GAA0B,CACzBC,yBAA0BA,EAC1BrtI,OAAQA,EACRypD,QAASA,EACTE,OAAQA,EACRozE,aAAcA,EACd3uG,aAAcA,EACdE,cAAeA,EACf47B,gBAAiBA,EACjBC,gBAAiBA,EACjBC,aAAcA,KAEZ,I,QC6HK4jF,OA/J4B1tI,IACzC,MAAM,aACJy8H,EAAY,QACZtzE,EAAO,cACPC,EAAa,aACbt7B,EAAY,cACZE,EAAa,OACbtuB,GACEM,GAEGT,EAAO+vB,GAAYvT,mBAAS,CACjCmvB,YAAa,GACbyiG,cAAe,GACfC,aAAc,QAGV,cAAED,EAAa,YAAEziG,EAAW,aAAE0iG,GAAiBruI,EAErDa,qBAAU,KACR+qC,GAAgB,GACf,IAEH/qC,qBAAU,KACJwtI,GACFC,GACF,GACC,CAACD,IAEJ,MAAMziG,EAAiB9a,UACrBvC,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,+EACA,CACEsF,QAASwkG,EACThwE,SAAUtD,IAIe,MAAzBrrC,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IAAA29G,EAAA,MAAM,IACpB39G,EACH+a,YAAaptB,EAAS0S,KAAK83B,SAC3BslF,cAAuC,QAAzBE,EAAAhwH,EAAS0S,KAAK83B,SAAS,UAAE,IAAAwlF,OAAA,EAAzBA,EAA2BliG,UAAW,KACrD,IAGH5d,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGI6/G,EAAmBx9G,UACvBvC,IAEA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAC3B,qEACA,CACEiZ,QAASgiG,EACT31G,QAASwkG,EACThwE,SAAUtD,EACVyzE,gBAAiBxzE,IAIQ,MAAzBtrC,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHw9G,cAAe7vH,EAAS0S,KAAKA,KAAKu9G,eAItC//G,GACF,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,GAGIggH,EAAwB3xH,IAC5B,MAAM,MAAEhgB,GAAUggB,EAAMK,OACxB4S,GAAUa,IAAS,IACdA,EACHy9G,aAAcvxI,KACb,EAGL,OACEuC,eAAA,OAAKG,UAAU,2CAA0CD,SACvDF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kCAAiCD,UAC5C1C,aAAQ8uC,IACRA,EAAYhrB,KAAI,CAACve,EAAS07B,IACxBvgB,gBAAA,OAEE/d,UAAU,6BAA4BD,SAAA,CAEtCF,eAAA,SACEK,KAAK,QACL0e,GAAI,GAAGhc,EAAQiqC,WACfhoC,KAAK,eACLvH,MAAOsF,EAAQiqC,QACfzrB,QAASxe,EAAQiqC,UAAYgiG,EAC7BpwH,SAAUwwH,IAEZpvI,eAAA,SAAOwhB,QAAS,GAAGze,EAAQiqC,WAAW9sC,SACnC6C,EAAQiqC,YAZN,GAAGjqC,EAAQiqC,kBAmB1BhtC,eAAA,OAAKG,UAAU,6BAA4BD,SACzCF,eAAA,WAAAE,SACEge,gBAAA,SAAOa,GAAG,YAAW7e,SAAA,CACnBF,eAAA,SAAAE,SACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,UACJF,eAAA,MAAAE,SAAI,oBACJF,eAAA,MAAAE,SAAI,YACJF,eAAA,MAAAE,SAAI,UACJF,eAAA,MAAAE,SAAI,qBAGRF,eAAA,SAAAE,UACI1C,aAAQuxI,IACRA,EAAcztH,KAAI,CAACve,EAAS07B,IAC1BvgB,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAK6C,EAAQ4rD,aACb3uD,eAAA,MAAIG,UAAU,MAAKD,SAAE6C,EAAQssI,iBAE7BrvI,eAAA,MAAIG,UAAU,MAAMqE,MAAO,CAAClF,WAAW,WAAWY,SAAE6C,EAAQmoF,aAC5DlrF,eAAA,MAAIG,UAAU,MAAOqE,MAAO,CAAClF,WAAW,WAAWY,SAAE6C,EAAQusI,WAC7DtvI,eAAA,MAAIG,UAAU,MAAOqE,MAAO,CAAClF,WAAW,WAAWY,SAChD6C,EAAQssI,gBACNtsI,EAAQmoF,WAAanoF,EAAQusI,cAR3B7wG,iBAiBtB39B,GAAUd,eAACD,KAAW,UAGvB,EC/GKW,qBArBUC,IACvBW,QAAQC,IAAI,aAAcZ,GACnB,CACLG,OAAQH,EAAMI,GAAGD,OACjB+8H,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,OACxDm1B,QAAS5pD,EAAMs2H,kBAAkB9rE,kBAAkBZ,QACnDC,cAAe7pD,EAAMs2H,kBAAkB9rE,kBAAkBX,kBAIlCr6B,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA7CYU,IACzB,MAAM,OACJN,EAAM,aACN+8H,EAAY,QACZtzE,EAAO,cACPC,EAAa,aACbt7B,EAAY,cACZE,GACEhuB,EAEJ,OACEpB,eAAA,OAAAE,SACEF,eAAC8uI,GAAiC,CAChChuI,OAAQA,EACR+8H,aAAcA,EACdtzE,QAASA,EACTC,cAAeA,EACft7B,aAAcA,EACdE,cAAeA,KAEb,I,gBCuLKmgH,OA3MgBnuI,IAC7B,IAAI,mBACFouI,EAAkB,cAClBl4G,EAAa,cACbm4G,EAAa,QACbpuI,EAAO,KACPswD,EAAI,cACJnH,EAAa,QACbD,EAAO,eACP0hD,GACE7qG,EAEJ,MAAOsuI,EAAgBC,GAAqBxyH,oBAAS,GAErD3b,qBAAU,KAERmuI,EAAkBh+E,IAAS69E,EAAmBp2D,MAAM,GACnD,CAACo2D,EAAoB79E,IAExB,MAAM26B,EAAuBA,CAACvpF,EAAS07B,IAEnCz+B,eAAA,KAEEg+C,wBAAyB,CACvBC,OAAQl7C,EAAQ2oF,SAFbjtD,GAoBX,OACEz+B,eAAA,OAAKG,UAAU,MAAKD,SAChB1C,aAAQgyI,GA0JN,KAzJAA,EAAmB59G,KAAK/zB,OACtB2xI,EAAmB59G,KAAKtQ,KAAI,CAACve,EAAS07B,KAAW,IAADmxG,EAAAC,EAC9C,OACE3xH,gBAAA,OACE/d,UAAW,iBACc,UAAvB4C,EAAQmoF,WACJ,eACA,gBACHhrF,SAAA,CAEHge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,UAAQG,UAAW,gBAAuB,GAARwxD,EAAY,GAAI,UAAaxzC,QAASsxH,EAAcvvI,SACtFF,eAAA,KAAGiiB,MAAM,0BAET/D,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,KAAID,SAAA,CACjBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,YAE5Bge,gBAAA,QAAAhe,SAAA,CAAM,IACFyxD,EAAK,IAAE69E,EAAmBp2D,MAAM,UAGtCp5E,eAAA,OAAKG,UAAU,mBAAkBD,SACP,UAAvB6C,EAAQmoF,WACPhtE,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OACEsgB,IAAKpb,GAAOkQ,iBACZgM,IAAI,UAGRphB,eAAA,OAAKG,UAAU,eAAcD,UACnB,OAAP6C,QAAO,IAAPA,OAAO,EAAPA,EAASmoF,aACRnoF,EAAQmoF,WAAWxyB,OAAO,GACxB31D,EAAQmoF,WAAW/sF,MAAM,GAAGW,mBAIpCof,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OACEsgB,IAAKpb,GAAO6P,iBACZqM,IAAI,UAGRphB,eAAA,OAAKG,UAAU,iBAAgBD,UACrB,OAAP6C,QAAO,IAAPA,OAAO,EAAPA,EAASmoF,aACRnoF,EAAQmoF,WAAWxyB,OAAO,GACxB31D,EAAQmoF,WAAW/sF,MAAM,GAAGW,wBAO1CkB,eAAA,OACEG,UAAU,QACVge,QAASA,KAAMuuB,OAzEfojG,EAyE8B/sI,EAAQ8lF,SAxE5DxnF,EAAQkyB,KAAK,CACXC,SAAU,kBACV7yB,MAAO,CACLkoF,IAAKinD,EACLtlF,cAAeA,EACfyzE,cAAe1zE,EACf0hD,eAAgBA,KAPE6jC,KAyE2C,EAAA5vI,SAC5C,sBAIHF,eAAA,OAAKG,UAAU,MAAKD,SACjBosF,EAAqBvpF,EAAS07B,QAGnCz+B,eAAA,UACEG,UAAW,gBAAewxD,GAAQ69E,EAAmBp2D,MAAQ,GAAK,UAClEj7D,QAASmZ,EAETnY,SAAUwyC,IAAS69E,EAAmBp2D,MAAqBl5E,SAE3DF,eAAA,KAAGiiB,MAAM,8BAIb/D,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,UAASD,SAAC,mBACzBF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,wBACtBF,eAAA,OAAKG,UAAU,MAAKD,SAAE6C,EAAQ+kD,eAGhC5pC,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,iBACtBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,SAGvBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,mBACtBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,SAGvBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,6BACtBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,UAGvBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,sBACtBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,qBAM7Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,UAASD,SAAC,kBACzBF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CACiB,QADjB0vI,EACjB7sI,EAAQgtI,gBAAgBlC,kBAAU,IAAA+B,OAAA,EAAlCA,EAAoC/lG,KAAK,aAI9C3rB,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,WACtBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CACuB,QADvB2vI,EACjB9sI,EAAQgtI,gBAAgBC,wBAAgB,IAAAH,OAAA,EAAxCA,EAA0ChmG,KAAM,IAAI,YAKzD3rB,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,oBACtBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CACjB6C,EAAQgtI,gBAAgBE,aAAa,aAI1C/xH,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,sBACtBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,mBAGvBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,SACfH,eAAA,OAAKG,UAAU,wBAMrB,IAGV,MAEF,ECsFK+vI,OA1R+B9uI,IAC5C,IAAI,aACF8tB,EAAY,cACZE,EAAa,cACbo7B,EAAa,OACb1pD,EAAM,aACN+8H,EAAY,QACZtzE,GACEnpD,EAEJ,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjCgzH,iBAAkB,CAAC,EACnBX,mBAAoB,CAAC,EACrB79E,KAAM,EACNrlB,YAAa,GACb2/D,eAAgB,OAGlB,IAAI,iBACFkkC,EAAgB,mBAChBX,EAAkB,KAClB79E,EAAI,YACJrlB,EAAW,eACX2/D,GACEtrG,EAEAU,EAAUm1B,uBAEdh1B,qBAAU,KACR+qC,GAAgB,GACf,IAEH/qC,qBAAU,KACJyqG,GACFmkC,GACF,GACC,CAACnkC,IAEJzqG,qBAAU,KACJyqG,GACFokC,GACF,GACC,CAACpkC,EAAgBt6C,IAGpB,MAAMy+E,EAAsB3+G,UAC1BvC,IACA,IAAI0C,EAAO,CACTob,QAASi/D,EACT5yE,QAASwkG,EACThwE,SAAUtD,EACVyzE,gBAAiBxzE,GAGnB,IACE,MAAMtrC,QAAiBwS,KAAMqC,KAC3B,wEACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH4+G,iBAAkBjxH,EAAS0S,KAAKA,SAElCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIorI,EAAoB5+G,UACxBvC,IAEA,IAAI0C,EACOq6E,EADPr6E,EAEOisG,EAFPjsG,EAGQ24B,EAHR34B,EAIe44B,EAInB,IACE,MAAMtrC,QAAiBwS,KAAMC,IAC3B,+EAA+EC,cAAyBA,qBAAiCA,aAAgCA,UAAqB+/B,KAGnK,MAAzBzyC,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHi+G,mBAAoBtwH,EAAS0S,KAAKgmE,cAEpCxoE,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIsnC,EAAiB9a,UAKrB,IAAIG,EAAO,CACTyH,QAASwkG,EACThwE,SAAUtD,GAIZ,IACE,MAAMrrC,QAAiBwS,KAAMqC,KAC3B,+EACAnC,GAGFtwB,QAAQC,IAAI,yBAA0B2d,GACT,MAAzBA,EAAS0S,KAAKC,QAChBnB,GAAUqgE,IAAQ,IACbA,EACHzkD,YAAa,IAAIptB,EAAS0S,KAAK83B,UAC/BuiD,eAAgB/sF,EAAS0S,KAAK83B,SAAS,GAAG1c,WAShD,CAAE,MAAO/nC,GACP3D,QAAQC,IAAI0D,EAEd,GAYIqyB,EAAgBA,KACpB5G,GAAUa,IAAS,IAAWA,EAAWogC,KAAMA,EAAO,KAAK,EAGvD89E,EAAgBA,KAChB99E,EAAO,GACTjhC,GAAUa,IAAS,IAAWA,EAAWogC,KAAMA,EAAO,KACxD,EAgFF,OACE3xD,eAAA,OAAKG,UAAU,8CAA6CD,SAC1DF,eAAA,OAAKG,UAAU,uBAAsBD,SACnCF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,kCAAiCD,SAC5C1C,aAAQ8uC,GAyBN,KAxBAA,EAAYzuC,OACVyuC,EAAYhrB,KAAI,CAACve,EAAS07B,IAEtBvgB,gBAAA,OAEE/d,UAAU,6BAA4BD,SAAA,CAEtCF,eAAA,SACEK,KAAK,QACL0e,GAAIhc,EAAQiqC,QACZhoC,KAAK,UACLvH,MAAOsF,EAAQiqC,QACfzrB,QAASxe,EAAQiqC,UAAYrsC,EAAMsrG,eACnCrtF,SAAWnB,IArHVA,KAC3B,IAAI,MAAEhgB,GAAUggB,EAAMK,OACtB4S,GAAUa,IAAS,IACdA,EACH06E,eAAgBxuG,EAChBk0D,KAAM,KACL,EAgHyBnD,CAAoB/wC,EAAM,IAG9Bzd,eAAA,SAAOwhB,QAASze,EAAQiqC,QAAQ9sC,SAC7B6C,EAAQiqC,YAdNjqC,EAAQiqC,WAmBnB,SAKVhtC,eAAA,OAAKG,UAAU,6BAA4BD,SA/GjDge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,WAAAE,SACEge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,UACtBF,eAAA,OAAKG,UAAU,YAAWD,SAAEiwI,EAAiBrN,WAG/C5kH,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBF,eAAA,OAAKG,UAAU,iBAAgBD,SAAEiwI,EAAiBpN,gBAGpD7kH,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,SACtBF,eAAA,OAAKG,UAAU,WAAUD,SAAEiwI,EAAiBnN,eAKlDhjI,eAAA,WAASG,UAAU,gBAAeD,SAChCge,gBAAA,SAAO1Z,MAAO,CAAElE,MAAO,QAASJ,SAAA,CAC9BF,eAAA,SAAAE,SACEge,gBAAA,MAAI/d,UAAU,gBAAeD,SAAA,CAC3BF,eAAA,MAAAE,SAAI,eACJF,eAAA,MAAAE,SAAI,cACJF,eAAA,MAAAE,SAAI,oBAGRge,gBAAA,SAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,oBACJF,eAAA,MAAIG,UAAU,MAAKD,SAAEiwI,EAAiB/7E,iBACtCp0D,eAAA,MAAIG,UAAU,MAAKD,SAAC,SAGtBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,4BACJF,eAAA,MAAIG,UAAU,cAAaD,SAAEiwI,EAAiB3jC,UAC9CxsG,eAAA,MAAIG,UAAU,cAAaD,SAAEiwI,EAAiBG,wBAGhDpyH,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,8BACJF,eAAA,MAAIG,UAAU,YAAWD,SAAEiwI,EAAiBI,QAC5CvwI,eAAA,MAAIG,UAAU,YAAWD,SAAEiwI,EAAiBK,sBAG9CtyH,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,gCACJF,eAAA,MAAIG,UAAU,kBAAiBD,SAAEiwI,EAAiBM,cAClDzwI,eAAA,MAAIG,UAAU,kBAAiBD,SAC5BiwI,EAAiBO,oCAO5B1wI,eAAA,WAASG,UAAU,kBAAiBD,SAClCF,eAACuvI,GAAqB,CACpBC,mBAAoBA,EACpBl4G,cAAeA,EACfm4G,cAAeA,EACfpuI,QAASA,EACTswD,KAAMA,EACNnH,cAAeA,EACfyhD,eAAgBA,EAChB1hD,QAASA,WA8CRzpD,GAAUd,eAACD,KAAW,YAIzB,EC7OKW,qBApBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB+8H,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,OACxDm1B,QAAS5pD,EAAMs2H,kBAAkB9rE,kBAAkBZ,QACnDC,cAAe7pD,EAAMs2H,kBAAkB9rE,kBAAkBX,kBAIlCr6B,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EA3CeU,IAC5B,MAAM,OACJN,EAAM,aACN+8H,EAAY,QACZtzE,EAAO,cACPC,EAAa,aACbt7B,EAAY,cACZE,GACEhuB,EACJ,OACEpB,eAAA,OAAAE,SACEF,eAACkwI,GAAoC,CACnCpvI,OAAQA,EACR0pD,cAAeA,EACft7B,aAAcA,EACdE,cAAeA,EACfm7B,QAASA,EACTszE,aAAcA,KAEZ,I,QCsTK8S,OAxU2BvvI,IAAW,IAADwvI,EAClD,IAAI,aAAE/S,EAAY,QAAEtzE,EAAO,aAAEr7B,EAAY,cAAEE,EAAa,OAAEtuB,GAAWM,EAErE,MAAOT,EAAO+vB,GAAYvT,mBAAS,CACjC0zH,eAAgB,GAChBC,UAAW,CAAC,EACZC,qBAAsB,CAAC,EACvBpgH,KAAM,EACNqgH,eAAgB,CAAC,EACjB9vI,KAAM,CAAC,IAGTM,qBAAU,KACW,IAAfb,EAAMgwB,KACRsgH,IACwB,IAAftwI,EAAMgwB,MAAchwB,EAAMowI,qBAAqBG,iBACxDC,GACF,GACC,CAACxwI,EAAMgwB,OAEV,MAAMsgH,EAAoBx/G,UACxBvC,IAEA,IAAI0C,EAAO,CACTyH,QAASwkG,EACThwE,SAAUtD,GAGZ,IACE,MAAMrrC,QAAiBwS,KAAMqC,KAC3B,mEACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHu/G,UAAW5xH,EAAS0S,KAAK05G,WACzBuF,eAAgB3xH,EAAS0S,KAAKA,SAEhCxC,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIksI,EAAoB1/G,UACxBvC,IACA,IAAI0C,EAAO,CACTyH,QAASwkG,EACThwE,SAAUtD,EACV2mF,gBAAiBvwI,EAAMowI,qBAAqBG,iBAG9C,IACE,MAAMhyH,QAAiBwS,KAAMqC,KAC3B,wEACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHrwB,KAAMge,EAAS0S,KAAKA,KAAK1wB,KACzB8vI,eAAgB9xH,EAAS0S,KAAKA,KAAKw/G,gBAErChiH,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAWF,IAAI,eACF4rI,EAAc,UACdC,EAAS,qBACTC,EAAoB,KACpBpgH,EAAI,KACJzvB,EAAI,eACJ8vI,GACErwI,EAoGJ,OACEud,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,WAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,KAAAE,SAAG,mCAGLge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,MAAKD,SAAC,gBACrBge,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,UACtBF,eAAA,OAAKG,UAAU,MAAKD,SAAE4wI,EAAUnjF,iBAElCzvC,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,SACtBF,eAAA,OAAKG,UAAU,MAAKD,SAAE4wI,EAAU9N,gBAKrCrlI,OAAOC,KAAKmzI,GAAsBlzI,OACjCqgB,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,UACE,iBAAe,QACf,iBAAe,kBAAiBE,SAGhCF,eAAA,OAAKsgB,IAAKpb,GAAO+P,mBAAoBmM,IAAI,YAG7CphB,eAAA,OAAKG,UAAU,OAAMD,SACE,OAApB6wI,QAAoB,IAApBA,GAAoC,QAAhBH,EAApBG,EAAsBM,sBAAc,IAAAT,OAAhB,EAApBA,EAAsC5rI,UAI3CkZ,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,UACE,iBAAe,QACf,iBAAe,kBAAiBE,SAElCF,eAAA,KAAGiiB,MAAM,oBAIXjiB,eAAA,OAAKG,UAAU,OAAMD,SAAC,kBAK3BvC,OAAOC,KAAKmzI,GAAsBlzI,OACjCmC,eAAA,OAAKG,UAAU,mBAAmBge,QAzJzB4tF,KACjBr7E,GAAUa,IAAS,IACdA,EACHZ,KAAM,KACL,EAqJ2DzwB,SACpDF,eAAA,UAAAE,SAAQ,cAGVF,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,UAAAE,SAAQ,iBAKdF,eAAA,OACEG,UAAU,aACV4e,GAAG,iBACH,mBAAiB,SACjB,mBAAiB,QACjB6kB,SAAS,KACT,kBAAgB,sBAChB,cAAY,OAAM1jC,SAElBF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKG,UAAU,oBAAmBD,SAAC,+BAGnCF,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,UACEK,KAAK,SACLF,UAAU,YACV,kBAAgB,QAChB,aAAW,eAIjBH,eAAA,OAAKG,UAAU,WAAUD,SACvBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,SACxBF,eAAA,MAAIG,UAAU,WAAUD,SAAC,UACzBF,eAAA,MAAIG,UAAU,UAASD,SAAC,cAI5BF,eAAA,OAAKG,UAAU,aAAYD,SACvB1C,aAAQmD,EAAMkwI,gBA0BZ,KAzBAlwI,EAAMkwI,eAAehzI,OACnB8C,EAAMkwI,eAAevvH,KAAI,CAACve,EAAS07B,KAAW,IAAD6yG,EAAAC,EAAAC,EAC3C,OACExxI,eAAA,OAEEG,UAAU,uBACV,iBAAe,QACf,iBAAe,kBACfge,QAASA,KAAMszH,OA9NXC,EA8NgC3uI,OA7N5D2tB,GAAUa,IAAS,IACdA,EACHw/G,qBAAsBW,EACtB/gH,KAAM,MAJoB+gH,KA8NyC,EAAAxxI,SAE7Cge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SACE,QADFoxI,EACpBvuI,EAAQsuI,sBAAc,IAAAC,OAAA,EAAtBA,EAAwBtsI,OAE3BhF,eAAA,MAAIG,UAAU,WAAUD,SACC,QADDqxI,EACrBxuI,EAAQsuI,sBAAc,IAAAE,OAAA,EAAtBA,EAAwB5jF,cAE3B3tD,eAAA,MAAIG,UAAU,UAASD,SACE,QADFsxI,EACpBzuI,EAAQsuI,sBAAc,IAAAG,OAAA,EAAtBA,EAAwBxO,WAdxBvkG,EAiBD,IAGV,cAOdz+B,eAAA,OAAKG,UAAU,SAAQD,SA7NTyxI,MAClB,OAAa,IAAThhH,EAEAzS,gBAAA,WAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,oBACjCge,gBAAA,SAAOa,GAAG,YAAW7e,SAAA,CACnBF,eAAA,SAAAE,SACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,SACJF,eAAA,MAAIG,UAAU,UAASD,SAAC,SACxBF,eAAA,MAAAE,SAAI,UACJF,eAAA,MAAAE,SAAI,SACJF,eAAA,MAAAE,SAAI,oBAGRF,eAAA,SAAAE,SACI1C,aAAQqzI,GAoBN,KAnBAA,EAAehzI,OACbgzI,EAAevvH,KAAI,CAACve,EAAS07B,KAAW,IAADmzG,EAAAC,EAAAC,EACrC,OACE5zH,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAI/d,UAAU,MAAKD,SAAA,CAAEu+B,EAAQ,EAAE,OAC/Bz+B,eAAA,MAAIG,UAAU,cAAaD,SACF,QADE0xI,EACxB7uI,EAAQsuI,sBAAc,IAAAO,OAAA,EAAtBA,EAAwB5sI,OAE3BhF,eAAA,MAAIG,UAAU,MAAKD,SACM,QADN2xI,EAChB9uI,EAAQsuI,sBAAc,IAAAQ,OAAA,EAAtBA,EAAwBlkF,cAE3B3tD,eAAA,MAAIG,UAAU,MAAKD,SACM,QADN4xI,EAChB/uI,EAAQsuI,sBAAc,IAAAS,OAAA,EAAtBA,EAAwB9O,OAE3BhjI,eAAA,MAAIG,UAAU,MAAKD,SAAC,SAXbu+B,EAYJ,IAGT,aAMI,IAAT9N,EAEPzS,gBAAA,WAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,yBACjCge,gBAAA,SAAOa,GAAG,mBAAkB7e,SAAA,CAC1BF,eAAA,SAAAE,SACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,YACJF,eAAA,MAAAE,SAAI,qBACJF,eAAA,MAAAE,SAAyB,OAApB6wI,QAAoB,IAApBA,GAAoC,QAAhBgB,EAApBhB,EAAsBM,sBAAc,IAAAU,OAAhB,EAApBA,EAAsC/sI,YAG/CkZ,gBAAA,SAAAhe,SAAA,CACEge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,UACJF,eAAA,MAAIG,UAAU,MAAKD,SAAEgB,EAAK4hI,QAC1B9iI,eAAA,MAAIG,UAAU,MAAKD,SAAE8wI,EAAelO,WAEtC5kH,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,SACJF,eAAA,MAAIG,UAAU,MAAKD,SAAEgB,EAAK8hI,OAC1BhjI,eAAA,MAAIG,UAAU,MAAKD,SAAE8wI,EAAehO,UAChC,IACN9kH,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,eACJF,eAAA,MAAIG,UAAU,MAAKD,SAAEgB,EAAK2oC,OAC1B7pC,eAAA,MAAIG,UAAU,MAAKD,SAAE8wI,EAAennG,UAChC,IACN3rB,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,wBACJF,eAAA,MAAIG,UAAU,MAAKD,SAAEgB,EAAK8wI,eAC1BhyI,eAAA,MAAIG,UAAU,MAAKD,SAAE8wI,EAAegB,kBAChC,IACN9zH,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,mBACJF,eAAA,MAAIG,UAAU,MAAKD,SAAEgB,EAAK8vF,iBAC1BhxF,eAAA,MAAIG,UAAU,MAAKD,SAAE8wI,EAAehgD,oBAChC,IACN9yE,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAI,8BACJF,eAAA,MAAIG,UAAU,MAAKD,SAAEgB,EAAK+wI,sBAC1BjyI,eAAA,MAAIG,UAAU,MAAKD,SAAE8wI,EAAeiB,uCAzCzC,EAAiB,IAADF,CA+CvB,EAqI6BJ,QAE1B7wI,GAAUd,eAACD,KAAW,MACnB,ECpSKW,qBAnBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB+8H,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,OACxDm1B,QAAS5pD,EAAMs2H,kBAAkB9rE,kBAAkBZ,YAI5Bp6B,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EAlCYU,IACzB,MAAM,aAAE8tB,EAAY,cAAEE,EAAa,OAAEtuB,EAAM,aAAE+8H,EAAY,QAAEtzE,GAAYnpD,EACvE,OACEpB,eAAA,OAAAE,SACEF,eAAC2wI,GAAgC,CAC/BzhH,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,EACR+8H,aAAcA,EACdtzE,QAASA,KAEP,I,QCqMK2nF,OA9MyB9wI,IACtC,MAAM,aACJ8tB,EAAY,cACZE,EAAa,OACbtuB,EAAM,aACN6pD,EAAY,aACZD,EAAY,OACZ5sC,EAAM,aACNyX,EAAY,cACZ48G,GACE/wI,GAEGT,EAAO+vB,GAAYvT,mBAAS,CACjCi1H,eAAgB,GAChB7yF,OAAQ,GACR8yF,cAAe,GACfC,iBAAkB,MAEd,eAAEF,EAAc,OAAE7yF,EAAM,cAAE8yF,EAAa,iBAAEC,GAAqB3xI,EAE9D4xI,EAAa,CAAC,UAAW,MAAO,KAAM,MAE5C/wI,qBAAU,KACRgxI,IACA7yF,GAAW,GACV,IAEHn+C,qBAAU,KACRgxI,EAAkB7xI,EAAM2xI,iBAAkB3xI,EAAMm/C,cAAc,GAC7D,CAACn/C,EAAM2xI,iBAAkB3xI,EAAMm/C,gBAElC,MAAM0yF,EAAoB/gH,MAAO+8C,EAAU7tE,KACzCuuB,IAIA,MAAMujH,EAAoC,IAAlBN,EAAsB,OAAS,MAEvD7wI,QAAQC,IACN,kBACAkxI,EACA,iBACAl9G,GAGFj0B,QAAQC,IAAI,+BAAgCkxI,GAE5C,MAAM7gH,EAAO,CAEX9T,OAAQyX,EACRytG,KAAMr4E,EACN6jB,WACA7tE,SAGFW,QAAQC,IAAI,2BAA4BqwB,GAExC,IACE,MAAM1S,QAAiBwS,KAAMqC,KAC3B,4EACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACH6gH,eAAgBlzH,EAAS0S,KAAK8gH,sBAEhCtjH,IAEJ,CAAE,MAAOnqB,GAEP3D,QAAQC,IAAI0D,EACd,GAGI06C,EAAYluB,UAChB,IACE,MAAMvS,QAAiBwS,KAAMqC,KAC3B,2EAE2B,MAAzB7U,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHguB,OAAQ,IAAIrgC,EAAS0S,KAAK+gH,4BAGhC,CAAE,MAAO1tI,GACP3D,QAAQC,IAAI0D,EACd,GAkBF,OACEiZ,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCge,gBAAA,WAAS/d,UAAU,QAAOD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,kBACrBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CACjB,IACDF,eAAA,OAAKsgB,IAAKpb,GAAOyP,iBAAkByM,IAAI,WAEzCphB,eAAA,OAAKG,UAAU,mBAAkBD,SAAEwqD,UAGvCxsC,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,MAAKD,SAAC,mBACrBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CACjB,IACDF,eAAA,OAAKsgB,IAAKpb,GAAO0P,iBAAkBwM,IAAI,WAEzCphB,eAAA,OAAKG,UAAU,qBAAoBD,SAAEyqD,aAI3CzsC,gBAAA,WAAS/d,UAAU,UAASD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,iBACjCF,eAAA,KAAGG,UAAU,OAAMD,SAAC,iCAEtBge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAAE,SAAK,eACLge,gBAAA,UACEa,GAAG,gBACHH,SAjDgBnB,IAC1B,MAAMqiC,EAAgBriC,EAAMK,OAAOrgB,MACnCizB,GAAUa,IAAS,IACdA,EACH8gH,cAAevyF,KACd,EA6COriD,MAAO40I,EAAcnyI,SAAA,CAErBF,eAAA,UAAQvC,MAAM,GAAG0hB,UAAQ,EAAAjf,SAAC,kBAGxB1C,aAAQ+hD,IACRA,EAAOj+B,KAAI,CAACve,EAAS07B,IACnBz+B,eAAA,UAAoBvC,MAAOsF,EAAQpC,MAAMT,SACtC6C,EAAQpC,OADE89B,WAOrBvgB,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAAE,SAAK,eACLF,eAAA,UACE+e,GAAG,qBACHH,SA5DoBnB,IAC9B,MAAMm1H,EAAmBn1H,EAAMK,OAAOrgB,MACtCizB,GAAUa,IAAS,IACdA,EACH+gH,iBAAkBM,KACjB,EAwDOn1I,MAAO60I,EAAiBpyI,UAEtB1C,aAAQ+0I,IACRA,EAAWjxH,KAAI,CAACve,EAAS07B,IACvBz+B,eAAA,UAAoBvC,MAAOsF,EAAQ7C,SAChC6C,EAAQ0kE,eADEhpC,gBAQzBz+B,eAAA,WAASG,UAAU,gBAAeD,SAChCge,gBAAA,SAAO1Z,MAAO,CAAElE,MAAO,QAASJ,SAAA,CAC9BF,eAAA,SAAOG,UAAU,gBAAeD,SAC9Bge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAIG,UAAU,UAASD,SAAC,UACxBF,eAAA,MAAAE,SAAI,iBACJF,eAAA,MAAAE,SAAI,uBAGRF,eAAA,SAAAE,SACI1C,aAAQ40I,GASRpyI,eAAA,MAAAE,SACEF,eAAA,MAAI0/H,QAAQ,IAAIv/H,UAAU,UAASD,SAAC,qBATtCkyI,EAAe9wH,KAAI,CAACve,EAAS07B,IAC3BvgB,gBAAA,MAAAhe,SAAA,CACEge,gBAAA,MAAI/d,UAAU,MAAKD,SAAA,CAAEu+B,EAAQ,EAAE,OAC/Bz+B,eAAA,MAAIG,UAAU,cAAaD,SAAE6C,EAAQ8vI,eACrC7yI,eAAA,MAAIG,UAAU,MAAKD,SAAE6C,EAAQigI,SAHtBvkG,YAeT,OACR39B,GAAUd,eAACD,KAAW,MACpB,EC7JKW,qBAtBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB4pD,aAAc/pD,EAAMs2H,kBAAkB9rE,kBAAkBT,aACxDC,aAAchqD,EAAMs2H,kBAAkB9rE,kBAAkBR,aACxDp1B,aAAc50B,EAAMs2H,kBAAkBC,kBAAkB3hG,iBAKjCpF,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAM1B1vB,EA/CSU,IACtB,MAAM,aACJ8tB,EAAY,cACZE,EAAa,OACbtuB,EAAM,aACN4pD,EAAY,aACZC,EAAY,aACZp1B,GAEEn0B,EACJ,OACEpB,eAAA,OAAAE,SACEF,eAACkyI,GAA8B,CAC7BhjH,aAAcA,EACdE,cAAeA,EACftuB,OAAQA,EACR6pD,aAAcA,EACdD,aAAcA,EACdn1B,aAAcA,KAGZ,IC8OKu9G,OA7Pev2G,IAA0B,IAAzB,gBAAEjH,GAAiBiH,EAG5C+tB,EAFWtnB,yBAESriC,MAAM2pD,SAE1BjpD,EAAUm1B,uBAEd,MAmBOmJ,EAAWC,GAAgBziB,mBAAS,MAErC4iB,EAAkBqD,IACtBxD,EAAawD,EAAI,EAOnB,OACEpjC,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,UAAUge,QA7Bbm/G,KAClBhoG,EACFj0B,EAAQkyB,KAAK,CACXC,SAAU,uBAGZ0wC,eAAeC,QAAQ,YAAa,mBACpC9iE,EAAQkyB,KAAK,CACXC,SAAU,oBAEd,EAmB4DtzB,SAChDF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,sBAEnCge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,OAAKG,UAAU,OAAMD,SAAEoqD,IACvBtqD,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,UAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,OAAOge,QA5ChBuuB,KACrBrrC,EAAQkyB,KAAK,CACXC,SAAU,uBACV,EAyC2DtzB,SAAC,oBAGhDF,eAAA,QAAAE,SACEF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOwP,mBAAoB0M,IAAI,uBAQrDphB,eAAA,OAAKG,UAAU,mBAAkBD,SAC/Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,MACE/d,UAAU,8BACV4e,GAAG,QACH7a,KAAK,UAAShE,SAAA,CAEdF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UACgB,OAAdw/B,EAAqB,kBAAoB,WAE3CxhB,QAASA,IAAM4hB,EAAe,MAC9BhhB,GAAG,SACH,iBAAe,MACf,iBAAe,MACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,KACd,gBAAc,OAAMhE,SACrB,kBAKHF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UACgB,QAAdw/B,EAAsB,kBAAoB,WAE5CxhB,QAASA,IAAM4hB,EAAe,OAC9BhhB,GAAG,UACH,iBAAe,MACf,iBAAe,OACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,MACd,gBAAc,QAAOhE,SACtB,6BAKHF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UACgB,QAAdw/B,EAAsB,kBAAoB,WAE5CxhB,QAASA,IAAM4hB,EAAe,OAC9BhhB,GAAG,UACH,iBAAe,MACf,iBAAe,OACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,MACd,gBAAc,QAAOhE,SACtB,0BAKHF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UACgB,OAAdw/B,EAAqB,kBAAoB,WAE3CxhB,QAASA,IAAM4hB,EAAe,MAC9BhhB,GAAG,SACH,iBAAe,MACf,iBAAe,MACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,KACd,gBAAc,QAAOhE,SACtB,yBAKHF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UACgB,OAAdw/B,EAAqB,kBAAoB,WAE3CxhB,QAASA,IAAM4hB,EAAe,MAC9BhhB,GAAG,SACH,iBAAe,MACf,iBAAe,MACf1e,KAAK,SACL0yI,KAAG,EACH7uI,KAAK,MACL,gBAAc,KACd,gBAAc,QAAOhE,SACtB,2BAOPF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,OAAK/d,UAAU,cAAc4e,GAAG,eAAc7e,SAAA,CAC7B,OAAdy/B,GACC3/B,eAAA,OACEG,UACgB,OAAdw/B,EACI,4BACA,gBAEN5gB,GAAG,KACH7a,KAAK,WACL,kBAAgB,SAAQhE,SAExBF,eAACgzI,GAAU,CACT7E,yBAnJYhxC,IAChCv9D,EAAa,KAAK,MAuJW,QAAdD,GACC3/B,eAAA,OACEG,UACgB,QAAdw/B,EACI,4BACA,gBAEN5gB,GAAG,MACH7a,KAAK,WACL,kBAAgB,UAAShE,SAEzBF,eAACizI,GAAoB,MAIV,QAAdtzG,GACC3/B,eAAA,OACEG,UACgB,QAAdw/B,EACI,4BACA,gBAEN5gB,GAAG,MACH7a,KAAK,WACL,kBAAgB,MAAKhE,SAErBF,eAACkzI,GAAiB,MAIP,OAAdvzG,GACC3/B,eAAA,OACEG,UACgB,OAAdw/B,EACI,4BACA,gBAEN5gB,GAAG,KACH7a,KAAK,WACL,kBAAgB,KAAIhE,SAEpBF,eAACmzI,GAAiB,MAIP,OAAdxzG,GACC3/B,eAAA,OACEG,UACgB,OAAdw/B,EACI,4BACA,gBAEN5gB,GAAG,KACH7a,KAAK,WACL,kBAAgB,KAAIhE,SAEpBF,eAACozI,GAAc,sBAS3B,E,QClGK1yI,qBArBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,WAIMqvB,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrCw6B,WAAa96B,IACXK,EAASy6B,GAAW96B,GAAS,KAKpBpvB,EAtJWU,IACxB,IAAI,YAAEo0H,EAAW,OAAE10H,EAAM,aAAEouB,EAAY,cAAEE,EAAa,QAAErqB,GAAY3D,GAC/DT,EAAO+vB,GAAYvT,mBAAS,CAC/B4tH,YAAa,CAAC,EACdsI,cAAe,KAGjB7xI,qBAAU,KACR+pI,GAAgB,GACf,IAEH,MAAMA,EAAiB95G,UACrBvC,IACA,IAAIokH,EAAY,OAALC,QAAK,IAALA,KAAO11I,OAAS01I,EAAQ,GAC/B3hH,EAAO,CACT7sB,QAASA,EACToqC,MAAOmkG,EACP3hF,KAAM,EACN65E,OAAQ,OAEV,IACE,MAAMtsH,QAAiBwS,KAAMqC,KAC3B,8EACAnC,GAG2B,MAAzB1S,EAAS0S,KAAKC,SAChBnB,GAAUa,IAAS,IACdA,EACHw5G,YAAa7rH,EAAS0S,KAAK65G,iBAG7Br8G,IAEJ,CAAE,MAAOnqB,GACPmqB,IACA9tB,QAAQC,IAAI0D,EACd,GAGIuuI,EAAS,CACb,UACA,WACA,QACA,QACA,MACA,OACA,OACA,SACA,YACA,UACA,WACA,YAWF,OACEt1H,gBAAA2f,YAAA,CAAA39B,SAAA,CACIge,gBAAA,WAAS/d,UAAU,mBAAkBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,qBACVtzB,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,gBAGrCphB,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,oBAEnCF,eAAA,OAAKG,UAAU,kBAAiBD,SAAC,kBACjCge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,YACtBF,eAAA,OAAAE,SACEge,gBAAA,UACEa,GAAG,SACHH,SA/BI6S,UAClBf,GAAUa,IAAS,IACdA,EACH8hH,cAAe51H,EAAMK,OAAOrgB,UAE9B8tI,EAAe9tH,EAAMK,OAAOrgB,MAAM,EA2BpBA,MAAOkD,EAAM0yI,cAAcnzI,SAAA,CAE3BF,eAAA,UAAQvC,MAAM,GAAG0hB,UAAQ,EAAAjf,SAAC,kBAGxB1C,aAAQg2I,IACRA,EAAOlyH,KAAI,CAACve,EAAS07B,IACnBz+B,eAAA,UAAoBvC,MAAOsF,EAAQ7C,SAChC6C,GADU07B,gBASvBjhC,aAAQmD,EAAMoqI,aAkBZ,KAjBFpqI,EAAMoqI,YAAYn5G,KAAK/zB,OACrB8C,EAAMoqI,YAAYn5G,KAAKtQ,KAAI,CAACve,EAAS07B,IACnCz+B,eAACgpI,GAAY,CAEX+B,YAAahoI,EACbyyH,YAAaA,EACb5qE,WAAYA,IAHPnsB,KAOTz+B,eAAA,OAAKG,UAAU,UAASD,SACtBge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKsgB,IAAKpb,GAAO+D,aAAcmY,IAAI,QACnCphB,eAAA,OAAKG,UAAU,eAAcD,SAAC,2BAK9B,OAEVY,GAAUd,eAACD,KAAW,IAAI,SAC3B,IA2BP,MAAMipI,GAAgB5nI,IAAW,IAAD6nI,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAC9B,IAAI,YAAEC,EAAW,YAAEvV,EAAW,WAAE5qE,GAAexpD,EAC3CC,EAAUm1B,uBAEd,MAOM2X,EAAO,IAAImB,KAAKy7F,EAAYC,gBAAgBlgC,eAK5CjwD,EAAgB,GAJV1M,EAAKmV,eAAe,QAAS,CAAElV,IAAK,eAClCD,EAAKmV,eAAe,QAAS,CAAEnU,MAAO,aACvChB,EAAKmV,eAAe,QAAS,CAAElU,KAAM,cAGlD,OACEpvC,eAAA69B,YAAA,CAAA39B,SACEF,eAAA,OAAKG,UAAU,OAAMD,SACnBge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,mBACtBF,eAAA,OAAKG,UAAU,OAAMD,SAAE26C,OAGzB38B,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,MAAKD,SAAA,CAClBF,eAAA,OAAKG,UAAU,UAASD,SACtBge,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,UAC1BF,eAAA,OAAAE,SACEF,eAAA,OAAKG,UAAU,WAAUD,SAAC,oBAG9BF,eAAA,OAAKG,UAAU,YAAWD,SACvB6qI,EAAYC,gBAAgBr9E,mBAKnC3tD,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,SAC1BF,eAAA,OAAAE,SACEF,eAAA,OAAKG,UAAU,WAAUD,SAAC,sBAG9BF,eAAA,OAAKG,UAAU,WAAUD,SACtB6qI,EAAYC,gBAAgBhI,YAInChjI,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,eAE5BF,eAAA,OAAKG,UAAU,MAAKD,SACjBzB,KAAKoB,MAAMkrI,EAAYC,gBAAgBj0B,iBAK9C/2G,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,oBAE5BF,eAAA,OAAKG,UAAU,MAAKD,SACjB6qI,EAAYC,gBAAgBC,qBAKnCjrI,eAAA,MAAAE,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,OAAMD,SACnBF,eAAA,OAAKG,UAAU,WAAUD,SAAC,oBAE5BF,eAAA,OAAKG,UAAU,MAAKD,SACjB6qI,EAAYC,gBAAgBE,sBAOvChtH,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OACE/d,UAAU,gBACVqE,MAAO,CACLy6B,gBAAiB8rG,EAAYC,gBAAgBG,YAC7C5iF,OAAQ,aAAawiF,EAAYC,gBAAgBI,oBACjDlrI,SAAA,CAEFge,gBAAA,OAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBF,eAAA,OAAKG,UAAU,MAAKD,SACjB6qI,EAAYC,gBAAgBK,gBAGjCrrI,eAAA,OAAKG,UAAU,MAAKD,SAGlBF,eAAA,OACEM,MAAM,KACNC,OAAO,KACPqzF,QAAQ,YACRC,KAAMk3C,EAAYC,gBAAgBI,iBAClCt3C,MAAM,6BAA4B5zF,SAElCF,eAAA,KAAG+e,GAAG,0CAAyC7e,SAC7Cge,gBAAA,KAAGa,GAAG,QAAO7e,SAAA,CACXF,eAAA,QACE+e,GAAG,SACH,YAAU,UACV,YAAU,UACVswB,EAAE,sxBACFwkD,KAAMk3C,EAAYC,gBAAgBI,mBAEpCprI,eAAA,QACE+e,GAAG,WACH,YAAU,UACV,YAAU,UACVswB,EAAE,+yEACFwkD,KAAMk3C,EAAYC,gBAAgBI,mBAEpCprI,eAAA,QACE+e,GAAG,WACH,YAAU,UACV,YAAU,UACVswB,EAAE,gHACFwkD,KAAMk3C,EAAYC,gBAAgBI,4BAM5CltH,gBAAA,OAAK/d,UAAU,qCAAoCD,SAAA,CACjDF,eAAA,OAAKG,UAAU,OAAMD,SAAC,eACtBF,eAAA,OAAKG,UAAU,eAAcD,SAC1B6qI,EAAYC,gBAAgBjI,mBAKnC/iI,eAAA,OAAKG,UAAU,QAAOD,SACpBge,gBAAA,MAAAhe,SAAA,CAEI,QAD0B,QAA3B+oI,EAAA8B,EAAYC,uBAAe,IAAA/B,GAAS,QAATC,EAA3BD,EAA6BnjF,eAAO,IAAAojF,OAAT,EAA3BA,EAAsCoC,aAEc,KAA1B,QAA3BnC,EAAA4B,EAAYC,uBAAe,IAAA7B,GAAS,QAATC,EAA3BD,EAA6BrjF,eAAO,IAAAsjF,OAAT,EAA3BA,EAAsCkC,YACpCptH,gBAAA,MAAI/d,UAAU,OAAMD,SAAA,CAClBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,YACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADVmpI,EACjB0B,EAAYC,uBAAe,IAAA3B,GAAS,QAATC,EAA3BD,EAA6BvjF,eAAO,IAAAwjF,OAAT,EAA3BA,EAAsCtG,UAGzC,KAGF,QAD0B,QAA3BuG,EAAAwB,EAAYC,uBAAe,IAAAzB,GAAW,QAAXC,EAA3BD,EAA6B3jF,iBAAS,IAAA4jF,OAAX,EAA3BA,EAAwC8B,aAEc,KAA5B,QAA3B7B,EAAAsB,EAAYC,uBAAe,IAAAvB,GAAW,QAAXC,EAA3BD,EAA6B7jF,iBAAS,IAAA8jF,OAAX,EAA3BA,EAAwC4B,YACtCptH,gBAAA,MAAI/d,UAAU,OAAMD,SAAA,CAClBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,cACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADVypI,EACjBoB,EAAYC,uBAAe,IAAArB,GAAW,QAAXC,EAA3BD,EAA6B/jF,iBAAS,IAAAgkF,OAAX,EAA3BA,EAAwC5G,UAG3C,KAEgD,QAAxB,QAA3B6G,EAAAkB,EAAYC,uBAAe,IAAAnB,GAAO,QAAPC,EAA3BD,EAA6BhkF,aAAK,IAAAikF,OAAP,EAA3BA,EAAoCwB,aACc,KAAxB,QAA3BvB,EAAAgB,EAAYC,uBAAe,IAAAjB,GAAO,QAAPC,EAA3BD,EAA6BlkF,aAAK,IAAAmkF,OAAP,EAA3BA,EAAoCsB,YAClCptH,gBAAA,MAAI/d,UAAU,OAAMD,SAAA,CAClBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,UACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADV+pI,EACjBc,EAAYC,uBAAe,IAAAf,GAAO,QAAPC,EAA3BD,EAA6BpkF,aAAK,IAAAqkF,OAAP,EAA3BA,EAAoClH,UAGvC,KAEiD,QAAzB,QAA3BmH,EAAAY,EAAYC,uBAAe,IAAAb,GAAQ,QAARC,EAA3BD,EAA6B7iC,cAAM,IAAA8iC,OAAR,EAA3BA,EAAqCkB,aACc,KAAzB,QAA3BjB,EAAAU,EAAYC,uBAAe,IAAAX,GAAQ,QAARC,EAA3BD,EAA6B/iC,cAAM,IAAAgjC,OAAR,EAA3BA,EAAqCgB,YACnCptH,gBAAA,MAAI/d,UAAU,OAAMD,SAAA,CAClBF,eAAA,OAAKG,UAAU,OAAMD,SAAC,WACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADVqqI,EACjBQ,EAAYC,uBAAe,IAAAT,GAAQ,QAARC,EAA3BD,EAA6BjjC,cAAM,IAAAkjC,OAAR,EAA3BA,EAAqCxH,UAGxC,KAGF,QAD0B,QAA3ByH,EAAAM,EAAYC,uBAAe,IAAAP,GAAS,QAATC,EAA3BD,EAA6BpjC,eAAO,IAAAqjC,OAAT,EAA3BA,EAAsCY,aAEc,KAA1B,QAA3BX,EAAAI,EAAYC,uBAAe,IAAAL,GAAS,QAATC,EAA3BD,EAA6BtjC,eAAO,IAAAujC,OAAT,EAA3BA,EAAsCU,YACpCptH,gBAAA,MAAAhe,SAAA,CACEF,eAAA,OAAKG,UAAU,OAAMD,SAAC,YACtBF,eAAA,OAAKG,UAAU,MAAKD,SACU,QADV2qI,EACjBE,EAAYC,uBAAe,IAAAH,GAAS,QAATC,EAA3BD,EAA6BxjC,eAAO,IAAAyjC,OAAT,EAA3BA,EAAsC9H,UAGzC,gBAMZ9kH,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CAEnBF,eAAA,OAAKG,UAAU,aAAYD,SACzBge,gBAAA,UACEC,QAASA,IACPq3G,EACEuV,EAAYl9E,SACZk9E,EAAY/M,iBAEf99H,SAAA,CAEDF,eAAA,QAAMG,UAAU,OAAMD,SAAC,gBAEvBF,eAAA,QAAAE,SACEF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOsP,iBAAkB4M,IAAI,iBAK/CphB,eAAA,OACEG,UAAU,iBACVge,QAASA,KAAMuuB,OApOL6d,EAoOoBwgF,EAAYl9E,SAnOtDjD,EAAWL,QACXlpD,EAAQkyB,KAAK,CACXC,SAAU,wBAHU+2B,KAoO0C,EAAArqD,SAEpDge,gBAAA,UAAAhe,SAAA,CACEF,eAAA,QAAMG,UAAU,OAAMD,SAAC,oBACvBF,eAAA,QAAAE,SACEF,eAAA,OAAKG,UAAU,MAAKD,SAClBF,eAAA,OAAKsgB,IAAKpb,GAAOwP,mBAAoB0M,IAAI,6BASxD,EC3SQ1gB,qBA/BUC,IACvBW,QAAQC,IAAI,wBAAyBZ,GAC9B,CACLG,OAAQH,EAAMI,GAAGD,OACjBw9H,eAAgB39H,EAAMs2H,kBAAkB9rE,kBAAkBmzE,eAC1DC,cAAe59H,EAAMs2H,kBAAkB9rE,kBAAkBozE,cACzDV,aAAcl9H,EAAMs2H,kBAAkBC,kBAAkB9hG,OACxD6oG,cAAet9H,EAAMs2H,kBAAkB9rE,kBAAkBZ,QACzDj1B,gBAAiB30B,EAAMs2H,kBAAkBC,kBAAkB5hG,oBAIpCnF,IAClB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,EAGrCqjH,YAAc3jH,IACZK,EAASy6B,GAAW96B,GAAS,EAG/B4jH,kBAAoB5jH,IAClBK,EAAS06B,GAAiB/6B,GAAS,KAK1BpvB,EAlGAU,IACb,IAAI,OAAEN,EAAM,aAAEouB,EAAY,cAAEE,EAAa,YAAEqkH,EAAW,kBAAEC,EAAiB,cAACzV,EAAa,aAAEJ,EAAY,gBAAEvoG,GACrGl0B,EACE03B,EAAWkK,wBAEXrS,EAAOmI,EAASn4B,MAAMgwB,KACtB5rB,EAAU+zB,EAASn4B,MAAMoE,SAExBpE,EAAO+vB,GAAYvT,mBAAS,CAC/BwT,KAAMA,IAoBR,OACEzS,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACxBo1B,GAAmBt1B,eAACu3H,GAAY,KAC/BjiG,GACApX,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC3B,IACDF,eAAC47C,GAAe,OAIpB19B,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,yBAAwBD,SACrB,IAAfS,EAAMgwB,MACL3wB,eAAC2zI,GAAgB,CACfne,YAxBQA,CAACjrE,EAASyzE,KAC5ByV,EAAYlpF,GACZmpF,EAAkB1V,GAElBttG,GAAUa,IAAS,IACdA,EACHZ,KAAM,KACL,EAkBO5rB,QAASA,EACT4rB,KAAMA,MAIZ3wB,eAAA,OAAAE,SACkB,IAAfS,EAAMgwB,MACL3wB,eAAC8yI,GAAqB,CACpBhyI,OAAQA,EACRouB,aAAcA,EACdE,cAAeA,EACfqrG,YA3CQA,KAClB/pG,GAAUa,IAAS,IACdA,EACHZ,KAAM,KACL,EAwCO45B,QAAS0zE,EACTJ,aAAcA,EACdvoG,gBAAiBA,WAKrB,I,QCqxBK50B,qBAjBUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,aAIE1uB,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAI1B1vB,EAn1BiBU,IAAW,IAADwyI,EAAAC,EACxC,IAAI,aAAE3kH,EAAY,cAAEE,EAAa,MAAEkC,EAAK,UAAEuC,GAAczyB,EACxD,MAAM0yI,EAAet9G,wBACd71B,EAAO+vB,GAAYvT,mBAAS,CACjCu5D,WAAY,GACZq9D,SAAU,GACVC,mBAAoB,CAAC,EACrB18D,IAAK,GACLviB,OAAQ,EACRk/E,iBAAkB,GAClBx4D,SAAU,CAAC,EACXy4D,qBAAqB,EACrBz6F,eAAgB,GAChB06F,eAAgB,GAChBC,OAAQ,GACRC,QAAS,CACPC,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,QAAS,IAEXC,QAAS,GACTC,oBAAqB,MAGhBtrD,EAAWC,GAAgBnsE,oBAAS,IACpCy3H,EAAsBC,GAA2B13H,oBAAS,IAC1D23H,EAAwBC,GAA6B53H,oBAAS,IAC9D63H,EAA4BC,GACjC93H,oBAAS,IACJ+3H,EAAuBC,GAA4Bh4H,oBAAS,IAC5Di4H,EAAaC,GAAkBl4H,oBAAS,IACxCm4H,EAAUC,GAAep4H,mBAAS,IAGnCq4H,EAAuBA,IAAMlsD,GAAa,GAC1CmsD,EAAwBA,IAAMnsD,GAAa,GAG3CosD,EAA8BA,IAAMb,GAAwB,GAuB5Dc,EAAgCA,KACpCZ,GAA0B,EAAM,EAa5Ba,EAAoCA,IACxCX,GAA8B,GAE1BY,EAA+BpkH,UACnC0jH,GAAyB,SACnBW,IACNvjH,OAAOuG,SAASwM,QAAQ,GAGnBywG,EAAOC,GAAY74H,mBAAS,CACjC84H,uBAAwB,GACxBhC,iBAAkB,GAClBh3G,MAAM,KAGDmwE,EAAOC,GAAYlwF,mBAAS,CACjC,CACEmwF,UAAW,GACXC,QAAS,GACTprG,IAAK,eAIH+zI,EAAiB51G,uBACrB7O,iBAAkC,IAA3BsjC,EAAMnD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGjxD,EAAMo0D,OACpB7lC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAI,GAAGxG,WAAgB4pC,KAEvB,MAAzB71C,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IAAA4M,EAAAg4G,EAAAC,EAAA/yE,EAAAgzE,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,MAAM,IACpB3lH,EACHwjC,OAAQ71C,EAAS0S,KAAKqiH,iBAAiBkD,aACvC17D,SAAUv8D,EAAS0S,KAAKoiH,mBACxBC,iBAAkB,IACb1iH,EAAU0iH,oBACV/0H,EAAS0S,KAAKqiH,iBAAiBriH,MAEpCsiH,sBACEh1H,EAAS0S,KAAKqiH,iBAAiBriH,KAAK/zB,OAAS,GAC/Cy5E,IAAKp4D,EAAS0S,KAAK0lD,IACnBy8D,SAAU70H,EAAS0S,KAAKmiH,SACxBr9D,WAAYx3D,EAAS0S,KAAK+kD,YAC1By9D,OAAgB,OAARl1H,QAAQ,IAARA,GAAc,QAANif,EAARjf,EAAU0S,YAAI,IAAAuM,GAAc,QAAdg4G,EAAdh4G,EAAgBi5G,oBAAY,IAAAjB,GAAS,QAATC,EAA5BD,EAA8BkB,eAAO,IAAAjB,OAA7B,EAARA,EAAuCkB,OAC/CjD,QAAS,CACPC,SAAkB,OAARp1H,QAAQ,IAARA,GAAc,QAANmkD,EAARnkD,EAAU0S,YAAI,IAAAyxC,GAAc,QAAdgzE,EAAdhzE,EAAgB+zE,oBAAY,IAAAf,GAAU,QAAVC,EAA5BD,EAA8BkB,gBAAQ,IAAAjB,OAA9B,EAARA,EAAwChC,SAClDC,UAAmB,OAARr1H,QAAQ,IAARA,GAAc,QAANq3H,EAARr3H,EAAU0S,YAAI,IAAA2kH,GAAc,QAAdC,EAAdD,EAAgBa,oBAAY,IAAAZ,GAAU,QAAVC,EAA5BD,EAA8Be,gBAAQ,IAAAd,OAA9B,EAARA,EAAwClC,UACnDC,OAAgB,OAARt1H,QAAQ,IAARA,GAAc,QAANw3H,EAARx3H,EAAU0S,YAAI,IAAA8kH,GAAc,QAAdC,EAAdD,EAAgBU,oBAAY,IAAAT,GAAU,QAAVC,EAA5BD,EAA8BY,gBAAQ,IAAAX,OAA9B,EAARA,EAAwCpC,OAChDC,QAAiB,OAARv1H,QAAQ,IAARA,GAAc,QAAN23H,EAAR33H,EAAU0S,YAAI,IAAAilH,GAAc,QAAdC,EAAdD,EAAgBO,oBAAY,IAAAN,GAAU,QAAVC,EAA5BD,EAA8BS,gBAAQ,IAAAR,OAA9B,EAARA,EAAwCtC,SAEnDC,QAAiB,OAARx1H,QAAQ,IAARA,GAAc,QAAN83H,EAAR93H,EAAU0S,YAAI,IAAAolH,GAAc,QAAdC,EAAdD,EAAgBI,oBAAY,IAAAH,OAApB,EAARA,EAA8BO,SACvC7C,oBAA6B,OAARz1H,QAAQ,IAARA,GAAc,QAANg4H,EAARh4H,EAAU0S,YAAI,IAAAslH,OAAN,EAARA,EAAgBvC,oBACtC,KAEDvlH,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,CACF,GACA,CAACzuB,EAAMo0D,OAAQ3lC,EAAeF,IAG1B8qB,EAAc1Z,uBAAY7O,UAC9BvC,IACA,IACE,MAAMhQ,QAAiBwS,KAAMC,IAAIzG,IACJ,MAAzBhM,EAAS0S,KAAKC,QAChBzC,IACAsB,GAAUa,IAAS,IAAAkmH,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,MAAM,IACpBlnH,EACHkoB,eAAgBv6B,EAAS0S,KAAKyoB,KAC9B85F,eAAgBj1H,EAAS0S,KAAKA,KAC9B0lD,IAAKp4D,EAAS0S,KAAK0lD,IACnBy8D,SAAU70H,EAAS0S,KAAKmiH,SACxBr9D,WAAYx3D,EAAS0S,KAAK+kD,YAC1By9D,OAAgB,OAARl1H,QAAQ,IAARA,GAAc,QAANu4H,EAARv4H,EAAU0S,YAAI,IAAA6lH,GAAc,QAAdC,EAAdD,EAAgBL,oBAAY,IAAAM,OAApB,EAARA,EAA8BL,QACtChD,QAAS,CACPC,SAAkB,OAARp1H,QAAQ,IAARA,GAAc,QAANy4H,EAARz4H,EAAU0S,YAAI,IAAA+lH,GAAc,QAAdC,EAAdD,EAAgBP,oBAAY,IAAAQ,GAAU,QAAVC,EAA5BD,EAA8BL,gBAAQ,IAAAM,OAA9B,EAARA,EAAwCvD,SAClDC,UAAmB,OAARr1H,QAAQ,IAARA,GAAc,QAAN44H,EAAR54H,EAAU0S,YAAI,IAAAkmH,GAAc,QAAdC,EAAdD,EAAgBV,oBAAY,IAAAW,GAAU,QAAVC,EAA5BD,EAA8BR,gBAAQ,IAAAS,OAA9B,EAARA,EAAwCzD,UACnDC,OAAgB,OAARt1H,QAAQ,IAARA,GAAc,QAAN+4H,EAAR/4H,EAAU0S,YAAI,IAAAqmH,GAAc,QAAdC,EAAdD,EAAgBb,oBAAY,IAAAc,GAAU,QAAVC,EAA5BD,EAA8BX,gBAAQ,IAAAY,OAA9B,EAARA,EAAwC3D,OAChDC,QAAiB,OAARv1H,QAAQ,IAARA,GAAc,QAANk5H,EAARl5H,EAAU0S,YAAI,IAAAwmH,GAAc,QAAdC,EAAdD,EAAgBhB,oBAAY,IAAAiB,GAAU,QAAVC,EAA5BD,EAA8Bd,gBAAQ,IAAAe,OAA9B,EAARA,EAAwC7D,SAEnDC,QAAiB,OAARx1H,QAAQ,IAARA,GAAc,QAANq5H,EAARr5H,EAAU0S,YAAI,IAAA2mH,GAAc,QAAdC,EAAdD,EAAgBnB,oBAAY,IAAAoB,OAApB,EAARA,EAA8BhB,SACvC7C,oBAA6B,OAARz1H,QAAQ,IAARA,GAAc,QAANu5H,EAARv5H,EAAU0S,YAAI,IAAA6mH,OAAN,EAARA,EAAgB9D,oBACtC,KAEDvlH,GAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,IACC,CAACA,EAAeF,IA4BbwpH,EAAqBp4G,uBACzB7O,iBAAkC,IAA3BsjC,EAAMnD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGjxD,EAAMo0D,OACpB,IACE,MAAM71C,QAAiBwS,KAAMC,IAAI,GAAGxG,WAAgB4pC,KACvB,MAAzB71C,EAAS0S,KAAKC,QAChBmkH,GAAUzkH,IAAS,IACdA,EACH0iH,iBAAkB/0H,EAAS0S,KAAKqiH,iBAAiBriH,QAGvD,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,CACF,GACA,CAACtE,EAAMo0D,SAUTvzD,qBAAU,KACRw4C,IACAk8F,IACAwC,GAAoB,GACnB,CAAC1+F,EAAa0+F,EAAoBxC,IAErC,MAAMJ,EAAsBrkH,UAC1B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BM,EAAO,CACXvxB,QAGF,IACE,MAAM6e,QAAiBwS,KAAMqC,KAC3B,0EACAnC,EACA,CAAE+B,YAEyB,MAAzBzU,EAAS0S,KAAKC,QAChBmkH,GAAUzkH,IAAS,IAAAonH,EAAAC,EAAA,MAAM,IACpBrnH,EACH0kH,uBAAgC,OAAR/2H,QAAQ,IAARA,GAAc,QAANy5H,EAARz5H,EAAU0S,YAAI,IAAA+mH,GAAkB,QAAlBC,EAAdD,EAAgB1E,wBAAgB,IAAA2E,OAAxB,EAARA,EAAkChnH,KAC1DqiH,iBAAkB,GACnB,GAEL,CAAE,MAAOhvI,GACP3D,QAAQC,IAAI0D,EACd,GAGI4zI,EAAkBpnH,UACtB,MAAMkC,EAAU,CACdC,cAAe,UAAUtC,KAG3B,IAAIM,EAAO,CAAC,EAEZ,GAAa,IAATvxB,EACFuxB,EAAO,CACL0lH,OAAa,OAAL32I,QAAK,IAALA,OAAK,EAALA,EAAOyzI,OACf/zI,OACAi0I,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,QAAS,SAEN,GAAa,IAATp0I,EAAY,CAAC,IAADy4I,EACrBlnH,EAAO,CACLvxB,OACAi0I,SAAuB,QAAfwE,EAAEn4I,EAAM0zI,eAAO,IAAAyE,OAAA,EAAbA,EAAexE,SACzBC,UAAW5zI,EAAM0zI,QAAQE,UACzBC,OAAQ7zI,EAAM0zI,QAAQG,OACtBC,QAAS9zI,EAAM0zI,QAAQI,QACvB6C,OAAQ,GAEZ,CAEA,WACyB5lH,KAAMqC,KAC3B,+EACAnC,EACA,CAAE+B,aAGS/B,KAAKC,QAAmB,IAATxxB,EAC1B00I,GAA0B,GAE1BE,GAA8B,EAElC,CAAE,MAAOhwI,GACP3D,QAAQC,IAAI0D,GACZuwI,GACF,GAGIuD,EAAkBC,IACtB,OAAQA,GACN,IAAK,YACH,MAAO,sBACT,IAAK,WACH,MAAO,mBACT,QACE,MAAO,OACX,EAGIC,EAAiBD,IACrB,OAAQA,GACN,IAAK,YACH,MAAO,8BACT,IAAK,WACH,MAAO,2BACT,QACE,MAAO,WACX,EAGIE,GAAwB,OAALv4I,QAAK,IAALA,OAAK,EAALA,EAAOg0I,qBAAsB,IAmHhDwE,EAAuBA,KAAO,IAADC,EACjC,OAAe,OAAR9D,QAAQ,IAARA,OAAQ,EAARA,EAAUz3I,QAAS,GAA+B,MAArB,OAAL8C,QAAK,IAALA,GAAa,QAARy4I,EAALz4I,EAAOyzI,cAAM,IAAAgF,OAAR,EAALA,EAAet7I,OAAa,EAG7D,OACEkC,eAAA69B,YAAA,CAAA39B,SACEge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,UACEG,UAAU,gBACVge,QAAS21H,EAAar+E,OAAOv1D,SAE7BF,eAAA,OAAKsgB,IAAKpb,GAAO+R,QAAS3W,MAAO,GAAI8gB,IAAI,WAE3CphB,eAAA,MAAIG,UAAU,mBAAkBD,SAAC,iBACjCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,mEAAkED,SAAA,CAC/Ege,gBAAA,OAAAhe,SAAA,CACEF,eAAA,KAAGG,UAAU,cAAaD,SAAC,8BAC3Bge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,OAAKsgB,IAAKpb,GAAOkS,eAAgBgK,IAAI,UACrCphB,eAAA,KAAGG,UAAU,cAAaD,SAClB,OAALS,QAAK,IAALA,OAAK,EAALA,EAAOg0I,4BAId30I,eAAA,OAAAE,SACEF,eAAA,UACEG,UAAU,eACVge,QAASq3H,EACTr2H,UAAe,OAALxe,QAAK,IAALA,OAAK,EAALA,EAAOg0I,qBAAsB,IAAIz0I,SAC5C,sBAKLge,gBAAA,OAAK/d,UAAU,+CAA8CD,SAAA,CAC3DF,eAAA,OAAAE,SACEge,gBAAA,KAAAhe,SAAA,CAAG,eAAkB,OAALS,QAAK,IAALA,OAAK,EAALA,EAAO+1E,gBAEzB12E,eAAA,OAAKG,UAAU,mDAAkDD,SAC/Dge,gBAAA,KAAG/d,UAAU,gCAA+BD,SAAA,CAAC,cAC/B,IACZF,eAAA,QAAMG,UAAU,iCAAgCD,SAC9CF,eAAA,OACEwE,MAAO,CAAElE,MAAO,SAChBggB,IAAKpb,GAAOmS,gBACZ/W,MAAO,GACP8gB,IAAI,uBAQhBlD,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,OAAKG,UAAU,gDAA+CD,SAC5Dge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OACEsgB,IAAKpb,GAAOuS,iBACZ2J,IAAI,mBACJ9gB,MAAO,KAETN,eAAA,MAAIG,UAAU,OAAMD,SAAC,qCAGzBF,eAAA,OACEG,UAAU,4BACV4e,GAAG,kBAAiB7e,SAEpBF,eAACmzD,KAAc,CACbC,WAAYzyD,EAAMszI,iBAAiBp2I,OACnCw1D,KAtVA5hC,UACpBf,GAAUa,IAAS,IAAWA,EAAWwjC,OAAQxjC,EAAUwjC,OAAS,MACpE,IACE,MAAM71C,QAAiBwS,KAAMC,IAAI,GAAGxG,WAAgBxqB,EAAMo0D,OAAS,KACnE,GAA6B,MAAzB71C,EAAS0S,KAAKC,OAAgB,CAChC,MAAMwnH,EAAqBn6H,EAAS0S,KAAKqiH,iBAAiBriH,KAC1DlB,GAAUa,IAAS,IACdA,EACHwjC,OAAQ71C,EAAS0S,KAAKqiH,iBAAiBkD,aACvClD,iBAAkB,IACb1iH,EAAU0iH,oBACVoF,GAELnF,sBAAqBmF,EAAmBx7I,OAAS,OAGnDw3I,EAAegE,EAAmBx7I,QAAU,EAC9C,MACEw3I,GAAe,EAEnB,CAAE,MAAOpwI,GACP3D,QAAQC,IAAI0D,GACZowI,GAAe,EACjB,GAgUoB9hF,QAAS6hF,EACTkE,WACEt5I,eAAA,KAAGG,UAAU,cAAaD,SAAC,yBAE7BszD,iBAAiB,kBAAiBtzD,SAEjCS,EAAMszI,iBAAiBp2I,OAAS,EAC/B8C,EAAMszI,iBAAiB3yH,KAAKsQ,GAtMhBA,KAClC,MAAMonH,EAAmB,OAAJpnH,QAAI,IAAJA,OAAI,EAAJA,EAAM2nH,cAE3B,OACEr7H,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1Bge,gBAAA,OAAK/d,UAAU,yEAAwED,SAAA,CACrFF,eAAA,OAAKG,UAAU,QAAOD,SACpBF,eAAA,KAAGG,UAAU,iBAAgBD,SAAE,iBACT,MAApB0xB,EAAK4nH,WAAqB,SAAW,YAGzCx5I,eAAA,OAAKG,UAAU,oBAAmBD,SAChCF,eAAA,KAAGG,UAAU,OAAMD,SAAM,OAAJ0xB,QAAI,IAAJA,OAAI,EAAJA,EAAM6nH,cAE7Bz5I,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,KAAG/d,UAAW44I,EAAeC,GAAc94I,SAAA,CACzCF,eAAA,QAAMG,UAAW84I,EAAcD,KAC9BA,OAGL96H,gBAAA,OAAK/d,UAAU,4DAA2DD,SAAA,CACxEF,eAAA,KACEG,UAAU,iBACVqE,MAAO,CACL/E,MACuB,MAApBmyB,EAAK4nH,YAAuC,cAAjBR,GACX,aAAjBA,EACI,UACA,WACN94I,SACF,GACqB,MAApB0xB,EAAK4nH,YAAuC,cAAjBR,GACX,aAAjBA,EACI,IACA,OACE,OAAJpnH,QAAI,IAAJA,OAAI,EAAJA,EAAM5hB,UACVhQ,eAAA,OAAKsgB,IAAKpb,GAAOkS,eAAgB9W,MAAO,GAAI8gB,IAAI,uBAGpDphB,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,KAAGG,UAAU,OAAMD,SAAE,cAAkB,OAAJ0xB,QAAI,IAAJA,OAAI,EAAJA,EAAMkP,oBAEvC,EA6JgB44G,CAA2B9nH,KAG7B5xB,eAAA,KAAGG,UAAU,cAAaD,SAAC,oCAQnCge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,6BACJF,eAAA,MAAAE,SACQ,OAALS,QAAK,IAALA,GAAe,QAAVizI,EAALjzI,EAAOozI,gBAAQ,IAAAH,OAAV,EAALA,EAAiBtyH,KAAI,CAACq4H,EAAQl7G,IAC7BvgB,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAW,OAANy5I,QAAM,IAANA,OAAM,EAANA,EAAQ30I,OACbhF,eAAA,KAAAE,SACS,OAANy5I,QAAM,IAANA,OAAM,EAANA,EAAQ74G,YACNviC,MAAM,QACN+iB,KAAI,CAACs4H,EAAMt6G,IACVt/B,eAACC,WAAQ,CAAAC,UACF,OAAJ05I,QAAI,IAAJA,OAAI,EAAJA,EAAM97I,SACLogB,gBAAA2f,YAAA,CAAA39B,SAAA,CACG05I,EACD55I,eAAA,aAJSs/B,SANdb,UAqBfvgB,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,8BACJF,eAAA,KAAAE,SAAG,8EAIHF,eAAA,MAAAE,SACQ,OAALS,QAAK,IAALA,GAAU,QAALkzI,EAALlzI,EAAO22E,WAAG,IAAAu8D,OAAL,EAALA,EAAYvyH,KAAKq4H,GAChBz7H,gBAAA,MAAAhe,SAAA,CACEF,eAAA,MACEg+C,wBAAyB,CAAEC,OAAQ07F,EAAO30I,QAE5ChF,eAAA,KACEg+C,wBAAyB,CACvBC,OAAQ07F,EAAO74G,iBANZ64G,EAAO56H,sBAmBhCb,gBAACwe,KAAK,CACJC,KAAM0sD,EACN91C,OAAQkiG,EACR7hG,UAAQ,EACRzzC,UAAU,oBAAmBD,SAAA,CAE7BF,eAAC08B,KAAMiZ,OAAM,CAAAz1C,SACXF,eAAC08B,KAAMoxE,MAAK,CAAA5tG,SAAC,iCAEfF,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,QACEE,SAAWie,IACTA,EAAEhe,iBACFw6H,EAAgB,EAAE,EAClB34I,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,SAAOsD,QAAQ,QAAOthB,SAAA,CAAC,UACdF,eAAA,QAAMG,UAAU,WAAUD,SAAC,SAEpCF,eAAA,SACEK,KAAK,OACL0e,GAAG,QACHN,YAAY,eACZhhB,MAAOkD,EAAMyzI,OACbx1H,SA9LSyd,IACvB,MAAM5+B,EAAQ4+B,EAAEve,OAAOrgB,MACvBizB,GAAUa,IAAS,IACdA,EACH6iH,OAAQ32I,MAGW,KAAjBA,EAAMK,QAbWL,IAEA,2BACD85B,KAAK95B,GAYdo8I,CAAcp8I,GADvB83I,EAAY,IAIZA,EAAY,yBACd,EAkLcp1I,UAAWm1I,EAAW,cAAgB,MAE/B,OAARA,QAAQ,IAARA,OAAQ,EAARA,EAAUz3I,QAAS,GAClBmC,eAAA,KAAGG,UAAU,aAAYD,SAAEo1I,OAG/Bp3H,gBAAA,KAAAhe,SAAA,CAAG,qBACkB,IACnBF,eAAA,UACEK,KAAK,SACLF,UAAU,mBACVge,QAASA,KACPs3H,IA3kBuBZ,GAAwB,EA4kBnB,EAC5B30I,SACH,wBAIHF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAC0tF,KAAM,CACLpQ,QAAQ,kBACRn/D,QAASA,KACFg7H,MAllBO,KAAxBx4I,EAAMyzI,OAAOt2I,QAAiD,KAAhC6C,EAAM0zI,QAAQG,OAAO12I,QAIvDwrF,GAAa,GACb2rD,GAA8B,IAJ5BO,IAmlBgBqD,EAAgB,GAClB,EAEF15H,SAAUg6H,IAAuBj5I,SAClC,8BAQTge,gBAACwe,KAAK,CACJC,KAAMi4G,EACNrhG,OAAQmiG,EACR9hG,UAAQ,EACRzzC,UAAU,mBAAkBD,SAAA,CAE5BF,eAAC08B,KAAMiZ,OAAM,CAAAz1C,SACXF,eAAC08B,KAAMoxE,MAAK,CAAA5tG,SAAC,iCAEfF,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,QACEE,SAAWie,IACTA,EAAEhe,iBACFw6H,EAAgB,EAAE,EAClB34I,SAAA,CAEFge,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,SAAOsD,QAAQ,oBAAmBthB,SAAA,CAAC,uBACbF,eAAA,QAAMG,UAAU,WAAUD,SAAC,SAEjDF,eAAA,SACEK,KAAK,OACL0e,GAAG,oBACHN,YAAY,YACZhhB,MAAOkD,EAAM0zI,QAAQC,SACrB11H,SAhTuByd,IACrC,MAAM5+B,EAAQ4+B,EAAEve,OAAOrgB,MACnB,gBAAgB85B,KAAK95B,IACvBizB,GAAUa,IAAS,IACdA,EACH8iH,QAAS,IACJ9iH,EAAU8iH,QACbC,SAAU72I,MAGhB,OAySUygB,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,SAAOsD,QAAQ,WAAUthB,SAAA,CAAC,aACdF,eAAA,QAAMG,UAAU,WAAUD,SAAC,SAEvCF,eAAA,SACEK,KAAK,OACL0e,GAAG,WACHN,YAAY,cACZhhB,MAAOkD,EAAM0zI,QAAQE,UACrB31H,SA/Scyd,IAC5B,MAAM5+B,EAAQ4+B,EAAEve,OAAOrgB,MAAMgqE,cAC7B/2C,GAAUa,IAAS,IACdA,EACH8iH,QAAS,IACJ9iH,EAAU8iH,QACbE,UAAW92I,MAEZ,OA0SOygB,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,SAAOsD,QAAQ,gBAAethB,SAAA,CAAC,kBACdF,eAAA,QAAMG,UAAU,WAAUD,SAAC,SAE5CF,eAAA,SACEK,KAAK,OACL0e,GAAG,gBACHN,YAAY,aACZhhB,MAAOkD,EAAM0zI,QAAQG,OACrB51H,SAhTmByd,IACjC,MAAM5+B,EAAQ4+B,EAAEve,OAAOrgB,MAAM4iD,QAAQ,UAAW,IAChD3vB,GAAUa,IAAS,IACdA,EACH8iH,QAAS,IACJ9iH,EAAU8iH,QACbG,OAAQ/2I,MAET,OA2SOygB,gBAAA,OAAK/d,UAAU,aAAYD,SAAA,CACzBge,gBAAA,SAAOsD,QAAQ,uBAAsBthB,SAAA,CAAC,0BACbF,eAAA,QAAMG,UAAU,WAAUD,SAAC,SAEpDF,eAAA,SACEK,KAAK,OACL0e,GAAG,uBACHN,YAAY,aACZhhB,MAAOkD,EAAM0zI,QAAQI,QACrB71H,SAjT0Byd,IACxC,MAAM5+B,EAAQ4+B,EAAEve,OAAOrgB,MAAM4iD,QAAQ,UAAW,IAChD3vB,GAAUa,IAAS,IACdA,EACH8iH,QAAS,IACJ9iH,EAAU8iH,QACbI,QAASh3I,MAEV,OA4SOuC,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAC0tF,KAAM,CACLpQ,QAAQ,kBACRj9E,KAAK,SACL8d,QAASA,KACPu3H,IACAmD,EAAgB,EAAE,EAClB34I,SACH,8BAOTge,gBAACwe,KAAK,CACJC,KAAMm4G,EACNvhG,OAAQoiG,EACR/hG,UAAQ,EACRzzC,UAAU,uBAAsBD,SAAA,CAEhCF,eAAC08B,KAAMiZ,OAAM,CAAAz1C,SACXF,eAAC08B,KAAMoxE,MAAK,CAAA5tG,SAAC,0BAEfge,gBAACwe,KAAMmX,KAAI,CAAA3zC,SAAA,CACTF,eAAA,KAAGG,UAAU,eAAcD,SAAC,wDAG5Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAAE,SAAM,gBACNF,eAAA,QAAMG,UAAU,QAAOD,SAAER,aAAgBw5I,QAE3Ch7H,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAAE,SAAM,mBACNF,eAAA,QAAMG,UAAU,QAAOD,SAAES,EAAM0zI,QAAQG,YAEzCt2H,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,QAAAE,SAAM,cACNF,eAAA,QAAMG,UAAU,QAAOD,SAAES,EAAM0zI,QAAQE,eAEzCr2H,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAAE,SAAM,SACNF,eAAA,QAAMG,UAAU,QAAOD,SAAES,EAAM0zI,QAAQC,cAEzCp2H,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAC0tF,KAAM,CACLpQ,QAAQ,kBACRn/D,QAvrBiB27H,KAC7BlE,IACAf,GAAwB,EAAK,EAqrBe30I,SACjC,WAGDF,eAAC0tF,KAAM,CACLpQ,QAAQ,UACRn/D,QAvsB2BsT,UACvCkkH,IACAR,GAAyB,SACnBW,EAAoB,EAAE,EAosB0B51I,SAC3C,oBAOPge,gBAACwe,KAAK,CACJC,KAAMq4G,EACNzhG,OAAQqiG,EACRhiG,UAAQ,EACRzzC,UAAU,2BAA0BD,SAAA,CAEpCF,eAAC08B,KAAMiZ,OAAM,CAAAz1C,SACXF,eAAC08B,KAAMoxE,MAAK,CAAA5tG,SAAC,qCAEfge,gBAACwe,KAAMmX,KAAI,CAAA3zC,SAAA,CACTF,eAAA,KAAGG,UAAU,eAAcD,SAAC,wDAG5Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,QAAAE,SAAM,gBACNF,eAAA,QAAMG,UAAU,QAAOD,SAAER,aAAgBw5I,QAE3Ch7H,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,QAAAE,SAAM,WACNF,eAAA,QAAMG,UAAU,QAAOD,SAAES,EAAMyzI,YAEjCl2H,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAC0tF,KAAM,CACLpQ,QAAQ,kBACRn/D,QAxtBoB47H,KAChCnE,IACAtsD,GAAa,EAAK,EAstB6BppF,SACpC,WAGDF,eAAC0tF,KAAM,CAACpQ,QAAQ,UAAUn/D,QAjvBZsT,UACxBmkH,IACAT,GAAyB,SACnBW,EAAoB,EAAE,EA8uBmC51I,SAAC,oBAO5DF,eAAC08B,KAAK,CACJC,KAAMu4G,EACN3hG,OAAQsiG,EACRjiG,UAAQ,EACRzzC,UAAU,sBAAqBD,SAE/Bge,gBAACwe,KAAMmX,KAAI,CAAC1zC,UAAU,cAAaD,SAAA,CACjCF,eAAA,OAAKG,UAAU,eAAcD,SAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO+W,eAAgBmF,IAAI,cAEvCphB,eAAA,MAAAE,SAAI,mCACJge,gBAAA,KAAAhe,SAAA,CAAG,4CAEDF,eAAA,SAAM,sCAGRA,eAAC0tF,KAAM,CAACvvE,QAAS03H,EAA6B31I,SAAC,gBAIpD,ICjxBQQ,qBAPUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBE,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAGXT,EA7CCU,IACd,IAAI,QAAEC,EAAO,OAAEP,EAAM,SAAEE,EAAQ,eAAEG,EAAc,SAAE23B,GAAa13B,EAQ9D,OACE8c,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CATjCqyB,OAAOioB,YAAc,IAWjBt8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC07C,GAAqB,CACpBv6C,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC27C,GAA2B,CAACt6C,QAASA,OAGxCrB,eAAC47C,GAAe,CAACv6C,QAASA,IAE5BrB,eAACg6I,GAAsB,CACrB34I,QAASA,EACTL,SAAUA,EACVG,eAAgBA,EAChB23B,SAAUA,OAGd94B,eAAC67C,GAAgB,OAElB/6C,GAAUd,eAACD,KAAW,MACtB,I,gBCHQW,qBAPUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK49C,YAMxB,KAFan+C,EA3C4B67B,IAIpC,IAAD09G,EAAA,IAJsC,cAC1Cn9C,EAAa,iBAEbo9C,GACD39G,EACC,OACEv8B,eAAA,OAAKG,UAAU,qBAAoBD,SACjCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,OAAKG,UAAU,eAAcD,SAC3Bge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,UAAUge,QAAS2+E,EAAc58F,SAC9CF,eAAA,OAAKsgB,IAAKpb,GAAO8W,WAAYoF,IAAI,cAEnCphB,eAAA,UAAAE,SAAQ,4BAIZF,eAAA,OAAKG,UAAU,eAAcD,SACV,OAAhBg6I,QAAgB,IAAhBA,GAAqC,QAArBD,EAAhBC,EAAkB1nI,2BAAmB,IAAAynI,OAArB,EAAhBA,EAAuC34H,KAAI,CAAC64H,EAAM17G,IAE/CvgB,gBAAA,OAAAhe,SAAA,CACEF,eAAA,MAAAE,SAAKi6I,EAAK1pG,QACVzwC,eAAA,MAAAE,SACGi6I,EAAK18I,MAAM6jB,KAAK84H,GACRp6I,eAAA,MAAIG,UAAU,WAAUD,SAAEk6I,UAJ7B37G,WAYd,IClCV,MAAM47G,GAAoBlmH,aAAY,CACpCnvB,KAAM,eAENovB,aAAc,CACZkmH,kBAAmB,CAAC,EACpBlmE,eAAgB,CAAC,EACjBmmE,iBAAkB,GAClBC,YAAa,IAEfnmH,SAAU,CACRomH,qBAAsBA,CAAC95I,EAAO4zB,KAC5B5zB,EAAM25I,kBAAoB/lH,EAAOzE,OAAO,EAE1C4qH,kBAAmBA,CAAC/5I,EAAO4zB,KACzB5zB,EAAMyzE,eAAiB7/C,EAAOzE,OAAO,EAGvC6qH,gBAAiBA,CAACh6I,EAAO4zB,KACvB5zB,EAAMi6I,aAAe,IAAIrmH,EAAOzE,QAAQ,EAG1C+qH,gBAAiBA,CAACl6I,EAAO4zB,KACvB5zB,EAAM65I,YAAc,IAAIjmH,EAAOzE,QAAQ,MAKhC,qBACX2qH,GAAoB,kBACpBC,GAAiB,gBACjBC,GAAe,gBACfE,IACER,GAAkB7lH,QACP6lH,UAAyB,QCnBjC,MAAMS,GAAqBrpH,MAAOG,EAAMN,EAAOuC,KACpD,MAAMF,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACE,MAAMpS,QAAiBwS,KAAMqC,KAAK7F,GAAS0D,EAAM,CAAE+B,YACnD,GAA6B,MAAzBzU,EAAS0S,KAAKC,OAChB,OAAO3S,EAAS0S,KAAKA,IAEzB,CAAE,MAAOyK,GACP/6B,QAAQC,IAAI86B,EAAE3I,QAChB,GAiDWqnH,GAAkBtpH,MAC7BH,EACAuC,EACA1D,EACAjB,EACAE,KAEA,MAAMuE,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACEpC,IACA,MAAMhQ,QAAiBwS,KAAMC,IAAI1D,GAAS,CAAE0F,YAEf,MAAzBzU,EAAS0S,KAAKC,SAChBzC,IACAe,EAASuqH,GAAkBx7H,EAAS0S,KAAKwlH,eACzCjnH,EAAS0qH,GAAgB,IAAI37H,EAAS0S,KAAKopH,iBAC3C7qH,EAASwqH,GAAgB,KAE7B,CAAE,MAAO11I,GACP3D,QAAQC,IAAI0D,EACd,GClGWg2I,GACU,sBADVA,GAEU,sBAIVC,GACW,uBADXA,GAES,qBAGTC,GAAwB,CACnCC,KAAM,GACNC,YAAa,cACbC,aAAc,eACdC,eAAgB,iBAChBC,YAAa,cACbC,cAAe,gBACfC,gBAAiB,mBAGNC,GAAgBzrE,GACpBhyD,gBAAA,UAAAhe,SAAA,CAAQ,IAAEgwE,KAGN0rE,GAA2BA,CAACz5I,EAAK1E,IACrC80B,OAAOspH,aAAa13E,QAAQhiE,EAAKE,KAAKw+C,UAAUpjD,IAG5Cq+I,GAA8B35I,GAClCowB,OAAOspH,aAAaE,QAAQ55I,GAGxB65I,GAAgBpqH,GACpBA,EAAKyuB,QAAQ,UAAW,IAGpB47F,GAAeA,CAC1B1B,EACAjpH,EACAuC,EACAqoH,EACA/rH,KDQyBsB,OAAOG,EAAMN,EAAOuC,EAAWqoH,KACxD,MAAMvoH,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAO3B6qH,EAAmB,CACvBp9H,GALkB6S,EAAKtQ,KAAK0xB,GACrBA,EAAKj0B,MAOd,IACE,MAAMG,QAAiBwS,KAAMqC,KAAK5F,GAASguH,EAAkB,CAAExoH,YAC/D,GAA6B,MAAzBzU,EAAS0S,KAAKC,OAGhB,OAFAqqH,EAAaf,GAAsBK,aAE5Bt8H,EAAS0S,KAAKA,IAEzB,CAAE,MAAOyK,GACP/6B,QAAQC,IAAI86B,EAAE3I,QAChB,GC5BA0oH,CAAY7B,EAAkBjpH,EAAOuC,EAAWqoH,EAAuB,EAkB5DG,GAAmB/f,IAC9B,MAEMggB,EAAYhgB,EAAIzK,QACpB,CAACC,EAAKyqB,IAASzqB,EAAM/zG,SAAa,OAAJw+H,QAAI,IAAJA,OAAI,EAAJA,EAAMC,cAHlB,GAOpB,OAAO/9I,KAAKoB,MAAMy8I,EAAU,EAGjBG,GAAeA,CAACp8I,EAAMq8I,KACjC,GAAoB,SAAhBA,EACF,MAAO,UAGT,OAAQr8I,GACN,IAAK,cAIL,IAAK,YAIL,IAAK,WACH,MAAO,UAGT,QACE,MAAO,GACX,E,QC/Eas8I,OAbSpgH,IAA2B,IAA1B,iBAAE29G,GAAkB39G,EAC3C,OACEre,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKsgB,IAAK45H,EAAiB0C,iBAAkBx7H,IAAI,uBAEjDlD,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAAA,OAAKG,UAAU,gBAAeD,SAAC,mBAC9Bg6I,EAAiB2C,oBAEhB,E,QCOKC,OAhBIvgH,IAAkC,IAAjC,MAAEwgH,EAAK,iBAAE7C,GAAkB39G,EAC7C,OACEv8B,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OACEsgB,IAAK45H,EAAiB8C,iBACtB57H,IAAI,qBACJ5c,MAAO,CACLlE,MAAO,WACPC,OAAQ,aACR8rC,UAAW,YAGX,E,QCqCK85E,OAlDF5pF,IAAmB,IAAlB,SAAEylF,GAAUzlF,EACxB,OACEv8B,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,YAAWD,SAAC,eAElB,OAAR8hH,QAAQ,IAARA,KAAUnkH,OACTmC,eAAA,WAAS+e,GAAG,wBAAwB5e,UAAU,wBAAuBD,SACnEF,eAAA,OAAKG,UAAU,wBAAuBD,SACpCF,eAAA,OAAKG,UAAU,4BAA4B4e,GAAG,kBAAiB7e,SACpD,OAAR8hH,QAAQ,IAARA,OAAQ,EAARA,EAAU1gG,KAAI,CAACve,EAAS07B,IAErBvgB,gBAAA,OAAK/d,UAAU,uCAAsCD,SAAA,CACnDF,eAAA,MACEG,UAAU,4CACV4e,GAAI,UAAU0f,IAAQv+B,SAEtBF,eAAA,UACEG,UAAU,6BACVE,KAAK,SACL,iBAAe,WACf,iBAAgB,YAAYo+B,IAC5B,gBAAc,QACd,gBAAe,WAAWA,IAAQv+B,SAEjC6C,EAAQ0tC,UAGbzwC,eAAA,OACE+e,GAAI,WAAW0f,IACft+B,UAAU,wDACV,kBAAiB,UAAUs+B,IAC3B,iBAAe,mBAAkBv+B,SAEjCF,eAAA,OAAKG,UAAU,uCAAsCD,SAClD6C,EAAQtF,qBASvB,SAEF,E,QC+EKw/I,OArHE1gH,IAAe,IAAd,KAAE3K,GAAM2K,EACxB,MAAM2gH,EAAkB,OAAJtrH,QAAI,IAAJA,OAAI,EAAJA,EAAMusD,cACpBg/D,EAAoB,OAAJvrH,QAAI,IAAJA,OAAI,EAAJA,EAAMurH,eAErBC,EAAQC,GAAalgI,oBAAS,IAC9BmgI,EAAcC,GAAmBpgI,oBAAS,GAE3C2rB,EAAcC,iBAAO,MAErBy0G,EAAkBA,KACjBJ,IACH5qH,UAAUirH,UAAUC,UAAUR,GAG9BG,GAAU,GAGVhoG,KAAMlxC,QAAQ,qCAAsC,CAClD2wC,SAAUO,KAAMsoG,SAASC,UACzB7oG,UAAW,IACXvwC,MAAO,CAAEywD,UAAW,QACpBr4B,QAASA,KAEPygH,GAAU,EAAM,IAGtB,EAiCF,OACEn/H,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,SACEK,KAAK,OACL5C,MAAOy/I,EACPW,UAAQ,EACR19I,UAAWi9I,EAAS,SAAW,KAEjCl/H,gBAAA,UACEC,QAASq/H,EACTr9I,UAAW,eAAci9I,EAAS,SAAW,IAAKl9I,SAAA,CAElDF,eAAA,OAAKsgB,IAAKpb,GAAO2W,SAAUuF,IAAI,SAC9Bg8H,EAAS,UAAY,aAI1Bl/H,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,UAAQme,QAhCY2/H,KAC1BN,IAEAjrH,OAAO0K,KADK,iBACK,SAAS,EA6BiB/8B,SACnCF,eAAA,OAAKsgB,IAAKpb,GAAOiX,aAAciF,IAAI,mBAGrCphB,eAAA,UAAQme,QA9BO4rB,KACrBzoC,QAAQC,IAAI,iBAAkB+7I,GAC9BC,GAAiBQ,IAAsBA,IACvCz8I,QAAQC,IAAI,gBAAiB+7I,EAAa,EA2BHn9I,UAAU,cAAaD,SACtDF,eAAA,OAAKsgB,IAAKpb,GAAOkX,UAAWgF,IAAI,uBAKtCphB,eAAA,OAAKG,UAAU,uBAAsBD,SAClCo9I,GACCt9I,eAAA,OAAKG,UAAU,gBAAgBupC,IAAKZ,EAAY5oC,SAC9Cge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,UAAQC,QAtDQ6/H,KAC1BzrH,OAAO0K,KACL,mFAAmFkgH,IACnF,UAEFI,GAAgB,EAAM,EAiDyBr9I,SAAA,CACnCF,eAAA,OAAKsgB,ICxGN,q+DDwGqBc,IAAI,aACxBphB,eAAA,QAAAE,SAAM,gBAERge,gBAAA,UAAQC,QAASq/H,EAAgBt9I,SAAA,CAC/BF,eAAA,OAAKsgB,IE5GN,yoDF4GsBc,IAAI,sBACzBphB,eAAA,QAAAE,SAAM,yBAERge,gBAAA,UAAQC,QAxEKqkB,KACvBjQ,OAAOuG,SAAW,6BAClBykH,GAAgB,EAAM,EAsEsBr9I,SAAA,CAChCF,eAAA,OAAKsgB,IGhHN,igFHgHsBc,IAAI,UACzBphB,eAAA,QAAAE,SAAM,aAERge,gBAAA,UAAQC,QAvEQ8/H,KAC1B1rH,OAAO0K,KAAK,sCAAuC,UACnDsgH,GAAgB,EAAM,EAqEyBr9I,SAAA,CACnCF,eAAA,OAAKsgB,IIpHN,q+EJoHyBc,IAAI,aAC5BphB,eAAA,QAAAE,SAAM,yBAMZ,E,gBKSKg+I,OA9HK3hH,IAKb,IALc,QACnB4hH,EAAO,aACPjC,EAAY,qBACZkC,EAAoB,mBACpBC,GACD9hH,EACC,MAAMpM,EAAWimC,eAmCjB,OACEl4C,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,SACEK,KAAK,WACLue,SAAUA,IAAMw/H,EAAqBD,GACrCn5I,KAAK,iBACL7E,UAAU,gBACVohB,QAjBS48H,IACVE,EAAmB9vE,MAAM5iC,GAASA,EAAK5sB,KAAOo/H,EAAQp/H,KAgB5Ck2D,CAAUkpE,GACnBh/H,SAAUs9H,GACR0B,EAAQ5E,cACR4E,EAAQG,iBAGZpgI,gBAAA,OACE/d,UAAW,mBAAmBs8I,GAC5B0B,EAAQ5E,cACR4E,EAAQG,iBACNp+I,SAAA,CAEJF,eAAA,OACEG,UAAW,gBAAgBs8I,GACzB0B,EAAQ5E,cACR4E,EAAQG,iBACNp+I,SAEHi+I,EAAQn5I,OAEXhF,eAAA,OACEG,UAAW,eAAes8I,GACxB0B,EAAQ5E,cACR4E,EAAQG,iBACNp+I,SAEHi+I,EAAQI,gBAGXv+I,eAAA,OAAKG,UAAU,wBAAuBD,SACpCge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CAAC,SACZi+I,EAAQ36F,iBAChBtlC,gBAAA,QAAAhe,SAAA,CAAM,UAASi+I,EAAQjlG,oBAM/Bl5C,eAAA,OAAKG,UAAU,eAAcD,SAAEi+I,EAAQK,iBAEvCtgI,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,OAAKG,UAAU,UAASD,SAAEi+I,EAAQ5E,gBAClCr7H,gBAAA,OAAK/d,UAAW,iBArEHg+I,IACW,gBAA1BA,EAAQ5E,cACH,YAGqB,aAA1B4E,EAAQ5E,cACH,cADT,EAgEuCkF,CAAYN,KAAWj+I,SAAA,CAAC,SAC/Ci+I,EAAQ3B,eAGlBt+H,gBAAA,OACE/d,UAAW,gBAzFAg+I,IACW,SAA1BA,EAAQO,cACH,SAGF,GAoF4Br0D,CAAY8zD,KACvChgI,QAASA,IAlFQggI,KACK,SAA1BA,EAAQO,gBACVvuH,EAASsqH,GAAqB0D,IAC9BjC,EAAaf,GAAsBM,eACrC,EA8EuBkD,CAAkBR,GAASj+I,SAAA,CAEf,SAA1Bi+I,EAAQO,eACoB,gBAA1BP,EAAQ5E,eAAmC,gBAE7C4E,EAAQS,gBAlEM/sH,EAkE2BssH,EAAQ5E,cAjExC,aAAX1nH,IAkEG3T,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,OACEsgB,IAAKpb,GAAOgX,aACZkF,IAAI,OACJjhB,UAAU,iBACT,IACFg+I,EAAQS,cAAe,gBAOjCT,EAAQU,iBACP3gI,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAAC,2CACci+I,EAAQU,sBAlFhChtH,KAqFjB,E,QCnCKitH,OAhFIviH,IAA6D,IAA5D,KAAEI,EAAI,aAAEoiH,EAAY,aAAE7C,EAAY,MAAE5qH,EAAK,UAAEuC,GAAW0I,EACxE,MAAOyiH,EAAOC,GAAY9hI,mBAAS,IAEnC3b,qBAAU,KAAO,IAAD09I,EACd,MAAMC,EACoC,QADdD,EAC1BpD,GAA2B,qBAAa,IAAAoD,IAAI,GAC9CD,EAASjD,GAAamD,GAAwB,GAC7C,IA2BH,OACEjhI,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQwrG,EACRvpG,gBAAgB,sBAAqBt1C,SAAA,CAErCF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IAEzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,MAAAE,SAAI,+BACJge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,SAAOsD,QAAQ,YAAWthB,SAAA,CAAC,SACnBF,eAAA,QAAAE,SAAM,SAEdF,eAAA,SACEK,KAAK,OACLue,SA1Ceyd,IACzB4iH,EAAS5iH,EAAEve,OAAOrgB,MAAM,EA0CdA,MAAOu+I,GAAagD,GACpBh6I,KAAK,YACL+Z,GAAG,YACHN,YAAY,oBAIhBP,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CAAC,0BACD,IACnBF,eAAA,QACEme,QAASA,KACP4gI,IACA7C,EAAaf,GAAsBG,aAAa,EAChDp7I,SACH,wBAKHF,eAAA,OAAKG,UAAU,YAAYge,QA1DXihI,KACtB,MAAMlgI,EVuEmB8/H,KAC3B,IAAKA,EAAM//I,SAAS,KAClB,OAAO,EAGT,MAAOogJ,EAAUC,GAAYN,EAAMzgJ,MAAM,KAEzC,SAAK8gJ,IAAaC,OAIQ,kCACH/nH,KAAKynH,MAIxBA,EAAMnhJ,OAAS,IAIR,EU3FQ0hJ,CAAavD,GAAagD,IAE3C,GAAI9/H,EAAU,CACZ,MAAM0S,EAAO,CACXvxB,KAAM,EACNi0I,SAAU,GACVC,UAAW,GACXC,OAAQ,GACRC,QAAS,GACT6C,OAAQ0H,GAEVpD,GAAyB,aAAcI,GAAagD,IACpD9C,EAAaf,GAAsBI,gBACnCK,GAAyB,OAAQv5I,KAAKw+C,UAAU,QAEhDi6F,GAAmBlpH,EAAMN,EAAOuC,EAClC,MACE30B,MAAM,8BACR,EAuC0DgB,SACjDy7I,GAAa,4BAId,E,QCyFG6D,OAvKKjjH,IAMb,IANc,KACnBI,EAAI,aACJoiH,EAAY,aACZ7C,EAAY,MACZ5qH,EAAK,UACLuC,GACD0I,EACC,MAAOkjH,EAAaC,GAAkBviI,mBAAS,CAC7CwiI,kBAAmB,GACnBC,SAAU,GACVC,cAAe,GACfC,qBAAsB,MAGjBC,EAAoBC,GAAyB7iI,mBAAS,CAC3DwiI,kBAAmB,GACnBC,SAAU,GACVC,cAAe,GACfC,qBAAsB,KAGxBt+I,qBAAU,KACR,MAAMy+I,EAAoBpE,aAAaE,QAAQ,eAC3CkE,GACFP,EAAer9I,KAAKC,MAAM29I,GAC5B,GACC,IAEH,MAAMnkH,EAAqBO,IACzB,MAAM,GAAEtd,EAAE,MAAEthB,GAAU4+B,EAAEve,OACxB,IAAIoiI,EAAeziJ,EAEnB,OAAQshB,GACN,IAAK,oBACHmhI,EAAeziJ,EAAM4iD,QAAQ,eAAgB,IAC7C,MACF,IAAK,WACH6/F,EAAeziJ,EAAM4iD,QAAQ,gBAAiB,IAC9C,MACF,IAAK,gBACL,IAAK,uBACH6/F,EAAeziJ,EAAM4iD,QAAQ,UAAW,IAM5Cq/F,EAAe,IAAKD,EAAa,CAAC1gI,GAAKmhI,GAAe,EAqBxD,OACEhiI,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQwrG,EACRvpG,gBAAgB,uBAAsBt1C,SAAA,CAEtCF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,MAAAE,SAAI,+BACJge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,SAAOsD,QAAQ,oBAAmBthB,SAAA,CAAC,sBACdF,eAAA,QAAAE,SAAM,SAE3BF,eAAA,SACEK,KAAK,OACL0e,GAAG,oBACHthB,MAAOgiJ,EAAYE,kBACnB/gI,SAAUkd,EACVrd,YAAY,cAEbshI,EAAmBJ,mBAClB3/I,eAAA,OAAKG,UAAU,gBAAeD,SAC3B6/I,EAAmBJ,uBAI1BzhI,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,SAAOsD,QAAQ,WAAUthB,SAAA,CAAC,YACfF,eAAA,QAAAE,SAAM,SAEjBF,eAAA,SACEK,KAAK,OACL0e,GAAG,WACHthB,MAAOgiJ,EAAYG,SACnBhhI,SAAUkd,EACVrd,YAAY,gBAEbshI,EAAmBH,UAClB5/I,eAAA,OAAKG,UAAU,gBAAeD,SAC3B6/I,EAAmBH,cAI1B1hI,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,SAAOsD,QAAQ,gBAAethB,SAAA,CAAC,iBACfF,eAAA,QAAAE,SAAM,SAEtBF,eAAA,SACEK,KAAK,OACL0e,GAAG,gBACHthB,MAAOgiJ,EAAYI,cACnBjhI,SAAUkd,EACVrd,YAAY,eAEbshI,EAAmBF,eAClB7/I,eAAA,OAAKG,UAAU,gBAAeD,SAC3B6/I,EAAmBF,mBAI1B3hI,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,SAAOsD,QAAQ,uBAAsBthB,SAAA,CAAC,yBACdF,eAAA,QAAAE,SAAM,SAE9BF,eAAA,SACEK,KAAK,OACL0e,GAAG,uBACHthB,MAAOgiJ,EAAYK,qBACnBlhI,SAAUkd,EACVrd,YAAY,eAEbshI,EAAmBD,sBAClB9/I,eAAA,OAAKG,UAAU,gBAAeD,SAC3B6/I,EAAmBD,6BAM5B5hI,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CAAC,gCACK,IACzBF,eAAA,QACEme,QAASA,IAAM+9H,EAAaf,GAAsBE,aAAan7I,SAChE,kBAKHF,eAAA,OAAKG,UAAU,YAAYge,QA5GdgiI,KACnB,GX+E8BC,EAACX,EAAaO,KAC9C,IAAIK,GAAU,EACd,MAAMt5E,EAAW,CAAC,EA+BlB,OA5BK04E,EAAYE,oBACf54E,EAAS44E,kBAAoB,mCAC7BU,GAAU,GAIQ,yBACH9oH,KAAKkoH,EAAYG,YAChC74E,EAAS64E,SAAW,qBACpBS,GAAU,GAIiB,aACH9oH,KAAKkoH,EAAYI,iBACzC94E,EAAS84E,cAAgB,0BACzBQ,GAAU,GAIRZ,EAAYI,gBAAkBJ,EAAYK,uBAC5C/4E,EAAS+4E,qBAAuB,gCAChCO,GAAU,GAEZL,EAAsBj5E,GAIfs5E,CAAO,EWhHRD,CAAmBX,EAAaO,GAAwB,CAC1D,MAAMpuH,EAAO,CACXvxB,KAAM,EACNi0I,SAAUmL,EAAYE,kBACtBpL,UAAWkL,EAAYG,SACvBpL,OAAQiL,EAAYI,cACpBpL,QAASgL,EAAYK,qBACrBxI,OAAQ,IAGVuE,aAAa13E,QAAQ,cAAe9hE,KAAKw+C,UAAU4+F,IACnDvD,EAAaf,GAAsBI,gBACnCK,GAAyB,OAAQv5I,KAAKw+C,UAAU,SAChDi6F,GAAmBlpH,EAAMN,EAAOuC,EAClC,GA6FuD3zB,SAC9Cy7I,GAAa,4BAId,E,QCnDG2E,OA7GO/jH,IAOf,IAPgB,KACrBI,EAAI,aACJoiH,EAAY,aACZ7C,EAAY,MACZ5qH,EAAK,UACLuC,EAAS,SACT1D,GACDoM,EACC,MAAMg+G,EAAmBjkF,cACtB31D,GAAUA,EAAM05I,kBAAkBO,gBAG9BoE,EAAOC,GAAY9hI,mBAAS,KAC5B9c,EAAMkgJ,GAAWpjI,mBAAS,KAC1BsiI,EAAaC,GAAkBviI,mBAAS,CAC7CwiI,kBAAmB,GACnBC,SAAU,GACVC,cAAe,GACfC,qBAAsB,KAkBxB,OAfAt+I,qBAAU,KAAO,IAAD09I,EACd,MAAMC,EACoC,QADdD,EAC1BpD,GAA2B,qBAAa,IAAAoD,IAAI,GAC9CD,EAASjD,GAAamD,IAEtB,MAAM9+I,EAAOy7I,GAA2B,QAExCyE,EAAQvE,GAAa37I,IAErB,MAAM4/I,EAAoBpE,aAAaE,QAAQ,eAC3CkE,GACFP,EAAer9I,KAAKC,MAAM29I,GAC5B,GACC,IAGD/hI,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQwrG,EACRvpG,gBAAgB,+BAA8Bt1C,SAAA,CAE9CF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IAEzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,MAAAE,SAAI,wBACJF,eAAA,MAAAE,SAAI,wDAEJge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,OAAMD,SAAC,kBACtBF,eAAA,OAAKG,UAAU,aAAYD,SACxB,SAAIm8I,GAAgB9B,UAIf,QAATl6I,EACC6d,gBAAA2f,YAAA,CAAA39B,SAAA,CACEge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,OAAMD,SAAC,mBACtBF,eAAA,OAAKG,UAAU,QAAOD,SAAa,OAAXu/I,QAAW,IAAXA,OAAW,EAAXA,EAAaI,mBAEvC3hI,gBAAA,OAAK/d,UAAU,yBAAwBD,SAAA,CACrCF,eAAA,OAAKG,UAAU,OAAMD,SAAC,cACtBF,eAAA,OAAKG,UAAU,QAAOD,SAAa,OAAXu/I,QAAW,IAAXA,OAAW,EAAXA,EAAaG,cAEvC1hI,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OAAKG,UAAU,OAAMD,SAAC,SACtBF,eAAA,OAAKG,UAAU,QAAOD,SAAa,OAAXu/I,QAAW,IAAXA,OAAW,EAAXA,EAAaE,0BAIzCzhI,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKG,UAAU,OAAMD,SAAC,WACtBF,eAAA,OAAKG,UAAU,QAAOD,SAAE8+I,UAK9B9gI,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OACEG,UAAU,cACVge,QAASA,IZ3CM+9H,KAC3B,MAAMh9H,EAAW48H,GAA2B,QAEb,QAA3BE,GAAa98H,GACfg9H,EAAaf,GAAsBE,aAEnCa,EAAaf,GAAsBG,aACrC,EYoC2BkF,CAAatE,GAAch8I,SAEzCy7I,GAAa,YAGhB37I,eAAA,OACEG,UAAU,cACVge,QAASA,KACP89H,GACE1B,EACAjpH,EACAuC,EACAqoH,EAED,EACDh8I,SAEDy7I,GAAa,sBAKhB,E,QC9DG8E,OAlDIlkH,IAUZ,IAVa,KAClBI,EAAI,aACJoiH,EAAY,oBACZ2B,EAAmB,MACnBpvH,EAAK,UACLuC,EAAS,SACT1D,EAAQ,sBACRwwH,EAAqB,aACrBzxH,EAAY,cACZE,GACDmN,EACC,OACEre,gBAACwe,KAAK,CACJC,KAAMA,EACN4W,OAAQwrG,EACRvpG,gBAAgB,qBAAoBt1C,SAAA,CAEpCF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IAEzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCF,eAAA,OAAKsgB,IAAKpb,GAAO+W,eAAgBmF,IAAI,iBACrCphB,eAAA,MAAAE,SAAI,mCACJF,eAAA,MAAAE,SAAI,+EAIJF,eAAA,OACEG,UAAU,SACVge,QAASA,KACP4gI,IACA2B,EAAoBzF,IACpB0F,EAAsB,IACtB5F,GACEzpH,EACAuC,EACA1D,EACAjB,EACAE,EACD,EACDlvB,SAEDy7I,GAAa,eAId,E,QCyBGiF,OAnEArkH,IAA6D,IAA5D,KAAEI,EAAI,aAAEoiH,EAAY,aAAE7C,EAAY,MAAE5qH,EAAK,UAAEuC,GAAW0I,EACpE,MAAM+9G,EAAoBhkF,cACvB31D,GAAUA,EAAM05I,kBAAkBC,oBAG/BlmE,EAAiB9d,cACpB31D,GAAUA,EAAM05I,kBAAkBjmE,iBAsB/BysE,EAAgB9hI,IfRK0S,OAAOG,EAAMN,EAAOuC,EAAWqoH,KAC1D,MAAMvoH,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACE,MAAMpS,QAAiBwS,KAAMqC,KAAK3F,GAASwD,EAAM,CAAE+B,YACnD,GAA6B,MAAzBzU,EAAS0S,KAAKC,OAOhB,OANAqqH,EAAaf,GAAsBC,MACnCzmG,GAAgB,CACd9iB,OAAQ3S,EAAS0S,KAAKC,OACtB6B,QAAS,4CAGJxU,EAAS0S,KAAKA,IAEzB,CAAE,MAAOyK,GACP/6B,QAAQC,IAAI86B,EAAE3I,QAChB,GeNEotH,CAHa,CACX/hI,MAEkBuS,EAAOuC,EAAWqoH,EAAa,EAGrD,OACEh+H,gBAACwe,KAAK,CAACC,KAAMA,EAAM4W,OAAQwrG,EAAcvpG,gBAAgB,iBAAgBt1C,SAAA,CACvEF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IAEzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/BF,eAAA,MAAAE,SAAI,8BACJF,eAAA,MAAAE,SAAI,sEAIJge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OACEG,UAAU,cACVge,QAASA,IAAM0iI,EAA8B,OAAjBvG,QAAiB,IAAjBA,OAAiB,EAAjBA,EAAmBv7H,IAAI7e,SAElDy7I,GAAa,YAGhB37I,eAAA,OACEG,UAAU,cACVge,QAASA,IA/CC4iI,MACpB,MAAM,QAAE1J,EAAO,SAAEE,GAAanjE,EACxBqrE,EAAc,CAClBE,kBAA2B,OAARpI,QAAQ,IAARA,OAAQ,EAARA,EAAUjD,SAC7BsL,SAAkB,OAARrI,QAAQ,IAARA,OAAQ,EAARA,EAAUhD,UACpBsL,cAAuB,OAARtI,QAAQ,IAARA,OAAQ,EAARA,EAAU/C,OACzBsL,qBAA8B,OAARvI,QAAQ,IAARA,OAAQ,EAARA,EAAU9C,SAGlCmH,GAAyB,aAAqB,OAAPvE,QAAO,IAAPA,OAAO,EAAPA,EAASC,QAChDuE,aAAa13E,QAAQ,cAAe9hE,KAAKw+C,UAAU4+F,IAEhB,QAA/BnF,EAAkB9C,SACpB0E,EAAaf,GAAsBE,aAEnCa,EAAaf,GAAsBG,aACrC,EA+ByByF,GAA4B7gJ,SAE1Cy7I,GAAa,sBAKhB,ECgHGqF,OAxKKzkH,IAeb,IAfc,UACnB1I,EAAS,MACTvC,EAAK,oBACLovH,EAAmB,mBACnBO,EAAkB,gBAClBC,EAAe,cACfpkD,EAAa,mBACbuhD,EAAkB,qBAClBD,EAAoB,YACpB5D,EAAW,gBACX2G,EAAe,SACfhxH,EAAQ,sBACRwwH,EAAqB,aACrBzxH,EAAY,cACZE,GACDmN,EACCj7B,QAAQC,IAAI,cAAei5I,GAE3B,MAAO4G,EAAWlF,GAAgB/+H,mBAASg+H,GAAsBC,MAiC3D2D,EAAeA,KACnB7C,EAAaf,GAAsBC,KAAK,EAG1C,OACEp7I,eAAA,OAAKG,UAAW,oBAAoB+gJ,IAAkBhhJ,SACpDge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCF,eAAA,OAAKG,UAAU,kBAAkBge,QAhCNkjI,KACG,IAA9BhD,EAAmBxgJ,OANhBwgJ,EACJ/8H,KAAKooB,GAAQmlC,WAAWnlC,EAAI8yG,eAC5B3qB,QAAO,CAACC,EAAKyqB,IAASzqB,EAAMyqB,GAAM,GASF,EACjCr9I,MACE,sEAKJixB,EAASwqH,GAAgB0D,IAEzBnC,EAAaf,GAAsBE,cAbjCn8I,MAAM,6BAauC,EAiBwBgB,SAChEy7I,GAAa,iBAEhBz9H,gBAAA,OAAK/d,UAAU,mBAAkBD,SAAA,CAC/Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACE,uBAApBghJ,GACClhJ,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,OAAKG,UAAU,UAAUge,QAAS2+E,EAAc58F,SAC9CF,eAAA,OAAKsgB,IAAKpb,GAAO8W,WAAYoF,IAAI,gBAIvCphB,eAAA,OAAKG,UAAU,OAAMD,SAAC,qBAExBF,eAAA,OAAKG,UAAU,QAAQge,QA5BOmjI,KACpCH,EAAgBjG,IAChB/qH,EAASwqH,GAAgB,KACzBsG,EAAmB,sBACnBN,EAAsB,GAAG,EAwB2CzgJ,SACvC,uBAApBghJ,GAAuD,OAAX1G,QAAW,IAAXA,KAAa38I,OACxD,WAEAmC,eAAA,eAKNA,eAAA,OAAKG,UAAU,QAAOD,SACR,OAAXs6I,QAAW,IAAXA,KAAa38I,OACZ28I,EAAYl5H,KAAK68H,GAEbn+I,eAACmvG,IAAMlvG,SAAQ,CAAAC,SACbF,eAACk+I,GAAW,CACVC,QAASA,EACTjC,aAAcA,EACdkC,qBAAsBA,EACtBC,mBAAoBA,KALHF,EAAQp/H,MAWjCb,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OACEsgB,IAAKpb,GAAO+V,WACZ9a,UAAU,iBACVihB,IAAI,mBAENphB,eAAA,OAAKG,UAAU,iBAAgBD,SAAC,gCAKrCkhJ,IAAcjG,GAAsBE,aACnCr7I,eAAC8+I,GAAU,CACTniH,MAAM,EACNoiH,aAAcA,EACd7C,aAAcA,EACd5qH,MAAOA,EACPuC,UAAWA,IAIdutH,IAAcjG,GAAsBG,cACnCt7I,eAACw/I,GAAW,CACV7iH,MAAM,EACNoiH,aAAcA,EACd7C,aAAcA,EACd5qH,MAAOA,EACPuC,UAAWA,IAIdutH,IAAcjG,GAAsBI,gBACnCv7I,eAACsgJ,GAAa,CACZ3jH,MAAM,EACNoiH,aAAcA,EACd7C,aAAcA,EACd5qH,MAAOA,EACPuC,UAAWA,EACX8mH,gBAAiBA,KAIpByG,IAAcjG,GAAsBK,aACnCx7I,eAACygJ,GAAU,CACT9jH,MAAM,EACNoiH,aAAcA,EACd7C,aAAcA,EACdwE,oBAAqBA,EACrBpvH,MAAOA,EACPuC,UAAWA,EACX1D,SAAUA,EACVwwH,sBAAuBA,EACvBzxH,aAAcA,EACdE,cAAeA,EACfurH,gBAAiBA,KAIpByG,IAAcjG,GAAsBM,eACnCz7I,eAAC4gJ,GAAM,CACLjkH,MAAM,EACNoiH,aAAcA,EACd7C,aAAcA,EACd5qH,MAAOA,EACPuC,UAAWA,QAIb,E,QCtHK0tH,OA3DGhlH,IAA2B,IAA1B,MAAEjL,EAAK,UAAEuC,GAAW0I,EACrC,MAAOyE,EAAcC,GAAmB9jB,mBAAS,IAC1CqkI,EAAqBC,GAA2BtkI,mBAAS,IAEhE3b,qBAAU,KACRkgJ,GAAwB,GACvB,IAEHlgJ,qBAAU,KACR,GAAIggJ,EAAoB3jJ,OAAS,EAAG,CAClC,MAAM8jJ,EAAW/oF,aAAY,KAC3B33B,GACG2gH,IAAeA,EAAY,GAAKJ,EAAoB3jJ,QACtD,GACA,KAEH,MAAO,IAAMm7D,cAAc2oF,EAC7B,IACC,CAACH,IAEJ,MAAME,EAAyBjwH,UAC7B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAAItD,GAAS,CAAEsF,YAEf,MAAzBzU,EAAS0S,KAAKC,QAChB4vH,EAAwBviI,EAAS0S,KAAKA,KAE1C,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAGF,OACEjF,eAAA,OAAKG,UAAU,OAAMD,SAClBshJ,EAAoBlgI,KAAI,CAAC0xB,EAAMvU,IAC1BA,IAAUuC,EAEV9iB,gBAAA,OAAiB/d,UAAU,eAAcD,SAAA,CACvCF,eAAA,OAAKsgB,IAAK0yB,EAAKhJ,MAAO5oB,IAAI,SAC1BlD,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CAClB8yC,EAAKhuC,KAAK,WAAS,IACpBkZ,gBAAA,QAAM/d,UAAU,cAAaD,SAAA,CAC1B8yC,EAAKwpG,YAAY,kBAEpBt+H,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CAAE8yC,EAAK6uG,UAAU,eAPpCpjH,GAYP,QAEL,E,QCoHKqjH,OA7JavlH,IAUrB,IAVsB,KAC3B3K,EAAI,iBACJsoH,EAAgB,YAChB5/F,EAAW,iBACXynG,EAAgB,MAChBzwH,EAAK,UACLuC,EAAS,oBACT6sH,EAAmB,gBACnBQ,EAAe,mBACfD,GACD1kH,EACC,MAAMpM,EAAWimC,eAEXokF,EAAclkF,cACjB31D,GAAUA,EAAM05I,kBAAkBG,eAG9BwH,EAAkBb,GAAmBhkI,mBAC1C+9H,KAGKmD,EAAoBsC,GAAyBxjI,mBAAS,IAEvD+R,EAAeA,KACnBiB,EAASC,KAAyB,EAG9BhB,EAAgBA,KACpBe,EAASC,KAA0B,EAGrC5uB,qBAAU,KACRu5I,GAAgBzpH,EAAOuC,EAAW1D,EAAUjB,EAAcE,GAE1De,EAASwqH,GAAgB,IAAI,GAC5B,IAEH,MAAMyD,EAAwBD,IAC5BwC,GAAuBpvH,GACCA,EAAUg9C,MAAM5iC,GAASA,EAAK5sB,KAAOo/H,EAAQp/H,KAG1DwS,EAAUuzB,QAAQnZ,GAASA,EAAK5sB,KAAOo/H,EAAQp/H,KAE/C,IAAIwS,EAAW4sH,IAExB,EAGErhD,EAAgBA,KACpBqkD,EAAgBjG,IAChB+F,EAAmB,sBACnBN,EAAsB,GAAG,EAG3B,OAAOqB,IAAqB9G,GAC1Bl7I,eAACghJ,GAAW,CACV1vH,MAAOA,EACPuC,UAAWA,EACX6sH,oBAAqBA,EACrBO,mBAAoBA,EACpBC,gBAAiBA,EACjB7C,mBAAoBA,EACpBD,qBAAsBA,EACtB5D,YAAaA,EACb2G,gBAAiBA,EACjBrkD,cAAeA,EACf3sE,SAAUA,EACVwwH,sBAAuBA,EACvBzxH,aAAcA,EACdE,cAAeA,IAGjBpvB,eAAA,OAAKG,UAAU,yBAAwBD,SACrCge,gBAAA,OAAK/d,UAAU,iCAAgCD,SAAA,CAC7Cge,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7BF,eAACm8B,IAAI,CACHh8B,UAAU,UACVi8B,GAAI,CACF5I,SAAU,mBACVtzB,SAEFF,eAAA,OAAKsgB,IAAKpb,GAAO8W,WAAYoF,IAAI,cAEnCphB,eAAA,OAAKG,UAAU,mBAAkBD,SAAC,oBAEpCge,gBAAA,OAAK/d,UAAU,uBAAsBD,SAAA,CACnCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,WAAAE,SACEF,eAAC28I,GAAe,CACd/qH,KAAMA,EACNsoH,iBAAkBA,MAGtBl6I,eAAA,WAAAE,SACEF,eAAC88I,GAAU,CACTC,MAAOnrH,EAAKmrH,MACZ7C,iBAAkBA,MAGrB5/F,EAAc,KACbt6C,eAAA,WAAAE,SACEF,eAACmmH,GAAI,CAACnE,SAAUk4B,EAAiB5iE,WAKvCp5D,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACuhJ,GAAS,CAACjwH,MAAOA,EAAOuC,UAAWA,IACpC3V,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,OAAKG,UAAU,eAAcD,SAAC,0CAG9BF,eAACi9I,GAAQ,CAACrrH,KAAMA,OAGlB1T,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,OAAKsgB,IAAKpb,GAAO0W,SAAUwF,IAAI,YAAYjhB,UAAU,UACrDH,eAAA,OAAKG,UAAU,SAAQD,SAAC,gCACxBF,eAAA,OAAKG,UAAU,OAAMD,SACF,OAAhBg6I,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB+H,yBAIvBjiJ,eAACghJ,GAAW,CACV1vH,MAAOA,EACPuC,UAAWA,EACX6sH,oBAAqBA,EACrBO,mBAAoBA,EACpBC,gBAAiBA,EACjB7C,mBAAoBA,EACpBD,qBAAsBA,EACtB5D,YAAaA,EACb2G,gBAAiBA,EACjBrkD,cAAeA,EACf3sE,SAAUA,EACVwwH,sBAAuBA,EACvBzxH,aAAcA,EACdE,cAAeA,IAGjBlR,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,OAAKsgB,IAAKpb,GAAO6W,gBAAiBqF,IAAI,oBACtClD,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CAAC,OAEpBF,eAAA,QAAMme,QAAS4jI,EAAiB7hJ,SAAC,0CAQhD,ECNYQ,qBAVUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjBwwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB7yB,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,kBAIc,KAAzBT,EAxJM67B,IAOd,IAPe,MACpBjL,EAAK,UACLuC,EAAS,SACT7yB,EAAQ,eACRG,EAAc,QACdE,EAAO,OACPP,GACDy7B,EACC,MAAO3K,EAAMixF,GAAW1lG,mBAAS,CAAC,IAC3B+8H,EAAkBgI,GAAuB/kI,mBAAS,CAAC,IACnDglI,EAAkBzB,GAAuBvjI,mBAC9C,wBAEK+jI,EAAiBD,GAAsB9jI,mBAAS,sBAMjD2/E,EAAgBA,KACpB4jD,EAAoBzF,IACpBgG,EAAmB,qBAAqB,EAkC1Cz/I,qBAAU,KA/BaiwB,WACrB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAAIpG,GAASoI,GAElB,MAApBzU,EAAS2S,QACXgxF,EAAQ3jG,EAAS0S,KAAKA,KAE1B,CAAE,MAAO6rB,GACPn8C,QAAQC,IAAIk8C,EACd,GAoBA2kG,GAjB0B3wH,WAC1B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAAI3D,GAAS,CAAE2F,YAEf,MAAzBzU,EAAS0S,KAAKC,QAChBqwH,EAAoBhjI,EAAS0S,KAAKA,KAEtC,CAAE,MAAO6rB,GACPn8C,QAAQC,IAAIk8C,EAAI/pB,QAClB,GAMA2uH,GAcA,OAVEtiI,YAAW,KACTzb,SAASw5E,gBAAgBC,UAAY,EACrCz5E,SAASm3D,KAAKsiB,UAAY,CAAC,GAC1B,GAOE,KACLz5E,SAASw5E,gBAAgBC,UAAY,EACrCz5E,SAASm3D,KAAKsiB,UAAY,CAAC,CAC5B,GACA,IAEH,MAAOzjC,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAiB,SAAU+W,GAE3B,KACLloB,OAAOoR,oBAAoB,SAAU8W,EAAS,IAE/C,CAACH,IAGFp8B,gBAACje,WAAQ,CAAAC,SAAA,CACNo6C,GAAe,IAEdp8B,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5CrB,eAACC,WAAQ,CAAAC,SACPF,eAAC+1D,GAAgB,CAAC10D,QAASA,MAG/BrB,eAAA,OAAKG,UAAU,uBAAsBD,SACnCge,gBAAA,OAAK/d,UAAU,+BAA8BD,SAAA,CAC1CiiJ,IAAqBlH,IACpBj7I,eAAC8hJ,GAAmB,CAClBlwH,KAAMA,EACNsoH,iBAAkBA,EAClB6H,iBAnGaA,KACvBrB,EAAoBzF,GAAyC,EAmGnD3gG,YAAaA,EACbhpB,MAAOA,EACPuC,UAAWA,EACX6sH,oBAAqBA,EACrBQ,gBAAiBA,EACjBD,mBAAoBA,EACpBnkD,cAAeA,EACfqlD,iBAAkBA,IAIrBA,IAAqBlH,IACpBj7I,eAAA,OAAKG,UAAU,qCAAoCD,SACjDF,eAACsiJ,GAAkC,CACjCxlD,cAAeA,EACfo9C,iBAAkBA,WAM5Bl6I,eAAC67C,GAAgB,IAChB/6C,GAAUd,eAACD,KAAW,MACd,I,QCJAW,qBAvBUC,IAChB,CACLG,OAAQH,EAAMI,GAAGD,OACjB48F,eAAgB/8F,EAAMy2F,uBAAuBsG,eAC7CpsE,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB+5B,SAAUjtD,EAAMy2F,uBAAuBxpC,SACvC5sD,SAAUL,EAAMM,KAAKC,KACrBC,eAAgBR,EAAMQ,eACtBysD,SAAUjtD,EAAMy2F,uBAAuBxpC,aAGfz9B,IACnB,CACLjB,aAAcA,KACZiB,EAASC,KAAyB,EAEpChB,cAAeA,KACbe,EAASC,KAA0B,KAK1B1vB,EArIUU,IACvB,MAAM,aAAE8tB,EAAY,cAAEE,EAAa,eAAEsuE,EAAc,SAAE9vC,EAAQ,MAAEt8B,EAAK,UAAEuC,EAAS,QAAExyB,EAAO,SAAEL,EAAQ,eAAEG,GAClGC,GAEKmhJ,EAAaC,GAAkBrlI,mBAAS,CAAC,GAEhD3b,qBAAU,KACRihJ,GAAgB,GACf,IAEH,MAAMA,EAAiBhxH,UACrB,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAGjC,IAAIM,EAAO,CACTi8B,SAAUD,EAASC,UAGrB3+B,IACA,IACE,MAAMhQ,QAAiBwS,KAAMqC,KAAK/H,GAAS4F,EAAM,CAAE+B,YACtB,MAAzBzU,EAAS0S,KAAKC,SAChB2wH,EAAetjI,EAAS0S,KAAKA,MAC7BxC,IAEJ,CAAE,MAAOnqB,GACP3D,QAAQC,IAAI0D,GACZmqB,GACF,IAGKkrB,EAAaC,GAAkBp9B,mBAASoV,OAAOioB,YAChDC,EAAWA,KACfF,EAAehoB,OAAOioB,WAAW,EAUnC,OARAh5C,qBAAU,KACR+wB,OAAOmR,iBAAkB,SAAS+W,GAE1B,KACNloB,OAAOoR,oBAAoB,SAAS8W,EAAS,IAE/C,CAACH,IAGDp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CAEGo6C,GAAe,IAEVp8B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC2qC,GAA0B,IAC3B3qC,eAAC01D,GAAuB,CACtBv0D,eAAgBA,EAChBH,SAAUA,IAEZhB,eAAC21D,GAA+B,CAACt0D,QAASA,OAI5CrB,eAAA69B,YAAA,CAAA39B,SACIF,eAAC+1D,GAAgB,CAAC10D,QAASA,MAGrCrB,eAAA,OAAKG,UAAU,8BAA6BD,SAC1Cge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAACm8B,QAAI,CAACh8B,UAAU,UAAUi8B,GAAI,CACtB5I,SAAU,QACV7yB,MAAO,CAAEyiC,IAAK,SAChBljC,SACEF,eAAA,OAAKsgB,IAAKpb,GAAOkE,WAAYgY,IAAI,cAEzCphB,eAAA,MAAAE,SAAI,oBAENge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAe,OAAXqiJ,QAAW,IAAXA,OAAW,EAAXA,EAAa90F,qBAEnBvvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,gBACHF,eAAA,KAAAE,SAAe,OAAXqiJ,QAAW,IAAXA,OAAW,EAAXA,EAAa50F,iBAEnBzvC,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,oBACHF,eAAA,KAAAE,SAAe,OAAXqiJ,QAAW,IAAXA,OAAW,EAAXA,EAAaloD,oBAEnBn8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAe,OAAXqiJ,QAAW,IAAXA,OAAW,EAAXA,EAAajoD,sBAEnBp8E,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,KAAAE,SAAG,qBACHF,eAAA,KAAAE,SAAI,GAAc,OAAXqiJ,QAAW,IAAXA,OAAW,EAAXA,EAAa72B,+BAI1B1rH,eAAA,OAAKG,UAAU,aAAYD,SACzBF,eAAA,UAAQme,QAASA,KACf9c,EAAQkyB,KAAK,CAACC,SAAU,QAAS7yB,MAAQ,CAAEyiC,IAAK,SAAU,EAC1DljC,SAAC,2BAKR,I,8BChHQwiJ,OAPCnmH,IAAoB,IAAnB,IAAEjc,EAAG,KAAEtb,GAAMu3B,EAE5B,OACEv8B,eAAC2iJ,KAAM,CAAC39I,KAAMA,EAAM2iD,KAAK,KAAK9nD,OAAO,GAAQ,E,oBC2BlC+iJ,OA5Bf,SAAcrmH,GAAoE,IAAnE,UAACsmH,EAAS,cAACC,EAAa,iBAACC,EAAgB,aAACC,EAAY,SAACC,GAAS1mH,EAE7E,OACEre,gBAAA2f,YAAA,CAAA39B,SAAA,CAEIF,eAACkjJ,KAAW,CACdjmH,KAAM4lH,EACJM,aAAeC,IACbL,GAAkBM,GAAaA,EAAWD,EAAMA,QAChDJ,GAAcH,GACdI,EAASrlI,QAAQK,OAAO,EAG5BqlI,UAAW,GACXC,QAAS,GACT/+I,MAAO,CAAElE,MAAO,WAGfwiJ,GAAiB9iJ,eAAA,QAAMwE,MAAO,CAACC,QAAQ,OAAOs5B,eAAe,UAChE79B,SAAE4iJ,MAKN,ECqPe/3E,OAtQf,SAAsBxuC,GAA8C,IAA7C,iBAAEinH,EAAgB,OAAE51G,EAAM,cAACC,GAAetR,EAC/D,MAAM,SAAE8iH,EAAQ,SAAE97I,EAAQ,KAAEyB,EAAI,SAAEy+I,GAAaD,GACxCE,EAAYC,GAAiBxmI,mBAAS,OACtC4pD,EAAUy8C,GAAermG,mBAAS,KAClCymG,EAAcC,GAAmB1mG,mBAAS,KAC1C0lI,EAAWG,GAAgB7lI,oBAAS,IACpCymI,EAAaC,GAAkB1mI,mBAAS,SACxC2mI,EAAUC,GAAe5mI,mBAAS,IACnC6mI,EAAkBj7G,iBAAO,MACzBk6G,EAAWl6G,iBAAO,OACjBk7G,EAAUC,GAAe/mI,oBAAS,IAClC41B,EAASsrB,GAAclhD,oBAAS,GAGvC3b,qBAAU,KACR,MAAM2iJ,EAAO,IAAIC,WAAQC,WAjBR,4CAmCjB,OAjBAV,EAAcQ,GAEdA,EAAKzjJ,QAAQ2+I,EAAU97I,GAAWsuB,IAC5BA,IAAWuyH,WAAQE,OAAOC,YAC5BjjJ,QAAQC,IAAI,aAEZ4iJ,EAAKK,KAAKC,mBAAQC,EAAE,YAAYpxD,EAAE,MAClC6wD,EAAKK,KACHC,iBAAM,CACJroH,GAAIqnH,EAAW,IAAMz+I,IACpB0/I,EAAE,IAAK,CAAE5wD,MAAO,oCAGrBqwD,EAAKQ,WAAWC,EAAW,KAAM,UAAW,aAC9C,IAGK,KACDT,IACFA,EAAKU,aACLvjJ,QAAQC,IAAI,gBACd,CACD,GAIA,IAEHC,qBAAU,KACJwiJ,EAAgBpmI,UAClBomI,EAAgBpmI,QAAQmgE,UAAYimE,EAAgBpmI,QAAQw/B,aAC9D,GACC,CAAC2pB,IAEJ,MAAM69E,EAAaz8E,IACjB,MAAM28E,EAAcV,WAAQW,mBAAmB58E,EAAI3qC,aAAa,WAAax4B,EACvEgoE,EAAOo3E,WAAQW,mBAAmB58E,EAAI3qC,aAAa,SACnDi+B,EAAO2oF,WAAQY,QAAQ78E,EAAI88E,qBAAqB,QAAQ,IACxDC,EAAe/8E,EAAI88E,qBAAqB,SAAS,GACjD99E,EAAY+9E,EAAeA,EAAa1nH,aAAa,SAAW,KACtE,IAAIqT,EAAa,GACjB,GAAIs2B,EAAW,CACb,MAAMh5B,EAAO,IAAImB,KAAK63B,GACtBt2B,EAAa1C,EAAKg3G,mBAAmB,QAAS,CAAEC,QAAQ,EAAMr0G,KAAM,UAAWC,OAAQ,UAAWC,OAAQ,WAC5G,CAOA,OALAuyE,GAAa6hC,GAAiB,IACzBA,EACH,CAAEr4E,OAAMvR,OAAMqpF,cAAa39E,UAAWt2B,OAGjC,CAAI,EAaPy0G,EAAmBA,KACvB,GAA4B,IAAxB1hC,EAAa/lH,OAEf,YADAqB,MAAM,wBAIR,MAAMw0B,EAAU6xH,gBAAK,CACnBnpH,GAAIqnH,EACJpjJ,KAAM,cACLqkJ,EAAE,QAAQpxD,EAAEswB,GAEf8/B,EAAWc,KAAK9wH,GAChBmwF,EAAgB,GAAG,EAGf9jF,EAAkBqD,IACtBygH,EAAezgH,GACH,UAARA,GACFoiH,GACF,EAGIA,EAAgB/zH,UACpB4sC,GAAW,GAEX,IACE,MAAMn/C,QAAiBumI,MAAM,GAAGx4H,oBAAyB4gB,KACnDjc,QAAa1S,EAASwmI,OAC5B3B,EAAY,IAAInyH,EAAKA,KAAK+zH,WAC1BtnF,GAAW,EACb,CAAE,MAAOp5D,GACP3D,QAAQ2D,MAAM,4BAA6BA,GAC3Co5D,GAAW,EACb,GAKF,OAFA/8D,QAAQC,IAAI,WAAYuiJ,GAGtB9jJ,eAAA,OAAKG,UAAU,oBAAmBD,SAChCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,UAAAhe,SAAA,CACEge,gBAAA,MACE/d,UAAW,QAAuB,SAAhByjJ,EAAyB,SAAW,IACtD7kI,GAAG,WACHZ,QAASA,IAAM4hB,EAAe,QAAQ7/B,SAAA,CAEtCF,eAAA,OAAKsgB,IAAKpb,GAAOkT,SAAUgJ,IAAI,aAC/BphB,eAAA,QAAAE,SAAM,YAERge,gBAAA,MACE/d,UAAW,QAAuB,UAAhByjJ,EAA0B,SAAW,IACvD7kI,GAAG,WACHZ,QAASA,IAAM4hB,EAAe,SAAS7/B,SAAA,CAEvCF,eAAA,OAAKsgB,IAAKpb,GAAO2T,SAAUuI,IAAI,aAC/BphB,eAAA,QAAAE,SAAM,eAIO,SAAhB0jJ,GACC1lI,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAA,WAASG,UAAU,oBAAoBupC,IAAKs6G,EAAgB9jJ,SACjD,OAAR6mE,QAAQ,IAARA,OAAQ,EAARA,EAAUzlD,KAAI,CAAC6mD,EAAK1pC,KAAW,IAADmnH,EAC7B,MAAMd,EAAc38E,EAAI6E,OAAShoE,EACjC,IAAI6gJ,EAOJ,OALEA,EADU,QAAZD,EAAIz9E,EAAI1M,YAAI,IAAAmqF,GAARA,EAAU3mJ,SAAS,eACRkpE,EAAI1M,KAAKl9D,MAAM,eAEf,CAAC4pE,EAAI6E,KAAM7E,EAAI1M,MAG1B0M,EAAI6E,OAAShoE,EAEbkZ,gBAAA,OAAK/d,UAAW,WAAWD,SAAA,CACzBge,gBAAA,OAAK/d,UAAW,qBAAqBD,SAAA,CACnCF,eAAA,OAAKG,UAAU,YAAWD,SAAEioE,EAAIhB,YAChCnnE,eAAA,OAAKG,UAAU,YAAWD,SAAC,QAC3BF,eAAA,OAAKG,UAAU,SAAQD,SACpBioE,EAAI6E,KAAOhtE,eAAC0iJ,GAAO,CAAC19I,KAAMmjE,EAAI6E,OAAW,QAG9ChtE,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,OACEG,UAAW,kBACX69C,wBAAyB,CAAEC,OAAQkqB,EAAI1M,YAXZh9B,GAiB/BonH,EAAW,KAAOtiJ,EAASzE,eAAmC,QAAlB+mJ,EAAW,GAEvD3nI,gBAAA,OAAK/d,UAAW,WAAWD,SAAA,CACzBge,gBAAA,OAAK/d,UAAW2kJ,EAAc,OAAS,kBAAkB5kJ,SAAA,CACvDF,eAAA,OAAKG,UAAU,SAAQD,SACpBioE,EAAI6E,KAAOhtE,eAAC0iJ,GAAO,CAAC19I,KAAMmjE,EAAI6E,OAAW,KAE5ChtE,eAAA,OAAKG,UAAU,YAAWD,SAAEioE,EAAI6E,OAChChtE,eAAA,OAAKG,UAAU,YAAWD,SAAEioE,EAAIhB,eAElCnnE,eAAA,OAAKG,UAAU,iBAAgBD,SAC7BF,eAAA,OAAKG,UAAW,WAAY69C,wBAAyB,CAAEC,OAAQ4nG,EAAW,UAT7CpnH,GAehC,IAAI,MAIdmP,IAA0B,OAAhB41G,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkBsC,OAAyB,SAAhBlC,GACpC1lI,gBAAA,WAAS/d,UAAU,uBAAsBD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKG,UAAU,QAAQge,QAASA,IAAM6kI,GAAcH,GAAW3iJ,SAC7DF,eAAA,OAAKsgB,IAAKpb,GAAOoT,UAAW8I,IAAI,iBAEjCyhI,GACC3kI,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC4iJ,GAAK,CACJC,UAAWA,EACXC,cAAel/B,EACfm/B,iBAAkBl/B,EAClBm/B,aAAcA,EACdC,SAAUA,EACV9iJ,UAAU,wBAEZH,eAAA,OAAKG,UAAU,YAAYge,QAASA,IAAM6kI,GAAcH,GAAW3iJ,SAAC,iBAM1EF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,SACEvC,MAAOmmH,EACPnlG,YAAY,eACZG,SArJUnB,IAC5BomG,EAAgBpmG,EAAMK,OAAOrgB,MAAM,EAqJjBsoJ,UAlJItoI,IACJ,UAAdA,EAAMtb,KACRmjJ,GACF,EAgJkB57G,IAAKu5G,SAIXjjJ,eAAA,OAAKG,UAAU,aAAage,QAASmnI,EAAiBplJ,SACpDF,eAAA,OAAKsgB,IAAKpb,GAAOmT,QAAS+I,IAAI,qBAOvB,UAAhBwiI,GACC5jJ,eAAA,OAAKG,UAAU,YAAWD,SAGvB6yC,EACC/yC,eAACu9E,GAAO,CACND,QAAS,SACTn9E,UAAW,cAIL,OAAR2jJ,QAAQ,IAARA,OAAQ,EAARA,EAAUxiI,KAAI,CAAC0kI,EAAMvnH,IAGjBz+B,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,UAAQsgB,IAAK0lI,EAAKC,SAAUznI,MAAO,QAAQigB,OADXA,WAapD,E,QCrFe/9B,qBAPUC,IAChB,CACL2wB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,aAIc,EAAzBnzB,EAnLe67B,IAMvB,IANwB,iBAC7BinH,EAAgB,OAChB51G,EAAM,cACNC,EAAa,MACbvc,EAAK,UACLuC,GACD0I,EACC,MAAMl7B,EAAUm1B,wBACV,SAAEsW,EAAQ,WAAE6hB,EAAU,cAAEiF,GAAkB4vF,EAE1CrsF,EAAcpuB,iBAAO,MAErBm9G,EAAgB5lH,uBAAY7O,UAChC,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAEjC,IACE,MAAMpS,QAAiBwS,KAAMC,IAC3B,GAAG5E,oBAAyB8gB,IAC5Bla,GAEFryB,QAAQC,IAAI2d,EAAS0S,KAAKA,KAAKu0H,eAC/BC,EAAclnI,EAAS0S,KAAKA,KAAKu0H,cACnC,CAAE,MAAOlhJ,GACP3D,QAAQC,IAAI0D,EACd,IACC,CAAC4oC,EAAevc,EAAOuC,IAEpBwyH,EAAoB/lH,uBAAY7O,UACpC,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,YAGVI,KAAMqC,KAC3B,0FAA0F8Z,gBAC1F,CAAEla,aAGS/B,KAAKC,OAChBxwB,EAAQkyB,KAAK,kBAGf,GACC,CAACsa,EAAexsC,EAASiwB,EAAOuC,IAEnCryB,qBAAU,KACR0kJ,IAEIt4G,IACFupB,EAAYv5C,QAAUg7C,aAAY,KAChCstF,GAAe,GACd,MAGE,KACD/uF,EAAYv5C,SACdo7C,cAAc7B,EAAYv5C,QAC5B,IAED,CAACsoI,EAAet4G,IAEnB,MAAMkwB,EAAoBx9B,uBACvBjE,IACCA,EAAEhe,iBACEuvB,GACFy4G,GACF,GAEF,CAACz4G,EAAQy4G,IAGX7kJ,qBAAU,KACR+wB,OAAOlxB,QAAQ28D,UAAU,KAAM,KAAMzrC,OAAOuG,SAAStF,UACrDjB,OAAOmR,iBAAiB,WAAYo6B,GAC7B,KACLvrC,OAAOoR,oBAAoB,WAAYm6B,EAAkB,IAE1D,CAACA,IAEJ,MAAOwoF,EAAYF,GAAiBjpI,mBAAS,GA8B7C,OACEe,gBAAA,OAAK/d,UAAW,0BALGytC,IACZA,EAAS,UAAY,oBAIcy8C,CAAYz8C,KAAU1tC,SAAA,CAC9Dge,gBAAA,OAAK/d,UAAU,4BAA2BD,SAAA,CACxCge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OACEsgB,IAAKpb,GAAOgS,SACZkK,IAAI,WACJ5c,MAAO,CACLlE,MAAO,UACPC,OAAQ,UACR6qC,YAAa,SACbe,OAAQ,WAEVhuB,QAASA,KA5BbyvB,GACF1uC,MAAM,2CAENmC,EAAQkyB,KAAK,mBAEb8yH,KAEAhlJ,EAAQkyB,KAAK,mBAsBa,IAItBvzB,eAAA,OAAKG,UAAU,eAAcD,SAAE4sC,IAE/B9sC,eAAA,QAAMG,UAAU,kBAAiBD,SAC/BF,eAAA,OAAKsgB,IAAKpb,GAAOsT,YAAa4I,IAAI,mBAGpCphB,eAAA,OAAKG,UAAU,aAAYD,SAAEyuD,OAE9B/gB,GACC5tC,eAAA,OAAKG,UAAU,cAAaD,SAC1Bge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OAAKsgB,IAAKpb,GAAOqT,QAAS6I,IAAI,aAC7BklI,UAKTtmJ,eAAA,UACEsgB,IAAqB,OAAhBkjI,QAAgB,IAAhBA,OAAgB,EAAhBA,EAAkB5tF,YACvBr1D,OAAO,OACPD,MAAM,OACNke,MAAM,iBACNq3C,MAAM,aACN11D,UAAU,eACVomJ,UAAU,OAEZroI,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC1B0tC,GACC1vB,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBF,eAAA,OAAKG,UAAU,gBACfH,eAAA,OAAKG,UAAU,YAAWD,SAAC,YAI/Bge,gBAAA,OAAK/d,UAAU,wBAAuBD,SAAA,CACpCF,eAAA,OAAKG,UAAU,QAAOD,SAAE0zD,IACxB5zD,eAAA,OAAKG,UAAU,kBAAkBge,QAjFtBqoI,KACKzoF,QACpB,gDAIAsoF,GACF,EA0E2DnmJ,SAAC,wBAKtD,IC9EKQ,qBATUC,IAChB,CACLQ,eAAgBR,EAAMQ,eACtBmwB,MAAO3wB,EAAMM,KAAK6yB,UAClBD,UAAWlzB,EAAMM,KAAK4yB,UACtB4yH,0BAA2B9lJ,EAAM+sC,2BAIG,KAAzBhtC,EAxFQ67B,IAAqD,IAApD,MAAEjL,EAAK,UAAEuC,EAAS,0BAAC4yH,GAA2BlqH,EACpE,MAAM,OAAEoR,EAAM,OAAEC,EAAM,cAAEC,GAAkB44G,GAEnCjD,EAAkBkD,GAAuBvpI,mBAAS,CAAC,GAE1D3b,qBAAU,KACRmlJ,GAAqB,GACpB,IAEH,MAAMC,EAAkBC,aAAuB,YAAXC,UAC9BC,EAASF,aAAuB,QAAXC,UACrBE,EAAWxxF,aAAuB,QAAXsxF,UA0BvBH,EAAsBl1H,UAC1B,MAAMkC,EAAU,CACdC,cAAe,GAAGC,KAAavC,KAG3BpS,QAAiBwS,KAAMqC,KAC3B,GAAG3R,sBAA4BurB,yBAC7BC,EAAS,OAAS,0BA9BlBi5G,YACED,EACK,SACEG,EACF,MAEA,MAEAC,EACF,MAEA,gBAKLA,EACK,EAEA,IAaP,CAAErzH,YAGoB,MAApBzU,EAAS2S,QACX60H,EAAoBxnI,EAAS0S,KAAKA,KACpC,EAGF,OACE1T,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAAC47C,GAAe,IACfj+C,OAAOC,KAAK4lJ,GAAkB3lJ,OAC7BqgB,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAACinJ,GAAqB,CACpBzD,iBAAkBA,EAClB51G,OAAQA,EACRC,cAAeA,IAEhBD,GACC5tC,eAAC+qE,GAAa,CACZy4E,iBAAkBA,EAClB31G,cAAeA,EACfD,OAAQA,OAKd5tC,eAAA69B,YAAA,MAED,I,QClBQqpH,OA9DgBA,KAC7B,MAAOvmJ,EAAO+vB,GAAYvT,mBAAS,CACjCwkG,YAAa,CAAC,IAGhBngH,qBAAU,KACRogH,GAAgB,GACf,IAEH,MAGMA,EAAiBnwF,UAErB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI,kFACJ,MAAzBzS,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHowF,YAAaziG,EAAS0S,KAAKA,QAGjC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAWF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,wCAAuCD,SACpDF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,8CAA6CD,SAAA,CAC1DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,MAAIG,UAAU,uBAAsBD,SAAC,0BAI3CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OACEG,UAAU,kBACV69C,wBAvBVr9C,EAAMghH,aAAehhH,EAAMghH,YAAY57C,QAClC,CAAE9nB,OAAQt9C,EAAMghH,YAAY57C,QAAQ87C,KAEpC,mBA2BE,E,gBC1CAlvC,OAjBWp2C,IAA6B,IAA5B,YAAEsb,EAAW,MAAE+6B,GAAOr2C,EAC/C,OACEre,gBAACwe,KAAK,CACJC,MAAM,EACN4W,OAAQsE,EACRrC,gBAAgB,YAChB5B,UAAQ,EAAA1zC,SAAA,CAERF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB13B,gBAACwe,KAAMmX,KAAI,CAAA3zC,SAAA,CACTF,eAAA,OAAKG,UAAU,MAAKD,SAAC,yBACrBF,eAAA,OAAKG,UAAU,uBAAsBD,SAAE0yE,SAEnC,E,QCqBGC,OAhCOt2C,IAAsC,IAArC,YAAEsb,EAAW,eAAEi7B,GAAgBv2C,EACpD,MAAM,SAAEgR,EAAQ,KAAEvoC,EAAI,eAAEy/D,EAAc,SAAE/a,EAAQ,YAAE5oB,GAChDgyC,EACF,OACE50D,gBAACwe,KAAK,CAACC,MAAM,EAAM4W,OAAQsE,EAAarC,gBAAgB,kBAAiBt1C,SAAA,CACvEF,eAAC08B,KAAMiZ,OAAM,CAACC,aAAW,IACzB51C,eAAC08B,KAAMmX,KAAI,CAAA3zC,SACTge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKsgB,IAAKitB,EAAUnsB,IAAI,QACxBlD,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CAAC,MAAI8E,KAC/BhF,eAAA,OAAKG,UAAU,WAAUD,SAAEwpD,UAI/B1pD,eAAA,OAAKG,UAAU,qBAAoBD,SACjCF,eAAA,OAAKwE,MAAO,CAAElE,MAAO,SAAUJ,SAC7BF,eAACigE,GAAc,CAAC9B,SAAUsG,QAI9BvmD,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,MAAAE,SAAI,kBACH4gC,YAID,EC8ZGqmH,OAjbUA,KAAO,IAADn0E,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAqzE,EAAAC,EAAA9qH,EAAA23C,EAC7B,MAAM,WAAEx/B,GAAe4yG,uBAChBx1E,EAAa0C,GAAkBr3D,mBAAS,OACxCs3D,EAAYC,GAAiBv3D,oBAAS,IACtCoqI,EAAgBC,GAAqBrqI,mBAAS,OAC9C03D,EAAaC,GAAkB33D,sBAC/Bg4D,EAAWC,GAAgBj4D,oBAAS,IACpCk4D,EAAoBC,GAAyBn4D,oBAAS,IACtD21D,EAAgByC,GAAqBp4D,mBAAS,OAC9Cqf,EAAaC,GAAkBtf,oBAAS,IAExCk6B,EAAQm+B,GAAar4D,mBAAS,QAE/B9b,EAAUm1B,uBAEVsK,GAAyB,OAAXgxC,QAAW,IAAXA,GAAsC,QAA3BkB,EAAXlB,EAAa2D,iCAAyB,IAAAzC,OAA3B,EAAXA,EAAwClyC,cAAe,GACrE40C,EACJ50C,EAAYjjC,OAAS,IACjBijC,EAAYs6B,UAAU,EAAG,KAAO,MAChCt6B,EAGNt/B,qBAAU,KACiBiwB,WACvB,IAAK,IAADkkD,EAAAv3C,EAAAw3C,EACF,MAAM12D,QAAiBwS,KAAMC,IAC3B,wFAAwF+iB,KAE1F8/B,EAAet1D,EAAS0S,KAAKA,MAC7BkjD,EACEjG,WAA2C,QAAjC8G,EAACz2D,EAAS0S,KAAKA,KAAKikD,qBAAa,IAAAF,OAAA,EAAhCA,EAAkCG,cAC3CjH,WAA6B,QAAnBzwC,EAAClf,EAAS0S,KAAKA,YAAI,IAAAwM,GAAe,QAAfw3C,EAAlBx3C,EAAoBy3C,qBAAa,IAAAD,OAAf,EAAlBA,EAAmCryB,UAEpD,CAAE,MAAOt+C,GACP3D,QAAQ2D,MAAMA,EAChB,GAGF8wE,EAAkB,GACjB,CAACrhC,IAEJ,MAkDM+hC,EAAarzC,IACjBoyC,EAAUpyC,EAAI,EAaVszC,EAAwB,OAAX5E,QAAW,IAAXA,GAAsC,QAA3BmB,EAAXnB,EAAa2D,iCAAyB,IAAAxC,OAA3B,EAAXA,EAAwC0D,YAGrDC,EAAuBF,GAA6B,eAAfA,EAM3C,OACEx4D,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAACs8B,GAAgB,CACfE,YAAaA,EACbC,eAAgBA,IAElBz8B,eAAC88B,GAAM,CAACL,eAAgBA,EAAgBD,YAAaA,IACrDte,gBAAA,OACE1Z,MAAO,CACLlF,WAAY,WACZmF,QAAS,OACTs5B,eAAgB,SAChB84C,IAAK,QACL32E,SAAA,CAEFge,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,YAAYge,QApBpBs3C,KACbp0D,EAAQo0D,QAAQ,EAmBiCv1D,SAAA,CACzCF,eAAA,OAAKsgB,IAAKpb,GAAOsX,SAAU4E,IAAI,SAAS,UAG1ClD,gBAAA,OAAK+D,MAAM,6BAA4B/hB,SAAA,CACrCge,gBAAA,OAAK+D,MAAM,mDAAkD/hB,SAAA,CAC3DF,eAAA,OAAKiiB,MAAM,OAAM/hB,SACH,OAAX4xE,QAAW,IAAXA,GAAsC,QAA3BoB,EAAXpB,EAAa2D,iCAAyB,IAAAvC,OAA3B,EAAXA,EAAwChxD,SAE3CliB,eAAA,OAAKsgB,IAAKpb,GAAOoW,YAAa8F,IAAI,YACtB,OAAX0wD,QAAW,IAAXA,GAAsC,QAA3BqB,EAAXrB,EAAa2D,iCAAyB,IAAAtC,OAA3B,EAAXA,EAAwCxE,gBACvC3uE,eAAA,OACEG,UAAU,YACVqE,MAAO,CACLy6B,gBACa,OAAX6yC,QAAW,IAAXA,GAAsC,QAA3BsB,EAAXtB,EAAa2D,iCAAyB,IAAArC,OAA3B,EAAXA,EAAwC3E,eAC1ChvE,MACa,OAAXqyE,QAAW,IAAXA,GAAsC,QAA3BuB,EAAXvB,EAAa2D,iCAAyB,IAAApC,OAA3B,EAAXA,EAAwC3E,eAC1CxuE,SAEU,OAAX4xE,QAAW,IAAXA,GAAsC,QAA3BwB,EAAXxB,EAAa2D,iCAAyB,IAAAnC,OAA3B,EAAXA,EAAwC3E,mBAI/CzwD,gBAAA,OAAK/d,UAAU,iBAAgBD,SAAA,CAC7Bge,gBAAA,OAAK/d,UAAU,OAAMD,SAAA,CACnBge,gBAAA,OACE/d,UAAW,QAAkB,SAAXk3C,EAAoB,SAAW,IACjDl5B,QAASA,IAAMs4D,EAAU,QAAQv2E,SAAA,CAEjCF,eAAA,KAAGG,UAAU,0BAA4B,iBAG3C+d,gBAAA,OACE/d,UAAW,QAAkB,aAAXk3C,EAAwB,SAAW,IACrDl5B,QAASA,IAAMs4D,EAAU,YAAYv2E,SAAA,CAErCF,eAAA,KAAGG,UAAU,uBAAyB,iBAI1C+d,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,OACEG,UAAU,uBACVge,QA5Ec24D,KAC5B,MAEM39B,EAAM,uCAFQp7B,SAAoB,OAAX+zD,QAAW,IAAXA,OAAW,EAAXA,EAAaiF,sBAG1CxkD,OAAO0K,KAAKkc,EAAK,SAAU,sBAAsB,EAwEJj5C,SAE/BF,eAAA,OAAKsgB,IAAKpb,GAAOqW,SAAU6F,IAAI,eAGjCphB,eAAA,OAAKG,UAAU,mBAAkBD,SAC/BF,eAAA,KAAG+7B,KAAM,OAAkB,OAAX+1C,QAAW,IAAXA,OAAW,EAAXA,EAAakF,mBAAmB92E,SAC9CF,eAAA,OAAKsgB,IAAKpb,GAAOsW,UAAW4F,IAAI,sBAO9B,SAAXi2B,GACCn5B,gBAAA2f,YAAA,CAAA39B,SAAA,CACEF,eAACw/B,GAAM,CAACC,KAAgB,OAAXqyC,QAAW,IAAXA,KAAahxC,aAAY5gC,SACpCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,sCAAqCD,SAAA,CAClDF,eAAA,MAAAE,SAAI,gBAEJF,eAAA,OAAKG,UAAU,8BAA6BD,SAC1CF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CACjCu0E,EAAa3zC,EAAc40C,EAC3B50C,EAAYjjC,OAAS,KACpBmC,eAAA,UACEG,UAAU,gBACVge,QAASA,IAAMu2D,GAAeD,GAAYv0E,SAEzCu0E,EAAa,YAAc,4BAS5Cz0E,eAACw/B,GAAM,CAACC,KAAiB,OAAXqyC,QAAW,IAAXA,MAAamF,mBAAkB/2E,SAC3Cge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKG,UAAU,gCAA+BD,SAC5CF,eAAA,MAAAE,SAAI,wBAENF,eAAA,OAAKwE,MAAO,CAAElE,MAAO,OAAQC,OAAQ,SAAUL,SAC7CF,eAACigE,GAAc,CAAC9B,SAAqB,OAAX2T,QAAW,IAAXA,OAAW,EAAXA,EAAamF,2BAI7Cj3E,eAACw/B,GAAM,CACLC,KAAiB,OAAXqyC,QAAW,IAAXA,GAAsC,QAA3ByB,EAAXzB,EAAa2D,iCAAyB,IAAAlC,IAAtCA,EAAwC2D,iBAAgBh3E,SAE9Dge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,MAAAE,SAAI,oBACJF,eAAA,OAAKG,UAAU,uBAAsBD,SACvB,OAAX4xE,QAAW,IAAXA,GAAsC,QAA3B0B,EAAX1B,EAAa2D,iCAAyB,IAAAjC,GAAiB,QAAjBC,EAAtCD,EAAwC0D,uBAAe,IAAAzD,OAA5C,EAAXA,EAAyDnyD,KACxD,CAAC61D,EAAS14C,IACRvgB,gBAAA,OAAiB/d,UAAU,sBAAqBD,SAAA,CAC9CF,eAAA,OACEsgB,IAAK62D,EAAQ1qC,KACbrrB,IAAK+1D,EAAQnyE,KACb7E,UAAU,iBAEZH,eAAA,QAAMG,UAAU,sBAAqBD,SAClCi3E,EAAQnyE,SAPHy5B,YAgBpBz+B,eAAA,OAAKG,UAAU,4BAA2BD,SACxCF,eAAA,OAAKG,UAAU,4BAA2BD,SACxCge,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCF,eAAA,OACEsgB,IAAW,OAANpb,SAAM,IAANA,QAAM,EAANA,GAAQiW,oBACbiG,IAAK,sBACLjhB,UAAU,iBAEZH,eAAA,QAAMG,UAAU,2BAA0BD,SAAC,sDAOjDF,eAACw/B,GAAM,CAACC,KAAiB,OAAXqyC,QAAW,IAAXA,MAAasF,cAAal3E,SACtCge,gBAAA,OAAK/d,UAAU,gCAA+BD,SAAA,CAC5CF,eAAA,MAAAE,SAAI,oBACJF,eAACg8B,KAAM,CA/NrBd,UAAU,EACVC,aAAc,EACdC,eAAgB,EAChBuD,UAAU,EACV4B,MAAO,IACP3B,cAAe,IACf4B,QAAS,SACT9E,QAAQ,EACRH,WAAY,CACV,CACEC,WAAY,KACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,IAGpB,CACEI,WAAY,IACZC,SAAU,CACRN,aAAc,EACdC,eAAgB,KAoMYl7B,SACN,OAAX4xE,QAAW,IAAXA,GAAyB,QAAd4B,EAAX5B,EAAasF,oBAAY,IAAA1D,OAAd,EAAXA,EAA2BpyD,KAAKuyC,GAC/B7zD,eAAA,OAA4BG,UAAU,gBAAeD,SACnDge,gBAAA,OACE1Z,MAAO,CACLy6B,gBAAiB,UACjBsnB,QAAS,OACTjmD,MAAO,SACPJ,SAAA,CAEFF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKsgB,IAAY,OAAPuzC,QAAO,IAAPA,OAAO,EAAPA,EAAStmB,SAAUnsB,IAAY,OAAPyyC,QAAO,IAAPA,OAAO,EAAPA,EAAS7uD,SAE7CkZ,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAAC,MAAW,OAAP2zD,QAAO,IAAPA,OAAO,EAAPA,EAAS7uD,QAC3ChF,eAAA,OAAKG,UAAU,YAAWD,SACxBF,eAAA,UAAQme,QAASA,KApMzCo3D,EAoMkE1hB,QAnMlEyhB,GAAsB,IAmMqDp1E,SAAC,oBAbzC,OAAP2zD,QAAO,IAAPA,OAAO,EAAPA,EAASx6B,kBAuB3Br5B,eAACw/B,GAAM,CAACC,IAAe,OAAXqyC,QAAW,IAAXA,GAA0B,QAAf6B,EAAX7B,EAAauF,qBAAa,IAAA1D,OAAf,EAAXA,EAA4B91E,QAAS,EAAEqC,SACjDge,gBAAA,OAAK/d,UAAU,8BAA6BD,SAAA,CAC1CF,eAAA,MAAAE,SAAI,kBACJF,eAAA,MAAAE,SACc,OAAX4xE,QAAW,IAAXA,GAA0B,QAAf8B,EAAX9B,EAAauF,qBAAa,IAAAzD,OAAf,EAAXA,EAA4BtyD,KAAI,CAACqqB,EAAMlN,IACtCz+B,eAAA,MAAAE,SAAiByrC,EAAK3mC,MAAby5B,YAKjBz+B,eAACw/B,GAAM,CAACC,IAAe,OAAXqyC,QAAW,IAAXA,GAAgB,QAAL+B,EAAX/B,EAAawF,WAAG,IAAAzD,OAAL,EAAXA,EAAkBh2E,QAAS,EAAEqC,SACvCge,gBAAA,OAAK/d,UAAU,oBAAmBD,SAAA,CAChCF,eAAA,MAAAE,SAAI,uCACJF,eAACu3E,KAAS,CAACp3E,UAAU,gBAAeD,SACtB,OAAX4xE,QAAW,IAAXA,GAAgB,QAALgC,EAAXhC,EAAawF,WAAG,IAAAxD,OAAL,EAAXA,EAAkBxyD,KAAI,CAACg2D,EAAK74C,IAC3BvgB,gBAACq5D,KAAUC,KAAI,CAAaC,SAAUh5C,EAAM57B,WAAW3C,SAAA,CACrDF,eAACu3E,KAAU5hC,OAAM,CAAAz1C,SAAEo3E,EAAItyE,OACvBhF,eAACu3E,KAAU1jC,KAAI,CAAA3zC,SAAEo3E,EAAIx2C,gBAFFrC,eAWrB,aAAX4Y,GACCr3C,eAAA,OAAKG,UAAU,wBAAuBD,SACxB,OAAX4xE,QAAW,IAAXA,GAAoB,QAATiC,EAAXjC,EAAa9kC,eAAO,IAAA+mC,OAAT,EAAXA,EAAsBzyD,KAAKo2D,GAExBx5D,gBAAA,OAEE/d,UAAU,aACVqE,MAAO,CAAElF,WAAYo4E,EAAIj4E,OAAQS,SAAA,CAEjCge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OAAKG,UAAU,YAAYmgB,IAAKo3D,EAAIjrC,KAAMrrB,IAAI,QAC9ClD,gBAAA,OAAAhe,SAAA,CACEge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CAAC,IAAEw3E,EAAIzlC,gBAC/B/zB,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACvBw3E,EAAIC,aAAa,mBAKxB33E,eAAA,OACEG,UAAU,aACVmgB,IAAKpb,GAAOuX,gBACZ2E,IAAI,YAjBDs2D,EAAI9qC,eA0BrB1uB,gBAAA,OAAK/d,UAAU,2BAA2BqE,MAAO,CAAEywD,UAAW,QAAS/0D,SAAA,CACrEF,eAAA,OAAKG,UAAU,SAAQD,SACrBge,gBAAA,OAAK/d,UAAU,QAAOD,SAAA,CACpBF,eAAA,OAAKsgB,IAAKpb,GAAOkW,OAAQgG,IAAI,gBAC7BphB,eAAA,QAAAE,SAAM,oBACNF,eAAA,UACEme,QAASA,IAAMse,GAAgBD,GAC/Br8B,UAAU,eAAcD,SACzB,sBAMLge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3BF,eAAA,SAAOK,KAAK,OAAOoe,YAAY,gCAC/Bze,eAAA,UAAQme,QAASA,IAAMse,GAAgBD,GAAat8B,SAAC,aAGvDge,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5BF,eAAA,MAAAE,SAAI,kBACJge,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,QAAAE,SAAM,iBACNge,gBAAA,QAAAhe,SAAA,CAAM,SAEH2uE,WAAsB,OAAXiD,QAAW,IAAXA,GAA0B,QAAfs1E,EAAXt1E,EAAa+D,qBAAa,IAAAuxE,OAAf,EAAXA,EAA4BtxE,cAAch2E,QACpD,SAINoe,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,QAAAE,SAAM,aACNge,gBAAA,QAAM/d,UAAU,WAAUD,SAAA,CAAC,WACrB2uE,WAAsB,OAAXiD,QAAW,IAAXA,GAA0B,QAAfu1E,EAAXv1E,EAAa+D,qBAAa,IAAAwxE,OAAf,EAAXA,EAA4B9jG,UAAUzjD,QAAQ,SAGjEoe,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBF,eAAA,QAAAE,SAAM,oBACNge,gBAAA,QAAM/d,UAAU,WAAUD,SAAA,CAAC,WAIoB,QAF7Cq8B,GACgB,OAAdgrH,QAAc,IAAdA,OAAc,EAAdA,EAAgBE,mBACL,OAAX31E,QAAW,IAAXA,GAA0B,QAAfoC,EAAXpC,EAAa+D,qBAAa,IAAA3B,OAAf,EAAXA,EAA4BzwB,wBAAe,IAAAlnB,OAAA,EAF5CA,EAGEz8B,QAAQ,SAGfoe,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9BF,eAAA,QAAAE,SAAM,gBACNge,gBAAA,QAAAhe,SAAA,CAAM,SAAE20E,WAIZ70E,eAAA,UAAQme,QAjTiBupI,KAC/BjrH,GAAgBD,EAAY,EAgTqBr8B,UAAU,iBAAgBD,SAAC,mBAItEge,gBAAA,OAAK/d,UAAU,QAAQge,QAxUb05D,KAChBzC,GAAa,EAAK,EAuU8Bl1E,SAAA,CACxCF,eAAA,OAAKsgB,IAAW,OAANpb,SAAM,IAANA,QAAM,EAANA,GAAQmW,OAAQ+F,IAAI,UAAU,wBAIzCw1D,GACC14D,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CAAC,eACZF,eAAA,QAAAE,SAAOw2E,aAM1BvB,GACCn1E,eAAC2yE,GAAiB,CAChB96B,YAnVWkgC,KACjB3C,GAAa,EAAM,EAmVbxC,MAAkB,OAAXd,QAAW,IAAXA,OAAW,EAAXA,EAAakG,mBAIvB3C,GACCr1E,eAAC6yE,GAAa,CACZh7B,YAlVoBogC,KAC1B3C,GAAsB,EAAM,EAkVtBxC,eAAgBA,MAGX,EC4cA60E,OA1tBA,CACb,CACEhyH,KAAM,oBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWC,IAEb,CACElyH,KAAM,eACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWE,IAGb,CACEnyH,KAAM,2BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWG,IAEb,CACEpyH,KAAM,eACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWI,IAEb,CACEryH,KAAM,oBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWK,IAEb,CACEtyH,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWM,IAEb,CACEvyH,KAAM,2BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWt8B,IAEb,CACE31F,KAAM,oBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW79B,IAEb,CACEp0F,KAAM,aACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWO,IAEb,CACExyH,KAAM,+BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWQ,IAEb,CACEzyH,KAAM,sBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWS,IAEb,CACE1yH,KAAM,2BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWU,IAGb,CACE3yH,KAAM,kBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWW,IAEb,CACE5yH,KAAM,kBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWY,IAEb,CACE7yH,KAAM,kBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWY,IAEb,CACE7yH,KAAM,iBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWa,IAEb,CACE9yH,KAAM,gBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWc,IAEb,CACE/yH,KAAM,cACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW3lH,IAEb,CACEtM,KAAM,QACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWzhC,IAEb,CACExwF,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWe,IAEb,CACEhzH,KAAM,kBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWgB,IAEb,CACEjzH,KAAM,oBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW3hC,IAEb,CACEtwF,KAAM,YACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWxhC,IAEb,CACEzwF,KAAM,sBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWiB,IAEb,CACElzH,KAAM,OACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW33C,IAEb,CACEt6E,KAAM,OACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW33C,IAEb,CACEt6E,KAAM,QACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW33C,IAEb,CACEt6E,KAAM,OACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW33C,IAEb,CACEt6E,KAAM,gBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW33C,IAEb,CACEt6E,KAAM,WACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW33C,IAEb,CACEt6E,KAAM,aACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW33C,IAEb,CACEt6E,KAAM,oBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWkB,IAEb,CACEnzH,KAAM,sBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWmB,IAEb,CACEpzH,KAAM,4BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWoB,IAEb,CACErzH,KAAM,oBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWqB,IAEb,CACEtzH,KAAM,sBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWsB,IAEb,CACEvzH,KAAM,kBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWuB,IAEb,CACExzH,KAAM,eACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWwB,IAEb,CACEzzH,KAAM,QACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWyB,IAEb,CACE1zH,KAAM,gBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW0B,IAEb,CACE3zH,KAAM,YACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW2B,IAEb,CACE5zH,KAAM,sBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW4B,IAGb,CACE7zH,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW6B,IAGb,CACE9zH,KAAM,2BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW8B,IAEb,CACE/zH,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW+B,IAEb,CACEh0H,KAAM,cACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWgC,IAEb,CACEj0H,KAAM,8BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWiC,IAEb,CACEl0H,KAAM,+BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWkC,IAEb,CACEn0H,KAAM,6BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWmC,IAGb,CACEp0H,KAAM,aACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW73C,IAGb,CACEp6E,KAAM,uBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWoC,IAGb,CACEr0H,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWqC,IAGb,CACEt0H,KAAM,4BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWsC,IAGb,CACEv0H,KAAM,sBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWuC,IAUb,CACEx0H,KAAM,aACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWwC,IAGb,CACEz0H,KAAM,YACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWyC,IAGb,CACE10H,KAAM,eACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW0C,IAGb,CACE30H,KAAM,iBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW59C,IAGb,CACEr0E,KAAM,mBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW2C,IAEb,CACE50H,KAAM,0BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW4C,IAGb,CACE70H,KAAM,0BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW6C,IAGb,CACE90H,KAAM,uBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW8C,IAGb,CACE/0H,KAAM,iBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW+C,IAGb,CACEh1H,KAAM,+BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWgD,IAGb,CACEj1H,KAAM,eACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWiD,IAGb,CACEl1H,KAAM,0BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWkD,IAGb,CACEn1H,KAAM,mBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWmD,IAGb,CACEp1H,KAAM,mCACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWoD,IAGb,CACEr1H,KAAM,gBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWqD,IAEb,CACEt1H,KAAM,UACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWsD,IAEb,CACEv1H,KAAM,SACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWuD,IAGb,CACEx1H,KAAM,oBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWT,IAGb,CACExxH,KAAM,eACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW70E,IAGb,CACEp9C,KAAM,kBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWwD,IAIb,CACEz1H,KAAM,mBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWyD,IAEb,CACE11H,KAAM,gBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW0D,IAEb,CACE31H,KAAM,uBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW2D,IASb,CACE51H,KAAM,SACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW4D,IAEb,CACE71H,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW6D,IAEb,CACE91H,KAAM,QACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW8D,MAGb,CACE/1H,KAAM,aACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW+D,IAGb,CACEh2H,KAAM,eACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWgE,IAEb,CACEj2H,KAAM,UACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWiE,IAEb,CACEl2H,KAAM,mBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWkE,IAEb,CACEn2H,KAAM,YACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWmE,IAEb,CACEp2H,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWoE,IAEb,CACEr2H,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWqE,IAEb,CACEt2H,KAAM,gBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWsE,IAEb,CACEv2H,KAAM,kBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWuE,IAEb,CACEx2H,KAAM,UACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWwE,IAEb,CACEz2H,KAAM,WACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWyE,IAEb,CACE12H,KAAM,SACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW/qH,IAEb,CACElH,KAAM,IACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWjlH,IAGb,CACEhN,KAAM,SACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWtrH,IAGb,CACE3G,KAAM,gBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW/kH,IAEb,CACElN,KAAM,mBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW0E,IAKb,CACE32H,KAAM,iBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWlzB,IAEb,CACE/+F,KAAM,sBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW2E,IAEb,CACE52H,KAAM,sBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW4E,IAEb,CACE72H,KAAM,0BACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW6E,IAEb,CACE92H,KAAM,uBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW33C,IAUb,CACEt6E,KAAM,UACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW8E,IAGb,CACE/2H,KAAM,yBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAW+E,IAGb,CACEh3H,KAAM,qBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWgF,IAGb,CACEj3H,KAAM,uBACNwN,OAAO,EACPliC,MAAM,EACN2mJ,UAAWiF,IAKb,CACEl3H,KAAM,oBACNwN,OAAO,EAEPykH,UAAWkF,IAGb,CACEn3H,KAAM,cACNwN,OAAO,EAEPykH,UAAWmF,IAGb,CACEp3H,KAAM,kBACNwN,OAAO,EAEPykH,UAAWoF,IAGb,CACEr3H,KAAM,sBACNwN,OAAO,EAEPykH,UAAWqF,IAGb,CACEt3H,KAAM,iBACNwN,OAAO,EAEPykH,UAAWsF,KC72BAxsJ,qBANUC,IAChB,CACLwsJ,gBAAiBxsJ,EAAMM,KAAKksJ,mBAIjBzsJ,EAlBO67B,IAA6C,IAA5C,gBAAE4wH,EAAe,UAAEz4H,EAAS,OAAEC,GAAQ4H,EAC3D,OAAI4wH,EACEz4H,GAAaC,EACR30B,eAACotJ,WAAQ,CAACpgF,KAAK,IAAI5wC,GAAG,WAEtBp8B,eAACotJ,WAAQ,CAACpgF,KAAK,IAAI5wC,GAAG,oBAGxBp8B,eAACotJ,WAAQ,CAACpgF,KAAK,IAAI5wC,GAAG,KAC/B,IC4Ba17B,qBANUC,IAChB,CACLwsJ,gBAAiBxsJ,EAAMM,KAAKksJ,mBAIjBzsJ,EApCM67B,IAOd,IANLqrH,UAAWyF,EAAS,gBACpBF,EAAe,OACfG,EAAM,UACN54H,EAAS,OACTC,KACG8e,GACJlX,EACC,OACEv8B,eAACutJ,QAAK,IACA95G,EACJ65G,OAASlsJ,IACH+rJ,GAAqBz4H,GAAcC,EAInC30B,eAACwtJ,GAAa,CACZ94H,UAAWA,EACXC,OAAQA,EACR04H,UAAWA,EACXjsJ,MAAOA,EACPksJ,QAAM,IARHD,EAAYrtJ,eAACqtJ,EAAS,IAAKjsJ,IAAYksJ,EAAOlsJ,IAazD,ICzBSqsJ,OAJKlxH,IAAwC,IAArCqrH,UAAWyF,KAAc55G,GAAMlX,EACpD,OAAOv8B,eAACutJ,QAAK,IAAK95G,EAAM65G,OAASlsJ,GAAUpB,eAACqtJ,EAAS,IAAKjsJ,KAAa,EC0C1DV,oBAAQ,MARKyvB,IACnB,CACLJ,WAAYA,KACVI,EAASG,KAAyB,KAKzB5vB,EA1CU67B,IAAqB,IAApB,WAAExM,GAAYwM,EAEpC,IAAImxH,EAGN,MAAMC,EAAaA,KACjB1tI,aAAaytI,GACbE,GAAY,EAGNA,EAAaA,KACnBF,EAAc3tI,YAAW,KAEvBgQ,GAAY,GAZQ,KAaH,EAiBrB,OAdAvuB,qBAAU,KACRosJ,IAGAr7H,OAAOmR,iBAAiB,YAAaiqH,GACrCp7H,OAAOmR,iBAAiB,UAAWiqH,GAE5B,KACL1tI,aAAaytI,GACbn7H,OAAOoR,oBAAoB,YAAagqH,GACxCp7H,OAAOoR,oBAAoB,UAAWgqH,EAAW,IAElD,IAEI3tJ,eAAA,SAAW,I,QCLLU,qBAPUC,IAChB,CACL+zB,UAAW/zB,EAAM8zB,eAAeC,UAChCC,OAAQh0B,EAAM8zB,eAAeE,UAIO,KAAzBj0B,EAxBY67B,IAA4B,IAA3B,UAAE7H,EAAS,OAAEC,GAAQ4H,EAC/C,OACEre,gBAACq3B,GAAW,CACV5Y,KAAMjI,EACN8e,SAAS,WACTgC,gBAAgB,oBAAmBt1C,SAAA,CAEnCF,eAAA,OAAKsgB,IAAKpb,GAAO2S,YAAa1X,UAAU,sBACxCH,eAAA,OAAKG,UAAU,aAAYD,SAAC,wCAC5BF,eAAA,OAAKG,UAAU,kBAAiBD,SAAEy0B,IAClC30B,eAAA,OAAKG,UAAU,qBAAoBD,SAAC,kDAGxB,I,gBCgDH2tJ,OA9DUA,KACvB,MAAOltJ,EAAO+vB,GAAYvT,mBAAS,CACjCwkG,YAAa,CAAC,IAGhBngH,qBAAU,KACRogH,GAAgB,GACf,IAEH,MAGMA,EAAiBnwF,UAErB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI,kFACJ,MAAzBzS,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHowF,YAAaziG,EAAS0S,KAAKA,QAGjC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAWF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,kCAAiCD,SAC9CF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,wCAAuCD,SAAA,CACpDF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,KAAGG,UAAU,uBAAsBD,SAAC,mBAI1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OACEG,UAAU,kBACV69C,wBAvBVr9C,EAAMghH,aAAehhH,EAAMghH,YAAY57C,QAClC,CAAE9nB,OAAQt9C,EAAMghH,YAAY57C,QAAQ87C,KAEpC,mBA2BE,E,QCUAisC,OAnEkBA,KAC/B,MAAOntJ,EAAO+vB,GAAYvT,mBAAS,CACjCwkG,YAAa,CAAC,IAGhBngH,qBAAU,KACRogH,GAAgB,GACf,IAEH,MAGMA,EAAiBnwF,UAErB,IACE,MAAMvS,QAAiBwS,KAAMC,IAAI,kFACJ,MAAzBzS,EAAS0S,KAAKC,QAChBnB,GAAUa,IAAS,IACdA,EACHowF,YAAaziG,EAAS0S,KAAKA,QAGjC,CAAE,MAAO3sB,GACP3D,QAAQC,IAAI0D,EACd,GAWF,OACEjF,eAACC,WAAQ,CAAAC,SACPF,eAAA,OAAKG,UAAU,0CAAyCD,SACtDF,eAAA,OAAKG,UAAU,YAAWD,SACxBge,gBAAA,OAAK/d,UAAU,gDAA+CD,SAAA,CAC5DF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9BF,eAAA,KAAGG,UAAU,uBAAsBD,SAAC,8BAI1CF,eAAA,OAAKG,UAAU,gBAAeD,SAC5BF,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAAA,OACEG,UAAU,kBACV69C,wBAvBVr9C,EAAMghH,aAAehhH,EAAMghH,YAAY57C,QAClC,CAAE9nB,OAAQt9C,EAAMghH,YAAY57C,QAAQ87C,KAEpC,WAwBD7hH,eAAA,OAAKG,UAAU,sBAAqBD,SAClCF,eAACm8B,IAAI,CAACC,GAAG,WAAWj8B,UAAU,cAAaD,SACzCF,eAAA,OAAKsgB,IAAKpb,GAAOmG,QAAS+V,IAAI,0BAM/B,ECoCA6kG,OAjGU1pF,IAAc,IAAb,IAAE6G,GAAK7G,EAC/B,OACEre,gBAAA,OAAK/d,UAAU,2BAA0BD,SAAA,CACvCge,gBAAA,OAAK/d,UAAU,kBAAiBD,SAAA,CAC9Bge,gBAAA,OAAK/d,UAAU,WAAUD,SAAA,CACvBF,eAACm8B,IAAI,CAACC,GAAG,WAAUl8B,SACjBF,eAAA,OAAKsgB,IAAKpb,GAAOmG,QAAS+V,IAAI,gBAEhCphB,eAAA,MAAAE,SAAI,wCAENF,eAAA,OAAKG,UAAU,kBAAiBD,SAC9Bge,gBAAA,MAAI/d,UAAU,6BAA6B4e,GAAG,QAAQ7a,KAAK,UAAShE,SAAA,CAClEF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UAAmB,YAARijC,EAAoB,kBAAoB,WACnDrkB,GAAG,cACH,iBAAe,MACf,iBAAe,WACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,UACd,gBAAc,QAAOhE,SACtB,eAIHF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UACU,kBAARijC,EAA0B,kBAAoB,WAEhDrkB,GAAG,cACH,iBAAe,MACf,iBAAe,WACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,UACd,gBAAc,OAAMhE,SACrB,qBAIHF,eAAA,MAAIG,UAAU,WAAW+D,KAAK,eAAchE,SAC1CF,eAAA,UACEG,UAAmB,UAARijC,EAAkB,kBAAoB,WACjDrkB,GAAG,YACH,iBAAe,MACf,iBAAe,SACf1e,KAAK,SACL6D,KAAK,MACL,gBAAc,QACd,gBAAc,QAAOhE,SACtB,iCAOTge,gBAAA,OAAK/d,UAAU,cAAc4e,GAAG,eAAc7e,SAAA,CAC5CF,eAAA,OACEG,UACU,YAARijC,EAAoB,4BAA8B,gBAEpDrkB,GAAG,UACH7a,KAAK,WACL,kBAAgB,YAAWhE,SAE3BF,eAAC6tJ,GAAgB,MAEnB7tJ,eAAA,OACEG,UACU,kBAARijC,EACI,4BACA,gBAENrkB,GAAG,iBACH7a,KAAK,WACL,kBAAgB,cAAahE,SAE7BF,eAACknJ,GAAsB,MAEzBlnJ,eAAA,OACEG,UACU,UAARijC,EAAkB,4BAA8B,gBAElDrkB,GAAG,QACH7a,KAAK,WACL,kBAAgB,YAAWhE,SAE3BF,eAAC8tJ,GAAwB,WAGzB,E,QC7FH,MAAMC,GAAe3sJ,IAAW,IAAD4sJ,EAAAC,EAAAC,EAAAC,EACpC,MAAM,eAAE1xH,EAAc,YAAED,GAAgBp7B,GAClC,UAAE+f,EAAS,SAAEa,GAAaslI,uBACzB11H,EAAMixF,GAAW1lG,mBAAS,MAC3B9b,EAAUm1B,uBAEhBh1B,qBAAU,KACUiwB,WAChB,IACE,GAAItQ,GAAaa,EAAU,CACzB,MAAM9C,QAAiBwS,KAAMC,IAC3B,qFAAqFxQ,cAAsBa,KAE7G6gG,EAAQ3jG,EAAS0S,KAAKA,KACxB,CACF,CAAE,MAAO3sB,GACP3D,QAAQ2D,MAAMA,EAChB,GAGFquD,EAAW,GACV,CAACnyC,EAAWa,IAEf,MAAM0lI,EAA2BA,KAC/BjrH,GAAgBD,EAAY,EAO9B,OACEte,gBAACje,WAAQ,CAAAC,SAAA,CACPF,eAAC88B,GAAM,CAACL,eAAgBA,EAAgBD,YAAaA,IAErDx8B,eAAA,OAAKG,UAAU,8BAA6BD,SAC1Cge,gBAAA,OAAK/d,UAAU,0BAAyBD,SAAA,CACtCge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CACtBge,gBAAA,OAAK/d,UAAU,UAASD,SAAA,CAAM,OAAJ0xB,QAAI,IAAJA,GAAoB,QAAhBo8H,EAAJp8H,EAAMw8H,sBAAc,IAAAJ,OAAhB,EAAJA,EAAsBlwI,OAAO,aACvDI,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CACrB,OAAJ0xB,QAAI,IAAJA,GAAgB,QAAZq8H,EAAJr8H,EAAM2N,kBAAU,IAAA0uH,OAAZ,EAAJA,EAAkBhsI,MAAM,UAAY,OAAJ2P,QAAI,IAAJA,GAAoB,QAAhBs8H,EAAJt8H,EAAMw8H,sBAAc,IAAAF,OAAhB,EAAJA,EAAsBpwI,OAAO,eACtD,UAGZ9d,eAAA,OAAKG,UAAU,cAAaD,SAC1BF,eAAA,OAAKsgB,IAAS,OAAJsR,QAAI,IAAJA,GAAoB,QAAhBu8H,EAAJv8H,EAAMw8H,sBAAc,IAAAD,OAAhB,EAAJA,EAAsBjvH,YAAa9d,IAAI,uBAIvDphB,eAAA,OAAKG,UAAU,wDAAuDD,SAClE1C,aAAY,OAAJo0B,QAAI,IAAJA,OAAI,EAAJA,EAAMw8C,SAkGZ,uBAjGI,OAAJx8C,QAAI,IAAJA,OAAI,EAAJA,EAAMw8C,QACHtpB,QAAQupB,GACPA,EAAYC,YAAYC,MAAMC,GAAaA,EAASF,gBAErDhtD,KAAKve,GAEFmb,gBAAA,OAAK/d,UAAU,gBAAeD,SAAA,CAC5Bge,gBAAA,OAAK/d,UAAU,sBAAqBD,SAAA,CAClCF,eAAA,OAAKsgB,IAAKvd,EAAQ0pC,KAAMrrB,IAAI,mBAC5BphB,eAAA,KACEwE,MAAO,CACLy6B,gBAAiBl8B,EAAQ0rE,eACzBhvE,MAAOsD,EAAQ2rE,eACfxuE,SAED6C,EAAQ4rE,gBAEX3uE,eAAA,MAAAE,SAAK6C,EAAQuxC,kBAEft0C,eAAA,KAAGG,UAAU,sBAAqBD,SAAE6C,EAAQ+9B,cAC5C5iB,gBAAA,OAAK/d,UAAU,8CAA6CD,SAAA,CAC1Dge,gBAAA,OAAK/d,UAAU,eAAcD,SAAA,CAC3Bge,gBAAA,OAAK/d,UAAU,cAAaD,SAAA,CAC1BF,eAAA,OACEsgB,IAAKpb,GAAOoJ,uBACZ8S,IAAI,aAENphB,eAAA,KAAAE,SAAI6C,EAAQ66D,cAEqB,IAAlC76D,EAAQ6rE,uBACP1wD,gBAAA,OAAK/d,UAAU,SAAQD,SAAA,CACrBF,eAAA,OAAKsgB,IAAKpb,GAAOwN,eAAgB0O,IAAI,SACrClD,gBAAA,KAAAhe,SAAA,CAAI6C,EAAQ6rE,sBAAsB,wBAKtCC,WAAW9rE,EAAQwxC,QACjBs6B,WAAW9rE,EAAQwgD,YACrBsrB,WAAW9rE,EAAQwxC,UAEnBr2B,gBAAA,OAAK/d,UAAU,yCAAwCD,SAAA,CACrDF,eAAA,OAAKsgB,IAAKpb,GAAO0N,YAAawO,IAAI,UAClClD,gBAAA,KAAAhe,SAAA,CACEge,gBAAA,QAAAhe,SAAA,CACGzB,KAAKoB,MACHgvE,WAAW9rE,EAAQwgD,UAClBsrB,WAAW9rE,EAAQwxC,QACnB,KACF,OAEI,IAAI,YAKlBr2B,gBAAA,OAAK/d,UAAU,YAAWD,SAAA,CACxBge,gBAAA,KAAG/d,UAAU,eAAcD,SAAA,CAAC,SAEzB2uE,WAAW9rE,EAAQwxC,QAClBs6B,WAAW9rE,EAAQwgD,eAGrBsrB,WAAW9rE,EAAQwxC,QACjBs6B,WAAW9rE,EAAQwgD,YACrBsrB,WAAW9rE,EAAQwxC,UAEnBr2B,gBAAA,KAAG/d,UAAU,iBAAgBD,SAAA,CAAC,SAE5BF,eAAA,QAAMG,UAAU,+BAA8BD,SAC3C2uE,WAAW9rE,EAAQwxC,mBAM9Br2B,gBAAA,OAAK/d,UAAU,qBAAoBD,SAAA,CACjCF,eAAA,UACEG,UAAU,UACVge,QAASA,KACPkwI,OAxGQC,EAwGevrJ,EAAQ2xC,gBAvGrDrzC,EAAQkyB,KAAK,sBAAsB+6H,KADLA,KAyGT,EAAApuJ,SACF,kBAGC6C,EAAQo2B,cACRn5B,eAAA,UACEme,QAASupI,EACTvnJ,UAAU,MAAKD,SAChB,iBAnF6B6C,EAAQ2xC,kBA6F/C,EC1JF65G,GAAQA,KACnB,MAAO/xH,EAAaC,GAAkBtf,oBAAS,GAC/C,OACEe,gBAAA,OAAAhe,SAAA,CACEF,eAACs8B,GAAgB,CACfE,YAAaA,EACbC,eAAgBA,IAElBz8B,eAAC+tJ,GAAW,CAACvxH,YAAaA,EAAaC,eAAgBA,MACnD,ECwDK/7B,qBAPUC,IAChB,CACL+zB,UAAW/zB,EAAM8zB,eAAeC,UAChCC,OAAQh0B,EAAM8zB,eAAeE,UAIO,KAAzBj0B,EAvDA67B,IAA4B,IAA3B,UAAE7H,EAAS,OAAEC,GAAQ4H,EACnC,OACEv8B,eAAA69B,YAAA,CAAA39B,SACEge,gBAACswI,IAAM,CAACC,SALG,IAKgBvuJ,SAAA,CAEzBF,eAAC0uJ,GAAgB,IAEjBxwI,gBAACywI,SAAM,CAAAzuJ,SAAA,CACJynJ,GAAOrmI,KAAI,CAACstI,EAAOh3F,KAClB,MAAMi3F,EAAiBD,EAAM3tJ,KAAO6tJ,GAAerB,GAEnD,OACEztJ,eAAC6uJ,EAAc,CAEbl5H,KAAMi5H,EAAMj5H,KACZwN,MAAOyrH,EAAMzrH,MACbykH,UAAWgH,EAAMhH,UACjBlzH,UAAWA,EACXC,OAAQA,GALHijC,EAML,IAILljC,GAAaC,GACZ30B,eAACutJ,QAAK,CAAC53H,KAAK,SAASiyH,UAAWmH,KAElC/uJ,eAACutJ,QAAK,CAAC53H,KAAK,WAAUz1B,SACpBF,eAACimH,GAAgB,CAAC7iF,IAAI,cAExBpjC,eAACutJ,QAAK,CAAC53H,KAAK,iBAAgBz1B,SAC1BF,eAACimH,GAAgB,CAAC7iF,IAAI,oBAExBpjC,eAACutJ,QAAK,CAAC53H,KAAK,SAAQz1B,SAClBF,eAACimH,GAAgB,CAAC7iF,IAAI,YAExBpjC,eAACutJ,QAAK,CAAC53H,KAAK,8BAA8BiyH,UAAW2G,KACrDvuJ,eAACutJ,QAAK,CACJ53H,KAAK,iCACLiyH,UAAWT,KAGbnnJ,eAACutJ,QAAK,CAAC53H,KAAK,aAGf,ICxDA,MAAMQ,GAAeA,CAACtC,EAAWC,KAClCD,GAAaC,EAEfpC,KAAMs9H,SAASr7H,QAAQs7H,OACN,cACb,GAAGp7H,KAAaC,WAGbpC,KAAMs9H,SAASr7H,QAAQs7H,OAAsB,aACtD,ECyDavuJ,qBANUC,IAChB,CACLM,KAAMN,EAAMM,QAIDP,EAnDH67B,IAAe,IAAd,KAAEt7B,GAAMs7B,GACf,gBAAE4wH,EAAe,UAAEt5H,EAAS,UAAEC,GAAc7yB,EAehD,GAdiBgB,EAAQ,MACQitJ,QAEjBC,oBAAmB,GAK/BhC,EACFh3H,GAAatC,EAAWC,GAExBqC,KAGE7H,GAAS4C,UAAUC,cAAe,CAClB7C,GAAS4C,YAEjB0zH,WAAW90H,IACnB6kB,GAAgB,CACd9iB,OAAQ,IACR6B,QAAS5D,EAAQ/nB,cACjB,GAEN,CAaA,OACE/H,eAAA,OAAAE,SACEF,eAACovJ,GAAM,KACH,I,kECxDV,MAAMh7H,GAAe,CACnBtzB,QAAQ,GAgBJouB,GAAgBvuB,GACpBA,EAAQ,IAAKA,EAAOG,QAAQ,GAKxBsuB,GAAiBzuB,GACrBA,EAAQ,IAAKA,EAAOG,QAAQ,GAKxBuuB,GAAmB1uB,GACvBA,EAAQ,IAAKA,EAAOG,QAAQ,GAIfuuJ,OA9BG,WAAqD,IAApD1uJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAC/D,OAAQ2C,GACN,KAAK8uB,GACH,OAAOD,GAAavuB,GACtB,KAAKwuB,GACH,OAAOC,GAAczuB,GACvB,KAAKwuB,GACH,OAAOE,GAAgB1uB,GACzB,QACE,OAAOA,EAEb,ECfA,MAAMyzB,GAAe,CACnB1V,cAAe,GACfoV,UAAW,GACXD,UAAW,GACXs5H,iBAAiB,EACjBjsJ,KAAM,CAAC,EACPm0B,oBAAqB,IACrBq5E,YAAa,CACXC,mBAAoB,CAAC,EACrB2gD,kBAAmB,CAAC,IA4BlBC,GAAqBA,CAAC5uJ,EAAOmvB,IACjCnvB,EAAQ,IAAKA,EAAO+d,cAAeoR,GAI/BqG,GAAeA,CAACx1B,EAAOmvB,IAC3BnvB,EAAQ,IACHA,EACHmzB,UAAWhE,EAAQwB,MACnBuC,UAAW/D,EAAQ+D,WAKjBxD,GAAUA,CAAC1vB,EAAOmvB,IACtBnvB,EAAQ,IAAKA,EAAOO,KAAM4uB,GAItBS,GAAUA,CAAC5vB,EAAOmvB,IACtBnvB,EAAQ,IAAKA,EAAOwsJ,gBAAiBr9H,GAIjC0/H,GAAiBA,CAAC7uJ,EAAOmvB,KAC7BxuB,QAAQC,IAAIZ,EAAOmvB,GAEnB,IAAI,KAAE6F,GAAS7F,EAGf,OAFAnvB,EAAQ,IAAKA,EAAO00B,oBAAqBM,EAE7B,EAGR5F,GAAcpvB,IACJk7I,aACN4T,WAAW,kBACnB9uJ,EAAQ,IACHA,EACH+d,cAAe,GACfoV,UAAW,GACXD,UAAW,GACXs5H,iBAAiB,EACjBjsJ,KAAM,CAAC,EACPm0B,oBAAqB,MAKnB0e,GAAwBA,CAACpzC,EAAOmvB,KAC7B,IACFnvB,EACH+tG,YAAa,IACR/tG,EAAM+tG,YACTC,mBAAoB7+E,KAKpBmkB,GAAwBA,CAACtzC,EAAOmvB,KAC7B,IACFnvB,EACH+tG,YAAa,IACR/tG,EAAM+tG,YACT4gD,kBAAmBx/H,KAKV4/H,OA5FK,WAAqD,IAApD/uJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAEjE,OAAQ2C,GACN,KAAK8uB,GACH,OAAOogI,GAAmB5uJ,EAAOmvB,GACnC,KAAKX,GACH,OAAOgH,GAAax1B,EAAOmvB,GAC7B,KAAKX,GACH,OAAOkB,GAAQ1vB,EAAOmvB,GACxB,KAAKX,GACH,OAAOoB,GAAQ5vB,EAAOmvB,GACxB,KAAKX,GACH,OAAOqgI,GAAe7uJ,EAAOmvB,GAC/B,KAAKX,GACH,OAAOY,GAAWpvB,GACpB,KAAKwuB,GACH,OAAO4kB,GAAsBpzC,EAAOmvB,GACtC,KAAKX,GACH,OAAO8kB,GAAsBtzC,EAAOmvB,GACtC,QACE,OAAOnvB,EAEb,ECnCA,MAAMyzB,GAAe,CACnBpB,cAAe,GACfE,aAAc,CAAC,EACfC,cAAe,GACfC,aAAc,CAAC,GAiBX5C,GAAoBA,CAAC7vB,EAAOmvB,KAChC,IAAI,cAAEkD,EAAa,aAAEE,EAAY,cAAEC,EAAa,aAAEC,GAAiBtD,EAUnE,OARAnvB,EAAQ,IACHA,EACHqyB,gBACAE,eACAC,gBACAC,eAGU,EAGRlD,GAAwBvvB,GAC5BA,EAAQ,IACHA,EACHqyB,cAAe,GACfE,aAAc,CAAC,EACfC,cAAe,GACfC,aAAc,CAAC,GAKJu8H,OAvCe,WAGxB,IAFJhvJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IACR,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAExB,OAAQ2C,GACN,KAAK8uB,GACH,OAAOqB,GAAkB7vB,EAAOmvB,GAClC,KAAKX,GACH,OAAOe,GAAqBvvB,GAC9B,QACE,OAAOA,EAEb,ECnBA,MAAMyzB,GAAe,CACnB45B,YAAa,CACXrhB,UAAW,GACXE,YAAa,GACbE,YAAa,IAEfojB,UAAW,CACThB,QAAS,GACTC,UAAW,GACXC,UAAW,GACXT,WAAY,EACZE,wBAAyB,EACzBC,uBAAwB,EACxBC,mBAAoB,EACpBC,iBAAkB,EAClBC,8BAA+B,EAC/BL,mBAAoB,GAEtBxhB,UAAW,CAAC,EACZmE,UAAW,CAAC,EACZ5wC,eAAgB,CAAC,EACjB2tF,aAAc,CAAC,EACfqhE,mBAAoB,CAAC,EACrBliF,oBAAqB,CAAC,EACtBmiF,QAAS,CACPC,aAAc,GAEhB9hD,iBAAkB,CAAC,GA2Cf1nE,GAAiBA,CAAC3lC,EAAOmvB,KAC7B,IAAI,UAAE6c,EAAS,YAAEE,EAAW,YAAEE,GAAgBjd,EAO9C,OALAnvB,EAAQ,IACHA,EACHqtD,YAAa,IAAKrtD,EAAMqtD,YAAarhB,YAAWE,cAAaE,eAGnD,EAGRxG,GAAeA,CAAC5lC,EAAOmvB,KAC3B,IAAI,QACFq/B,EAAO,UACPC,EAAS,UACTC,EAAS,WACTT,EAAU,wBACVE,EAAuB,uBACvBC,EAAsB,mBACtBC,EAAkB,iBAClBC,EAAgB,8BAChBC,EAA6B,mBAC7BL,GACE/+B,EAmBJ,OAjBAnvB,EAAQ,IACHA,EACHwvD,UAAW,IACNxvD,EAAMwvD,UACThB,UACAC,YACAC,YACAT,aACAE,0BACAC,yBACAC,qBACAC,mBACAC,gCACAL,sBAIQ,EAERroB,GAAkBA,CAAC7lC,EAAOmvB,KAC9B,IAAI,aAAEm+B,GAAiBn+B,EAKvB,OAJAnvB,EAAQ,IACHA,EACHovJ,WAAY,IAAKpvJ,EAAMovJ,WAAY9hG,gBAEzB,EAGRxnB,GAAkBA,CAAC9lC,EAAOmvB,KAC9B,IAAI,MAAE+zE,EAAK,QAAEC,GAAYh0E,EAKzB,OAJAnvB,EAAQ,IACHA,EACHuvG,aAAc,IAAKvvG,EAAMuvG,aAAcrM,QAAOC,WAEpC,EAGRp9D,GAA0BA,CAAC/lC,EAAOmvB,KACtC,IAAI,QAAEkd,GAAYld,EAOlB,OALAnvB,EAAQ,IACHA,EACHqtH,qBAAsB,IAAKrtH,EAAMqtH,qBAAsBhhF,WAG7C,EAGRrG,GAAaA,CAAChmC,EAAOmvB,IACzBnvB,EAAQ,IACHA,EACHkvJ,QAAS,IACJlvJ,EAAMkvJ,QACTC,aAAchgI,IAMd8W,GAAeA,CAACjmC,EAAOmvB,IAC3BnvB,EAAQ,IAAKA,EAAO0sC,UAAWvd,GAI3B+W,GAAuBA,CAAClmC,EAAOmvB,IACnCnvB,EAAQ,IAAKA,EAAOy0D,kBAAmBtlC,GAInCgX,GAAeA,CAACnmC,EAAOmvB,IAC3BnvB,EAAQ,IAAKA,EAAO6wC,UAAW1hB,GAI3BiX,GAAoBA,CAACpmC,EAAOmvB,IAChCnvB,EAAQ,IAAKA,EAAOC,eAAgBkvB,GAIhCkX,GAAkBA,CAACrmC,EAAOmvB,IAC9BnvB,EAAQ,IAAKA,EAAO4tF,aAAcz+D,GAI9BmX,GAAwBA,CAACtmC,EAAOmvB,IACpCnvB,EAAQ,IAAKA,EAAOivJ,mBAAoB9/H,GAIpCoX,GAAyBA,CAACvmC,EAAOmvB,IACrCnvB,EAAQ,IAAKA,EAAO+sE,oBAAqB59C,GAIrCqX,GAAsBxmC,GAC1BA,EAAQ,IACHA,EACHqtD,YAAa,CACXrhB,UAAW,GACXE,YAAa,GACbE,YAAa,IAEfojB,UAAW,CACThB,QAAS,GACTC,UAAW,GACXC,UAAW,GACXT,WAAY,EACZE,wBAAyB,EACzBC,uBAAwB,EACxBC,mBAAoB,EACpBC,iBAAkB,EAClBC,8BAA+B,EAC/BL,mBAAoB,GAEtBxhB,UAAW,CAAC,EACZ+nB,kBAAmB,GACnB5jB,UAAW,CAAC,EACZ5wC,eAAgB,CAAC,EACjB2tF,aAAc,CAAC,EACfqhE,mBAAoB,CAAC,EACrBliF,oBAAqB,CAAC,EACtBmiF,QAAS,CACPC,aAAc,IAOd1oH,GAAsBA,CAACzmC,EAAOmvB,IAClCnvB,EAAQ,IAAKA,EAAOqtG,iBAAkBl+E,GAIzBkgI,OAvMa,WAGtB,IAFJrvJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IACR,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAExB,OAAQ2C,GACN,KAAK8uB,GACH,OAAOmX,GAAe3lC,EAAOmvB,GAC/B,KAAKX,GACH,OAAOoX,GAAa5lC,EAAOmvB,GAC7B,KAAKX,GACH,OAAOqX,GAAgB7lC,EAAOmvB,GAChC,KAAKX,GACH,OAAOsX,GAAgB9lC,EAAOmvB,GAChC,KAAKX,GACH,OAAOuX,GAAwB/lC,EAAOmvB,GACxC,KAAKX,GACH,OAAOwX,GAAWhmC,EAAOmvB,GAC3B,KAAKX,GACH,OAAOyX,GAAajmC,EAAOmvB,GAC7B,KAAKX,GACH,OAAO0X,GAAqBlmC,EAAOmvB,GACrC,KAAKX,GACH,OAAO2X,GAAanmC,EAAOmvB,GAC7B,KAAKX,GACH,OAAO4X,GAAkBpmC,EAAOmvB,GAClC,KAAKX,GACH,OAAO6X,GAAgBrmC,EAAOmvB,GAChC,KAAKX,GACH,OAAO8X,GAAsBtmC,EAAOmvB,GACtC,KAAKX,GACH,OAAO+X,GAAuBvmC,EAAOmvB,GACvC,KAAKX,GACH,OAAOgY,GAAmBxmC,GAC5B,KAAKwuB,GACH,OAAOiY,GAAoBzmC,EAAOmvB,GACpC,QACE,OAAOnvB,EAEb,ECpEA,MAAMyzB,GAAe,CACnB0yC,mBAAoB,CAClBY,SAAU,GACVkB,YAAa,KAgBXN,GAAwBA,CAAC3nE,EAAOmvB,IACpCnvB,EAAQ,IACHA,EACHmmE,mBAAoB,IACfnmE,EAAMmmE,mBACTY,SAAU53C,EAAQ43C,SAClBkB,YAAa94C,EAAQ84C,cAMrBjhC,GAAuBhnC,GAC3BA,EAAQ,IACHA,EACHmmE,mBAAoB,CAClBY,SAAU,GACVkB,YAAa,KAOJqnF,OApCW,WAAqD,IAApDtvJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAEvE,OAAQ2C,GACN,KAAK8uB,GACH,OAAOm5C,GAAsB3nE,EAAOmvB,GACtC,KAAKX,GACH,OAAOwY,GAAoBhnC,GAC7B,QACE,OAAOA,EAEb,ECjBA,MAAMyzB,GAAe,CACnBw5B,SAAU,CAAC,EACX8vC,eAAgB,CAAC,GAmBbmD,GAAmBA,CAAClgG,EAAOmvB,IAC/BnvB,EAAQ,IAAKA,EAAOitD,SAAU99B,GAI1B07B,GAAyBA,CAAC7qD,EAAOmvB,IACrCnvB,EAAQ,IAAKA,EAAO+8F,eAAgB5tE,GAIhC0X,GAA4B7mC,GAChCA,EAAQ,IACHA,EACHitD,SAAU,CAAC,EACX8vC,eAAgB,CAAC,GAKNwyD,OAnCmB,WAG5B,IAFJvvJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IACR,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAExB,OAAQ2C,GACN,KAAK8uB,GACH,OAAO0xE,GAAiBlgG,EAAOmvB,GACjC,KAAKX,GACH,OAAOq8B,GAAuB7qD,EAAOmvB,GACvC,KAAKX,GACH,OAAOqY,GAAyB7mC,GAClC,QACE,OAAOA,EAEb,ECnBA,MAAMyzB,GAAe,CACnBkqE,YAAa,CAAC,EACdqtB,cAAe,CAAC,EAChBnsB,kBAAmB,aAmBfyC,GAAkBA,CAACthG,EAAOmvB,IAC9BnvB,EAAQ,IAAKA,EAAO29F,YAAaxuE,GAI7ByuE,GAAwBA,CAAC59F,EAAOmvB,IACpCnvB,EAAQ,IAAKA,EAAOgrH,cAAe77F,GAI/BqgI,GAA0BA,CAACxvJ,EAAOmvB,IACtCnvB,EAAQ,IAAKA,EAAO6+F,kBAAmB1vE,GAI1BsgI,OA/BS,WAAqD,IAApDzvJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EACrE,OAAQ2C,GACN,KAAK8uB,GACH,OAAO8yE,GAAgBthG,EAAOmvB,GAEhC,KAAKX,GACH,OAAOovE,GAAsB59F,EAAOmvB,GAEtC,KAAKX,GACH,OAAOghI,GAAwBxvJ,EAAOmvB,GAExC,QACE,OAAOnvB,EAEb,ECpBA,MAAMyzB,GAAe,CACnBi8H,aAAc,CAAC,EACfl+C,cAAe,CAAC,GAgBZm+C,GAAkBA,CAAC3vJ,EAAOmvB,KACd,IAAKnvB,EAAO0vJ,aAAcvgI,IAGtCqhF,GAAwBA,CAACxwG,EAAOmvB,IACpCnvB,EAAQ,IAAKA,EAAOwxG,cAAeriF,GAItBygI,OAtBI,WAAqD,IAApD5vJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAChE,OAAQ2C,GACN,KAAK8uB,GACH,OAAOmhI,GAAgB3vJ,EAAOmvB,GAEhC,KAAKX,GACH,OAAOgiF,GAAsBxwG,EAAOmvB,GAEtC,QACE,OAAOnvB,EAEb,EChBA,MAAMyzB,GAAe,CACnBmzE,aAAc,CAAC,EACf0P,cAAe,CAAC,EAChBC,mBAAoB,CAAC,EACrB5C,eAAgB,CAAC,EACjBsB,eAAgB,GAChBzB,YAAa,IA4BTC,GAAkBA,CAACzzG,EAAOmvB,KACd,IAAKnvB,EAAO4mG,aAAcz3E,IAGtC03E,GAAwBA,CAAC7mG,EAAOmvB,IACpCnvB,EAAQ,IAAKA,EAAOs2G,cAAennF,GAI/B0gI,GAA6BA,CAAC7vJ,EAAOmvB,KACxB,IAAKnvB,EAAOu2G,mBAAoBpnF,IAI7C44E,GAAoBA,CAAC/nG,EAAOmvB,IAChCnvB,EAAQ,IAAKA,EAAO2zG,eAAgBxkF,GAIhC84E,GAAoBA,CAACjoG,EAAOmvB,IAChCnvB,EAAQ,IAAKA,EAAOi1G,eAAgB9lF,GAIhC+4E,GAAiBA,CAACloG,EAAOmvB,IAC7BnvB,EAAQ,IAAKA,EAAOwzG,YAAarkF,GAIpB2gI,OAtDI,WAAqD,IAApD9vJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAChE,OAAQ2C,GACN,KAAK8uB,GACH,OAAOilF,GAAgBzzG,EAAOmvB,GAEhC,KAAKX,GACH,OAAOq4E,GAAsB7mG,EAAOmvB,GAEtC,KAAKX,GACH,OAAOqhI,GAA2B7vJ,EAAOmvB,GAE3C,KAAKX,GACH,OAAOu5E,GAAkB/nG,EAAOmvB,GAElC,KAAKX,GACH,OAAOy5E,GAAkBjoG,EAAOmvB,GAElC,KAAKX,GACH,OAAO05E,GAAeloG,EAAOmvB,GAE/B,QACE,OAAOnvB,EAEb,EChCA,MAAMyzB,GAAe,CACnBgsC,mBAAoB,EACpBE,iBAAkB,EAClBC,oBAAqB,CAAC,EACtBmwF,qBAAsB,GACtB9rH,QAAS,CACP8hF,YAAa,IA4BXL,GAAaA,CAAC1lH,EAAOmvB,IACzBnvB,EAAQ,IACHA,EACHikC,QAAS,IACJjkC,EAAMikC,QACT8hF,YAAa52F,IAMb4wC,GAAwBA,CAAC//D,EAAOmvB,IACpCnvB,EAAQ,IAAKA,EAAOy/D,mBAAoBtwC,GAKpCgxC,GAAsBA,CAACngE,EAAOmvB,IAClCnvB,EAAQ,IAAKA,EAAO2/D,iBAAkBxwC,GAKlC+wC,GAAyBA,CAAClgE,EAAOmvB,IACrCnvB,EAAQ,IAAKA,EAAO4/D,oBAAqBzwC,GAIrC8wC,GAAmBA,CAACjgE,EAAOmvB,IAC/BnvB,EAAQ,IAAKA,EAAOgwJ,YAAa7gI,GAK7Bw2F,GAA0BA,CAAC3lH,EAAOmvB,IACtCnvB,EAAQ,IAAKA,EAAO+vJ,qBAAsB5gI,GAKtCqY,GAAsBxnC,GAC1BA,EAAQ,IACHA,EACHy/D,mBAAoB,EACpBG,oBAAqB,CAAC,EACtBmwF,qBAAsB,GACtB9rH,QAAS,CACP8hF,YAAa,IAOJkqC,OA9Ea,WAGtB,IAFJjwJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IACR,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAExB,OAAQ2C,GACN,KAAK8uB,GACH,OAAOk3F,GAAW1lH,EAAOmvB,GAC3B,KAAKX,GACH,OAAOuxC,GAAsB//D,EAAOmvB,GACtC,KAAKX,GACH,OAAO2xC,GAAoBngE,EAAOmvB,GACpC,KAAKX,GACH,OAAO0xC,GAAuBlgE,EAAOmvB,GACvC,KAAKX,GACH,OAAOyxC,GAAiBjgE,EAAOmvB,GACjC,KAAKX,GACH,OAAOm3F,GAAwB3lH,EAAOmvB,GACxC,KAAKX,GACH,OAAOgZ,GAAmBxnC,GAC5B,QACE,OAAOA,EAEb,EChCA,MAAMyzB,GAAe,CACnB23F,oBAAqB,CAAC,GAkBlB4C,GAA0BA,CAAChuH,EAAOmvB,IACtCnvB,EAAQ,IAAKA,EAAOorH,oBAAqBj8F,GAI5B+gI,OAnBiB,WAG1B,IAFJlwJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IACR,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAExB,OAAQ2C,IACD8uB,GACIw/F,GAAwBhuH,EAAOmvB,GAI/BnvB,CAEb,ECjBA,MAAMyzB,GAAe,CACnB+6F,aAAc,CAAC,EACfG,eAAgB,CAAC,GAebwhC,GAAmBA,CAACnwJ,EAAOmvB,IAC/BnvB,EAAQ,IAAKA,EAAOwuH,aAAcr/F,GAI9B46E,GAAyBA,CAAC/pG,EAAOmvB,IACrCnvB,EAAQ,IAAKA,EAAO2uH,eAAgBx/F,GAIvBihI,OAtBU,WAAqD,IAApDpwJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EACtE,OAAQ2C,GACN,KAAK8uB,GACH,OAAO2hI,GAAiBnwJ,EAAOmvB,GAEjC,KAAKX,GACH,OAAOu7E,GAAuB/pG,EAAOmvB,GACvC,QACE,OAAOnvB,EAEb,ECdA,MAAMyzB,GAAe,CACnB27F,eAAgB,CAAC,EACjBG,iBAAkB,CAAC,GAefzkB,GAAqBA,CAAC9qG,EAAOmvB,IACjCnvB,EAAQ,IAAKA,EAAOovH,eAAgBjgG,GAIhCkgG,GAA2BA,CAACrvH,EAAOmvB,IACvCnvB,EAAQ,IAAKA,EAAOuvH,iBAAkBpgG,GAIzBkhI,OAtBY,WAAqD,IAApDrwJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EACxE,OAAQ2C,GACN,KAAK8uB,GACH,OAAOs8E,GAAmB9qG,EAAOmvB,GAEnC,KAAKX,GACH,OAAO6gG,GAAyBrvH,EAAOmvB,GACzC,QACE,OAAOnvB,EAEb,EClBA,MAAMyzB,GAAe,CACnBs7C,QAAS,GACT2gD,mBAAoB,CAAC,EACrBh8C,gBAAiB,CAAC,EAClB48E,yBAA0B,CAAC,GAgCdthF,OA7BQ,WAAmC,IAAlChvE,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,GAAcG,EAAMq9B,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAClD,OAAQ62B,EAAOl0B,MACb,IAAK,eACH,MAAO,IACFM,EACH+uE,QAASn7C,EAAOzE,SAEpB,IAAK,2BACH,MAAO,IACFnvB,EACH0vH,mBAAoB97F,EAAOzE,SAE/B,IAAK,8BACH,MAAO,IACFnvB,EACH0zE,gBAAiB9/C,EAAOzE,SAG5B,IAAK,kCACH,MAAO,IACFnvB,EACHswJ,yBAA0B18H,EAAOzE,SAGrC,QACE,OAAOnvB,EAEb,EChCA,MAAMyzB,GAAe,CACnBuoG,qBAAsB,CAAC,EACvBvkD,YAAa,GACbI,SAAU,GACVznD,UAAW,IAkBPkrG,GAA0BA,CAACt7H,EAAOmvB,IACtCnvB,EAAQ,IAAKA,EAAOg8H,qBAAsB7sG,GAItCooD,GAAiBA,CAACv3E,EAAOmvB,IAC7BnvB,EAAQ,IAAKA,EAAOy3E,YAAatoD,GAI7B2oD,GAAcA,CAAC93E,EAAOmvB,IAC1BnvB,EAAQ,IAAKA,EAAO63E,SAAU1oD,GAI1BwG,GAAeA,CAAC31B,EAAOmvB,IAC3BnvB,EAAQ,IAAKA,EAAOowB,UAAWjB,GAKlBohI,OApCM,WAAqD,IAApDvwJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAClE,OAAQ2C,GACN,KAAK8uB,GACH,OAAO8sG,GAAwBt7H,EAAOmvB,GACxC,KAAKX,GACH,OAAO+oD,GAAev3E,EAAOmvB,GAC/B,KAAKX,GACH,OAAOspD,GAAY93E,EAAOmvB,GAC1B,KAAKX,GACH,OAAOmH,GAAa31B,EAAOmvB,GAC/B,QACE,OAAOnvB,EAEb,ECpBA,MAAMyzB,GAAe,CACnB+8H,gBAAiB,GACjBC,2BAA4B,CAAC,GAgBzBthF,GAAaA,CAACnvE,EAAOmvB,KACT,IAAKnvB,EAAOwwJ,gBAAiBrhI,IAGzCuhI,GAAgCA,CAAC1wJ,EAAOmvB,IAC5CnvB,EAAQ,IAAKA,EAAOywJ,2BAA4BthI,GAGnCwhI,OArBS,WAAqD,IAApD3wJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EACrE,OAAQ2C,GACN,KAAK8uB,GACH,OAAO2gD,GAAWnvE,EAAOmvB,GAE3B,KAAKX,GACH,OAAOkiI,GAA8B1wJ,EAAOmvB,GAE9C,QACE,OAAOnvB,EAEb,EChBA,MAAMyzB,GAAe,CACnBu5E,eAAgB,KAChBgnB,iBAAkB,GAClB48B,sBAAuB,CAAC,EACxBC,uBAAwB,CAAC,GAyBrBC,GAA2BA,CAAC9wJ,EAAOmvB,KACvB,IAAKnvB,EAAO4wJ,sBAAuBzhI,IAG/C4hI,GAAiCA,CAAC/wJ,EAAOmvB,IAC7CnvB,EAAQ,IAAKA,EAAO6wJ,uBAAwB1hI,GAIxC6hI,GAAoBA,CAAChxJ,EAAOmvB,IAChCnvB,EAAQ,IACHA,EACHgtG,eAAgB79E,GAKd8hI,GAAsBA,CAACjxJ,EAAOmvB,IAClCnvB,EAAQ,IACHA,EACHg0H,iBAAkB7kG,GAKP+hI,OA/Ca,WAGtB,IAFJlxJ,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IACR,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAExB,OAAQ2C,GACN,KAAK8uB,GACH,OAAOsiI,GAAyB9wJ,EAAOmvB,GAEzC,KAAKX,GACH,OAAOuiI,GAA+B/wJ,EAAOmvB,GAE/C,KAAKX,GACH,OAAOwiI,GAAkBhxJ,EAAOmvB,GAElC,KAAKX,GACH,OAAOyiI,GAAoBjxJ,EAAOmvB,GAEpC,QACE,OAAOnvB,EAEb,EC3BA,MAAMyzB,GAAe,CACnB+qD,gBAAiB,GACjB+2C,cAAe,IAcXppB,GAAwBA,CAACnsG,EAAOmvB,KAC7B,IACFnvB,EACHw+E,gBAAiBrvD,IAIfi9E,GAAmBA,CAACpsG,EAAOmvB,KACxB,IACFnvB,EACHu1H,cAAepmG,IAIJsmG,OAzBY,WAAqD,IAApDz1H,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IAAc,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EACxE,OAAQ2C,GACN,KAAK8uB,GAAYy9E,gBACf,OAAOE,GAAsBnsG,EAAOmvB,GACtC,KAAKX,GAAY09E,oBACf,OAAOE,GAAiBpsG,EAAOmvB,GACjC,QACE,OAAOnvB,EAEb,ECXA,MAAMmxJ,GAAaC,2BAAgB,CACjC76B,kBAAmB7iG,GACnB82B,kBAAmBA,KAON8rE,OAJWA,CAACt2H,EAAO4zB,IACzBu9H,GAAWnxJ,EAAO4zB,GCT3B,MAAMH,GAAe,CACjBga,IAAK,GACLpB,QAAS,GACT6mE,cAAe,CAAC,EAChB8X,cAAe,CAAC,GAsBZvpB,GAASA,CAACzhG,EAAOmvB,IACrBnvB,EAAQ,IACHA,EACLytC,IAAKte,GAKDi6B,GAAaA,CAACppD,EAAOmvB,IACzBnvB,EAAQ,IACHA,EACHqsC,QAASld,GAKPkjF,GAAmBA,CAACryG,EAAOmvB,IAC/BnvB,EAAQ,IAAKA,EAAOkzG,cAAe/jF,GAI/ByuE,GAAwBA,CAAC59F,EAAOmvB,IACpCnvB,EAAQ,IAAKA,EAAOgrH,cAAe77F,GAItBsiF,OA5CgB,WAGzB,IAFJzxG,EAAKixD,UAAA/zD,OAAA,QAAAH,IAAAk0D,UAAA,GAAAA,UAAA,GAAGx9B,IACV,KAAE/zB,EAAI,QAAEyvB,EAAU,MAAM8hC,UAAA/zD,OAAA,EAAA+zD,UAAA,QAAAl0D,EAEtB,OAAQ2C,GACJ,KAAK8uB,GACH,OAAOizE,GAAOzhG,EAAOmvB,GACvB,KAAKX,GACH,OAAO46B,GAAWppD,EAAOmvB,GAC3B,KAAKX,GACH,OAAO6jF,GAAiBryG,EAAOmvB,GACjC,KAAKX,GACH,OAAOovE,GAAsB59F,EAAOmvB,GAC1C,QACE,OAAOnvB,EAEb,ECxBA,MAAMqxJ,GAA2B79H,aAAY,CAC3CnvB,KAAM,gBACNovB,aAAc,CACZkhB,iBAAiB,GAGnBjhB,SAAU,CACR49H,uBAAwBA,CAACtxJ,EAAO4zB,KAC9B5zB,EAAM20C,gBAAkB/gB,EAAOzE,QAAQwlB,eAAe,MAK/C,uBAAE28G,IAA2BD,GAAyBx9H,QACpDw9H,UAAgC,QCkB/C,MAAMF,GAAaC,2BAAgB,CACjChxJ,GAAIsuJ,GACJpuJ,KAAMyuJ,GACNvuJ,eAAgBwuJ,GAChB9uJ,aAAcmvJ,GACd3nF,eAAgB4nF,GAChB74D,uBAAwB84D,GACxB7xD,aAAc+xD,GACdlhC,cAAe6hC,GACf7+C,gBAAiBA,GACjB3K,aAAc2qD,GACdpmC,qBAAsB+kC,GACtB/gC,gBAAiBkhC,GACjB3wF,iBAAkBuwF,GAClB/2E,UAAWq3E,GACXvhF,eAAgBA,GAChBwiF,oBAAqBC,GACrB19B,aAAcm9B,GACdz7B,mBAAoBA,GAIpB9hD,oBAAqBA,GACrBx1B,0BAA2BA,GAC3Bm4E,kBAAmBA,GACnB7kB,yBAA0BA,GAC1Bl+E,WAAYA,GACZO,eAAgBA,GAChBiZ,wBAAyBA,GACzBskH,yBAA0BA,GAC1B3X,kBAAmBA,GACnB9qF,yBAA0BA,KAOb8iG,OAJKA,CAAC1xJ,EAAO4zB,IACnBu9H,GAAWnxJ,EAAO4zB,GChE3B,MAAM+9H,GAAgB,CACpBnwJ,IAAK,SACLowJ,aACAC,UAAW,CAAC,OAGRC,GAAmBC,aAAeJ,GAAeD,IAE1CM,GAAQC,aAAe,CAClCxnG,QAASqnG,GACTI,WAAaC,GACXA,EAAqB,CACnBC,kBAAmB,CACjBC,eAAgB,CACd,kBACA,oBACA,gBACA,gBACA,gBACA,oBAEFC,aAAc,CAAC,cAGrBC,UAAUC,IAGCC,GAAYC,aAAaV,I,cCZtCj/G,IAAS45G,OACPttJ,eAACszJ,KAAQ,CAACX,MAAOA,GAAMzyJ,SACrBF,eAACuzJ,KAAW,CAACxgH,QAAS/yC,eAACD,KAAW,IAAKqzJ,UAAWA,GAAUlzJ,SAC1DF,eAACwzJ,GAAG,CAAC1mF,cAAgBzwC,GAAMA,EAAEhe,uBAGjC/Z,SAASkmC,cAAc,S","file":"static/js/main.e2b88c82.chunk.js","sourcesContent":["export const isEmpty = (value) => {\r\n return (\r\n value === undefined ||\r\n value === null ||\r\n (typeof value === \"object\" && Object.keys(value).length === 0) ||\r\n (typeof value === \"string\" && value.trim().length === 0)\r\n );\r\n};\r\n\r\nexport const sliceString = (str, startIndex, endIndex) => {\r\n return str.slice(startIndex, endIndex);\r\n};\r\n\r\nexport const splitString = (str, direction) => {\r\n let splittedString = str.split(\"-\");\r\n if (direction === \"start\") {\r\n return splittedString[0];\r\n } else if (direction === \"end\") {\r\n return splittedString[splittedString.length - 1];\r\n }\r\n};\r\n\r\nexport const generateRandomId = () => {\r\n const min = 10;\r\n const max = 100;\r\n return Math.floor(Math.random() * (max - min + 1)) + min;\r\n};\r\n\r\nexport const checkXSSAttackThroughInput = (value) => {\r\n const convertedToSmallCharacters = value.trim().toLowerCase();\r\n\r\n const XSSAttacksList = [\r\n \"<\",\r\n \">\",\r\n \"script\",\r\n \"alert\",\r\n \"img\",\r\n \"onerror\",\r\n \"onload\",\r\n \"javascript\",\r\n \"document\",\r\n \"eval\",\r\n \"src\",\r\n \"onmouseove\",\r\n \"onmouseent\",\r\n \"onmouselea\",\r\n \"onfocus\",\r\n \"onblur\",\r\n \"onclick\",\r\n \"ondblclick\",\r\n \"onchange\",\r\n \"onsubmit\",\r\n \"onreset\",\r\n \"html\",\r\n ];\r\n\r\n for (let keyword of XSSAttacksList) {\r\n if (convertedToSmallCharacters.includes(keyword)) {\r\n alert(`You are not allowed to use \"${keyword}\" keyword`);\r\n return false; // Return false to indicate XSS attack\r\n }\r\n }\r\n\r\n return true; // Return true if no XSS attack detected\r\n};\r\n\r\nexport const backGroundColorFromBackend = (color_code) => {\r\n const colorCode = color_code ? color_code.split(\",\") : null;\r\n\r\n if (colorCode !== null) {\r\n return {\r\n background: `linear-gradient(277deg,${colorCode[0]}, ${colorCode[1]} 101.46% )`,\r\n };\r\n } else {\r\n return {\r\n background: \"\",\r\n };\r\n }\r\n};\r\n\r\nexport const textColorFromBackend = (text_color) => {\r\n if (text_color !== null) {\r\n return {\r\n color: text_color,\r\n };\r\n } else {\r\n return {\r\n background: \"\",\r\n };\r\n }\r\n};\r\n\r\nexport const withRupeeSymbol = (value) => {\r\n if (Number.isInteger(value)) {\r\n return `₹${Math.round(value)}`;\r\n }\r\n return value === undefined || value === null ? \"-\" : `₹${value.toFixed(2)}`;\r\n};\r\n","import { Fragment } from \"react\";\r\nimport \"./loader.scss\";\r\nimport Loader from \"react-loader-spinner\";\r\n\r\nconst LoaderPopUp = () => {\r\n return (\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoaderPopUp;\r\n","// extracted by mini-css-extract-plugin\nmodule.exports = {\"modalbody\":\"CustomModal_modalbody__1_QYP\",\"close-btn\":\"CustomModal_close-btn__259L4\"};","// import { Fragment, useEffect, useState } from \"react\";\r\n// import \"./zoom_component.scss\"\r\n\r\n// import LoaderPopUp from \"../../../components/loader/loader\";\r\n// //Redux\r\n// import { connect } from \"react-redux\";\r\n\r\n// import ZoomContentComponent from \"./zoom_content_component/zoom_content_component\";\r\n// import { ZoomMtg } from \"@zoomus/websdk\";\r\n// import {\r\n// isEmpty,\r\n// sliceString,\r\n// splitString,\r\n// } from \"../../../custom_utilities/custom_useful_functions\";\r\n\r\n// const Zoom = (props)=>{\r\n\r\n// let {history, userData, liveStreamData} = props;\r\n\r\n// console.log(liveStreamData);\r\n\r\n// useEffect(() => {\r\n\r\n// ZoomMtg.setZoomJSLib('https://source.zoom.us/1.9.8/lib', '/av');\r\n// ZoomMtg.preLoadWasm();\r\n// ZoomMtg.prepareWebSDK();\r\n// joinMeeting(liveStreamData);\r\n\r\n// }, []);\r\n\r\n// const showZoomDiv =() =>{\r\n// document.getElementById(\"zmmtg-root\").style.display = \"block\";\r\n// }\r\n\r\n// const decrypt_functionality = (val) =>{\r\n\r\n// const CryptoJS = require(\"crypto-js\");\r\n\r\n// let encrypted = val;\r\n// let key = \"0CiuKpLCZbX7gBCyYTka4USxTnh7ssXKk8bJ6Y3TXPc=\";\r\n\r\n// encrypted = atob(encrypted);\r\n\r\n// encrypted = JSON.parse(encrypted);\r\n\r\n// // console.log('Laravel encryption result', encrypted);\r\n\r\n// // IV is base64 encoded in Laravel, expected as word array in cryptojs\r\n// const iv = CryptoJS.enc.Base64.parse(encrypted.iv);\r\n\r\n// // Value (chipher text) is also base64 encoded in Laravel, same in cryptojs\r\n// const value = encrypted.value;\r\n\r\n// // Key is base64 encoded in Laravel, word array expected in cryptojs\r\n// key = CryptoJS.enc.Base64.parse(key);\r\n\r\n// // Decrypt the value, providing the IV.\r\n// var decrypted = CryptoJS.AES.decrypt(value, key, {\r\n// iv: iv\r\n// });\r\n\r\n// // CryptoJS returns a word array which can be\r\n// // converted to string like this\r\n// decrypted = decrypted.toString(CryptoJS.enc.Utf8);\r\n\r\n// console.log(decrypted.split('*')[1]); // Voilà! Prints \"Hello world!\"\r\n\r\n// return decrypted.split('*')[1];\r\n\r\n// }\r\n\r\n// const crypto = require('crypto'); // crypto comes with Node.js\r\n\r\n// function generateSignature(apiKey, apiSecret, meetingNumber) {\r\n\r\n// console.log(meetingNumber);\r\n\r\n// return new Promise((res, rej) => {\r\n\r\n// const role = \"0\";\r\n// const timestamp = new Date().getTime() - 30000;\r\n\r\n// const msg = Buffer.from(apiKey + meetingNumber + timestamp + role).toString('base64');\r\n\r\n// const hash = crypto.createHmac('sha256', apiSecret).update(msg).digest('base64');\r\n\r\n// const signature = Buffer.from(`${apiKey}.${meetingNumber}.${timestamp}.${role}.${hash}`).toString('base64');\r\n\r\n// res(signature);\r\n\r\n// });\r\n\r\n// }\r\n\r\n// const joinMeeting = (element) => {\r\n\r\n// const meetConfig = {\r\n// meetingNumber: decrypt_functionality(element.zoom_id),\r\n// leaveUrl: \"https://learning.motion.ac.in/user_dashboard\",\r\n// userEmail: decrypt_functionality(element.zoom_email),\r\n// passWord: decrypt_functionality(element.password),\r\n// apiKey: decrypt_functionality(element.api_key),\r\n// apiSecretKey: decrypt_functionality(element.api_secret_key),\r\n// sdkKey: decrypt_functionality(element.sdk_key),\r\n// sdkSecretKey: decrypt_functionality(element.sdk_secret_key),\r\n// };\r\n\r\n// let my_signature = '';\r\n\r\n// generateSignature(meetConfig.apiKey, meetConfig.apiSecretKey, meetConfig.meetingNumber).then((res) => {\r\n// my_signature = res\r\n// showZoomDiv();\r\n// ZoomMtg.init({\r\n// leaveUrl: meetConfig.leaveUrl,\r\n// isSupportAV: true,\r\n// success: (success) => {\r\n// console.log(success);\r\n// ZoomMtg.join({\r\n// signature: my_signature,\r\n// meetingNumber: meetConfig.meetingNumber,\r\n// userName: ((!isEmpty(userData.roll_no) ? userData.roll_no : \"Not Roll\")+\"-\"+(!isEmpty(userData.name) ? userData.name : \"Not Registered\")),\r\n// apiKey: meetConfig.apiKey,\r\n// userEmail: meetConfig.userEmail,\r\n// passWord: meetConfig.passWord,\r\n// success: (success) => {\r\n// console.log(\"Join Meeting Success\")\r\n// },\r\n// error: (error) => {\r\n// console.log(\"Error 1 : \"+error)\r\n// }\r\n// })\r\n\r\n// },\r\n// error: (error) => {\r\n// console.log(\"Error 2 : \"+error)\r\n// }\r\n// });\r\n// });\r\n\r\n// }\r\n\r\n// return (\r\n//
\r\n// Loading Class\r\n//
\r\n// );\r\n\r\n// }\r\n\r\n// const mapStateToProps = (state) => {\r\n// return {\r\n// liveStreamData: state.userActivity.liveStreamData,\r\n// loader: state.ui.loader,\r\n// userData: state.auth.user,\r\n// userPreference: state.userPreference,\r\n// };\r\n// };\r\n\r\n// export default connect(mapStateToProps)(Zoom);\r\n\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport \"./zoom_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nimport ZoomContentComponent from \"./zoom_content_component/zoom_content_component\";\r\nimport { ZoomMtg } from \"@zoomus/websdk\";\r\nimport {\r\n isEmpty,\r\n sliceString,\r\n splitString,\r\n} from \"../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst Zoom = (props) => {\r\n let { history, userData, liveStreamData } = props;\r\n\r\n console.log(liveStreamData);\r\n\r\n useEffect(() => {\r\n ZoomMtg.setZoomJSLib(\"https://source.zoom.us/2.12.0/lib\", \"/av\");\r\n ZoomMtg.preLoadWasm();\r\n ZoomMtg.prepareWebSDK();\r\n joinMeeting(liveStreamData);\r\n }, []);\r\n\r\n const showZoomDiv = () => {\r\n document.getElementById(\"zmmtg-root\").style.display = \"block\";\r\n };\r\n\r\n const decrypt_functionality = (val) => {\r\n const CryptoJS = require(\"crypto-js\");\r\n\r\n let encrypted = val;\r\n let key = \"0CiuKpLCZbX7gBCyYTka4USxTnh7ssXKk8bJ6Y3TXPc=\";\r\n\r\n encrypted = atob(encrypted);\r\n\r\n encrypted = JSON.parse(encrypted);\r\n\r\n // console.log('Laravel encryption result', encrypted);\r\n\r\n // IV is base64 encoded in Laravel, expected as word array in cryptojs\r\n const iv = CryptoJS.enc.Base64.parse(encrypted.iv);\r\n\r\n // Value (chipher text) is also base64 encoded in Laravel, same in cryptojs\r\n const value = encrypted.value;\r\n\r\n // Key is base64 encoded in Laravel, word array expected in cryptojs\r\n key = CryptoJS.enc.Base64.parse(key);\r\n\r\n // Decrypt the value, providing the IV.\r\n var decrypted = CryptoJS.AES.decrypt(value, key, {\r\n iv: iv,\r\n });\r\n\r\n // CryptoJS returns a word array which can be\r\n // converted to string like this\r\n decrypted = decrypted.toString(CryptoJS.enc.Utf8);\r\n\r\n console.log(decrypted.split(\"*\")[1]); // Voilà! Prints \"Hello world!\"\r\n\r\n return decrypted.split(\"*\")[1];\r\n };\r\n\r\n const crypto = require(\"crypto\"); // crypto comes with Node.js\r\n\r\n function generateSignature(sdkKey, sdkSecret, meetingNumber) {\r\n console.log(meetingNumber);\r\n\r\n return new Promise((res, rej) => {\r\n const role = \"0\";\r\n const timestamp = new Date().getTime() - 30000;\r\n\r\n const msg = Buffer.from(\r\n sdkKey + meetingNumber + timestamp + role\r\n ).toString(\"base64\");\r\n\r\n const hash = crypto\r\n .createHmac(\"sha256\", sdkSecret)\r\n .update(msg)\r\n .digest(\"base64\");\r\n\r\n const signature = Buffer.from(\r\n `${sdkKey}.${meetingNumber}.${timestamp}.${role}.${hash}`\r\n ).toString(\"base64\");\r\n\r\n res(signature);\r\n });\r\n }\r\n\r\n const joinMeeting = (element) => {\r\n const meetConfig = {\r\n meetingNumber: decrypt_functionality(element.zoom_id),\r\n leaveUrl: \"https://learning.motion.ac.in/user_dashboard\",\r\n userEmail: decrypt_functionality(element.zoom_email),\r\n passWord: decrypt_functionality(element.password),\r\n apiKey: decrypt_functionality(element.api_key),\r\n apiSecretKey: decrypt_functionality(element.api_secret_key),\r\n sdkKey: decrypt_functionality(element.sdk_key),\r\n sdkSecretKey: decrypt_functionality(element.sdk_secret_key),\r\n };\r\n\r\n console.log(meetConfig);\r\n\r\n let my_signature = \"\";\r\n\r\n const signature = ZoomMtg.generateSDKSignature({\r\n meetingNumber: meetConfig.meetingNumber,\r\n sdkKey: meetConfig.sdkKey,\r\n sdkSecret: meetConfig.sdkSecretKey,\r\n role: 0,\r\n success: function (res) {\r\n console.log(res.result);\r\n showZoomDiv();\r\n ZoomMtg.init({\r\n leaveUrl: meetConfig.leaveUrl,\r\n isSupportAV: true,\r\n\r\n success: (success) => {\r\n ZoomMtg.join({\r\n signature: res.result,\r\n meetingNumber: meetConfig.meetingNumber,\r\n userName:\r\n (!isEmpty(userData.roll_no) ? userData.roll_no : \"Not Roll\") +\r\n \"-\" +\r\n (!isEmpty(userData.name) ? userData.name : \"Not Registered\"),\r\n sdkKey: meetConfig.sdkKey,\r\n userEmail: meetConfig.userEmail,\r\n passWord: meetConfig.passWord,\r\n success: (success) => {\r\n console.log(\"Join Meeting Success\");\r\n },\r\n error: (error) => {\r\n console.log(\"Error 1 : \", error);\r\n },\r\n });\r\n },\r\n\r\n error: (error) => {\r\n console.log(\"Error 2 : \", error);\r\n },\r\n });\r\n },\r\n });\r\n\r\n // generateSignature(\r\n // meetConfig.sdkKey,\r\n // meetConfig.sdkSecretKey,\r\n // meetConfig.meetingNumber\r\n // ).then((res) => {\r\n // my_signature = res;\r\n // showZoomDiv();\r\n // ZoomMtg.init({\r\n // leaveUrl: meetConfig.leaveUrl,\r\n // isSupportAV: true,\r\n // success: (success) => {\r\n // console.log(success);\r\n // ZoomMtg.join({\r\n // signature: my_signature,\r\n // meetingNumber: meetConfig.meetingNumber,\r\n // userName:\r\n // (!isEmpty(userData.roll_no) ? userData.roll_no : \"Not Roll\") +\r\n // \"-\" +\r\n // (!isEmpty(userData.name) ? userData.name : \"Not Registered\"),\r\n // sdkKey: meetConfig.sdkKey,\r\n // userEmail: meetConfig.userEmail,\r\n // passWord: meetConfig.passWord,\r\n // success: (success) => {\r\n // console.log(\"Join Meeting Success\");\r\n // },\r\n // error: (error) => {\r\n // console.log(\"Error 1 : \", error);\r\n // },\r\n // });\r\n // },\r\n // error: (error) => {\r\n // console.log(\"Error 2 : \", error);\r\n // },\r\n // });\r\n // });\r\n };\r\n\r\n return
Loading Class
;\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n liveStreamData: state.userActivity.liveStreamData,\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Zoom);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport { ZoomMtg } from \"@zoomus/websdk\";\r\n\r\nimport {\r\n isEmpty,\r\n sliceString,\r\n splitString,\r\n } from \"../../../../custom_utilities/custom_useful_functions\";\r\n\r\n\r\nconst ZoomContentComponent = (props) =>{\r\n\r\n let {history, userData, liveStreamData} = props;\r\n\r\n useEffect(() => {\r\n \r\n ZoomMtg.setZoomJSLib('https://source.zoom.us/2.5.0/lib', '/av');\r\n ZoomMtg.preLoadWasm();\r\n ZoomMtg.prepareJssdk();\r\n\r\n joinMeeting(liveStreamData);\r\n \r\n }, []);\r\n\r\n const showZoomDiv =() =>{\r\n document.getElementById(\"zmmtg-root\").style.display = \"block\";\r\n }\r\n\r\n\r\n\r\n const decrypt_functionality = (val) =>{\r\n\r\n const CryptoJS = require(\"crypto-js\");\r\n \r\n let encrypted = val;\r\n let key = \"0CiuKpLCZbX7gBCyYTka4USxTnh7ssXKk8bJ6Y3TXPc=\";\r\n \r\n encrypted = atob(encrypted);\r\n \r\n encrypted = JSON.parse(encrypted);\r\n \r\n // console.log('Laravel encryption result', encrypted);\r\n \r\n // IV is base64 encoded in Laravel, expected as word array in cryptojs\r\n const iv = CryptoJS.enc.Base64.parse(encrypted.iv);\r\n \r\n // Value (chipher text) is also base64 encoded in Laravel, same in cryptojs\r\n const value = encrypted.value;\r\n \r\n \r\n // Key is base64 encoded in Laravel, word array expected in cryptojs\r\n key = CryptoJS.enc.Base64.parse(key);\r\n \r\n // Decrypt the value, providing the IV. \r\n var decrypted = CryptoJS.AES.decrypt(value, key, {\r\n iv: iv\r\n });\r\n \r\n // CryptoJS returns a word array which can be \r\n // converted to string like this\r\n decrypted = decrypted.toString(CryptoJS.enc.Utf8);\r\n \r\n //console.log(decrypted); // Voilà! Prints \"Hello world!\"\r\n \r\n return decrypted.split('*')[1];\r\n \r\n }\r\n\r\n const crypto = require('crypto'); // crypto comes with Node.js\r\n\r\n function generateSignature(apiKey, apiSecret, meetingNumber) {\r\n\r\n console.log(meetingNumber);\r\n\r\n return new Promise((res, rej) => {\r\n\r\n const role = \"0\";\r\n const timestamp = new Date().getTime() - 30000;\r\n\r\n const msg = Buffer.from(apiKey + meetingNumber + timestamp + role).toString('base64');\r\n\r\n const hash = crypto.createHmac('sha256', apiSecret).update(msg).digest('base64');\r\n\r\n const signature = Buffer.from(`${apiKey}.${meetingNumber}.${timestamp}.${role}.${hash}`).toString('base64');\r\n \r\n \r\n res(signature);\r\n\r\n });\r\n \r\n }\r\n\r\n\r\n const joinMeeting = (element) => {\r\n console.log('elementt in zoom',element)\r\n \r\n \r\n\r\n const meetConfig = {\r\n meetingNumber: decrypt_functionality(element.zoom_id),\r\n leaveUrl: \"https://learning.motion.ac.in/user_dashboard\",\r\n userEmail: decrypt_functionality(element.zoom_email),\r\n passWord: decrypt_functionality(element.password),\r\n apiKey: decrypt_functionality(element.api_key),\r\n apiSecretKey: decrypt_functionality(element.api_secret_key),\r\n sdkKey: decrypt_functionality(element.sdk_key),\r\n sdkSecretKey: decrypt_functionality(element.sdk_secret_key),\r\n };\r\n \r\n \r\n let my_signature = '';\r\n \r\n generateSignature(meetConfig.apiKey, meetConfig.apiSecretKey, meetConfig.meetingNumber).then((res) => {\r\n my_signature = res\r\n showZoomDiv();\r\n ZoomMtg.init({\r\n leaveUrl: meetConfig.leaveUrl,\r\n isSupportAV: true,\r\n success: (success) => {\r\n console.log(success);\r\n ZoomMtg.join({\r\n signature: my_signature,\r\n meetingNumber: meetConfig.meetingNumber,\r\n userName: ((!isEmpty(userData.roll_no) ? userData.roll_no : \"Not Roll\")+\"-\"+(!isEmpty(userData.name) ? userData.name : \"Not Registered\")),\r\n apiKey: meetConfig.apiKey,\r\n userEmail: meetConfig.userEmail,\r\n passWord: meetConfig.passWord,\r\n success: (success) => {\r\n console.log(success)\r\n },\r\n error: (error) => {\r\n console.log(error)\r\n }\r\n })\r\n \r\n },\r\n error: (error) => {\r\n console.log(error)\r\n }\r\n });\r\n });\r\n \r\n }\r\n \r\n\r\n return (\r\n
\r\n Loading Class\r\n
\r\n );\r\n\r\n};\r\n\r\n\r\nexport default ZoomContentComponent;\r\n\r\n","export default __webpack_public_path__ + \"static/media/m2_lvCls.c5a3d3e5.png\";","export default __webpack_public_path__ + \"static/media/m2_tstAnls.745ef6da.png\";","export default __webpack_public_path__ + \"static/media/m2_ulmtDts.c3c4e7d9.png\";","export default __webpack_public_path__ + \"static/media/Info.c4babfed.svg\";","export default __webpack_public_path__ + \"static/media/m2_slider1.431d0740.png\";","export default __webpack_public_path__ + \"static/media/m2_institute.983a1819.jpg\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGZSURBVHgB7dyxTcNQFIXh62eFOqNkBWpomIAwAhMRJkhDakbJCNBHUfCJ5MYpEeLe8/5PkSwl3fltN5YTAQAAAAAAAAAAAAAAAAAA/tg+Yh2daJHMIWJz19rxYxyfowNDJKLxo7XPGIbrFXCJ2D6ez+9hLE0A3XZ05s/jz9wjpLkFPUV8T+O/Lr+fzpCd8+0o1S1IDuO4nQ5vy+9dr4R0AaSnCCkDSC8R0gaQHiKkDiDuEdIHEOcIJQKIa4QyAcQxQqkA4hahXABxilAygLhEKBtAHCKUDiDVI5QPIJUjWASQqhFsAkjFCFYBpFqEdA/lf+ty/dwaWkt5slldAXp0qUeYNz+09vJwOu0iIZsAFccXiwBVx5fyASqPL6UDVB9fygZwGF9KBnAZX8oFcBpfSgVwG1/KBHAcX0oEcB1f0gdwHl9SB3AfX9IG6GF8SRmgl/ElXYCexpdUAXobX3K9pDeOx1i+I2w8vuR6Sa+1+9BxZj5+SofVajM9WP+ajtvA/9iv1938VQEAAAAAAAAAAAAAAAAAAF5+AHTi35n7uqGjAAAAAElFTkSuQmCC\"","export default __webpack_public_path__ + \"static/media/M2_test.b277ac2c.png\";","export default __webpack_public_path__ + \"static/media/m2_exercise.2b88d0c7.png\";","export default __webpack_public_path__ + \"static/media/M2_Dppp.92655b88.png\";","export default __webpack_public_path__ + \"static/media/m2_bkVdo.1929cabf.png\";","export default __webpack_public_path__ + \"static/media/m2_store.5e2711f7.png\";","export default __webpack_public_path__ + \"static/media/m2_video_ntF.ddf812d5.png\";","export default __webpack_public_path__ + \"static/media/new_m2_video_ntF.95e2a0ac.png\";","export default __webpack_public_path__ + \"static/media/new_m2_test_ntF.f7512fec.png\";","export default __webpack_public_path__ + \"static/media/M2Video.1929cabf.png\";","export default __webpack_public_path__ + \"static/media/M2notification.6a4fa8c3.png\";","export default __webpack_public_path__ + \"static/media/M2Doubts.5be0af42.png\";","export default __webpack_public_path__ + \"static/media/M2Doubts2.717abbdb.png\";","export default __webpack_public_path__ + \"static/media/doubts_no_data.6454257c.png\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/motion_logo_svg.62c76fec.svg\";","export default __webpack_public_path__ + \"static/media/homepage_5.3c74d9bf.png\";","export default __webpack_public_path__ + \"static/media/homepage_6.dbc22fce.png\";","export default __webpack_public_path__ + \"static/media/homepage_7.b7a0c660.png\";","export default __webpack_public_path__ + \"static/media/expert_1.a3152a43.png\";","export default __webpack_public_path__ + \"static/media/expert_2.421b4286.png\";","export default __webpack_public_path__ + \"static/media/expert_3.b4e61cf4.png\";","export default __webpack_public_path__ + \"static/media/homepage_16.b34ece71.png\";","export default __webpack_public_path__ + \"static/media/homepage_20.36fc6c82.png\";","export default __webpack_public_path__ + \"static/media/login_1.b51417d3.png\";","export default __webpack_public_path__ + \"static/media/user_dashboard_1.5cc2b85f.png\";","export default __webpack_public_path__ + \"static/media/user_dashboard_2.f4b543c4.png\";","export default __webpack_public_path__ + \"static/media/user_dashboard_4.57f97523.png\";","export default __webpack_public_path__ + \"static/media/user_dashboard_5.c9b9b1e0.png\";","export default __webpack_public_path__ + \"static/media/user_dashboard_6.554996c8.png\";","export default __webpack_public_path__ + \"static/media/no_data.9f9ab394.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAF8SURBVHgB7ZrBacNAEEW/QgpwCSrB7kK3lBDSQdyB04E6sNNBctM1FSQlqAR3oPwFBYSJmZWZBS/zH5i1YBhmnzQjgxcQQkSmgRNd1z03TdNP03Tm5WEYhnc4Uir/A/w4sLgN15ZrD3+K5PcU0P594Z3awJ+2RH5PAVWSNQPYfy2XI81v58fwrmGNH6x1zzkxWrGmgLR5JvuuYeNL0rBk3TtLQk4L9LVtPjHPiaMVlyPgCZXCG7e1Yh6xEj5S/7YNW2XKibuV3PzLuJy3Rfi3gJsA2j4vLkc4Uyq/mwD2257LOBf6BmdK5V89A67BnjxxOaEQpfJrBiA44QWsngGX7+PaUQsgOJoBWIn3b3xv1s4otQCCIwEIjgQgOBKA4EgAgiMBCI4EIDgSgOBIAIIjAQiOBCA4EoDgSACCo/8GrYB0KGl5UjTc+QBu/geVwto/rZicFni5OKNXBalmfl6tOFNAOm1Nkzt+NW3eA/PN+ko15xyXF0IIIURcfgG3LYfW8UKfMAAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/user_dashboard_7.ac152d8c.jpeg\";","export default __webpack_public_path__ + \"static/media/user_dashboard_8.f0cf969f.jpg\";","export default __webpack_public_path__ + \"static/media/user_dashboard_9.31b9530d.jpg\";","export default __webpack_public_path__ + \"static/media/coins.5bf6fd83.png\";","export default __webpack_public_path__ + \"static/media/slider_arrow.9cdbb0d3.png\";","export default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";","export default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";","export default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";","export default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";","export default __webpack_public_path__ + \"static/media/user_activity_14_1.fb1df57f.svg\";","export default __webpack_public_path__ + \"static/media/new_user_activity_23.1eff6ac9.png\";","export default __webpack_public_path__ + \"static/media/new_user_activity_57.f19e9df0.png\";","export default __webpack_public_path__ + \"static/media/new_user_activity_58.56a8b3fb.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAXCAYAAAARIY8tAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFKSURBVHgB1VXLbYNAEJ1dkLjyKSCkgrgEpwK7g7SRrlJCSAd2Bca3nGCPXIC8Z+EI2bBiAR/8JHvR8mYeM28WVBRFJ6VUKj20bZuXZfkqK0Aj+d0mBcMwfJFHABV9xXHcJkmykxWgbzfw9DlXtGkrjxBomibrBFJZAXcGoPep1vokK4DDooZuwIOSWrIcZnB3qdHowo7xyPOthwhLjUaLN12ew6DAUqMRdxXI9Ajn2BG2Mg8p/+q6PqsxxtVoVJMaY84yEeh/iBYx1hRFEY1VwDIzrp7nbcQBvu+/dfEHrqMCc41Gxf8GWwV6Rk+ugO1B4n1fwLfwf/DLaTRnWiYCD8Qlh8EZL0YrgLEGVbxz1MQB5CNu7zIYTwx49sHzwM8qr+dwlS3o5nt9OTiuXG3JT8P6r2wzh+vZgoIg+EXg5RxgMj6rqjq6cv8AxyCanecaSQIAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/new_store_banner.1124dff0.png\";","export default __webpack_public_path__ + \"static/media/amrit-gurantee.72efa082.png\";","export default __webpack_public_path__ + \"static/media/refund-img.0b7b3bff.png\";","export default __webpack_public_path__ + \"static/media/user_activity_45.10e29ba3.png\";","export default __webpack_public_path__ + \"static/media/user_activity_46_1.fab89724.svg\";","export default __webpack_public_path__ + \"static/media/user_activity_48_1.101a5741.svg\";","export default __webpack_public_path__ + \"static/media/user_activity_49.99d6a743.png\";","export default __webpack_public_path__ + \"static/media/user_activity_51.0156912f.png\";","export default __webpack_public_path__ + \"static/media/logout.c7c421c6.png\";","export default __webpack_public_path__ + \"static/media/user_activity_64.993a112f.png\";","export default __webpack_public_path__ + \"static/media/user_activity_65.e507594d.png\";","export default __webpack_public_path__ + \"static/media/user_activity_37.854e455e.png\";","export default __webpack_public_path__ + \"static/media/new_user_activity_37.56b3f4af.png\";","export default __webpack_public_path__ + \"static/media/acps_banner.f17faa33.png\";","export default __webpack_public_path__ + \"static/media/Avinash-Kishore.da794674.jpeg\";","export default __webpack_public_path__ + \"static/media/Krantideep-Singh.aa160d12.png\";","export default __webpack_public_path__ + \"static/media/Harshit-Thakuria.9e52839a.png\";","export default __webpack_public_path__ + \"static/media/new_motionCoin.acbdbfb3.png\";","export default __webpack_public_path__ + \"static/media/new_motionCoin1.ef3d80d4.png\";","export default __webpack_public_path__ + \"static/media/MotionCoinswallet.7d0138f2.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAcrSURBVHgB7d29UhVJAMXxdndTjUzUyEgjI30AiIwwwgRMMFEjEsms2ioyIiM1kQgiIkggggeACBJ4AHgAeACXM1tTu1UL08NOz5ye6f+vimDr3sV7mzP9NT3d935dC4DJbwEwIoCwIoCwIoCwIoCwIoCwIoCwIoCwIoCwIoCwIoCwIoCwIoCwIoCwIoCw+iOMwNHRUTg8PAxnZ2fh9PQ0XF1dVT/o7vHjx+HJkyfh2bNn4eXLl2F2djYM6V6uC1IVsI2NjbC9vR0uLi4ChnH//v0qhB8/fqzC2bcsA6jgff/+nVrObHFxsfrpM4hZBVCBW15erppb5EHhW19f7y2E2QxC1MzOz88Tvszo7/L69euqK9SHLAKoL7m0tERfL2NfvnzpJYT2JljNrmo+wpc/DVB+/vwZnj9/HlKx14AabBC+caj76CkHh9YaUHN6b9++bfVeXX1v3rwJMzMz1RWo/0Z3+htonlUzD20rAo2MV1ZWQgrWAKpz2+ZL6wtrXorQ9Ut9vLYt0t7eXpKRsa0J1mi3zRddXV2trjbC1z+1MOrjtQmWaswUbAHc2dmJvufz589VoWA4ui2nEMYueNWWKfqCtgDu7+83vj43NxfevXsXMDyFMNbHU/h0b74rSwDV/MauHvX54KOWR4sTmsQqkTYsAYxdOa9evaquQnjFVsaMtgaMDT5iVx6GoYqgyfn5eejKEsBY8zvEMiDExf4OKW4gsCIatxpi6osAwooAwooAwooAwooAwooAwooAwooAwmoUOyOkoLsvbRZBjJEmjLVKfIx3kIoIYCkPumsFy9gW706+CdbCybW1tSJ2WdB31UNDYzL5AKZaOj4WbR91yMXkA5hizdrYjGl3ickHsMSHmca0mHfyAVxYWAgl0Uh4TAt6Jx9APdikzRdLUG+dMSaTn4bRH2Vra6saIWoHgKl69OhRdbGNrctRzES05sh4xjg/3IqDFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEFQGEVTEroh1L8rU8vu8j78du8gGsjxh1PSurB+N16A4H79xs8k2w9oRxP6itzzDlB6K6mHwAUxwnlUIunyM3kw9gLvuklLA50v8x+QDmsktAKQ/H39XkA5jDs8AaBc/MzAT8VxEB/PDhQ3BR+L5+/crpn7coYh7w06dPVRDVHxyyT6jwxU6cLF0xE9GqgaiF8sOtOFgRQFgRQFgRQFgRQFgRQFgRQFgRQFhZAhjbSJsJ43JYAth0Y35s51ygG0sAdX/0pgUCYzznAt3c+3UtmJyenoadnZ1qseZYz7mYuhcvXjS+fnx8HLqwLkbQIcv6QbkYBcOKAMKKAMKKAMKKAMKKAMKKAMKKAMKKAMKKAMIq2a043c/VNmhswtONlqJpRVApm1omCaA2YdQeeIQvnVI2tezcBGvr27W1NcKXmC5ole3UdQ6gaj/0Q0vVpq5zAM/OzgL64d5aeAiMgmFFAGFFAGHV+5L8HLbIzVkJI90mvQdwdXU14HalB5AmGFYEEFYEEFYEEFYEEFYEEFYEEFYEEFYEEFa9B5CFqt04yy/2b6fYSq9zAGPPLhDAZjmXn/ZvbJLiuZXOAYxdBbEvUbqcyy92suiDBw9CV50DGNtgcsjjUcco5/I7OjpqfD3FKfCdAxj7EAcHBwG3y7n8Yo8EpNhMvvcA8qxws1zLT/9urPbNogZUExLrx/Dk3O1yLb/Nzc3G1xW+FOe5JBmExK4EFSC14M1yLD/VfPv7+43vmZ2dDSkkmQdcXFxsfF2FpwetcbPYYwtDl9/S0lL0PXNzcyGFJAHUwTNtmhGa4pupNsml/L59+xbt++mkq1THqSUJoApvYWEh+j5t4VH6MxA3yaX8FPAfP35E36cDhVL5/c9rIQF1pvf29qJ9lXpaQbUm/uEuP4VPAY9R0xvrct1F0qO61HFdXl5u9V7dxllfXy9mG7I2HOVX9y/bNu+7u7tJTzNNVgPK06dPw+XlZTg5OYm+V19cX1p7yzx8+JAghr/L7/z8vNV+O3X5qb+mW2J3LT/9/wrwyspK9I5HTdvFpRr91pIfVqgvplHUXTctUgGqWdHsuq4wTU2UeHChym9+fv7Ot+Cayk+/Uz+6r6zfq2b8rhsf6fcqsKn1clqmruL3799zH3giFG4do9vHQeK9rAfUB9UHplkdvz7DJ70tSK1DyOnn46VmvM/wySAHVmtys838EvKhqRYNOvruhw92Yrr6hZpnYnlW3tTkamScerR7m8ECWNPoS/NObYf+GEZ9N0Z3OYacfRg8gDXViFryo0Cyz7RHvRJHzW2b+/l9sAXw3+rJV9WKmqvSnJWmcFjClY6aVgVMt/wUOv20WYvYtywCiHLxYDqsCCCsCCCsCCCsCCCsCCCsCCCsCCCsCCCsCCCsCCCsCCCsCCCsCCCsCCCs/gLgGvGVTW3bRAAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/MotionCoinsStore.d4b8e03c.png\";","export default __webpack_public_path__ + \"static/media/help-support-img.580f90c3.png\";","export default __webpack_public_path__ + \"static/media/motion-chat-logo.6177fa08.png\";","export default __webpack_public_path__ + \"static/media/chatsend-icon.b66bc623.png\";","export default __webpack_public_path__ + \"static/media/logout.d2fac209.png\";","export default __webpack_public_path__ + \"static/media/prohibition.2121496b.png\";","export default __webpack_public_path__ + \"static/media/multiple-login.8e732dd7.png\";","export default __webpack_public_path__ + \"static/media/nvsirpropic.bda7c961.png\";","export default __webpack_public_path__ + \"static/media/bookmark.b2999c82.svg\";","export default __webpack_public_path__ + \"static/media/bookmark1.b09aea67.svg\";","export default __webpack_public_path__ + \"static/media/multi.17922801.png\";","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/landing-sec-bg.9d333c0a.png\";","export default __webpack_public_path__ + \"static/media/motion-logo-landing.d7d7a3dc.png\";","export default __webpack_public_path__ + \"static/media/storeBanner.3a491c9e.png\";","export default __webpack_public_path__ + \"static/media/jee.fa84a548.png\";","export default __webpack_public_path__ + \"static/media/neet.d859e1f8.png\";","export default __webpack_public_path__ + \"static/media/foundation.a2a1be1e.png\";","export default __webpack_public_path__ + \"static/media/cuet.dd435bcd.png\";","export default __webpack_public_path__ + \"static/media/nvsir.5d8d0b3f.png\";","export default __webpack_public_path__ + \"static/media/SpinImg.19edbad0.png\";","export default __webpack_public_path__ + \"static/media/benifit-common-img.87df7f06.png\";","export default __webpack_public_path__ + \"static/media/doubts-img.6b296780.png\";","export default __webpack_public_path__ + \"static/media/practice-img.d6d8a8ca.png\";","export default __webpack_public_path__ + \"static/media/report-img.e03d6dfb.png\";","export default __webpack_public_path__ + \"static/media/nv_sir.42640196.png\";","export default \"data:image/png;base64,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\"","import m2_logo from \"../images/main_logo/m2-logo.png\";\r\nimport m2_lvCls from \"../images/homepage/m2_lvCls.png\";\r\nimport m2_tstAnls from \"../images/homepage/m2_tstAnls.png\";\r\nimport m2_ulmtDts from \"../images/homepage/m2_ulmtDts.png\";\r\nimport m2_loginIcon from \"../images/homepage/m2_loginIcon.png\";\r\nimport m2_googlePlay from \"../images/homepage/m2_googlePlay.png\";\r\nimport m2_jee from \"../images/homepage/m2_jee.png\";\r\nimport m2_neet from \"../images/homepage/m2_neet.png\";\r\nimport m2_foundation from \"../images/homepage/m2_foundation.png\";\r\nimport m2_live from \"../images/homepage/m2_live.png\";\r\nimport m2_dpp from \"../images/homepage/m2_dpp.png\";\r\nimport m2_video from \"../images/homepage/m2_video.png\";\r\nimport m2_tests from \"../images/homepage/m2_tests.png\";\r\nimport m2_notes from \"../images/homepage/m2_notes.png\";\r\nimport m2_testSeries from \"../images/homepage/m2_testSeries.png\";\r\nimport m2_upArrow from \"../images/homepage/m2_upArrow.png\";\r\nimport m2_rgtArr from \"../images/homepage/m2_rgtArr.png\";\r\nimport new_m2_rgtArr_blk from \"../images/user_dashboard/new_m2_rgtArr_blk.png\";\r\nimport new_warning_icon from \"../images/user_activity/new_warning_icon.png\";\r\nimport notification from \"../images/homepage/m2_notification.png\";\r\nimport m2_search from \"../images/homepage/m2_search.png\";\r\nimport right_Ar from \"../images/homepage/right_Ar.png\";\r\nimport down_ar from \"../images/homepage/down_ar.png\";\r\nimport locked_symbol from \"../images/practice/lock.png\";\r\nimport close_btn from \"../images/practice/Info.svg\";\r\nimport m2_slider1 from \"../images/user_dashboard/m2_slider1.png\";\r\nimport m2_institute from \"../images/user_dashboard/m2_institute.jpg\";\r\nimport m2_target from \"../images/user_dashboard/m2_target.png\";\r\nimport m2_rgtArow from \"../images/user_dashboard/m2_rgtArow.png\";\r\nimport m2_rgtArow1 from \"../images/user_dashboard/m2_rgtArow1.png\";\r\nimport m2_rgtArow2 from \"../images/user_dashboard/m2_rgtArow2.png\";\r\nimport new_m2_rgtArow from \"../images/user_dashboard/new_m2_rgtArow.png\";\r\nimport m2_bkmark from \"../images/user_activity/m2_bkmark.png\";\r\nimport m2_bkNulTest from \"../images/homepage/M2_test.png\";\r\nimport m2_bkNulExr from \"../images/homepage/m2_exercise.png\";\r\nimport m2_bkNulDp from \"../images/homepage/M2_Dppp.png\";\r\nimport m2_bkVdo from \"../images/homepage/m2_bkVdo.png\";\r\nimport m2_store from \"../images/user_dashboard/m2_store.png\";\r\nimport m2_video_ntF from \"../images/homepage/m2_video_ntF.png\";\r\nimport new_m2_video_ntF from \"../images/homepage/new_m2_video_ntF.png\";\r\nimport new_m2_test_ntF from \"../images/homepage/new_m2_test_ntF.png\";\r\nimport m2_backBtn from \"../images/homepage/m2_backBtn.png\";\r\nimport m2_complete from \"../images/homepage/m2_complete.png\";\r\nimport m2_rank from \"../images/homepage/rank.png\";\r\nimport m2_marks from \"../images/homepage/marks.png\";\r\nimport m2_exit from \"../images/homepage/exit.png\";\r\nimport m2_exit1 from \"../images/homepage/exit1.png\";\r\nimport m2_language from \"../images/homepage/language.png\";\r\nimport m2_seeAll from \"../images/homepage/seeAll.png\";\r\nimport M2Video from \"../images/homepage/M2Video.png\";\r\nimport M2Notification from \"../images/homepage/M2notification.png\";\r\nimport M2Doubts from \"../images/homepage/M2Doubts.png\";\r\nimport M2Doubts2 from \"../images/homepage/M2Doubts2.png\";\r\nimport doubts_no_data from \"../images/doubts/doubts_no_data.png\";\r\nimport plus_icon from \"../images/doubts/plus_icon.png\";\r\n\r\n// import motion_logo from \"../images/main_logo/motion_logo.png\";\r\n// import motion_logo_new from \"../images/main_logo/motion_logo_new.png\";\r\n\r\nimport motion_logo from \"../images/main_logo/motion-logo-new.png\";\r\nimport motion_logo_new from \"../images/main_logo/motion-logo-new.png\";\r\n\r\nimport navonmesh_logo from \"../images/main_logo/navonmesh.png\";\r\nimport motion_logo_svg from \"../images/main_logo/motion_logo_svg.svg\";\r\nimport homepage_2 from \"../images/homepage/homepage_2.png\";\r\nimport homepage_3 from \"../images/homepage/homepage_3.png\";\r\nimport homepage_4 from \"../images/homepage/homepage_4.png\";\r\nimport homepage_5 from \"../images/homepage/homepage_5.png\";\r\nimport homepage_6 from \"../images/homepage/homepage_6.png\";\r\nimport homepage_7 from \"../images/homepage/homepage_7.png\";\r\nimport homepage_9 from \"../images/homepage/homepage_9.png\";\r\nimport expert_1 from \"../images/homepage/expert_1.png\";\r\nimport expert_2 from \"../images/homepage/expert_2.png\";\r\nimport expert_3 from \"../images/homepage/expert_3.png\";\r\nimport homepage_10 from \"../images/homepage/homepage_10.png\";\r\nimport homepage_11 from \"../images/homepage/homepage_11.png\";\r\nimport homepage_12 from \"../images/homepage/homepage_12.png\";\r\nimport homepage_13 from \"../images/homepage/homepage_13.png\";\r\nimport homepage_14 from \"../images/homepage/homepage_14.png\";\r\nimport homepage_15 from \"../images/homepage/homepage_15.png\";\r\nimport homepage_16 from \"../images/homepage/homepage_16.png\";\r\nimport homepage_17 from \"../images/homepage/homepage_17.png\";\r\nimport homepage_18 from \"../images/homepage/homepage_18.png\";\r\nimport homepage_20 from \"../images/homepage/homepage_20.png\";\r\n\r\nimport login_1 from \"../images/login/login_1.png\";\r\nimport login_2 from \"../images/login/login_2.png\";\r\nimport login_3 from \"../images/login/login_3.png\";\r\nimport signUp_1 from \"../images/signUp/signUp_1.png\";\r\nimport signUp_2 from \"../images/signUp/signUp_2.png\";\r\nimport signUp_3 from \"../images/signUp/signUp_3.png\";\r\nimport signUp_4 from \"../images/signUp/signUp_4.png\";\r\n///////////////////////////////////////\r\nimport active_home from \"../images/left_sideBar/active_icons/active_home.png\";\r\nimport active_exercise from \"../images/left_sideBar/active_icons/active_exercise.png\";\r\nimport active_doubts from \"../images/left_sideBar/active_icons/active_doubts.png\";\r\nimport active_analytics from \"../images/left_sideBar/active_icons/active_analytics.png\";\r\nimport active_store from \"../images/left_sideBar/active_icons/active_store.png\";\r\nimport active_bookmark from \"../images/left_sideBar/active_icons/active_bookmark.png\";\r\nimport active_transaction from \"../images/left_sideBar/active_icons/active_transaction.png\";\r\nimport inactive_home from \"../images/left_sideBar/inactive_icons/inactive_home.png\";\r\nimport inactive_exercise from \"../images/left_sideBar/inactive_icons/inactive_exercise.png\";\r\nimport inactive_doubts from \"../images/left_sideBar/inactive_icons/inactive_doubts.png\";\r\nimport inactive_analytics from \"../images/left_sideBar/inactive_icons/inactive_analytics.png\";\r\nimport inactive_store from \"../images/left_sideBar/inactive_icons/inactive_store.png\";\r\nimport inactive_bookmark from \"../images/left_sideBar/inactive_icons/inactive_bookmark.png\";\r\nimport inactive_transaction from \"../images/left_sideBar/inactive_icons/inactive_transaction.png\";\r\n\r\n/////////////////////////////////\r\nimport header_1 from \"../images/header/header_1.png\";\r\nimport header_2 from \"../images/header/header_2.png\";\r\nimport header_3 from \"../images/header/header_3.png\";\r\nimport header_4 from \"../images/header/header_4.png\";\r\nimport header_5 from \"../images/header/header_5.png\";\r\nimport header_6 from \"../images/header/header_6.png\";\r\nimport header_7 from \"../images/header/header_7.png\";\r\nimport header_8 from \"../images/header/header_8.png\";\r\n\r\nimport dummy_user_img from \"../images/main_logo/dummy_user_img.png\";\r\nimport user_dashboard_1 from \"../images/user_dashboard/user_dashboard_1.png\";\r\nimport user_dashboard_2 from \"../images/user_dashboard/user_dashboard_2.png\";\r\nimport user_dashboard_3 from \"../images/user_dashboard/user_dashboard_3.png\";\r\nimport user_dashboard_4 from \"../images/user_dashboard/user_dashboard_4.png\";\r\nimport user_dashboard_5 from \"../images/user_dashboard/user_dashboard_5.png\";\r\nimport user_dashboard_6 from \"../images/user_dashboard/user_dashboard_6.png\";\r\nimport user_profile_1 from \"../images/user_profile/user_profile_1.png\";\r\nimport user_profile_3 from \"../images/user_profile/user_profile_3.png\";\r\nimport user_activity_1 from \"../images/user_activity/user_activity_1.png\";\r\nimport user_activity_2 from \"../images/user_activity/user_activity_2.png\";\r\nimport user_activity_3 from \"../images/user_activity/user_activity_3.png\";\r\nimport user_activity_4 from \"../images/user_activity/user_activity_4.png\";\r\nimport user_activity_bookmark_on from \"../images/user_activity/user_activity_bookmark_on.png\";\r\nimport user_activity_bookmark_off from \"../images/user_activity/user_activity_bookmark_off.png\";\r\nimport user_activity_5 from \"../images/user_activity/user_activity_5.png\";\r\nimport no_data from \"../images/main_logo/no_data.png\";\r\nimport user_activity_6 from \"../images/user_activity/user_activity_6.png\";\r\nimport user_activity_7 from \"../images/user_activity/user_activity_7.png\";\r\nimport user_activity_8 from \"../images/user_activity/user_activity_8.png\";\r\nimport user_activity_back from \"../images/user_activity/user_activity_back.png\";\r\nimport user_activity_calendar from \"../images/user_activity/user_activity_calendar.png\";\r\nimport user_dashboard_7 from \"../images/user_dashboard/user_dashboard_7.jpeg\";\r\nimport user_dashboard_8 from \"../images/user_dashboard/user_dashboard_8.jpg\";\r\nimport user_dashboard_9 from \"../images/user_dashboard/user_dashboard_9.jpg\";\r\nimport user_dashboard_11 from \"../images/user_dashboard/user_dashboard_11.png\";\r\nimport coin_welcom from \"../images/user_dashboard/coin_welcom.png\";\r\nimport coins from \"../images/user_dashboard/coins.png\";\r\nimport rocket_logo from \"../images/user_dashboard/rocket_logo.png\";\r\nimport new_coupon from \"../images/user_dashboard/new_coupon.png\";\r\nimport slider_arrow from \"../images/user_dashboard/slider_arrow.png\";\r\nimport store_motion_coins from \"../images/user_dashboard/store_motion_coins.png\";\r\nimport store_box from \"../images/user_dashboard/store_box.png\";\r\nimport thumbs_up from \"../images/user_dashboard/thumbs_up.png\";\r\n///////\r\nimport user_chat_1 from \"../images/user_chat/user_chat_1.png\";\r\nimport user_chat_2 from \"../images/user_chat/user_chat_2.png\";\r\nimport user_chat_3 from \"../images/user_chat/user_chat_3.png\";\r\nimport user_activity_9 from \"../images/user_activity/user_activity_9.png\";\r\nimport user_activity_10 from \"../images/user_activity/user_activity_10.png\";\r\nimport user_activity_11 from \"../images/user_activity/user_activity_11.png\";\r\nimport user_activity_12 from \"../images/user_activity/user_activity_12.png\";\r\nimport evaluation_1 from \"../images/evaluation/evaluation_1.png\";\r\nimport user_activity_13 from \"../images/user_activity/user_activity_13.png\";\r\nimport new_user_activity_13 from \"../images/user_activity/new_user_activity_13.png\";\r\nimport user_activity_grid from \"../images/user_activity/grid.svg\";\r\nimport user_activity_grid1 from \"../images/user_activity/grid1.svg\";\r\nimport user_activity_list from \"../images/user_activity/list.svg\";\r\nimport user_activity_list1 from \"../images/user_activity/list1.svg\";\r\n// import user_activity_14 from \"../images/user_activity/user_activity_14.png\";\r\n\r\nimport evaluation_2 from \"../images/evaluation/evaluation_2.png\";\r\nimport evaluation_3 from \"../images/evaluation/evaluation_3.png\";\r\nimport evaluation_4 from \"../images/evaluation/evaluation_4.png\";\r\nimport user_dashboard_10 from \"../images/user_dashboard/user_dashboard_10.png\";\r\nimport user_activity_14 from \"../images/user_activity/user_activity_14.png\";\r\nimport user_activity_14_1 from \"../images/user_activity/user_activity_14_1.svg\";\r\n\r\n// online test series images\r\n\r\nimport user_activity_15 from \"../images/user_activity/user_activity_15.png\";\r\nimport user_activity_16 from \"../images/user_activity/user_activity_16.png\";\r\nimport user_activity_17 from \"../images/user_activity/user_activity_17.png\";\r\nimport user_activity_18 from \"../images/user_activity/user_activity_18.png\";\r\nimport new_user_activity_18 from \"../images/user_activity/new_user_activity_18.png\";\r\nimport user_activity_19 from \"../images/user_activity/user_activity_19.png\";\r\nimport user_activity_20 from \"../images/user_activity/user_activity_20.png\";\r\nimport user_activity_21 from \"../images/user_activity/user_activity_21.png\";\r\nimport user_activity_22 from \"../images/user_activity/user_activity_22.png\";\r\nimport user_activity_23 from \"../images/user_activity/user_activity_23.png\";\r\nimport new_user_activity_23 from \"../images/user_activity/new_user_activity_23.png\";\r\nimport user_activity_56 from \"../images/user_activity/user_activity_56.png\";\r\nimport user_activity_57 from \"../images/user_activity/user_activity_57.png\";\r\nimport new_user_activity_57 from \"../images/user_activity/new_user_activity_57.png\";\r\nimport user_activity_58 from \"../images/user_activity/user_activity_58.png\";\r\nimport new_user_activity_58 from \"../images/user_activity/new_user_activity_58.png\";\r\nimport user_activity_59 from \"../images/user_activity/user_activity_59.png\";\r\nimport user_activity_60 from \"../images/user_activity/user_activity_60.png\";\r\n\r\n// exam cracker images\r\nimport user_activity_24 from \"../images/user_activity/user_activity_24.png\";\r\nimport user_activity_25 from \"../images/user_activity/user_activity_25.png\";\r\nimport user_activity_26 from \"../images/user_activity/user_activity_26.png\";\r\n\r\n// bit sat images\r\nimport user_activity_30 from \"../images/user_activity/user_activity_30.png\";\r\nimport user_activity_31 from \"../images/user_activity/user_activity_31.png\";\r\nimport mock_test_bit_sat_1 from \"../images/user_activity/mock_test_bit_sat_1.png\";\r\n\r\n// import user_activity_calendar from \"../images/user_activity/user_activity_calendar.png\";\r\n\r\n/// store new images\r\n\r\nimport user_activity_39 from \"../images/user_activity/user_activity_39.png\";\r\nimport user_activity_38 from \"../images/user_activity/user_activity_38.png\";\r\nimport user_activity_40 from \"../images/user_activity/user_activity_40.png\";\r\nimport user_activity_41 from \"../images/user_activity/user_activity_41.png\";\r\nimport user_activity_42 from \"../images/user_activity/user_activity_42.png\";\r\nimport user_activity_43 from \"../images/user_activity/user_activity_43.png\";\r\nimport user_activity_44 from \"../images/user_activity/user_activity_44.png\";\r\nimport store_activiy_1 from \"../images/store/store_activity_1.png\";\r\nimport store_link from \"../images/store/store_link.png\";\r\nimport terms_and_condition from \"../images/store/terms_and_condition.png\";\r\nimport store_tick from \"../images/store/store_tick.png\";\r\nimport new_store_tick from \"../images/store/new_store_tick.png\";\r\nimport new_store_tick_list from \"../images/store/new_store_tick_list.png\";\r\nimport store_offer from \"../images/store/store_offer.png\";\r\nimport new_store_banner from \"../images/store/new_store_banner.png\";\r\nimport info from \"../images/store/info.png\";\r\nimport store_traning from \"../images/store/store_traning_icon.png\";\r\nimport store_learning from \"../images/store/store_learning_icon.png\";\r\nimport store_report from \"../images/store/store_report_icon.png\";\r\nimport store_e_learning from \"../images/store/store_e_learning_icon.png\";\r\nimport store_video_sol from \"../images/store/store_video_sol_icon.png\";\r\nimport store_analytics from \"../images/store/store_tabler_report-analytics.png\";\r\nimport amrit_gurantee from \"../images/store/amrit-gurantee.png\";\r\n\r\n/// refund\r\n\r\nimport refund_submit from \"../images/refund/refund-submit.png\";\r\nimport refund_img from \"../images/refund/refund-img.png\";\r\n\r\n/// SPR\r\nimport user_activity_45 from \"../images/user_activity/user_activity_45.png\";\r\nimport user_activity_46 from \"../images/user_activity/user_activity_46.png\";\r\nimport user_activity_46_1 from \"../images/user_activity/user_activity_46_1.svg\";\r\nimport user_activity_47 from \"../images/user_activity/user_activity_47.png\";\r\nimport user_activity_48 from \"../images/user_activity/user_activity_48.png\";\r\nimport user_activity_48_1 from \"../images/user_activity/user_activity_48_1.svg\";\r\nimport user_activity_49 from \"../images/user_activity/user_activity_49.png\";\r\nimport user_activity_50 from \"../images/user_activity/user_activity_50.png\";\r\nimport user_activity_51 from \"../images/user_activity/user_activity_51.png\";\r\nimport user_activity_52 from \"../images/user_activity/user_activity_52.png\";\r\nimport user_activity_53 from \"../images/user_activity/user_activity_53.png\";\r\nimport user_activity_54 from \"../images/user_activity/user_activity_54.png\";\r\nimport user_activity_54_1 from \"../images/user_activity/user_activity_54_1.png\";\r\nimport logout from \"../images/parent-homepage/logout.png\";\r\nimport user_activity_62 from \"../images/user_activity/user_activity_62.png\";\r\nimport user_activity_63 from \"../images/user_activity/user_activity_63.png\";\r\nimport user_activity_64 from \"../images/user_activity/user_activity_64.png\";\r\nimport user_activity_65 from \"../images/user_activity/user_activity_65.png\";\r\n\r\n//question bank\r\nimport user_activity_32 from \"../images/user_activity/user_activity_32.png\";\r\nimport user_activity_33 from \"../images/user_activity/user_activity_33.png\";\r\nimport user_activity_34 from \"../images/user_activity/user_activity_34.png\";\r\nimport user_activity_35 from \"../images/user_activity/user_activity_35.png\";\r\nimport user_activity_36 from \"../images/user_activity/user_activity_36.png\";\r\nimport new_user_activity_36 from \"../images/user_activity/new_user_activity_36.png\";\r\nimport user_activity_37 from \"../images/user_activity/user_activity_37.png\";\r\nimport new_user_activity_37 from \"../images/user_activity/new_user_activity_37.png\";\r\nimport user_activity_55 from \"../images/user_activity/user_activity_55.png\";\r\n\r\n// Adaptive CPS\r\nimport acps_banner from \"../images/adaptive_cps/acps_banner.png\";\r\nimport acps_banner_plus from \"../images/adaptive_cps/acps_banner_plus.png\";\r\n\r\n// import user_activity_38 from \"../images/user_activity/user_activity_38.png\";\r\nimport user_activity_61 from \"../images/user_activity/user_activity_61.png\";\r\n\r\n//Faculty images\r\n//Physics\r\nimport physics_expert_1 from \"../images/faculty/physics/Nitin-Vijay-200x200.jpg\";\r\nimport physics_expert_2 from \"../images/faculty/physics/Amit-Verma-200x200.jpg\";\r\nimport physics_expert_3 from \"../images/faculty/physics/Avinash-Kishore.jpeg\";\r\nimport physics_expert_4 from \"../images/faculty/physics/Amit-Kumar-Rathore-200x200.jpg\";\r\nimport physics_expert_5 from \"../images/faculty/physics/Krantideep-Singh.png\";\r\nimport physics_expert_6 from \"../images/faculty/physics/Pavan-Vijay-1-200x200.jpg\";\r\nimport physics_expert_7 from \"../images/faculty/physics/Durgesh-Pandey-200x200.jpg\";\r\n//Chemistry\r\nimport chemistry_expert_1 from \"../images/faculty/chemistry/Ram-Ratan-Dwivedi-200x200.jpg\";\r\nimport chemistry_expert_2 from \"../images/faculty/chemistry/Vijay-Pratap-Singh-200x200.jpg\";\r\nimport chemistry_expert_3 from \"../images/faculty/chemistry/Anurag-Garg-200x200.jpg\";\r\nimport chemistry_expert_4 from \"../images/faculty/chemistry/Pravesh-Garg-200x200.jpg\";\r\nimport chemistry_expert_5 from \"../images/faculty/chemistry/Shantanu-Gupta-200x200.jpg\";\r\nimport chemistry_expert_6 from \"../images/faculty/chemistry/Devki-Nandan-Pathak-200x200.jpg\";\r\nimport chemistry_expert_7 from \"../images/faculty/chemistry/Harmeet-Singh-Bindra-200x200.jpg\";\r\nimport chemistry_expert_8 from \"../images/faculty/chemistry/Bharat-Bhushan-Sonakiya-200x200.jpg\";\r\nimport chemistry_expert_9 from \"../images/faculty/chemistry/Sanjeev-Kumar-Bhadoriya-200x200.jpg\";\r\n//Mathematics\r\nimport mathemetics_expert_1 from \"../images/faculty/maths/Nikhil-Srivastav-200x200.jpg\";\r\nimport mathemetics_expert_2 from \"../images/faculty/maths/Arjun-Gupta-1-200x200.jpg\";\r\nimport mathemetics_expert_3 from \"../images/faculty/maths/Aatish-Agarwal-1-200x200.jpg\";\r\nimport mathemetics_expert_4 from \"../images/faculty/maths/Jayant-Chittora-200x200.jpg\";\r\nimport mathemetics_expert_5 from \"../images/faculty/maths/Vipin-Sharma-1-200x200.jpg\";\r\n//Biology\r\nimport biology_expert_1 from \"../images/faculty/biology/Renu-Singh-200x200.jpg\";\r\nimport biology_expert_2 from \"../images/faculty/biology/Harshit-Thakuria.png\";\r\n// Wallet\r\nimport backBtn from \"../images/wallet/backBtn.png\";\r\nimport backBtn1 from \"../images/wallet/backBtn1.png\";\r\n\r\nimport motionCoin from \"../images/wallet/MotionCoins.png\";\r\nimport new_motionCoin from \"../images/wallet/new_motionCoin.png\";\r\nimport new_motionCoin1 from \"../images/wallet/new_motionCoin1.png\";\r\nimport motionWalletNew from \"../images/wallet/wallet_banner.png\";\r\nimport motionWallet from \"../images/wallet/MotionCoinswallet.png\";\r\nimport transactions from \"../images/wallet/transactions.png\";\r\nimport new_transactions from \"../images/wallet/new_transactions.png\";\r\nimport motionCoinsStore from \"../images/wallet/MotionCoinsStore.png\";\r\n\r\n//help and support\r\n\r\nimport helpAndSupport from \"../images/user_activity/help-support-img.png\";\r\nimport moitonchatLogo from \"../images/user_activity/motion-chat-logo.png\";\r\nimport chatSendIcon from \"../images/user_activity/chatsend-icon.png\";\r\nimport new_chatSendIcon from \"../images/user_activity/new_chatSendIcon.png\";\r\n\r\nimport uploadFile from \"../images/user_activity/upload-file.png\";\r\n\r\n//popups\r\n\r\nimport logOut from \"../images/popups/logout.png\";\r\nimport prohibition from \"../images/popups/prohibition.png\";\r\nimport warning from \"../images/popups/warning.png\";\r\nimport profile from \"../images/popups/profile.png\";\r\nimport MutipleLogin from \"../images/popups/multiple-login.png\";\r\n\r\n//common banner for examcracker, CPS and ACPS\r\nimport commonBannerLogo from \"../images/common_banner/common-banner-logo.png\";\r\nimport commonBannerCircle from \"../images/common_banner/common_banner-ellipse.png\";\r\nimport commonBannerLogoCps from \"../images/common_banner/common-banner-logo-cps.png\";\r\n\r\n// new live streaming\r\n\r\nimport chatIcon from \"../images/new_live_streaming/chat-icon.png\";\r\nimport sendBtn from \"../images/new_live_streaming/send-btn.png\";\r\nimport emojiIcon from \"../images/new_live_streaming/emoji-icon.png\";\r\nimport eyeView from \"../images/new_live_streaming/eyeview.png\";\r\nimport greaterThan from \"../images/new_live_streaming/greather-than.png\";\r\nimport ratingIcon from \"../images/new_live_streaming/rating-icon.png\";\r\nimport nvSirProPic from \"../images/new_live_streaming/nvsirpropic.png\";\r\nimport motionLogo from \"../images/new_live_streaming/motion-logo.png\";\r\nimport pollLogo from \"../images/new_live_streaming/poll.png\";\r\nimport pollIcon from \"../images/new_live_streaming/poll-icon.png\";\r\n\r\nimport BookmarkBtn from \"../images/test/bookmark.svg\";\r\nimport BookmarkBtn1 from \"../images/test/bookmark1.svg\";\r\n\r\nimport multi from \"../images/multi.png\";\r\nimport new_pdf from \"../images/new_pdf.png\";\r\nimport new_download from \"../images/new_download.png\";\r\nimport new_empty_star from \"../images/new_empty_star.png\";\r\nimport new_full_star from \"../images/new_full_star.png\";\r\nimport new_small_empty_star from \"../images/new_empty_star.png\";\r\nimport new_small_full_star from \"../images/new_full_star.png\";\r\nimport new_send from \"../images/new_send.png\";\r\nimport new_likes from \"../images/new_likes.png\";\r\nimport new_liked from \"../images/new_liked.png\";\r\nimport new_report from \"../images/new_report.png\";\r\nimport new_folder_warning from \"../images/new_folder_warning.png\";\r\nimport new_options from \"../images/new_options.png\";\r\nimport edit_note from \"../images/edit_note.png\";\r\nimport delete_note from \"../images/delete_note.png\";\r\n\r\n//bookmarks\r\n\r\nimport bookmark from \"../images/bookmarks/bookmark.png\";\r\nimport rating from \"../images/bookmarks/rating-start.png\";\r\nimport noBookmark from \"../images/bookmarks/no-bookmark.png\";\r\n\r\nimport exploreCourse from \"../images/user_dashboard/exploreCourse.png\";\r\nimport arrow from \"../images/user_dashboard/schedule-class-arrow.png\";\r\n\r\n// ---------------------------------NEW LANDING PAGE----------------------------\r\nimport newLandingBg from \"../images/new_login_landing_page/landing-sec-bg.png\";\r\nimport landingPageLogo from \"../images/new_login_landing_page/motion-logo-landing.png\";\r\nimport callIcon from \"../images/new_login_landing_page/call.png\";\r\nimport phInfo from \"../images/new_login_landing_page/ph_info.jpg\";\r\nimport storeBanner from \"../images/new_login_landing_page/storeBanner.png\";\r\nimport whatsaap from \"../images/new_login_landing_page/whatsapp.png\";\r\nimport phoneCall from \"../images/new_login_landing_page/phone-call.png\";\r\n\r\n// course\r\nimport jee from \"../images/new_login_landing_page/courses/jee.png\";\r\nimport neet from \"../images/new_login_landing_page/courses/neet.png\";\r\nimport foundation from \"../images/new_login_landing_page/courses/foundation.png\";\r\nimport cuet from \"../images/new_login_landing_page/courses/cuet.png\";\r\n\r\nimport NvSir from \"../images/new_login_landing_page/banner/nvsir.png\";\r\nimport SpinImg from \"../images/new_login_landing_page/banner/SpinImg.png\";\r\nimport coupon from \"../images/new_login_landing_page/coupon.jpg\";\r\n\r\n// benifits\r\nimport benifitsCommonImg from \"../images/new_login_landing_page/benifits/benifit-common-img.png\";\r\nimport doubtsImg from \"../images/new_login_landing_page/benifits/doubts-img.png\";\r\nimport practiceImg from \"../images/new_login_landing_page/benifits/practice-img.png\";\r\nimport reportImg from \"../images/new_login_landing_page/benifits/report-img.png\";\r\nimport right from \"../images/new_login_landing_page/benifits/right.png\";\r\nimport nv_sir from \"../images/new_login_landing_page/nv_sir.png\";\r\nimport learningPerformance from \"../images/new_login_landing_page/learning_performance.png\";\r\n\r\n// packages\r\n\r\nimport pkg1 from \"../images/new_login_landing_page/packages/pkg1.png\";\r\nimport pkg2 from \"../images/new_login_landing_page/packages/pkg2.png\";\r\nimport pkg3 from \"../images/new_login_landing_page/packages/pkg3.png\";\r\n\r\n// news\r\n\r\nimport news1 from \"../images/new_login_landing_page/news/news1.png\";\r\nimport news2 from \"../images/new_login_landing_page/news/news2.png\";\r\nimport news3 from \"../images/new_login_landing_page/news/news3.png\";\r\n\r\n// playstore\r\nimport playStore from \"../images/new_login_landing_page/app-details/playstore.png\";\r\n\r\n// login page\r\nimport loginPageImg from \"../images/new_login_landing_page/login/login-page-img.png\";\r\nimport loginCloseBtn from \"../images/new_login_landing_page/login/login-closebtn.png\";\r\n\r\n// why motion\r\n\r\nimport whyMotionBanner from \"../images/new_login_landing_page/why-motion/why-motion-banner.png\";\r\nimport studentReviewIcon from \"../images/new_login_landing_page/why-motion/student-review-icon.png\";\r\nimport leftArrowCircle from \"../images/new_login_landing_page/why-motion/left-arrow-circle.png\";\r\nimport rightArrowCircle from \"../images/new_login_landing_page/why-motion/right-arrow-circle.png\";\r\n\r\n// contact us\r\n\r\nimport contactUsBanner from \"../images/new_login_landing_page/contact-us/contact-us-banner.png\";\r\nimport mobileContactUsBanner from \"../images/new_login_landing_page/contact-us/mobile-contact-us-banner.png\";\r\nimport nextImg from \"../images/new_login_landing_page/nextImg.png\";\r\nimport tick from \"./tick.png\";\r\nimport noReferals from \"../images/refer&earn/noreferals.png\";\r\n\r\n//watch free videos\r\nimport watchFreeVideos from \"../images/watch-free-videos/watch-free-videos.png\";\r\nimport watchFreeVideoIcon from \"../images/watch-free-videos/video-icon.png\";\r\nimport watchFreeVideoArrow from \"../images/watch-free-videos/watch-video-right-arrow.png\";\r\n\r\nimport cashIcon from \"../images/refer&earn/cash-icon.png\";\r\nimport copyIcon from \"../images/refer&earn/copy-icon.png\";\r\nimport checkBoxTickIcon from \"../images/refer&earn/check_box_tick.png\";\r\nimport exclamationIcon from \"../images/refer&earn/exclamationIcon.png\";\r\nimport newBackBtn from \"../images/refer&earn/BackBtn.png\";\r\nimport successfulIcon from \"../images/refer&earn/successfull.png\";\r\nimport invalidlIcon from \"../images/refer&earn/invalid.png\";\r\nimport whatsappIcon from \"../images/refer&earn/watsappIcon.png\";\r\nimport shareIcon from \"../images/refer&earn/shareIcon.png\";\r\nimport dropDownIcon from \"../images/refer&earn/dropdown.png\";\r\nimport leftArrow from \"../images/left_arrow.png\";\r\n\r\nimport coinImg from \"../images/store/coinImg.png\";\r\nimport storeBck from \"../images/store/storeBck.png\";\r\nimport storeRightArrow from \"../images/store/storeRightArrow.png\";\r\nimport studentPic from \"../images/parent-homepage/studentpic.png\";\r\n\r\nconst images = {\r\n new_pdf,\r\n new_download,\r\n new_empty_star,\r\n new_full_star,\r\n new_send,\r\n new_small_empty_star,\r\n new_small_full_star,\r\n new_likes,\r\n new_liked,\r\n new_report,\r\n new_folder_warning,\r\n new_options,\r\n edit_note,\r\n delete_note,\r\n multi,\r\n bookmark,\r\n noBookmark,\r\n rating,\r\n M2Doubts,\r\n M2Doubts2,\r\n doubts_no_data,\r\n plus_icon,\r\n M2Video,\r\n M2Notification,\r\n m2_logo,\r\n m2_lvCls,\r\n m2_tstAnls,\r\n m2_ulmtDts,\r\n m2_loginIcon,\r\n m2_googlePlay,\r\n m2_jee,\r\n m2_neet,\r\n m2_foundation,\r\n m2_live,\r\n m2_dpp,\r\n m2_video,\r\n m2_tests,\r\n m2_notes,\r\n m2_testSeries,\r\n m2_upArrow,\r\n m2_rgtArr,\r\n new_m2_rgtArow,\r\n new_m2_rgtArr_blk,\r\n new_warning_icon,\r\n notification,\r\n m2_search,\r\n right_Ar,\r\n down_ar,\r\n locked_symbol,\r\n close_btn,\r\n m2_slider1,\r\n m2_institute,\r\n m2_target,\r\n m2_rgtArow,\r\n m2_rgtArow1,\r\n m2_rgtArow2,\r\n new_m2_rgtArow,\r\n m2_bkmark,\r\n m2_bkNulTest,\r\n m2_bkNulExr,\r\n m2_bkNulDp,\r\n m2_bkVdo,\r\n m2_store,\r\n m2_video_ntF,\r\n new_m2_video_ntF,\r\n new_m2_test_ntF,\r\n m2_backBtn,\r\n m2_complete,\r\n m2_rank,\r\n m2_marks,\r\n m2_exit,\r\n m2_exit1,\r\n m2_language,\r\n m2_seeAll,\r\n\r\n motion_logo,\r\n motion_logo_svg,\r\n motion_logo_new,\r\n navonmesh_logo,\r\n homepage_2,\r\n homepage_3,\r\n homepage_4,\r\n homepage_5,\r\n homepage_6,\r\n homepage_7,\r\n homepage_9,\r\n expert_1,\r\n expert_2,\r\n expert_3,\r\n homepage_10,\r\n homepage_11,\r\n homepage_12,\r\n homepage_13,\r\n homepage_14,\r\n homepage_15,\r\n homepage_16,\r\n homepage_17,\r\n homepage_18,\r\n homepage_20,\r\n login_1,\r\n login_2,\r\n login_3,\r\n signUp_1,\r\n signUp_2,\r\n signUp_3,\r\n signUp_4,\r\n active_home,\r\n active_exercise,\r\n active_doubts,\r\n active_analytics,\r\n active_store,\r\n active_bookmark,\r\n active_transaction,\r\n inactive_home,\r\n inactive_exercise,\r\n inactive_doubts,\r\n inactive_analytics,\r\n inactive_store,\r\n inactive_bookmark,\r\n inactive_transaction,\r\n header_1,\r\n header_2,\r\n header_3,\r\n header_4,\r\n header_5,\r\n header_6,\r\n header_7,\r\n header_8,\r\n dummy_user_img,\r\n user_dashboard_1,\r\n user_dashboard_2,\r\n user_dashboard_3,\r\n user_dashboard_4,\r\n user_dashboard_5,\r\n user_dashboard_6,\r\n user_profile_1,\r\n user_profile_3,\r\n user_activity_1,\r\n user_activity_2,\r\n user_activity_3,\r\n user_activity_4,\r\n user_activity_bookmark_on,\r\n user_activity_bookmark_off,\r\n user_activity_5,\r\n no_data,\r\n user_activity_6,\r\n user_activity_7,\r\n user_activity_8,\r\n user_activity_back,\r\n user_activity_calendar,\r\n user_dashboard_7,\r\n user_dashboard_8,\r\n user_dashboard_9,\r\n user_chat_1,\r\n user_chat_2,\r\n user_chat_3,\r\n user_activity_9,\r\n user_activity_10,\r\n user_activity_11,\r\n user_activity_12,\r\n evaluation_1,\r\n user_activity_13,\r\n new_user_activity_13,\r\n user_activity_grid,\r\n user_activity_grid1,\r\n user_activity_list,\r\n user_activity_list1,\r\n user_activity_14,\r\n user_activity_14_1,\r\n evaluation_2,\r\n evaluation_3,\r\n evaluation_4,\r\n user_dashboard_10,\r\n user_dashboard_11,\r\n coin_welcom,\r\n coins,\r\n rocket_logo,\r\n new_coupon,\r\n slider_arrow,\r\n store_motion_coins,\r\n store_box,\r\n thumbs_up,\r\n\r\n // online test series images\r\n user_activity_15,\r\n user_activity_16,\r\n user_activity_17,\r\n user_activity_18,\r\n new_user_activity_18,\r\n user_activity_19,\r\n user_activity_20,\r\n user_activity_21,\r\n user_activity_22,\r\n user_activity_23,\r\n new_user_activity_23,\r\n user_activity_38,\r\n user_activity_56,\r\n user_activity_57,\r\n new_user_activity_57,\r\n user_activity_58,\r\n new_user_activity_58,\r\n user_activity_59,\r\n user_activity_60,\r\n\r\n // exam cracker images\r\n user_activity_24,\r\n user_activity_25,\r\n user_activity_26,\r\n\r\n // exam cracker images\r\n user_activity_30,\r\n user_activity_31,\r\n mock_test_bit_sat_1,\r\n\r\n user_activity_calendar,\r\n\r\n // store new\r\n user_activity_39,\r\n user_activity_38,\r\n user_activity_40,\r\n user_activity_41,\r\n user_activity_42,\r\n user_activity_43,\r\n user_activity_44,\r\n store_activiy_1,\r\n store_link,\r\n terms_and_condition,\r\n store_tick,\r\n new_store_tick,\r\n new_store_tick_list,\r\n store_offer,\r\n new_store_banner,\r\n info,\r\n store_traning,\r\n store_learning,\r\n store_report,\r\n store_e_learning,\r\n store_video_sol,\r\n store_analytics,\r\n amrit_gurantee,\r\n\r\n // refund\r\n\r\n refund_submit,\r\n refund_img,\r\n\r\n //question bank\r\n user_activity_32,\r\n user_activity_33,\r\n user_activity_34,\r\n user_activity_35,\r\n user_activity_36,\r\n new_user_activity_36,\r\n user_activity_37,\r\n new_user_activity_37,\r\n\r\n // adaptive cps\r\n user_activity_61,\r\n // user_activity_45,\r\n // user_activity_46,\r\n\r\n //////////////\r\n\r\n //help and support\r\n\r\n chatSendIcon,\r\n new_chatSendIcon,\r\n helpAndSupport,\r\n moitonchatLogo,\r\n\r\n /// SPR\r\n user_activity_45,\r\n user_activity_46,\r\n user_activity_46_1,\r\n user_activity_47,\r\n user_activity_48,\r\n user_activity_48_1,\r\n user_activity_49,\r\n user_activity_50,\r\n user_activity_51,\r\n user_activity_52,\r\n user_activity_53,\r\n user_activity_54,\r\n user_activity_54_1,\r\n logout,\r\n user_activity_55,\r\n user_activity_62,\r\n user_activity_63,\r\n user_activity_64,\r\n user_activity_65,\r\n /////// Adaptive CPS\r\n acps_banner,\r\n acps_banner_plus,\r\n\r\n //////\r\n\r\n physics_expert_1,\r\n physics_expert_2,\r\n physics_expert_3,\r\n physics_expert_4,\r\n physics_expert_5,\r\n physics_expert_6,\r\n physics_expert_7,\r\n /////\r\n chemistry_expert_1,\r\n chemistry_expert_2,\r\n chemistry_expert_3,\r\n chemistry_expert_4,\r\n chemistry_expert_5,\r\n chemistry_expert_6,\r\n chemistry_expert_7,\r\n chemistry_expert_8,\r\n chemistry_expert_9,\r\n ////\r\n mathemetics_expert_1,\r\n mathemetics_expert_2,\r\n mathemetics_expert_3,\r\n mathemetics_expert_4,\r\n mathemetics_expert_5,\r\n ////\r\n biology_expert_1,\r\n biology_expert_2,\r\n //\r\n backBtn,\r\n backBtn1,\r\n motionCoin,\r\n new_motionCoin,\r\n new_motionCoin1,\r\n motionWalletNew,\r\n motionWallet,\r\n transactions,\r\n new_transactions,\r\n motionCoinsStore,\r\n //\r\n\r\n uploadFile,\r\n\r\n //popups\r\n\r\n logOut,\r\n prohibition,\r\n warning,\r\n profile,\r\n MutipleLogin,\r\n\r\n //common banner for examcracker, CPS and ACPS\r\n commonBannerLogo,\r\n commonBannerCircle,\r\n commonBannerLogoCps,\r\n\r\n //new live streaming\r\n\r\n chatIcon,\r\n sendBtn,\r\n emojiIcon,\r\n eyeView,\r\n greaterThan,\r\n ratingIcon,\r\n nvSirProPic,\r\n motionLogo,\r\n pollLogo,\r\n pollIcon,\r\n\r\n BookmarkBtn,\r\n BookmarkBtn1,\r\n\r\n exploreCourse,\r\n arrow,\r\n\r\n // new landing page\r\n\r\n newLandingBg,\r\n landingPageLogo,\r\n callIcon,\r\n jee,\r\n neet,\r\n foundation,\r\n cuet,\r\n NvSir,\r\n SpinImg,\r\n benifitsCommonImg,\r\n doubtsImg,\r\n practiceImg,\r\n reportImg,\r\n right,\r\n pkg1,\r\n pkg2,\r\n pkg3,\r\n news1,\r\n news2,\r\n news3,\r\n playStore,\r\n loginPageImg,\r\n whyMotionBanner,\r\n studentReviewIcon,\r\n leftArrowCircle,\r\n rightArrowCircle,\r\n contactUsBanner,\r\n mobileContactUsBanner,\r\n loginCloseBtn,\r\n nextImg,\r\n tick,\r\n noReferals,\r\n new_motionCoin,\r\n new_motionCoin1,\r\n new_transactions,\r\n nv_sir,\r\n learningPerformance,\r\n coupon,\r\n phInfo,\r\n storeBanner,\r\n whatsaap,\r\n phoneCall,\r\n\r\n // watch free videos\r\n watchFreeVideos,\r\n watchFreeVideoIcon,\r\n watchFreeVideoArrow,\r\n\r\n // refer and earn\r\n\r\n cashIcon,\r\n copyIcon,\r\n checkBoxTickIcon,\r\n exclamationIcon,\r\n newBackBtn,\r\n successfulIcon,\r\n invalidlIcon,\r\n whatsappIcon,\r\n shareIcon,\r\n dropDownIcon,\r\n noReferals,\r\n new_motionCoin,\r\n new_motionCoin1,\r\n new_transactions,\r\n leftArrow,\r\n\r\n coinImg,\r\n storeBck,\r\n storeRightArrow,\r\n\r\n // parent\r\n\r\n studentPic,\r\n};\r\n\r\nexport default images;\r\n","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEcAAABHCAYAAABVsFofAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHbSURBVHgB7drhTcJAGMbxt8bv6gYdQTfADXADHMEJWMERdAOdQDeQDcoGssH51t5FxOtz13Kkd/X5JReSpintP0DoCyJERERERFMyxtS6LoV+0yhr82Mt1LGvmEOTv4LOJA+1Zxvj5IxxAMYBGAdgHIBxAMYBGAdgHIBxAMYBGAdgHIBxAMYBGAc4lxOy07yVdIOrp6qqtpJAOznUh6Wuna4XPe5OSqMX8bE39mzsRfn2W3jGpH371vZYzpuUpn3VeC7YGyg2jidMNvPmwXou5E+gmDggTCMl0hO/1vUZChSKg8KYnrdfEWICoTizDeOEAvXFmX0YJxBo5dm++BdhHBAodlszyzAOCBTSzDqMMyJQk3UY0304PtpVy5EGBEoSJvX5Hx682T9hSSAiUJIw9rmSn787cPS9z4hjR31RPPI5Rp3/5CMLvaPe6MOtdHfYzrbdluoufqws5jk20I2uV13PkkGY1knnOUPYGEvJCCeBAOMAjAMwDsA4AOMAjAMwDsA4AOMAjAMcc2/VDo+kEBcyQhWzk519lPnLYr+r0B8Qot5W9o55I/OxjflnxpDPnAeZj/uYnaLjaOl3fbiTbkpXqu+po72WoKjPnEOm0N+PcpguEhEREeXgC6MZ+m9qc7pSAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAABYCAYAAABxlTA0AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAL4SURBVHgB7d3tbdNQFMbxE8QA3aDegDIBGaEjeISOABPABjYbhAkIE5QNmg3KBg/nyrlSCU58fV/se6+fn2SZD1RK/rKOT17UihARERERbc/O9T8CeNRTo8dht9udhOLRuD/xr06PRiicuXJxHUOH0oBPmMbQvjTcHu46hvYwMoMZOia4jQmG9qWR7vR4hb+OoSdg/phg6Dkw72bH0D4QNiYYeorG+IY0OoaW6GOCoccgzs1uM6HfyXw/JL1Wj5eaQjvDsBMvrdtUaCwzJrYbGulvdlM61B4a8XdiHx0yD+1zk7O+y/payfxmGBL4IPlopcatA+vd7KZ0yCR0yBVs/JI8tZLJFe38sf0YffB3enqV/PV6fFnj6wZBV7A+4D96Okr+Wil1RmP9ndhHh4VCB40IA8OYeNHjTsrTS+LREXqTs2Mih53YRyuJR0dw4LOcdmIfrSQKHTwiLH1gz3p6kDr0Eml0xAzcyPDAzCz+IHXoJTB0tMBvnW985mo25/2bf5cavhfP0EkCX1NB+F5mhl408DUFhu/FMXQWga/JPPxJj4/nNbUuGD4XNK8gU31Pw9XT1GONtQevwVw597Kuyav3vWQMw4hoZBgN5rg/nxtZ30kc3ujK6SbXSJ4hx5j3wdvsbnIFhrxkwn7WsEfXH0j5QqORckNemh3Wiv1S+auUHfKSd1grZmDznnAjdQgOa0XZIjTuXuqIGy2sFWtNa6Vs0cNasQJ/kjIlC2sFB9bx0Ep54yF5WCvGFfwo5VgsrBX6xZNGhk+Uc7d4WCv0Ct5L3lYLG4XZfZGnI4bVsVz6BB6Qn/LDWvpEeuSjnrAW8hgP9YU1cPv3+DBsKH1yB6yj7rCGPsEGyys2rM8evJfllL3H+tAr6Rnp1T8KxiD97rvNsBbS7b7bDmsh/u7LsBbi7r4MewlxxgPDjkH47suwt2icFn4Y1gXm774M6wrzxgPDzgW337zKsL5wez1j2Bjw/wxmWEc+f+bh96be3SIiIiIiotn+AsvgUzQJ5ywmAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEcAAAA8CAYAAAA0VacdAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQoSURBVHgB7ZvtWeJAEMdnN6iJn7gCTqEDqeCwA68CtYLDCpQKTipQKzivArACtQLEBuSLqGB2b2ZJuCwvIYElAZPf8/DkheTZ5Z+Z3czMwmAB2sVi0Xp9PQLGfkjGDhhAEU+XApc8qY+UT66Ud2BZrfL7+xMYIMm2WZyL24VC1bKsc9ytQnxarhA35cHgGmIyEoTz4yTbjiTOkqJoSHyqQoh61I4+b22doJX8xk8RliRu26HiqCfW61HHTsAwqqOMHc4y+bZtlywpr8DAA5lsXF67nNfnudtMcbzONUH3Z6MogVz3tPz52dLa3to6sBhrmrCW0LZDHg7Bp51UnRPiHlYoDIFPpoTu2uzY9rF/jvYtzu9XKYzfNseHT7815BqdJCxmGq7rHqIgXSVMkkjZRRerTLMgTZy0hFFgJ0mcNNpWLuY4lXK32w2e19yKC3EBaQhDDN2oBCmg3LvXu5pyfoiaMjm/ggxDrh2cHP6Ls7PThrSsZk0g99r/+Cj7x8qtlNVkXBiC3IteeP3j4ZgzfC3PQbxIQMG8GaoNOSNcx/lGMxe3XLcKORoqyEU4hv1VyNHBdAhtOGNsH3I0cNZSIQXHnTLkaDBv5ua4k1vOOF7QyyFnJrk4IdCY04EcHcoQwNByXiBHh7FH2nBU6RFyNOTIchh7gBwdxlq04Vah0IIcDSzftGir8jnP29svq05obwrBnI6ayjG+uoEcBZOy5e8rcbB+cws5CqyvN/z9YJqUqg5VyDA4Sz3s9/sV/3j0huwyVoeMIzhvBI+1ulWWrWc8uU5osVWWrUdM+e0T5eBMWo+Uf/f6/aPx0xNROVrPqR94ZQWsldemnZ8Qhwrq0rIy4144Q81cpzNzfU4W3AsH4QcchCuzvp+Z7Prq7uUtXvoZds1MccjU0BdDb95khGWdzVv2FpomxZtbkvMz+GKocabXmxsyRVpN2tnZucQLf8EXAN2pgeNMLcq1kdchd7a3r7EAuNkLDqS8xfeZyENF5OqD2N2t0egOGwr13d3dPY1zT7wV7MVikb+9NZlXLt0USBjhOIfja/7mEUscYtMEWlQYIrY4xKYItIwwxEIVT2qM3ixxSlzb9Cr1bRlhiIUsJ0jHti8w73oOa0Sc6TqMpcUh1kkgFOYMhbkEAxgRh2jbdtX7l0sJ0gDjQIbhznd8qwdDGBOHSOvvAVH+AbMIRpegqGDVcSrk85AQ3sBbMS0MYdRygnQcp8Zc93xllVR0IyxG1k2NL9NYmTjEqtxMvb9gLmYV1hJkpeL4mJzNTE3TUUhEHGJZK6JBl2N20uRsNI/E1gSSC+xh0UwuUBuje2jQTVIYIjHLCUJWVJDyj5wfm925QtTKg0EqqZJUxPF5tu0TGI5FJe2LBGaiKKQqDkFWhL59woRQaVjMWTeEbV8uEzCa4h8kIvwiH5dQDAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAZ+SURBVHgB7ZxLVuNGFIYvr7l7llmcFYReQZsVYFaAWEE3Qw4GzMEcMgNWgL0CnA1g9yyzeAcxK4h7zCv/T8qJkUqqKqkkyzr6ztGRqZKQ9OvWrdctidTU1NTU1NTUrCRrUhK63W5ja2ur+fr62lxfX29wv5iPtCnSZtwfHx9PpCQsTUAlWPvt7e3L2tpaC/umuEERJxD1O7Yx/t9UlkChAlK0zc3NAD93sbXEL2MIOcA2xHVmUhCFCKis7Sus7Bv+bEiO4BpTWPT4+fn5vAirzFXAIoWL4QZC3uYpZG4C9no9inYmbsI9YptAcBbBaSivqbYGLOxXsYQWie389PS0LzngXcCrq6vmy8vLndj5uEc83BD7Ic6Z2PouWvbGxsY2frZRK+9aVkD9PIq1VwEvLi5aeKA7wwPNkD/AfnhycjIWD1xeXm4rN8HKKdbiaY24vz2fzSBvAqoie51wCIW7haXd5FVL0vphZQFE2je8xMNOp3MjHvAiICzgDDfcTTiExeewqOaFciNd/NyPOwZ+tAtLPJeMZBYwSTwWGewOfBVVV3BvAXZncdboQ8RMAhqK7QRWt7esHsIcZY33+Lkdc0iA4jyQlKQWUDnuP2OyB7ipQEoEXnZfYoo0LPFz2oplXVLAt4rdvS6Pba6yiUd4T7w3XR66f/dsGkkKUglIBx3jVwbwd10pKereIsUVFthEH/1eUuBchOmYId6dJmuCt/xZPLEw8CDwpUOfvhTFma5H5xOdmzdOFqiK7lk4nbUtKwzxBK+DPjQfkhXUNXodo7RFTAf+3x6sbqrJOnO9jpOAcUWXvsWnheA67cXrqCIWiCeOjo44OHugyWIX8Zs4YC2gsj5dLdb33VGHeA2btCyotqnOH351sUJrAVXL/gOq6GZuzS8L3DutLdw7crJCKwHVG9nVZA2W3VDOAruW7J+H012s0EpAzl1IdJRjBqvsy4rDwQ3RWKGtz7USEG9J5/uGq2x9c5QV6rpyuxanmwVUlUcrnA4zv5XqMNSktWyKsVFAVPetcBorjzLNzWZF1ciP4XSMK7ZN5xoFhFgtTfLvUjHU1MIHIOAX03k2PlA3gTOU6hF5phjj+UCigMoHRPqMnACSiqF7JvaATH4wUUDGqmiSrWfPVgn1TBE/GKPBfyQKGA7wITDrH1JdIlao02CRRAEZJRVOg1n/JdUlUrJMffA0FvgoFUVNgn2AfjDpnFQj0jX/UwuYkVrAjJgqkWk4DT7hZ6koOn+n84uLmCoRXXvvk+TPWJNWROM9YhwQNbHN62yBeCPWsXlpYedezeHO1HaItCK6j5Emi06DRRKnNdXU4t/hdAyFf6pabyTts5r6wtrujQpurBQxz2TsttrUwmNNmnGcbAXRPZPR7xoFZMS7JtlquHuVYKhwOI1rUIznmQ54enqKOG9W9wznlYqgIs2a4XQu4DGdu2k6gD6g1+uNJTovQpMfSw4sBKrP/dIwz3UfKr46nPbd5nq2PZHIED6scN9nvMocioc3P5J/X1hDbYHv+JjF64km4gIC9sUCKwHx9vuScQbfFkYL6IoT3UYe18PL0k3ZzrhkTCywjUzIPINvS9IiGuR5bT7R+mLiu63X27nExtyIfgb/WvxS2HijLt6HuMT7WAsYZ4Ug8FkjJ/ke22Jlg4rg10abuVRWrvGBOiskd7hoUzyw0A/+gM/1boZAUadoMycBlV+IXCBLjLEOxjKjwvgFPw+54cF2fMZec9mDr0DRVMsc0C6cNzPC9DudzoGUGBTdOwgVaLJS3XuqEWlYx0FMjHHAlUtSUuLEyxIomnqhDSsOiDiKyS6VJaqF39cxlpdpoU291Cvjys0NycDDw8MfOzs7a/zqhib7J6S3kf9jNBoVMRwfgaUEVsdS0tTls9JA5fSbZMDLclfcaBdiJfm+/nNBH4EganSZVhW73FWJ15WMFLrgGiLfYHgst8B0h49clGvB9RyOq2F3/2ZY8o9tyBBhX1GuqifU5giRGJb8i+f1y14FJDarxeeoB+JQWe4fneD4Hq4RlPqjE4uYVovHQIt8/+RJOIiJE/rY3gM+Hf/ne+/JV5ENk5uAxMUacyD3j1yQXAWcsyBk4mdJPFGIcHMKEXDO/IttGJYKUByNEfAu0Mfhf3LupN+t2sfHdKi5DzZ0uW27fM5Jwa8ejVGJjDlzuKxIiaUJqIPNIJsPMEKwadVCS2pqampqampqCuYfGNTlYQ+zhOcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIRSURBVHgB7do7bsJAEAbg4dVTpgDhnCCki5BQnC63SNpUSU4Q0qULlKlCbpAbxIiHKDnCWr4AqXnlHwQNCrar3wjmk5DX8jY7eL3j8YoYY4wxxpjTlJMMNJvN+9VqdZfL5Xw9R3uyXC47o9GoK2T0AGDw7zg87bnc7vf7z0JUECL953F4i+lyValUwiiKJkKSFyLc6o9JfQqFwp0QUQOAOV9P0c0XImoAIEzRxwkRewp0U3QLhIgagGKx2MY0cDFd3Gw2exUiagCCIJjm8/kbNHv/XO5h8Dfj8dgJUSaJkGo0GnU88T00y4vFYoIkiLb0GWOMMWYtkzzA9/0ykp57NC/0HClyDwWRgJ0EKXoAMHgPg/3BoL2dS+7oM8GYwW85ZIeXmjILCfVdACmvHzN45W2mBg27HuCn6HMhROwAHBxqADD/E9/4dEUQImoASqVSN6kgosuhEGVSENkThONfBrd0OdQVQTYPRZ0aencwlz9jjDHGZP5hpI7U1+GT2SSrHCCTgsh8Pv/cbo/Z0BS4MxwO20JG3SGyLYigubtPoIyA3Far1d8oisZCxC6ItOIKInhPeNF6oRCxd4hcJ3Qpb94RaNgbJLykPgjA8d4BkmKLDKaBE6JD2yLjBoNBIETUAGBwLTwHvvZcXhdEhIy6DKowDL9rtZpOhXP8zvCb4s74QG7wkMWXIWOMMcYYc6r+AIvK6QvkGW4zAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFcSURBVHgB7dnBccIwEIXhV4pLcSdsSekgKiEdmE5SAiUQ7WT2AkjYloS02v1mdEX+38BwMOCcc86NbI1ni+cezy2e73gWGHHBf/jj+YWBEVLxJkZ4Fz/1CKl4iidg8hFy8SJg0hH2xIuAyUY4Ei8CJhnhTLwIUD5CSbwIUDpC7q/ugmMClI2Qi59+hD3x046Q+80T2o3whQHk4gWhzQg3dLYnXhDKR3h1XzdH4gXh/Aiv7ruikzPxgnB8hNR9KzooiReE/SPUuK+amg9DeD/CtPGCkB5h+nhBic82ES8IhuMFwXB8j/uGehiPh8d7vMfD4z/PdPwKw/Fsg+F4wHg88PxALQwbz1oPMHQ8aznA8PGs1QAq4lmLAdTEs9oDqIpnNQdQF89qDaAyntUYQG08Kx1AdTwrGUB9PON36/eKh6DMBsPxbEGdbwFBsSWeH5wLv6LT+3nnnHPOuZw/SslqyrQ5D8QAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADwSURBVHgB7dq9DcIwGIThl58BGIER2CiswVawASNkg9RUYYPgSCmoEgK2ZXP3SNdFln2K5K8wmJnF1YT0IUPkdNPaxRs3OiRKT2Rb4juQzpMKnEnzF/TT2mZmWTWkuddTpyPS3NBB9s3HvDlmfTIHpLzXU1ucG3Yse4ScqK+I8fCXkHbuow3rDRHWiOmn/aQYhaviAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhDnAhC3Z73x8dH7g6mBin3zB7SU60YGR8p8OdpPe8viGHKlnIPfyXh4MzMz+w8vcXb3WQ3nNqYAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPkAAAFDCAYAAAD4aag3AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAwkSURBVHgB7d3tb1RlGsDhRwMfKAmQALsFBLEKGJCIBt2om5BNzH7YP3i/7G6ybnYxWqI1SGOpVKArdoMkYkKbbEl0nqNTS+nL6fTMzDn3c11JoxIS3/rrc8+Zc+55YXl55acEhLUvjcDq6mr64fGPva/H6XHv68nKSnqyvFL9ev6CUuzfv7/6OjhxIB08cCAdPnw4Hel9HT92NA3LC8M6yXO8d+8vpgdLS1XgYoat5fBz6KcmJ9PJE5PVXzel8cgffv8oPfhuKd1dXBQ2DOjs6dPp4uvn08TERNqrxiJ/srycbnw+U0UONKOJ2PcceT6tZ7+aS/ML3yRgOM5NTVWxDzLG7ynyfGpP907v5d4pDgzXwd5pfvWtK7u+SDdw5Pn0np27nYDRunjhfO9Uv1D79w/0Ftr0ZzPpXu/CGjB6+XBdXX2a3rx8qdbv39VJnl9/f/Sfj6v3u4Hxyu+vX/vgvR1fp7+YahI4tEtuMTe501vVtSPPI7rAoV1yk1/cvLXt76kVeb7Ilu9cA9on33i2Xeg7Rp5vTXUVHdptfmGhutN0M9tGnu9iEzh0w1b3rGwb+exXt93oAh2RL8Dl0DfaMvI8pnsvHLol34W68fmRLSM3pkM33dhwmm8aeT7FjenQTfla2r37v03hm0buFIduW9/wc5E7xaH78mnef23+XORbvdcGdMvs3Fz1x2ciz/W7sw1iyCd5flvtxY2/CMSRX34/E7lRHWLJB/eGk/z7BMTx8NG6yPMja6tPnyYgjmdeky8vryQgnmdOciCetcifuAEGQjKuQ3C1d7wB3bQW+epTH04IEa19uML/V8f39ln+6Jf8ec0QVf4whOufTqdxGOgTVJr2u2NHG/mIVmircV7Y9pocghM5BCdyCE7kEJzIITiRQ3Aih+BEDsGJHIITOQQncghO5BCcyCE4kUNwIofgRA7BiRyCEzkEJ3IITuQQnMghOJFDcCKH4EQOwYkcghM5BCdyCE7kEJzIITiRQ3Aih+BEDsGJHIITOQQncghO5BCcyCE4kUNwIofgRA7BiRyCEzkEJ3IITuQQnMghOJFDcCKH4EQOwYkcghM5BCdyCE7kEJzIITiRQ3Aih+BEDsGJHIITOQQncghO5BCcyCE4kUNwIofgRA7BiRyCEzkEJ3IITuQQnMghOJFDcCKH4EQOwYkcghM5BCdyCE7kEJzIITiRQ3Aih+BEDsGJHIITOQQncghO5BCcyCE4kUNwIofgRA7BiRyCEzkEJ3IITuQQnMghOJFDcCKH4EQOwYkcghM5BCdyCE7kEJzIITiRQ3Aih+BEDsGJHIITOQQncghO5BCcyCE4kUNwIofgRA7BiRyCEzkEJ3IITuQQnMghOJFDcCKH4EQOwYkcghM5BCdyCE7kEJzIITiRQ3Aih+BEDsGJHIITOQQncghO5BCcyCE4kUNwIofgRA7BiRyCEzkEJ3IITuQQnMghOJFDcCKH4EQOwYkcghM5BCdyCE7kEJzIITiRQ3Aih+BEDsGJHIITOQQncghO5BCcyCE4kUNwIofgRA7BiRyCEzkEJ3IITuQQnMghOJFDcCKH4EQOwYkcghM5BCdyCE7kEJzIITiRQ3Aih+BEDsGJHIITeYHm79xJ9+4vJsqwL1GMh98/SrNzc9Ufs9m52+naB++liYmJRFwiL8Dq6mqa/WouzS9888yvP1leTn/92z/S2dOn08XXz4s9KJEHl0fz2bn5KvSt3F1cTA8fPUoXL5xPL585nYhF5EHlkfyLL2+lHx4/rvX786k+/flMNcK/9+7VdOTw4UQMIg8mn9gzN2+le4uDXVjLsf/9n/8ywgci8kD6r7u3G83ryiP8t0tL6dzUK73YLyS6S+QB5NE8j9rLvVO4SdUFu974fm/xv+nNNy6lkycmE90j8g7Lo/WNXtz9t8SG+fe5/um0Eb6jRN5B+YSdv7PQ2GheVx7h81e+Cm+E7w6Rd8ywRvPd6I/w3nLrBpF3xKhG87r6b7nlfx4jfLuJvOXGNZrXZYRvP5G32IPvltLMl7fGOprXZYRvL5G3UNtG87r6I/y3vR9OVy5fMsK3hMhbpD+a51Oxyx4sLVVf+VQ/9+pU2r9/f2J8RN4Sd+8vVveat/F196CM8O0g8jHLD5DkuLs2mtfVH+HzhcP3371qhB8DkY/JVs94R5V/mHl2fTxEPgZ1nvGOyrProyfyEdq4fqlU659dt35q+EQ+AqWN5nVZPzUaIh+ykkfzuozwwyXyITGa7471U8Mj8obtdf1S6ayfap7IG2Q0b05/hH9t6pXqrjkGJ/IG7HYzKvXkUz3/d/26d8HS+qnBiXwPqm/C3mie79NmeKyf2huRD6Dtz3hHZYPsYES+S21Yv1Sy9RtkveVWj8hr6uoz3lFZP1WfyHdgNG8366d2JvJtGM27wwi/NZFvwmjeTUb4zYl8nSjrl0q3foS3fkrka7q0GZV6jPC/KD7y6OuXSmeDbMGRl/yM9/GjR3vf7AeqU64U/Q2y56ameiP8K0XFXmTkETej1nHwwIF09e0r6fixY9VfnzoxWT0xt7yykkoxv7Cwti66lBG+qMhLfcZ7/7591QWoje8jnzxxovqqJpreBcfVp09TCUpbP1VE5CWP5mdPv5TevPzGtleYc/z5VMv/jUoa4UtZPxU+8lKf8T5y6FAv7ktro/lODva+wd95+63qxL/+yXRRI3z09VNhIy95NM8n86CLFvLapb/8+cPqh+P8nW+KiT3yCB8u8pJH83zlOI+dTdz8ce7VV9derxvhuy1U5KWO5vktsfwNWXc0r6s/wufJ4KN/Xy9yhI+wfipE5KWuX9rraF5Xjj2P8Hfv3++d7LeLGuH766e6vEG205Hn/wn5m67EzahNjuZ1nT1zppoWShzhu7xBtrOR9193G81Hq/QRvovrpzoXeanPeOfRPN97/XLvNG2DUkf49eunurJBtjORl/yM9zhG87r6I/zXv27PKUWXNsi2PvKS1y/l0Tzf0NL2Cz75VM931b3WuwB447OZ6qp0KbqwfqrVkZc6mucHSXLc+X3qLsmxX/vj+8WN8Fmbn11vZeQlj+YRtpnkEf5U7wdUaVt22rp+qlWRlz6av/P2lTC3U+YfUqU++NK2Eb41kZe6fmnjM97R9N9yO37saNEj/LHev/+4vLC8vPJT/pN8v+64AssXlkq8Wy2P5aUtGsyneomLMvOkNq4Lkq2IvDTRRvPd+uVOxbJG+HGyrXWEoo/mdZU8wo+DyEeg1NF8J/kqfP4qbf3UqIl8yE5O/j5dufyGT/PYRqlX4UdF5ENiNN+d/ghf4gbZYRN5w7bajEo9/Q2ypa2fGiaRN6jOZlTqKXX91DCIvAHjfsY7qpI3yDZJ5HswqvVLpetvkC3xwZcmiHxAbX7GO6pS10/tlTvedslo3g75rrnS1k8Nyklek9G8XUpdPzUIkddgNG8vI/zOjOvbMJp3Sx7hP+5dhf/hxx8Tv3GSb6Jtm1GpJ4/wH/7pmhF+A5FvEGH9UulK3SC7FZH/qvRnvKNZv0H2i5tfpgdL/0ulKj7yrm5GpZ4c+/t/eLfoEb7YyD3jXZZSN8hmRUZuNC9TqRtki4rcM95kpa2fKiJyozmbWb9+KvIIHz5yozk7iT7Ch43caM5uRB7hw0Vu/RJ7EXGDbKjIbUalKZFG+BCRHzl0qLqhxWhOk/oj/Nle7NOfzXR2hO/0U2ie8WaUurpBtrMnuc2ojFpXN8h27iT3jDdt0KX1U505yY3mtEmX1k91InLrl2irLqyfavW4bjSnS9o6wrfyJDea00VtHeFbF7nRnK5r2/qp1kSeR/N8Q0v+SBzouvXrp8a9QXbskduMSmRt2CA71shtRqUU41w/NZbIPeNNidavnxrlBtmRRm4zKox+g+xIIrd+CZ43qvVTQ4/caA7bG/az60OL3PolqG+Y66caj9xoDoMbxgjfaORGc2hGkyN8I5EbzaF5/RH+1InJNHPz1sAj/J4itxkVhi+/5dzfSDPIBtmBI8/rl3LcRnMYjUFH+F1HbjMqjE9/hM8T9PVPpmuN8LUj94w3tEd+WjM/u15ng2ytyD3jDe1UZ4PstuufrF+C7thq/dSmJ7nRHLpnq/VTz0VuNIdu27hBdm1cz5/1dPbMS0ZzCCSP8D8D9T4Ss+f67vsAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAVMSURBVHgB7ZxdchtFEMe7Z2dVRdlUiROwPoHlAqcoXlBOkISYBJ5snyDiBIgTxDkByVOKEII5QfREUfkoxAmyOQECG1yl/WimlSjlfChajVazM3b/XuykVqXx/Hd6/tvdswCCIAiCIAiCIAiCIAiCIAjnAYQAoR867Wwt2gWlOlhSm4gOW9ef3oEACU4Anvx8LX5oRt557f8J0vjfbAv3hyMICAWBUaxFN9+cfAYRknxd34DACGoF0C/m7i/0MyBsz7hipI/zjZBWQVAroBhHl2ZPPoPt0FZBWCEIVX/eJUS4BwERjADZve0vyMT5edfxXsDXQiAEtAKoV/lSpD4EQhCb8MndTqJ1/GyRz2iVJ3j1j+fgOUGsgDiKvoMFyctoDwIgkBCkurA4PX5oA8/xXoD8x092q2y+b4MmXRHvguf4vwIqWM+ZH0W6DJ7jtQBVredssOu7JfVaAIRyD5bFc0vqrQ21sZ6z0MfZR77mh7xdATbWcxY+54c8DkGqC/XhrSX1UgB76zkLfy2plwKQUtXzPhXx1ZI2vgnTz59/nGV5W0GZGMfSJoWm2oW1C/Dy2/pYwNB8x4hKHMUn4+dNb861C8ATyj/zIkuQyqREaCNimxATLqAD/5swITPZHBrAA9DUkwlgZH4ZmXGmWNDIxIaRGW9qCkAjFkxHcQr//Pd33YItJcD4wdYmlLqnSuj6NKGrZiIYUkpEaRyV/WWyrtYC8ORjEQ3Oy6TPxqyaQnVbXz/6Eyyw3oRVrg9l8hkzB4oOwRIrAcb3tjv12sSw4TLodO9blOD6gnwlL8cbYIGVAHGcpewYQHiFPs6HYIGVAHhlOCLAPggvMc8XlvbUOgS1dh7f4i+Gcw/146+efA+WLP0glt+/sEtQHry/Y+1sQgS91jW+Ee2p5Ul4/ODCpirp0AwogfMA738EV8ydP4AlqS0VcXL3sySOi4dnXQRjv9MY4y5e/a2WnqPabOgH3/yeZll00fxq5QYCYVjn5DMryYZmP316c3UZzYZAOtRH6/u4P/AnGfc+jAimpHhGrGpJB/H1J9/CClhpPWB8f/uGyRweQNAsZzPnsfKCzKQvh5NVodlUrg2A6rV2Hq308J+TilhoDomdDii83PrSLsW8CM5KkqGIULfNnIezbCjb1CjKtthNgL8M46O1LVeTzzRSlPfRIZn69W197ek+OKaZegDhAHwDsZGV2YwAHvboUAldaICGKmLYAd9Q0MiYmipJdsE/Ok30jzoXwN8DE8gvAdkExzgXgBpa6lUgcD825wJgSV3wFAT3Y3O/Bygv4/8L0P3YnArADV1+J+WwbdtgZYtTARSVzje5RcmKzOkzitsQhB6HnymOTYJTAQiVtw7oFY6fiJ0JwMdOAfy1oFMmjbYOH8icCRBrXW/854oVQQ8R95ALKDVSfBhdAkc4E4DqTD+YIrk+Wt/grjRtSobcDmNEuA01QYW7XJXDPaCWP2pgpucidyicbg/hYo/eebyf59FGLavB4bOKk4LM5HWTefwX2MLhpsR+1T5M7lflboZlyp+uXm/gZAXk2RJJrlPhpupH6ghLrhJzbkIQWuVYBu8KN1VZOiyhm7yQBgcYp5KYcFDx4sXCzTxYCPNjg5vEFL8zomJY4nPN4AAnK4Co4nEmi3BTFT5QskhYmhzWdoCbEERzC97DZcJNVaZhyayCrblhScGv4ABnbSnvbEWpOdxYjQmh93aGdrX9oKdx2hfE6Whz5/GraNpIlOrj9VurvOOrwB17Whf8Qic++5yacd2p4+SLIAiCIAiCIAiCIAiCIAiCIAjClP8B66MUlRCMjnIAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUqSURBVHgB7Z3NjtxEEMdrVglnS3xcEMJ7AIlTZp9gzYELl+QFYOcBINksZ8IEzkCAB8gQuBMuSHDZyRMwK/EhxMFGggtCypxRpEqV3Z70ejwz/mi3uz31k2q86/2c/ruq3B+uHoGjIGJAh2tkY7JQs0AznaWyRDuyLcguRqPREhxkBI6gGvw6WaQsBLMslM3ZSJC/YN/hRie7RXaO9jknOyF7FfYNetPH2E+jb+I7suswZPDZ1R6ju8RkJzA0MGv4x+gPMQ5BCMxCTYz+EqOPQtA/HWIWV4fCffQlWWN2Z+FTuKlKjC57A2ZJ9nMcPvweAzCEkY4Y/UMhHc7BfOfJVRKyyERn7gBaQo3PwwU/w/40PhOSzdV7b0UrATCLidy9N+aSHhGSLbBlXmgsAP3hW3SYgTBTbdGIRjlA/cF7IOicUk74AmpSWwDlcjMQypiQCF/X+YFaAqikswBhG2MS4aLqN1fOAepW8yEIu+C7o8q95koeoDoe+3ar2YaE7KjKLFxVD/gIpPHrEELWZjvZ6QGSdFuxMylvFWAPhxhMwyFovG3IYlcIktDTDs6dW/tLGz1AQo9ReODuUdkXtgkQg1z9pkhIgMOyL5SGIHX1h+Awf37yMfz00gup/f7BGThOuGm8qNQDXL/6f6MGT7768tK51z68k5rDcEI+LPYN1jzAh6v/728erJ0rCuIgnJDXhq7XPMCH2P/Dc1dKz7/9/xNwnLVccMkDMFsdFoLQFZwLjvUTxRA0AaFrpvonKwFUr/cGCF0T6asqdA84BsEWq2SsCzABwRarSJMKoMJPBIItVmEo9wAJP/ZJn0fIBYhAsE3EL7kAYxBsE/HLgYpFIoB9uFMWsAe0Xt8oNOYaCyBXf3+MWYAQhL4IRYB+SQXYx6XlriAe0DPBiG6FHoMFL+A53JhmrZ4snayZseJKEMAr77wLb3z6GVhgyQIgdEzZHK7r2JpjtiIAr1xw/covcpU84a1//4Ouaf2QntAOKwIcvn8TfONlygM2sJaEfz07g3++feBFEg7fuwmv37GyxihNwt4tQfR4WUqRhEOQX9lxWKQCJCD0xVIE6BfxgJ5JBZDnfvvjggWo/FCxYJzFgVqvnoBgmwW3fd4TnoNgmzT05wI8AsE2c37JBZAaEPaZ80sqgMoDcxBssSoero+GihfYY5Z/oAtQq9CQ0Ip5/sFKAAlD1nio144oTshMQeiamf7JJQFUPYMEhK7gx1S/10+UTUk6Xw2RZ62KXA28WF82LZ4oE4CTsdOTNGVzzLbmcFuQVK6oiNmGC07zy+3b+OOLz6f2x9276AGlFXalXI0d6pWrUUxAMMV00xc2CqDuiKR33J7ZtthfpWgf1wuVJezNSGDHPgNbV8bRDyZ0OAWhKdNdmzzsXJqo3EcqpdfnXpXbTild3A0JmCxdrH7RmyCr6KqQQBb3K7WVlK83Tzfl6xn1iycgbGJSp/GZ2s8HqMQid0brnNbdPYOpFYJ0UPaR0Wm0fwzTWAAGpb40M2ly5ee0EoBRiZmHLELYL/guJ6ob84u0FoBB2cqwMUYe0lNDFkewHzmB3+ORicbvBMy2s41xePAWvX5s7ozZhs73cTjw5tR+bOisg/57Q0wWge+gf0JwuGm8QaezoPtCxJgtSBj2BBS9wRuYxVVXOMchhJq6YJasT1QD9NHovV/tRjpiJsCsM8cllCPIKjmaruaYQLb4OF1sUHW8vmucEaAIPisoy0MdobJAOxav3KVmiWY8VLBwpcGLPAWjl4Dq1v1y/AAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAABHNCSVQICAgIfAhkiAAABJdJREFUSEu1l29MW1UUwO99r10p45XiWiAbJmimH/xg1CwxJsY55z6YZco+sMTERZbMRROzSMS4MY3FTRfEDIJzIJsbc5QFYVM0Y9MAywA7Cyst/2GO0C4dMVAoY6ylfb33el4r0NI/K/9u05fevnfP75xzzzn3PIxgbD78szbjuc7ipHWDu2FqwwgdN1ffqrPX2t3S/bUYGGVn85mv/Vghw66cTck/MCHBwiPEgMXaCU91A5d7rlsrrbOrDccZL+Uq5Xu/7ALBT/HcQ7ox+SzAO3gswRmiCKOGcc14ofGjv4zIhMTVUgAszlU+se1oP1AyJaEc52IbVeepSnkzAA+MGfhV5+ifKDYeae2FOV2pAjgj+4RSvm0/gLEfHIDPsnShiqYk3gC3h4wxRtEF58DYd4bPDLaVwMMsnhOGscjSVHqyIbFJtgjAwPp7ojj7fUehscxpct5fjgL/gwtCLJ6HIx9KFWqJJqlhseWw9ZhSxEYcvY6vjBfb9KgfeZeiQERXBwvAiCCtcBngvwfvefAjUiB0jvdO5hu7W5pQLSyIY0R1dQgcU6ZZX0+1Qj0HikCaRxxwgzU4708UtF1pszxKgZiuDodfAfgvABejwaUlboSZ/un+oaIT+YP/wHw+NULkRYrqqJ4Cyzck/kFTVXUch7xR4Ztl0+TQepMzjXefabR6y3a8i+4ulhmXq0MWYcYeUzbRNFU1x+Fwy5+ROUmeYMFaPMtBBDL4jCBKThVU+M7rLiLHQuD6C0jkqI4eIwylKFtJuroSLF+APyufILlJ3VgjQUMHBBzrQzJStOUgqTFBBVy6xfMCGVIltJNN6tNguQe/IB8HaA9WY89iaLAKXsjCPPyKeDLu4IpsPUOCopNkpR5leYKRFyK4PmwdY10HL3lfXBFY2sKtozfJt1P5LGXnAI8To6baAn8OHIjqA/OHRBy5739Egu6wt5Bjt77hlGQWy558QBRv3cVI8MV2NQNXv7pMV0Ngozdtf5LPzSWcgi6kFZ/5EOA2jJPFKMGFILi8ywsuDjGWPfwb/aSnnFOQ8FzmH3cRxW4rxmqAz6UTImUFel+lriIonZZSQHhG2Tt3LtEP+85xCcQTtYBw6S6q2GOb5NSeM80d3vLteSjsCI07nWSMsJyhGvr+4IWIls4XBobcFEpmi2a0aGfNveglM9CBxC4gEvS9AT09MKTnZNQX65C4KndO6n7tHLbsQbFPqUceiwBCH/T/RPYPVfOwv+FBj6ENYsxicLgPG7p6G3VxtkUxXS2nIoL9JPtu18BZHDpwADhyY3L663PmoapatMRGIJqrIU3Yx93l5O3h+pDWBxSQzLZzhJ3a1XWnrNG5zNYnUlQnEjc7ZDlJs6zXFls6Rimt6vCQ0u0G8+o2e4I4w46YS+kb9maek9o6f5VCM3Cta56cKdll7uuBv1ahvQ1q6FXiA/aFqZi+PtoKUL9s6dLAT00Vvmy6bTSh1WzodTouU5t3Wi1O5xzrKGRb//3b39TBt93jY7pSm+O6zroGrzCSWc/vO6stdhlKtji6s2BqWyebOv5pn6uu2L52L23/AYz4VAH39IcWAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNCSVQICAgIfAhkiAAABLxJREFUaEPtWV+IVFUY/77ZcZSE3ERCS3GsIAjB7aFy7my1C2EqSioEPSpRiu6sLhhI/7eQXpK1md1oo3R9MehlN0i2jGAqd1YfzPWhkIha04QgwyWhktn5+p07u6vN3HPOvbOz3YvugQu793y/73y/79859wzTTTL4JuFBs0SiFslbNyLS4zTRuCyY0YiMzz3LHfkrQdbwHRHJOa9B8R48jUEWqF1W8hTjDt5VGPGjwxcR6XYOk9BWPwrrLxNr5cyJvE2vlYhkna3obYdtimZsnmmU2worbPrtRHKO8sbjNkUzOy+bOTM8YFrDDxGZWSN9ae/kTOH1sIiMYeF6dbfQiJyHB5Nuqy6RSonlvvyuFwqNyFcg0qLskq6WRopfU2SmU2fhE5l0Mvahg/h7d42RiQ4RNzrlVq4IBa2daBFxydQWmWgRcYtfqB9PMmCKRYeI5FKbiFidEGo5q0WDyMSB07ihWSIUGpERtN8HJ1qvigKiMa0RGhFl9Qg6VGMN9eDFOFQi0wpBBbguRNSHzap6WhVYl9A2bi/0mXB+Tr+qSNXXYVhjjIqJpO3T106kfFbKhxYVH9FQHrYScXfj+hz8gkZ0DI1ijy2lJpX6IjIpXL5BoSbQTwa1Kph8LE/F+IgtnW7UGYhIMGP+X+lbiwiug95Evq7Ho4gPIm9f8uNv4D4kkdXE/AfK8Qi3DX1gw0kX0jdOnZB7AM8PFJP9vGu4YMNZI4Jz0gUoWVqh6BKOIHfrlEtPyqESf4n5ef+VkSHchjRrcWWHvVw1L5SF84wfZUYiIHEMStdrFj4OMk96zQF3Ee+9iQrthVEHNLgi3jd4zAkl/rmTt5/+XecEC5H0VTTf+RrwXyByW+WcHHhoGSXm/GJIhbPANVXhculXsNYbWhzzQaRmR41EUuPI7ZgGXIJBVd6Td1JrcWc7aCDimZaI4iFgtulx0o+03FIjEecSgEs04N9AZLEmReAA0jngc+DWVkWk23kG9fGRwQHtwOVqI5JNv0gs+z3BJerk3d63f/ga/AKRfMIz1+c0rOQd33yvccCveH+Xx9xlkFhkIGk/okh36j0SfhZK4hOKivBcHwr2OZNipEoe89fvspj+RA3s5bbh93U4ya67nXjsW8zfe4MM6i3ewpmvf54ekWzqYXh3CyivgSLVHI6DWD+3D500Esk2byQubYDMY4BdplLpGDXwUdysnzfjcGUUgwNKksb+8x2eART5ERNGzdnabw9kdnoqYe7FAjuqcr330SV0bbwP7xXx6qFpv8YbFvy0AEs3m3700RJBavTCiueNnhA6hBRTaTc1gDuFfxBFwxDJcPtw96SEdK1OUjx2Bv+bbliuIFKtOjKeRFCs2Oj4M1s43XmhDSCjNk7cJKZfRXNQxwvb+JsSiWW8Pe9ucLiBHIDHn7KBIJlHC271ktMQSb8F0D67YiXBb3Nm6AXXoFwKdcOP+MIxbUK9fFLGOf5/gykm7vA63nsT6Undh4L+FN6+32LUjzBjI7x0boLI0yDysZ2IDAIzdfTxHxGauuWvXMNc7O8232Myinee+Kly3v2anFtcGByn6iSe1OKKxVHuODmqm7eefu3ejYbELJFoxOG6FbMRiVpE/gUTWNdCtM9BlQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNCSVQICAgIfAhkiAAABPtJREFUaEPtWc9v21Qcf892JU4w/gBYGseZOKBlB8SR9sRlQiuHTZOANWpaCU0a7RAHDohN4oDQJDKQkLampEMcEJel4oK40J1AXJYICUQcd0WwGxItlzEt9uPzdWxwHdv1s4OrVfOlbvy+3/f9fH9/3+PskDz8kOBghx9I+07piBhqxwVzZv4PqzlM6WrDYa/+zPb2JPhHWmStr88Lzj7EBkcmsUkSD8F4c9EYrOTdZwzIqlmZ4Ux8m5exDD3AXAaYSzI04bURQPRN/PhCHqZZaBuGlStex4hbpv5nES4VBusI5cRS1exmUQLRRAERWZnloYN7zcK9NrPyyAdEsBtMYR0m2DoEeCKrEER3cEAAolG15kmIVl9fh23PPQxANlTNnrcfqE1X4ACISWW5QizCBasvVC1yH0Y1xn+/3jdqCncoVbv1Jk3moUJrD1VKKHueQoBgxx1kldlgVnEFstXbsE7JlygNENcVTX0soRQFhMKxq2rObH16e2ekVQWW4LWQYlNkHQHrjdEVHuwdaH2uNdDb2NkN9Ek9BVpkUiJH8zlYIMhe6GKbCHhyqUNQRwZ6E672Rh6bFWMRr278W/gCdcRr+dt5QBBtIUDQ1q8sGFvNmDpyWyb9HnQdYeHuNFwM0xZE2TpC+3Auzmna8DKl/jjLyzSNO2hTppPriEAbzmM3GwmRvo6E6tUO2qN6o2J1osDIABkVxaEzZ2vKzaiilidOomIE9Wo8iXC2rqr2Stg6kkDyiJpMGwXESyQUm6HULroNY+tEkGMuINRMKlN2B00gTXZH88AMAvlSMPU0Zzbxa/9cKtmaBncSx//jz3sNY7CnPZIAwntBZsGOeNLzCFzqOuXjvx67f+HiU7/fIwAYFy4he75L71FjcSog/imH77Phth5HR14d4T3BRGKwc8bRNAa16+p5F4mkRH7f+qXyKlPEZ572TQT4BQT41/Q/ZTCVOTV/jJB2reBxDQ1S/mwNYKegOQT+6EnTxkfWEc7mKBu1fpo+yqYUctM952kA//6CMXg7yXVTWcRl4G3mM8taR8aAcHYVIJaJL+aUDfx5KUbg7+5zduZ8xfot6nt6IIHhyhPmTlhzSRqL+fYrXKpGLrU20N8Ugl2J5yEuIlPR6WfkIwMEDERXYcqywxykxPHhSBaIH7Rtq/yc7fAf4ugB8OZi1Xp5Mq4lK+U+64Nx1zLL30Mxz8eQ/PHAUWuvH+vflQVCWSfXbLEfZgzstxYNa4bWwaU+gMbfiqVx2NnGMeuL/XgexNnvrjpEXOA64dN++aTD+VcJcfEJ4uL8fiDoe+Gn8X4N+tysPP63ED1IUIoSFFb78W7FqqEKOpmAuOYe3Y9E9DhpWCau2UCtOUUrVk39BrT4Wtxqh/GZJWNwK+2OsUf5bo8zpdaEyJ+dfGEwUzTdVGtWFtABtGKFFOwdHMe+lxZEpGvJEGddiwC/hgBfiqYX3yAuXpTlnetyRXaz4Hq0Oq9g8vsILc6T/u8Q5p6tiNqSvtWX5V0okDWzvAxLiEZ16yoJes0qP606/GO8um0JeqoGeqo1WRCFupbXm/kHFZtoTeb8KW8V7Qk0+ix6rvksIAoFEpwnPGETZ3BZQIW5VgSQkayYwWGJuqzg4fWFAYk7yJvE1XTRrhW+v99Fxur413cPjUW8GYbuGrch9Gbc+VRWQIW5VlYB09I9ApJWU0Wt+wf1Qp9R2fgR6AAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNCSVQICAgIfAhkiAAAA2hJREFUaEPtWc1Z20AQnfUh5BaoIOaIuchUICoAKrA7ACrwugJIBYEKYiqI0wDWBXMMHcS5hRy8eSNrndXPSitbEj+fdPL37ezMvHkzo9FY0Dt5xDvBQS2Q18Zky0jLSE0R2Di1vJncpY/ipLNUvhLUhX9+5OMUShdLISb0R90FfbmoyfeY2o2AePPxuSAloWm3wMmFEuI6OBiN6wZTCgizIHbomxF9V/8CsHYWHMgn1wtl5ZyBRCC+w4BX1kgkv1DPtF9XqjkD6c8lg9B1sCEWCmY92d/0ct49JyBHc3mhiK4sim5xNqFnmnK0vUfpC0VDyA6y5HE2vj+UXF+VPk5AwMavdGGr30oJPziUQZZH3oP0hFBTIvEpeY4U26s6xQqBIMJDRPFryhlFfQbBtdP5QFco5jDtoDBYCrrkwraBgczlfU9eV0lJIRCwcZORJrfI9WHUAH6m2SK0XQAFmKMHKfF7lHD6B+5vW28xlS5AZslOhZo4C3pyYgGpDdzB2dMVK8Q6zGeBs71aGWHDHUQQznLEMl94OscBJAXScG7tLOSgzvpMlUIqWmrNFWyMEdRDF/XAzuW+sQ0gT5D9bDOGqIf6C4CE15F+x0jFaZ7j3uN40FHqlBRGoL8Ab4w/MSAFqbK2oY06pdYqOFxHRU+YinlCiYDE5JNA2GC3yCLOjWJXYCWjxUZdzVLsmSY0g+Yhz3VBb/Qli1lTPgkkL5djxpHXq/a7ijhaqfIjQHc4k8ZZYapqxaZjkV5u+74tRSsBAgMLOHxsfSGuAPKA6TybaceS03XdQFZFSmBD0a0GxJEEMwOh1AWOi8b8OMuC9qOXL9j9/zQCxKGeyojwR1gK/FsEktsEkm28qhopE+mtZFtGtgpfDZdbRqoIqp6QbbosU/HrK/ascSPppcswyXdeNLVaIBnJ9aKM6KHyzddIFQ0jORW/mTc7f7BhaLwBgNhXZ+nUqjKKpi7das2WnNV+2eFwvbRD/JF/vjEjtQOJPsbYjg2I9iHaWIbslGYEOfiUpLUucFl6ky1bs4NlHn/bpJYYedPvBPInTTpv2Cq7fIgt+TLWQQq73PQyoW5wRe2a7UeLDB8/+S+KoXUdFObuepnQGDPrZcU2wSpcmW6jvMm7LZAmo+1iq2XEJUpNyrSMNBltF1v/AK5vDVGJxVtBAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNCSVQICAgIfAhkiAAAAsFJREFUaEPtmcFu00AQQGdiUcOJcuJKL8QOUmn5Ador2MJ/QPIFLX/QPyB/0PAFGDniSjgjUVIJ20Wq4AugnFAqkmVspRFNYu+uvdmEYF93dnbezM7O7BphTT5cEw6oQFYtkv9vRLwoujdEPAAGO0WjEtjWftG5WfOkIuLG8UsCOCxrBIFM1n16enqnZpp3g3o9LqNXGMQJ4zYiHJRZ7GruNIixYX5gCE4ZGCEQJ4r2EPCdCohEx0xEbmx8R8TzMjBCIG501gFgzxcJkuomGCoIhSIjCBL3aJnHCwdJYeAcLtEJtuVyRhSEqYLI2lrX9DOC+S0Hs5ogCVUKc0mR2RY6zZYOktjshOGjrIh3G42PIrthJUBEDOXJVCA8D+WOI7QDy3pRSsfUZFUR6QPDI4aji3nGIattArIjGns4GUe4oIT+xINhDPrdhsVti5SADEe13bcP7uca9eTzlx2jNjrhGT5n/D11Anu8eUpADGBbvm1/y1vMO/m6Obw5+MEzaKkgVI47gV1v5RlJbc4xFYfmioNMzOtlGMrdGjmA+rZWAS/LTKlAZrzlRrHSplEmHCSrNSJ9Buywa9tZOTLX9vGFrX2tvsxK6gMRqSNZURCoL/pAROrIPwFCtzrf+GW2/N2tuS1KFkRaJG8NjqlV8arjd+wBJS2K5CkkK64vR2Qtk5SvQIoUxD6dXB6vA55WPD56O1Ud+cszSpJ9feoIQI9gWrJbK/1FAUj3FMhr86tkL5LskieqlLjSiCRdrbJHbCkMpW18GPvUTz2TNECROL6i94AmT5nYqRWeefQu9ZqnbBHjdM/ZF7nnCIEkBrrLiAqDN0HDyuuMJ74TBhm/S/nacoUgjIHZFL0aCINcobtR1KTnUY/+99F/RbitcjvRw8BPZNCjbewHtp20LsKfNIiwZs2CFYhmh3OXqyLCdZFmgT+nDmhCT+iNTgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNCSVQICAgIfAhkiAAAAptJREFUaEPtmV1O4zAQgG0j8VwuQJITADfgBrAn2Lyw4g0KfQeeoSp92y0P2z0B5QQcAW6QhgsArwg8jEOpoDSZSWIrFWtLVStlOp7P82OPI8U3GfKbcAgPsmie/D89EveS1rJWe+iNGD+hI6+MUe9IKd3/3Y7Mb9Zge2SnexdLAT3U2mJptiAEIPYvOkGfo4oFMoH4y1FoW0ZK0f9zEOxTekmQnV6yLrW6oRQ5fQ7yx6CzOiqagwbppiMU2nJqKK18PDgMosogk+S+p+dxLwFKb1y0o9u8mQo9snuabGqlrt2byZrhBL1yXAnkVzc1SWYq1SKMWiBmBY4WgQJt8CACQ4vjkRRXa1jPa3JbCFgjdLj1yJPSK8N29FAPRJhFg0ZBzDFCKJVbFjmASkALAAo3PJ8jZiWZOcJZdBsybnPEhoVMHR7EhxYzVMqKOQ4tRq9AWczsedyCYG8dlemt50FN2oUEnxW10W5BcPIHkLLWhigBQtRjPkXDOQgVObaeexBffm3F0oweH1qs0MIm4gpvMBhVi9U8FTmzjZcP53kChbconNMvKifvxrKT9NndtpBwmWOI6TLPldbTBdFSxfjS42cmD+LfoBPERZS1QXCWEcil3JUyk2eNk4ZjNGx9jjFfYv/TFS0Dwui0AFI9tefd61aBaBrkEfv98GO/XxWiWZCZkKkDQYI4vjKd5kZdCBqkl4RaK3MqdTEyEBsQJEhWNrvpGL8CByQnIOQY34K9vUBiVqc8O8g9gKj/1fkAN9H3clwTguWRzCtn6XC6OVU3ff4/LUCwQZzBWIIoBWKE36qY2cXJC2fabxYhSoO8W7eL1Uw8i/BFLYWYrCFt9YwEyFvq5WZZnWSyl1XYlLwHaWrlK+8ji2Zwnj2vGlZbQofsNGYAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAABHNCSVQICAgIfAhkiAAAAnFJREFUaEPtWdtVwzAMlQL/MADPCcgGsAFlg2YCYALKBJQJUiaADaAbpBNQHgOk/zTiGig0pUmc1HEgxz6nP60l60q6sioztWRxS3CQA/LXImkkIo9+uLlGHALcZkmAsUdyuRUFUUm5X9uNAHnywx4TX1QzRm52oqBbTfZHqhQQ5fl1XjuYibNMJ8qbz37YIeLbKsYIyfluFPShew+6d2c63mQ62o+CWFenNpBXP/QT4vuF9ImnJPvqQPW7lEwtHB7P0urZHyjdR3OGx0xysh0FDzpgtIG8+GFfiE8XlcL4KMGBADPWOXBxzxe/rvD9kvSSIdJuHlzmEdpAkD7wDB/mGKvluSXyfnaRaAZIlYAUyDgg2Q7SSK3/GhEeESV9kKwSyZcUDXWZnqV5aCG1UP8vUf97JsOAyniEyqjK8NeyCEQdTuTlVbNCrELJE8rsoFEgq7Unac87IPBH5QtxxhEXkRRzPkndaGqpw5N0s1dI7sUNqoQ3TvbSVucINBIR2IM2m/smgaCL7iA6qom0d4+YBJCty8KF2CYgE5Rgo6nlkdeFzu+/u0QWItKaXgupNQbZByZTzJF9lRbFZCSarloTkPEOU5SxCVDexyjJ67SC7L8HfVaqFkUge4+ZtaeBeZETEURE8Fd3fkhnAYiJdCrW4YBk+2j5OEiGxV4ts4NVw7hhtWnEgPkaA2aV08ZWY2T32DMKRCTpwivq49r4wvRo8ci0ELuBDa78li2/Bpyeq6KeiNxhnndct+lp/TUAwUTxDL2VeuuzuPSfrrVHpsr6zwfR+XFNrZjGU7yX6D5RlwJSq9krKndAVnSgcfHWROQd+XnOQgSf/EAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAlCAYAAAAnQjt6AAAABHNCSVQICAgIfAhkiAAAAtNJREFUWEe11z1s00AUAOB3doXK1FgMiAWVFRhS5iKIGHBQEBlYmJoMsLSYLOwwITFFCWwIwobE0la0MQipHthJJZAYqNSKgQViw0JF4xzPTS51gs++n9aSp/je+/zu7p1DQPNy7OAOJeF2s33inU4oojP4ru1/xvFnBzHIs6abu60aTxmCiNeY9OZE4mrTtVoqGCWIUwyeU0qrnIRKGGlIBoLZpDFSEA7iO2Y/lVAdKYwwJBlBvwDZKwE9dhEhL3QwQpA0RLN9cisC4OKt6GAyISIIVgkdTCpEBqGL4UJUEDqYRIgOQhXzH+QwECqYMchhImQxI8hRIGQw+xBVRK0UXAh7/TU8ebfwsJtPO+x4W5sCFJ64lkcW7R9XDDDfjwcZdEzWrJISOKXuabpHNoFAbvj7B8REHZZ7cTAejiuQxas/zxnE+HQwWhQBa0DI+YmsLQzKO5X3H53EYEVeYkUqg6mx/QUK9BGW+CuQv9XsSiQimCkTs1T0y4RCHQd0zGmo1JetILPFx994MB3jCALGrT70bQy0EHs2EzM5f8IQHqLhzryKgi7ZfksHIwTJQrC308FkQkQRupj005ezJth08PapSmVSIbjVVjHZdZYwWphZCF5lWOPi4TMg3ce4pe9Hg2UQSRgT4EzdtbaVIKwB4Z7faby1NtK6JneasGdMUeikIQYvqnk5dnc+NMi3p+vWjk4oLQgirlEgb3D+f09Nw2zUIVUxypCa7c+GFD7GDj3pbhpHK0FqZT/X+wMbhEAeg3l4z+E9g8EeNlzrgUpVlCC4rZcx2Q28N/HQutzbhTwGYotZ6h/eQWuQ5DtFv04p3MNhv3BL5tluGB3vFALThEJ93erIhJaqSPxbwjRgbjLZqKNGmOPYNyQWrzAkWhfhLvjDt+SWH7HRmrmE9wp+JJVFqyIMGTY3Dwd4aQtyCG7hbvKabSv6+BG6pCBCERUf+gdq4cQ1i+5/lgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAcAAAAMCAYAAACulacQAAAABHNCSVQICAgIfAhkiAAAAHNJREFUGFdj/P//fwkDA4MoIyNjOZBGAYxAyS6gSCkQdwMVlCHLMoI4uBSAJXEpgEtiU4AiCVWwAEjHA/EadJ0GQMH9QMwBxCHIdsIkQGIOQJdfgLkWQwJkBcifWCVgkhOAjASYUSiBANQpAFbFyPgBPfgAoNM4/ZxCJK0AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAyCAYAAABLXmvvAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFJSURBVHgBzZjhbcJADIVfxQId4UZghIzABskGZYO7DcIGyQYdoXQCRmCEjNCe1VRCKMSW8Iv5JP8Jij6OnF8OA8G818q1prn6+RodEf3c1WUL+bQglrrWSiDySEyXlxUxVS7PclTk8qvsQeKkyKVakCgGecaT7BaunWu91WpW7vv/7BsEjthg5Y84YL3VpAaQkJ18VeRfIKVcMsgvIPV6MshpQZPwt7KwlPs0yGkpN0KP2ANIFOi9fgSJYpDn+5t2eJ4zgiO2g77yHiRkJ2sRKx0RmnIUkkFOYx8hTghYcULAM7a8u93/oTTQW2mEMy308DjBmWyQFjgTIu0N0g6OyI4coB8CGjgiUsuZy/XYkxBwykwR0pA0srzYR29pi4A0+jBIC5zJryrt4MyAjdNI0HKXNmoKm+yFzTKXBmubTG9vR4rT/EWo0l+hMokGOIXTUAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAABHNCSVQICAgIfAhkiAAAAP1JREFUOE9jZKAyYCTSPAGgug/EqCXWwA1Awy4AcQMhQwkZqAA0wB9qEMiFE4B4IT7X4jMwAKhxPhCDvIsMHgA5gVAXYzgYl4Egl53HYhjMAJChiti8j8tAkNfyCYRXIlB+AboaXAYeACq0J2DgRKB8ATUNPAg0zGHADPxPwLsgaaJdaACNYUJmgtIlKKZRchC2SCEmQmCWNQIZDcg2oxtITHJBdzkokYOyJhigG0iK62BmgLJiAi4DFZAlCQUiNPwWIIcjocIhHah4BhA/gRouA6StgfgYLssIGQjSVwfEoMD/DcQpQLwIn8uJMRCknw+IPxERBBiRQowevGoAZIopFReJ7dAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAABHNCSVQICAgIfAhkiAAAATxJREFUSEvdlGGNwkAQhcEBDgAFgAKKAoICioJDAigABxQF4ABQcIcDzsGdAnhfMk0K7HYpbf+wyUuTtjPf7JvZbTZqXs2a8zc+GxDLvqkUmY0XPffSUvp71VqXRR0F76S+JwnJZwYLch4BLUV8S0B+pbn0YxUDXEhDyzrS8xgiPAISs+Vs1risSP/Bsm5RwNUCBla5L57kbWkSsiq7g0g/H8waLMpba338kmg4tnmXC3Aye/Li6M1K2kpxUQDbD3n71g4o5JUeZCetUA8AJBKHi9FkDPOmiDEO9erpLqI6kjMhWIXXjCygnrTI9CdYPRX7TjJXAgld618vj9LYdsyp9q682zRWFEpPLpYkprQPJOadF1Lmuga+sdK9kDIAcgchZQFBSBWALOTpZFcFABLZdN1NVJUA56jWDrgByFNDGXXmSkMAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAsAAAATCAYAAABGKffQAAAABHNCSVQICAgIfAhkiAAAAKxJREFUKFNjZGBgsALiTCAuBuJXQIwTMAJlFgNxDBCfBmIffBpAisWAeAsQmxLSAFIMAkRpgCkmSgOyYoIa0BXj1YBNMU4NuBSja3gHFPDFpxikIQiIVwMxExCvxafYCRr+nED6JBBb4FKMrHA+UGESyBpsirEqxKYYp0J0xXgVIismqBCm2BXI2AjEIF/DPQNNYCgUyIMLgDgeSidiUwQTAykWgQb+LHwKQXIA/Wcr+uJAS4wAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFgAAAA8CAYAAADi8H14AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH9SURBVHgB7dlBTsJAFMbxBy5wCZyAI3AEvIFLd3IFToDeQE8gnAQ9gXgC684VdskKfZ+UhDTS6YS+6TP5fkmDtEPS/p2UqYoQERERERERERERETWkr4bD4YNuX7p9DwaDle4aSWL9vfnRebzq+2sx1JEE9ELeO53OqLQ73+12V3meryUBlNVzWOk2Lh8rzuNZDHTFmF7X9I+4v4e63S5m8liMVcUF3T8XI+aBNeKk4rB55FBc0GMTMWIeWGWB42aR68QtZGLEPLDe3xb6kgeGNR45Ii7OcSlGzAPrl0emFzCrMbSxyDFx1VLP8U6MJFlFAL7sNOBTjaFnrS5i4242m6kYupBEttvtutfrfeiFh9adlzrmRsd+6mfeJIK3uJBsBh/gFoBbAX4MjdWZPNWZXOv+6DEuJA8MTUfGU2ERdyRhyeJCK4Ghqcie40JrgeHcyN7jQooHjZOwUsCKQcLrZDwRLjTo7eF9ZNzHNuJCqzP4IHYm68tL3bg6/t5ynRviIjDERJb9jK/zy2g1LrgJDJGRK3mIC64CQxORvcQFd4HhnMie4kKrq4hTjlYXWcznvMUFlzP4AEuxYiaPQmM9xgXXgaFOZK9xwX1gqIrsOS64vAeXFX+0L9+TsRaeeY4L/2IGHzv6j0emcYOP2EREREREREREREREREQt+wGMUQJsigbWywAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAARCAYAAAAG/yacAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAEHSURBVHgBzVLN0YIwEE0CDFdKyNcBJXxWYLwAw0k7sAQ70BI8wnAQK8ASLCEleOfPtxkyE/UA48mdyWSzefv2ZbOcvZlSKgqCQHHO5TiO2vO8W1EU2sVw95Dnedz3fQM3csJ6GIZNVVV3GxDWybJMIuEC94EqK6w/rJ1h5rwhBRbrO4z/WBKsO7DeptgZZBp7E4bhFvvppRL0x7S3bVuzV9PTffQhzwbrun6wGTPyoJc6FUG78V1A13USHTSk9C4i5WmaHnG3Z8vtRJX2YKF2XufQULImvD8d7mVZHuaSkiSRwMaCfWE/nmQaMf2BnAPbv6QkDUdhthRbZtqnicaQbhcmMCHE+QkbfmM0II+VnQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAVCAYAAABPPm7SAAAABHNCSVQICAgIfAhkiAAAASRJREFUOE9jZMABcj0/uDH8/7+WkZHhwKTtgr641DHiksjxfFfN+J+xBST/87UA26yzjL+xqR01gIFhNAyoFQa5nu+ASZXp2uTtAndhqQ1fSkRWz5jr8T4PqGkiMD4e/Wf87zNlm9BlkCG4DMh1f98IVFsHUs/A8EaNMcfzfS7jf4ZJYJuRDMFmAFwzxJkPXvA+UwengxyP9/VARgOyIQz/GfyQMxO7yIcasM1Qzf/+//OZulP4KjwhYRjyn2EjUDIXqgGUK2vQNUMcjQTQDPkAdIUAWhZ+ALMZJo6RlFEMQdWNoRnDBfAoRA4TiOBDoM3eID+juQhPZvL4sJWR4b8XUMOfv0y/TadtE7uArhmnC2AKcz3f1zH8Y94/eSffYWyaQWIAf0/hM4PcovoAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAXCAYAAADQpsWBAAAABHNCSVQICAgIfAhkiAAAAPFJREFUOE+V0z8KwjAUBvA+cPNiDhWcdPUAQv8QUOiSQUWntkdwEXRRdPAO4mF6gNL6JdDS2MSkXVrK92vyXl6Jcz4qioJ7nvfJsuyOu/WiMAy3SCUiSUSLNE2vNiXQDKFbE3SBJMJRFM3rur64QomGwhYNgQpyhT3kArXIBo3IABOc4/4v0kG8W7mgKc7w0RwNnpltewrAtByxvc2/RvyCJcBJzqhuOOM49quqenbGqgVaZAM95AIUFASBj0KNW+qWIWsaAuRK+Jcm6P3LVLSuUQIdgNbyC0RKl3RA5hhj47Isd4DvPM/PpmCvJpdgN/MFtOWlk9RXGjYAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACYAAABNCAYAAADKDhY3AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGmSURBVHgB7ZpRbQMxEEQ3QVAGLYNAuDIIhIMQCIZQCIGQMAiEQLgwaBlM17p8nFpdMneVxltpn+QvR/LEkmfH6zNLVgDgxUfxcbmP3lrjIt58DPjNh7XEBRwxT7FWzOzWlIO1gBBW6UzM1seZ+N3Zxb2akvuJZHZtaCGunsxPQty1/hFT4gvuwHEyNb5oT4rTexzGCsCg97i6I6Q4fenCWDOfUQ/MzpTgH9gIK66JjVAeZ2p80Q4cR1Pjix5IcU1spJDi9FEJj4PlFG1UwmgjV0JYPTChbSSsuGZRifG4i6lBRqX14jIqrRGWHvcXcWGvgx04Mir9FFdIcaGj0t7UgLeRuNdBUwPe47qtCdlsNjfjGoVybyvg0FUEX2xPitLlNiwoUaYCEYs6onaMEDGbgY/aujKEiJcTRIw6iPhWgIhxGulVy4SdwKELgIiY5xHUq3pSlDTCxGvWIeITDqI2S5ARhhdVSFEZYTpSlK6/hbxu8aIywiwRVUhRGWHYLoy2swzu/afJp1nDE1F1Xtvhs/EbxduD+Tr37i3KL1OD+XqofyGb8A08P/MW2EZWtQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAARCAYAAAAPFIbmAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACWSURBVHgBhdBbEcMgEAVQNhiIhMrgMxIqoVFQUNAYYAYHrZP+IiNxEAfkbmaSyYOFnbnsB4encs69rbUfVagmpfREHwC/IkJ6ZEReEiQeMPlA+yPcfyGE/oZqkI4rJEjX83PwhnJQ51CMcTbGMDBI2wg78edaZNRadySAYQPe+4lq4PQ6CeyoBFZUA1z8uq4EjhduVaEWNKFO81ogv10AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAABHNCSVQICAgIfAhkiAAAAIJJREFUKFNj/D/Z6j8DiYBxVBMkxIZoQHxk+M9QwMDIMAHoBX70uMfmp48MTAwOjNnHLvyfamXA8I/hALpGLJr+BzLmHt8AM/3/ZMsAYHitR7YNVdN/hkTGvGML0J3zf5JVAtCp82HiCE04NMBtRNII0URAA7pGRpDV2JyEK7eA1AMAWr1SIWUY1OwAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAOCAYAAADNGCeJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAE6ADAAQAAAABAAAADgAAAAC4HwOVAAAAnUlEQVQ4EWNgwAJ4eFREOVmljnCxSG/FIo1TiAldBmTQv5/f9jP8Z7D+z/ifH10eHx/FMJhB//8zaDMyMlxlZucKxKcZpxzIIC5WqSucLFL/QTSIj1MxPonBZxDQtYygWAMFNj6XE5RjZLjPwcNhiBIBBDURUkC18IJZNMINBMc0LCyIoDFi88uXO6+Z2DmdGBgZjjL+Z/xAhBlwJQDBJjiHEw14DAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAD8AAAA/CAYAAABXXxDfAAAABHNCSVQICAgIfAhkiAAABXFJREFUaEPlW12IVVUU/vYdRxO0EgqM7CUsKAqx1Jo7WWI0xUBJNvQniSVWNM5YUr30UBHRQz/kjEOmlGIYUWY4Yg9C4ow5JgYRRVETPWhRYDCVkjkz9+6+dc6ZmXN/z//uXM6Gzdzh7LPW/tba62evvY9Cwk33tN5IFoug9LX8O5/9MvaL2WexT2MfZz/Dfor9JPtP0Oob/v1SdR/5IsnpqbiJ675ls1AY7SDYOwHV5oAMy4ZC0QcojH1omr5bdR4SIcXWYgNva1ivg8JqR6OxTdIhNA6NnRTotrhWRGTwuq/1JhT1M5zgXXGjrUOvHzn1quo88nkUnqHB677Fc1FofpmafiTKBCK9q/EumsaeU53Hfw9DJxR43ZNfQ9BvkOGcMExjfmeE5rBRdQ/tCEo3MHjdm3+bTB4NysjA+K2qa+ixIHx8g9c9N8yDatpF4jcHYWB47CB0YZXqPvaLH76+wOtN+WuQwx4SvMIP0f95zDCKWKk2DH3rNQ9P8A7wT0lIkpNGaScpgHYvAdQF7yz1gw2i8XLFDNMEltczgfrge/MDKbdxr5U4SCd4S61BNcGn2Kt7AS5/XjMKVAXvxPHtQbmkdrzGw9XygArwVuZWbP4uJQlMXPIcQW7s6vJMsBJ8T/4dYynrpQuBP4aBc7Fu1qoLjKkwtb/W/bAEvLNJORyXuD3prN3PHfxx4MALnkNjGZBTS92boVLwvfm9ZGJmd3Y5E8U7XgKKBWA7WZrQPtBP779iQpCT4K39uNJHY5GwHyIr3mTatJh1nHPAwGvA95JHGWhatUzUA1zgDdr6RcyS798xhXTkBLDrAQPIycJl+xZ4q/RUHB3hT6mpxd9Ey+dfAlwwb4r22Fmgeab9f2EULFNNPRMneOIYMPRW/HORmmFu+hwpidng7f15cnF96QZgwb3+gYgpiBP8edD/O0FGOnHfBt/b8jFrYyuDvB947FXtwDJWu9waLidSGKPjO023tNEOgYk1vUd1Hb3HAZ8nR6uUnGwTW+/YQuM6r5KPABfA/U+Z8Pxn6PVnK+Nevo3L+crbKsGLDxhkZcyk1yf49Qxxvcmq3EVdEpuZFzqOjtpuap56+PWHwOFNZqaiVRdhG6zJicdfvdsGJ8nNqR+A2XOBGbQ48QV/sfr03n1mwANbBfxn5LbcCEfJ6tpfYbD5l978RdubC/AFBLzEqYBvu92EzQvcgwL+R/4wU5sT8PMpZ8noytNZcYYtLL4OvA78/ZsJXQwLeEluHCM0wTM1PP4U8PQ6CWV2qcFZdSLjAl4bm6Ms+7bnq8d5mcRZLsKP1pla9hLkDGq+5XHg+odqy7rIo/q9TwK/fmVCH5bmzdm8F/jRf4D9z5oCb9l8dG8vnlpCVq12moeo4sHTBd7y9tHi/ETsrrdQJa5vuTVt4K04H+3UdQlrgmLH7jS1miA2t6YNPDO8qLl9UuD9mlJY12jl9lFrd0mAl+zPXeaqBXBnR/iwKLU8oculH34/nwR4mdTdm711+sn6sJHB3s/b4CNUchoSvLuSE6WG14jgS2p4Uaq3jQe+tHprLf2wZ3SNBr68bm+DD3liI+AX8dJlzqPk7yfOSzK072nb0SXl8Kqd2DheP/hZnZ8MT1JbCUvXrQLyT9T34h+sAUYZ6h7kxa9pM2qPldr++6QXrPBR/azOAm9fJTV3SusdzOIdUe+UNpLtxzvN+Kl5nc/b2s/wzQxH+8me3cWv1/oU/d7JmaASebdnGmBtfsFuY7kEkM17ePbyty4bZ/MGpiUA+9Jx9u7eTi7/rN66nhRAVu/bux1piqNAcl9alAggq9/YTJpBVr+uKlkFWfyurjyhyuQXlRVCyOK3tLVS6zR/Rf0fQIqFzRk5jGAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFvSURBVHgBtVXdbYMwGDxbDNANQiZoOkEZIRskFeKJl25QRugIsEE2KBu03YBMUF4RSK5dPhfHxchuyEmnix3i+/5MWJZlj5AQQjCsiCiKmmEYYuR5vsGNoILnXddtrf1Y8k1SkF4VAJ/Ze5FM6LPSAisbJKRPpHusaLDDWKJGspRsJe9wWaYDxvIpvkveI8BAP/xBeiJ1ZaECqikIL4O9oSrCo3GQRiXJiCUdfoCnwc7xnCuDhtQrA7P+zOBcH2yDBh4Gdv01lvqgy1XBw8A+UKMmbfEPcI9o7H2Vqb7pekzN0RUwmj6XAYwf2NMRY8wooXXwmJoHmarREl9xOaYKhaG/VYgwj3bBYIsAuDKo6LAjZuqKqYRHWquMihADdXiCvyMbDL7w3afkA6YLZ06XnqyS1s8IzMCFWPIL43+GF0INdPMLTD1Qe6c1DRJMvalpfYbjvRQxxgTCoHtjo4L1Fuj7/vxzD9I03XDOY9wA3wJHYTcOXPfnAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAkAAAAPCAYAAAA2yOUNAAAABHNCSVQICAgIfAhkiAAAALlJREFUKFNj/NZracXA8D/z7z+mYt7SY68YsADGb70Wi/8zMMQA5U7/+8fkg00h4+duKzEmpn9bgIpMcSlkBJlOSCFYESGFcEX4FKIowqLw5X9GRlcMRWCF/VZOTP/+7QIymRkZGRdjKPrSb2XA+O/vfgYGRgGgonNcnzmsURShKPjPsJC75EQCyGS4IlwK4IrwKQArIqQAoqjPcgLj///5DEhuQI9jxvf9DgLs/34mcBUfn4AtBYDEAKlldR7ytuabAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAkKADAAQAAAABAAAAkAAAAAA/PwqIAAAYG0lEQVR4Ae1dCZhUxbWuYRFkBjLIvggyCWBEkE0+ZdMZIKOAywOeCwFc8gUx0bynRnxI4hYJ4pK4JQpGVDafRniorA8cZI1PWRTZhtEZGfZ9m2GRZd7/19zq6e653X27+97uW80933fm9q1bt+qcU//UeqpumrjAqKysrBpUzgK3Nbg1rpeAa4dgBIvjIfgQwgvA+QYXpqWlncXvC4bSUllTgCUd+vUC9wZfAb4cTPBUBztBZ5BoIXgLeBN4GXg5QFWKa0pSSgEIgKmBUuoOzgbngLuBnQILkrZEBNWX4DzwEvAqAOo0rilB2gPIqGUGoTR+Cb4OXNPlJXMK8i0FTwfP0r120hJAAE0VGJ81zHDwYDCbKh2JTdtM8FRwHsB0XjcltAIQgNMKBr4PPAzcTDdjR5B3J55PA08EkIoixHXNYy0ABOCw8zsGPBTMUVQqE0dxM8DjASR2xl1NrgYQgNMR1hsLZh+HzdaFRGzOZoHHAUhfu1VxVwIIwOkCgz0NHuBWwyVYrrnI70kAaU2C842YnasABODUhcR/Bo8EX2g1TqTCYo00Cfw4gHQ4UuREPXcFgAAcynEX+Hlwg0Qpr2k++yH3aPB7AFJZsnVIOoAAnvYwwhvgHsk2hmb5r4S89wNE3yZT7qQ1EwBOVfCzUH4t2ANP9CigzdbShrRl9K/b80ZSaiAo3Azivw/mOpVH8VtgOZK4E7UR55ISSgmvgQCeG6Ahh6UeeOwratrya8O29qVqIaWEAQjKVQOPh0zzwPUtyOZFic4CtOk82pi2ju7V2GMnpAmDQvUg4mxwz9hF9d6MwgIrEPdWNGkHo3gnpqiOAwjgaQHJFoK5HOFR4izAZZBcgKjYySwdBRDA0w7CEzzsNHuUeAuwU00QbXQqa8f6QAAPh5kcHXjgcar0IqdL2y83yiJy7BhiOAIgCHwTZFkE5tKER8m1AMtgkVEmtktiexNmCMpV5ISNBGy3SmomSDeRQWjOPrVTPVsBZFSVrHkutlNILy3bLHASKfUDiLgMYgvZBiCAhx1m9nm8ZsuWonEsEa7k97KrY20LgAAeDtVXgb0Os2PlbmvCHJ11B4jiHuLH3YkGeDhJ6A3VbS1fxxPjP/pCo+ziyiwuAEEAdpQ5w+xNEsZVDEl5mWU22yjDmAWIC0DI9U9gb3kiZvMn/UWWHcswZoq5DwTkclWdC6MxpxGz1N6LdlqAXo390R9aEEuiMRU+wMM2lC4Z3qp6LFZ33zsHIFJHgChqf6KomzCApyoyozOYBx73ASFWiViW7xtlG1UaUQMIqT8N9pzBojKzFpFZpizbqCiqJgwIpQM8fZi9ZYqozKxNZC53dEZTZtlR33INBPAQbNw94YFHGzxELSjL9g2jrC29bBlASI37tnpYStWLpLMFWMYsa0tkqQkDIrm+lQ/2Nv1ZMqv2kbh5sS2asog7YK3WQNxu7IFHe1xYVoBlzTKPSBFrINQ+XZAKj2izCraImXoRtLAA9+J3Qy20Jpy0VgA0BwkMCJeIrs+OFBSI00eOxiV+jcyfiMzWreNKw8UvzwWABoaTLyyAUPt0xMvrwiWg87PFo34jdq5YEZcKzXr2FH3f/Htcabj85U4AEVcdTClSszTW9C0v8EKyQFgMhJzTQe3D5X6eDJbylPnTLHHNH/4QlZ5fPPusOPJ9YVTvaBp5ELGAWsj0uL2QAIKyY8CRaijX2mTrRx+JVjfeKKqnp0eUsXp6hmh0ddeI8fwj8B0rdPbECVE4b55oM2SIlehujEMMEAumc0OmAAHiWuEFHmipJa179TXxr6eeEYvvGyXOlJYmTQeCZxFkoCyUSWMaamCikgqmAEIsHqUbrnaqlJBbAlhQ6ye9JcXZ9/U3SQORAs++deX9T8qkMYiIBWKiElUCEJDGsGGVYmoQ4A+eKtWrS4lDgejgho2iZFfU7i+VrFC6e5c4uHFTQHgweKpUK/9f1BxEwwxsBOhaCUB4mgNuFhBLgxt/8GQ0aSJu+Z+ZomXfPlJyBaLTR46IgpkzxeybbhFz7rhTHC0silszdqTn3H6HTJNpnz56VDZbquZpkZMjbpk9S1AmksYgIiaIjQCqNA8ElL2HGCMCYrn8Jhg8ue9OFhnNmomys2fF54/8XhR/lic1YE1wHmGK0qpUEY27dROtB90qWvXvr4ItXYvQMS6YNVvs+fJLUXaek7blxJrv/Jkz8obguf4vL4o05FuyY4dYcM+9onT3Hvmsw8hfi06/e9B4S5vLFIzGAjrTAQACeDhk2QuOPHRxic6hwKPECwYRwwmunw8bKkdpF9enM17sdPLAAVE0b77YPH2GKNlZ0ST6g0elThAtvOdXomT3bhmkIYg4ImkEEPlGJsEAGo4IU5TCbr9GAo+SX4HoSMF3osOokSJrwACRVpWeufZR2blzonDOHLF+4lsi82c/89U8wTmkQE00AgCaqvQKBhA983PVQzdfrYJH6UAQkdicOElW8qkEovtGik4PPuCkWHamvRAA4o4cST4AofmqgZAj4Jrlj9z7N1rwuFETjUF0CvbMBIhO067+AMrGfXlvk09cSk6D5/yPP4oT+/eLk/v247pPlJXhqJFLLhE169UTtRo1tDSzbdV0GoMoBwBaQj3963MCyNXkFHgO5+eL4rwlYjv44ObNIW3AUVu9dleIptdeK5r17CEadu4cMq6VBxnNm4sb3pnsG52tn8hPYQgdmjNiRQLIvwZagcAeVMCNxLUtLgmQOBzn3Eqdyy6T97H++WH+ArHu9b+JY9u2xZTEJZe3FVf+6l5xWW6uILhipWM//CA+vnWQb4rh2qeecPva2UrUQD2prwSQMXyn/2v59G2slnDwveDZXbNhstXsOXez+qW/VJpBZu3SvHdvUfvSS0Wthg3ADZFkmjh16JA4efCgOLx1q9i1apV8z3/up06LFqLHs8/EVCOpEaKaq2rY8SrRb9JEUa1WLavqJCMeJ7rqAkSlCkDsVc9PhiTR5Bk3iNChWfvKq+Lbf7zty7ZWgwbiynvvES1/0Q99nEa+8HA/fjx2TBR8NFNsnDJVcB6IxBqI6XR64LeWR3qagkeZ5kYAaIECEB2ouWTveooVRHxv2WP/JbYv+VzqSDcPFni7u0aIqjVjG3hyxjn/gw8lKM+ePCnTbdSli/RQrHZx+FP+NAcPdeUnOR9XAPoYATdLC2jwJ1oQMf78EXeJQ1vypXZ127QRfV5/VaQ3bWqLtuxDLQc4D2CBltSwcyfR7803QjZDKQAeqvkxAHSr6vm1ZYguxP5BzuuvCbXifuS770KLjmaLNY8CT4s+OaL/9Km2gYcZ12nZUvSfNlUwbdK+tesE/a0JlFDEWXESBwTUxeV9HjM1LpfyowPNoXyWWQw3hxUvXuxbtOTyRKgZ5rUvv+Jrttjxzn7lZRGpeYlFb+Z//Usvipb9+srX965dK0d4ZmkxLmUmcXG3+LPPzKK5PSyL2GENRPC4dvQVyoob350iH3FhlGtbZsTR1rdvT5aP2Gz1mjDeLJptYQTGdS88L+pf2U6muWHyO2LvavNtVZSZspOULvJGnz/ETBYBpFXzRfvSGexoURF/ylX1UAujHKqT2GFmn8eJmkdm4PeHIOo14TlRHc0sh/qrnngywN1DRaXM9AggURfqpCG1ZfPlSgBx09/ql/5qalN6AZI4dKbjvBlxklB5CnK0ZVeH2Syv4DD2iTr/x+/E/41/ThwrLhY/LFxoKidlX/3CSxJgK8aOFelNzDv1XR95yK2bFyWAWgcbwA333DEaadMfncFC+fNwhpnEeR4O1RNNbW77d7H+rX/IeaINmHcyAzplpw67v/hCbhEKtU2oPWa7XUqtWQPxnGdXE/dtmW2joSehGXFtSy1PsPaJdZ7HLG2rYRwhErhsRg/lb8XIbK3pTDV14DRDMJ0pLdFh31k9Aqh2sPBuu+emv2j2bXFhVBFnmJNFrQcPEmv++rJsonauXGUKILrSmrnT7v1qtVxkTZbsFvOtzU606wFkURlftGLDB5prW1aXJ3wv2/jjojp15Oo9k+QaWgqSBJC1LZaaaE9/nkNbynfhcmE02dS0e3cpAjv0ydzk6JAdMlKuBqIzmCKuqiebOP9E4pD+pJ9syZbLpvxTrwmjJ6EiumQkm2ri/CBFpw/TYzilKPUARDdUReX+POouOdcamRWfTzt1NDUBlBzLOpRr2bnzvpTj8RL0JRLnj2q1Ktw6zpZWHq7HmXzSX2cf6HjSpbBRgBqZmb7U4j2+zpdQHD9O7K2oES9uEN8mxjjEcOrV4ykIoIo+h/IWdMp6VtL1P8Ahwyb/Iyv5JihO6gHoJ61aSR8bGvDAhg0JsmPobI5v3yEfsjlNb9w4dEQ9n6QegLhsoYbO+7/5JunFsgsz0KTMrKyQPktJFzJ2AVIPQLRFoy7l+7XoGXgKuymSRaV79oj969fL7FsYjmbJksWhfI9zLcz1nWgeaGm2mCpP2DA5loXOWpumThPnceDB95/OEe3uvssh+4VPdtvC//VFuCz3F77f/j94TMzmaTP8g+RvLqZqQBJAh9wuaCg3h2qzapkuRNaDR2BdnJBxGL7SW3Dsys+H3imqXHRRQtXkLo2N702RedKbgCd2mBHPGFK1lNlzl4cdYg1U4EYheQI8D/E2IzqUEVR0WeVIy8wn6Aq4Uqz84xPyLJ7N06aLdnDrSCRtfOddcWJf+RC+w8iRpllTdupAIshCOZTRFi6lgjQ4Rt8E4T5xqYCmYtH9k0fUka5+7FFxxXAeaxRE2I3xyaAh4jA8Gy/KyBAD//khdpw2D4rkzG0pDpCafTP8fFALNWjfXvR/f7ppRpuwMfGr51+QzwZ+8N++lXvTyO4MvJnzQOWbpdwpoKlUbKI4XCex/8DDnSpRWpoEF/YuiR9LSsRSHHWnjp6rFNfGADqHffbbByV4mOzVox81TZ0ys2YkURe6nmhI+QRQIZh7nbWidneXu6nyWLnCuXNNZW9yzTVy9ykfHty0SSwb/Zg52Ezfjj6QK+5Lf/+o3EPPt+kN2aBTR9OEeJpZya5d8pnSxTSiewOJmcIq+A/l7jeCSCtq0aePb8Jw/ZuTQm7i40GWjbt2lbptW7RYFrATNRGbq6UPPyJ2LFsu8+Imwy4P/aepTbnhkEfhkej62qJvX9N4Lg8sJHZYA5G0asbomJX3wIO+41Dqtgm9L4DbZ3L+9prgqRckgmje0GHi+Pbt8t6OP8ex82LuHUPFtsXlGwTZHPXG1h6B5jMUqVEZwUxdzPyiQ73rknDptacAtNElQkUUg+BZNHKU4NnPJJ4Ffd2LL4Sd5eW+sL4T3xSNje9h8BCpT4fcJjZg0+G506cj5hkqAmsdHgo157Y7MCr8Xka7NPt6kTv57bCO/HIXK47/5U5ZEs+U5icRNAORPF1dHa6gxfEuCjxqicIKeGQJGX/YcV332usSOBh9ytB0HOnCvspPb7lZVMdozQqd2LNXFM2fL7jz9NThw/IVdtavun+UuOo391tJQsaRhyw8jHOs8/LkfUP0l/oB6Jrskw843iUdGtAS1aUmLvwTL3j8VeLcy1cTnpfbbVR4VfRF6nfoIJu6+hh6c26J8y/so5yBH0/Jzh3y0ISdK1bKqQH1Hq/cytzl4YfkHi//cCu/NQURO9AVB0xRUfxHrsClB3+7kbb+E0fcPf2MFI2Fyk8ZxHXEHWqg/A8+kLPFasU8Wr3r4lOXPJ730pzsaF8NiH+sCEfc/VvFEXfdn35StB48OCCOy24Cj7ijcAAQS+ePLhM0QBw2P+ogSn57IvedtwUPqoyXdq36l9j64Ydix9JltIOvc26WLpdIWg0cIJr36inqto1/V7imJ7X+CU32E7SPb5gAw/HfqLwxNrOcS8KcAhHV48dYqtaoIXe10gH+xL694P04RaOpyGjaDPvrm8it0uFGV9GYSVPwUEXfMb/+AKqBB/T6ju28NyabIKoEIuPjKgnK3pZsNAbPKRjAd9C4Gsbjn0qePL7UFus4nAj7HR3weQASP1yy8O57Az50YpY9O6tkp8lKPhqDh+ZbamBFmtIHIMOw5qt+xkM3XUxBhK/hmJEa6XCB8/tPPnFkOYNTBEybefATU6HAqjl4aN4AjPiaMD5BP4jD+b1gXrWgSM2ZAo+aa6FStn/uCXNCXNQN+NwTljJ45B0nDRWlAHhKoUvozz1RUYDoPVxG8LcuVOkTCMboLBg8HP77r4PR0d32D84BMOqjdlwPUyBKAfAQDlPQfAW4dwY3YYzk+xYUb3QgLpgG9InwUTd+PuDzoFne2z7PE5xjUa4gXD3n4U5mLqWR9OY7fJdpkJgm02Yeat2Np4SwOaMsAV8r1OvzTv6mqISNgCaMMVEDEVTF4Ga814n8ayL/z1uaLRHwtIzlY8bI76Y2wAx0/xnTolKVC7J0RaUnYc9x4wR9lBRx1pyfHFfrdf6yEOgafRtMqcTrTnAL1EDl/zHGk0o1kBEhOmsaiSX7Imuikb+WYqhmxAw8jMAVc87txEt0Q/UHD9NTi7eqJlKyaAweqjUtGDwMrAQgBoImgp0f88qs7P3jD6JQ4LE3R/PUgkGkOXiIBWKiElUMEfweAWlFaMpmIEirzrRSgSDirHEWtvwkc2VbgYgr922GDFHi6XidQUyYCW4KICPieFyHgUPVUmbpuSYsmgLjHiyeSRgNWd23RRBFI0s0MiQoLvs8xIIphQQQELcFtdAsvKX1v46p1kGB3CLEUZJHphaYRSyYPkFgpNplXKgXvfALxgJhMVBpGB9sFtRCcxA2IDg8Fe55Gn68ZwjR6SwTfkEpSnNR+wwMp5sVAHVBAtw+Gam2CpeP90w/C7Dv0w0AWhNO9IigMBKYFC4R71lKWmBSJPBQ64g1ECOhGeNJkdz604D3HqW8BfZDw7YAUPmOgTDqRqyB+K6R0Ogw6XiPUssCo62AhypbqoEYEbUQ4y4Hu9bxnnJ6FLcFViKFXgBQ+b6nCMlZBhDTAYja47IWHHL+iPE80tYCXLLoDPB8a1UDS02YSsxIeIK6964pZ4EJ0YCH2kdVA/EF1EJVcVkC7sV7j1LGAuyeZANA56LRKGoAMXGAiH4QX4Pr894j7S1wABp0BHh2RqtJVE2YStzIaDjuLXW01Hve1ZUWYBkOjwU81CYmAPFFZLgAF68/RGPoTez3sCxjopiaMJUTmjKOxtgf6qnCvKtWFlgBabMBII6+YqK4AMQcAaJ6uFCQy3nvkTYWoItGT4AnrpPY4wYQzQUQtcBlFTh+J2Mm6JHTFmBnuTvAUxxvRjH3gfwzNgTJRVjEtRP/97zfSbEAyyjXDvBQelsAxIQgEI/J45nTJ3nvkSstwLK5ySgrWwS0DUCUBoJxHeV2cMydMqbjkSMWYJncbpSRbRnYCiBKBQE/xWUQ2KuJaBB3EMtikFE2tkpkSyfaTCJ0rLlqTzBVfHXWLKIX5rQF2Odhs8XWwXZyDECUFCDift+FYG90RoMknjjaYofZsWOcHQUQ7WUM8Qkib56IBkkccZ7HttFWKLFt7wMFZwT0FyOMM9WcbPQoMRagrTlJSNs7So4DiNJDEc52ZoOfA3sLsDCCQ0Tb0sbZhs0dyqYiWcebsIqsyn+hSbsBv3jOjOcKEmyc+O7pksFV9ZgXRmPJPuEAopAAETvV74M9pzQaJH6iM9idAA87zQmlhDRhwRoZirJJGwf2Jh2DDWT9nrajDbOTAR6KmZQaiBkrQm1ER/03wJw38si6BVYi6v0AjmUHeOtJW4+ZlBrIXzzDAGzK7gFzQ5tH4S1AG9FW3HqTVPBQzKTXQBRCEWojzlr/GcxTxJMObiWXS67cq84t5o8DOK7xenAVgFRBAUhd8fsp8AAVdoFf50L/JwGcNW6zgysBpIwEIPGLtWPBXJy90Gok1jg84GscgMMdMK4kVwNIWQxA4jLIGPBQcDUVnqJXjqx4PuV4AIfLEa4mLQCkLAggtcLv+8DDwKm2QMs5nGngiQBOEa5akFYAUhYFkNic5YC5N20wOB2sI5VC6JlgzsznAThstrQiLQHkb2GAieBhH+mX4OvANcFuplMQbil4OpgHWBJE2pL2APK3PMBUA/fdwdlg1lDdwNXByaQzyJxHBOaBl4BXATSncU0JSikABZeIUTtxkrI3uB24LTgL7BSoCJZCcD6YTlzLwMt1r2WgQ0hKaQCZaQ1QcRRHEBFM5NbgeuDaBmf4/WYY6bgfl/j9PojfBWAChlwIsFxQa3v/D/f+xzdcuAZFAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAOCAYAAADNGCeJAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAE6ADAAQAAAABAAAADgAAAAC4HwOVAAAAnUlEQVQ4EWNgwAJ4eFREOVmljnCxSG/FIo1TiAldBmTQv5/f9jP8Z7D+z/ifH10eHx/FMJhB//8zaDMyMlxlZucKxKcZpxzIIC5WqSucLFL/QTSIj1MxPonBZxDQtYygWAMFNj6XE5RjZLjPwcNhiBIBBDURUkC18IJZNMINBMc0LCyIoDFi88uXO6+Z2DmdGBgZjjL+Z/xAhBlwJQDBJjiHEw14DAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHKADAAQAAAABAAAAHAAAAABkvfSiAAADHElEQVRIDb1WTWgTQRT+Jtn81FCN1IsKliK0FVrxB6UBpadScygWKh56E1REqAfxKPVib4Jg7160Cv6AIDTFIipFKtRa1EPx1JP2YrSitkk26fjerDu72d2usakO7M7Mm2/eN/PmzbwnUEMZyn7dHwH6pRRHpcBOSLlDTRPik5D4KIScWgUejea2zv1JnQgDDGWXTpDCqxKyLQxnjwmID7Sgy6O59ANb5q0DCS/1LbWUyrgjpezyTqilL4R4FTcweO1xesGL9xEOZb93Q1YeArLJC/67vshDRAdGc40v3POqCH+TTRJZzA1af1uYRNrjJtWEbMaiiZn6d+ZdnsgnYjhkm5eczyp8ZhtPxrplk6Xb4lGE7I3rdRBLTfifdTMHoxQhu374lPpHbQ7BlxoSb2pReXo4hY7Dhg/6btrEzZFln9wnEDhg8AtCr8SapSEl0JmJYUuTwF6qg8q+I3H0nKzg2xeJ90S+8lMGwdic/QY/V3SwgQAWnh9JobmteleFZYnPixVs2x5FcpPl6H2nGpSOhfkyrl/8EaiPuQzrbQwcV8JdrdGqwfHbK3hyt4hVMkuEho4NJtVng7x4W841c0X0Q+wecbXpmdK92eclTIwV0dwexcC5BjTTYsZvFTA3VdIYB61FToMefeWljiS89falCYOO8eyVFLqPJ8BOFCVrs7yWQmuXEVCIqQXMmHgSqJShnYKdg/vxZOi+tHoJsWhwPCOXadXSkEamN4GZp6ZyivaDBuZflyHIRpneeMgsZ4i5Ihw8HVF4a3eHocyY2iww+8xEY1rgDJm1ZU+1F6+lhbkMjtQEGF4LZJYkYnHHZJ1dMfBHzxWdhiO355uO/9giXTNXhNMCjtRa6mlMjBVQKvjvaRAZ43KEDyrMwVzKFpwW0N2/HwScvFcEf/UWxUFKtE0uZJem/1XE4JTjRi6d4UXre8g5CPHn692Jf77IW7qtEU2oIjLlIERa2y32aw6QqBRjwI72DNCE3FG5B+UgG7NTlURV5TM+QpuUcxC2O/fXU3gu63AnT7Ye7TS2wF3/t0TYTcrtjUz1fwHpRiPR0vXzXAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAD6ADAAQAAAABAAAADwAAAAAHNtsJAAAA40lEQVQoFZWSMRKCMBBFwcZexxm4jbU3oKPhhtLR2HkA9QKWlnZaxPczCZOEyRh25pPk/3x22aWqCsIYM4I0xk2BN3fllBMWPGkP4Bamny9B1mAAV/AGL3ABPWiBN/rVWDNCAyaQi68TZFQFNiqeyuiNT/YdUCZBe3GKD2iVjVUNPGujUhW6tJu/w23g9k5jMX2kQ+gbFV0kBAdp9gY9CGhbgpqjsCVFojtIszdoYqivnfM2Nd8dcQyFZO+1R8RTzpqGDam5dFQaZx2ZdYD895PI2CyMntBbQfh7agoao7hlRow/lomUvYPi1ecAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAATCAYAAACk9eypAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAAEwAAAADxvPoOAAACH0lEQVQoFX1SQWsTQRR+M5sQQtoSbG0vggcvEasXES9KwUMO9Rc0B0kxpfQi1iaQFoqR5iAu9ZAeykIlrWA8FzyIFnvwKF4CYk7iQRCFaikbwzI7M35vZUMpqQ9m38z3fe+9eW9W0DF7ub19VxCVjLWXGBZCfILbmikWn8Uy8EStVmvC9HrPLVE+JtgzCYz9G5lO3ykUCj8kE2G3u6O1zhtjutbaFVS4zivUeoWxMAzzyvd3WCuam5tFZGli7wspr83Oz3eYiK3peTkEfcB5CNlnpTJmDhkI2eonxRzEGKrWjdaktJ5L6DCc5Ls6RHssGGRWqT3NhBCTCZRTZC1ZxwkGiRkLiQIkJpJSSa1UO7qSUjdODQCHoRCu1ZaI20UV7uFRo9E4ezKIMeYijTG7wvO8pH9w0EZjOUzrm5TyQcradxwYGHPLCPEUVz6HR+wMj41d4X7pydraBYCvDFGOAX4stniPcXaSyeTtxeXlLxgO0dv9/d/TU1MvQmsxZXMe1bJYyGG/gt5AxdLi6up31kYVeBOb67qZ3uGhz+d0NjtUqVS6Mcc+cfwQ77nB06xf4WG1ugHhZQAS/9FNDkCj7+FwtO26696LMP7UarUzwdHRTwgcvjs8w9xDtIfXqZGRceh+9StUl5augrgorU1pY7Y4wJGyhLEGSPD58fr6R8b6AXxgK5fLGRsEUdPDo6MZZP3zj/nP9/7CwmtegyR/AXhaIId0U6xhAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFKADAAQAAAABAAAAEwAAAAAA/SztAAAB40lEQVQ4EWNkIADyPT/m/Pv/v4GBkeEtMwND5oTtAvvwaWHEJdnQ8J/p7YkP/UD5PIQaxt8MjP8zJm8XnIcQQ2VhNbAh4T/H2xcflzIw/A9CVQ7hMTIwtk/czl/NyMj4H10ew8DKwE/CX7//3QRUaYWuGJkPNHSVkAR/fMMCxh+o4ki8Et8Pir9+M2z/z/BfHUkYD5PxOAMjs//k7byvYYrgLszz/mDM8I9h6////8VhksTRjPfZWJm8ejfz3QCpZwIRBZ4fPRn+/j9IumEg3f8Vf//5dzzP+70jiMeY7/EhFBhey4DeZAEJkA8YfzMy/A9n+cfwfwLQEAoNAznjPyswrU4GeVkKxKUG+P+fQRochtQwDGYGQa8yMjJ8Byo+BbSdCZiQzYARxw7TjI3G70JGhstM7Axak7YLOkzeIWjHwMyoC0zQN7EZBBPDayAzI0PchA2CD2CKJ23hv83EyJQM42OjcRoI9N7rCdsEL6Br6t/Gewwo9gVdHMbHaSBQwQeYImQaWiB8QhZDZjMxMDK+RxagiA00i4npP2MN0NC/mAb9B+dNTHGgCCMjphzQDJBZ4MKhMPSjEMMPJkmY5j9/GP7b8vDcDFuNzSIGhplp/1lvPP+iBlMPpjn+Pe9fzf8OAGjgjgI0HSTiAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAVCAYAAABPPm7SAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEKADAAQAAAABAAAAFQAAAAD8tf6CAAACFklEQVQ4EaWTwWsTURDGZ2bf0jQ0klI99KDoRREVBOvBg0IOYlIInsRCsUWlx6SWiifB/gHS2op4EkEsKD1Wq+AhYE+CYA+tFjwo3qQs2W5qTLv79vlm8UGS3RSLD8IM33y/yczbXYQOZ6JYOxEE8gKXhbDezyxm1pKslCSW85tDgR+sIsIZ/klfrowX3KtJXmwX+Z8ZIFJnHyz1rnD91mD1tAzhk7DFyfZJYhNIKc8DwjMDcwPOkfCJWYk1c2INTOFfY6yBZVnLSqkbPLZpEuUhjPJlGs3E2B1woXTJGwMMH+viqgKsA4TnyLKvzb7ueW5AE1saTBVV2vG9R4DqMii1jIjdSoENgGkAdZiIbs4u7XtlYI44nveOCRucTCrTcGpuTT+2easnOzazgL+bjRODW6ek8j9oZHruTfbuZNHbHyD0UQhyfceXG86W+xOQPqPCCtQ3+5vhKMfgFwLdAYXXS4Wqw0y4I9exlK+qmFkLepIfF6+kKlx7t9DI6VUOJflEksgaA2Sr0b95JxsIvQ9UN0J4MVeHLx+DjsbmwvEBAUPlNPQeIKBywYWXD+uR0GzaLWeYGWZjL9JuYFKtZYUkQ5LG65oVBI+x18N3dW/Ei7D/XoH06/p1rxMYP7OkH+NRwK6DSDSihacI+N0Y2iPXIo/2MsNsy8dkgNtF98h2oHL54VSOtbfzjUqXwMr9xew34zHxD1YhzT6/e40PAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEqADAAQAAAABAAAAEAAAAADgaeE1AAABTklEQVQ4EWNkAII8r4/ZDP/+Vf9nYJAE8YkHjL8ZGRiOMHH8T2LM9/po/u/fvxPEa8ZUycjAuJ/pP8M/a0wp0kSAPrFhYvzHyIZPm4AIIwMrOz4VILn/rCy4lDAyMTCk1HIz6FqwMvz8/p9hXutXhutn/+BSzgBUjh1oGrMwqOiyMDQmfmI4uPEng18SJ3aFUFGcBr14+I9h+cRvDO9f/2Ngwet5iEk4vfbu1T8GEM5p52YQlWZmWNj5Fa+LcBoE03X/+l+GdbO+Mzy7/w8mhJXG6TWY6sd3/jJ8/gCMYAKAoEF8QowMbOzA9EsAsDAwMj5j+I/bxiNbfhEwAiLNxCrCt5aBgfEGUarxKAK7uST2P/fvN5+CgS6TwqMWReo/038Ohv+M+f///xcASRD2PIp2VE5BwHuFfz8ZVzH8ZzCkyCCQsQ2h/9neffuoCwCIVmEsas64TgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEKADAAQAAAABAAAAEgAAAABOlSKSAAABOElEQVQ4EWMs8Pzo+Y/h36z//xlkGEgAjIwMT5gYmNKYyNEMsgdkIUgvE6k2IzsSpJcJWYAcNn0M4OFnZFDUYsbqQBasokiCxRN4GESkmBi4eZkYNs79zrB3zU8kWQYGgl6YVvOV4fDmXwxP7/1hkFHGdAVOAwRFGcE2ScgyMVh5sjFsmP2dQVQaUzmmCFCbriUrQ+MifgYVXRaGuHIuhhUTvzHcvPCXoSfvC4rzQRwMA4zsWRmCMzgZJpd/Ycjr4gH7+crJPxgaYQIogaioycwQksnJMKnsC8OLR/8Y6uM+Mrx//R+mFivNmOvxHq6ChZWB4S/QMmAKIxqguODPb6L1wRVihAFchkgG0ABGEhyMbirjfyZgvr6ALkwsH6SXhYWRKeLP/38tDIwMssRqBKv7z/AYqLcGAPmnVtVl/PyVAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAASCAYAAAC5DOVpAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAE6ADAAQAAAABAAAAEgAAAAAdD3kWAAABoElEQVQ4EeVSTUsCURS9bxxTnEQrCmppixZFqwpa1UKCoh8QRLSqpYU/IFy0KGjVPkEoaBH0sSha6bZNuTNblBhCSSSlzowfM7f7HEcNBJ22HXi8y5l7zrxz3wOoAxHTtP6CqOnBeEEOY59Z/TG0/m3yXe1OF8D+mbfIGHgZY1WhrvInHypdGbQ2qTLAW1qTiJvkfItZtbWv6/olUdPN1swooo2K+af438xSCY37GGZUTGWeNW/hCzlpGb9ORmp/Mm59XuZf3191kPO6jxIO8ZnR8I2IvR4GCysO4LsJz4DB8Zsz4XIbnNtr9KWSRlSRGnz95Dk4IsBq0AU9ToDxGTsc7RahUgLYDElQVgFGJ0SI7MlgswNs7EhAz6HWdxVWQCJzwjB/Y9O07uWCXo5dqLi9nEO+lxQdicObEwUDSzmMnquoyjoW8xpehmXcIu72VMFsRvsg/QEtsZEnsJiLIcKcGUWkE3BUO4yTCXB8eN23xnt5zLboZNJOZD7adt8sc//QLG95SCRgyBq65m3ahKCgwx2C3uQ6urOSQ7RHzLYfCJXetLQbuw4AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAATCAYAAAB2pebxAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEaADAAQAAAABAAAAEwAAAAD0U8BhAAAAzklEQVQ4EWPM9fzky/D/7wwGBgYpICYaMDIw/vnPwHCJiYEpn4Xx/9+ZQI4k0bqBCidtF2D485uB5eLR30YLO7+uZCLVAJhlLKwMDMYOQALoAyaYICX0qCGYoceY6/EeGEGUARZytE/eIciIrG80dpBDA8KmcZgwMr7AtBO7CIZLgHF3jIGR0X3ydgFJEA3mY9cLF4WnE0ZGhiPMTIyN/VsF9sBkgQbtArJ3FXp/cPn773/9//8MNjA5FDrP8/2BPO/3jiiCODggdSD16NIA+po1N9fHbx0AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAARCAYAAAAyhueAAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFaADAAQAAAABAAAAEQAAAAD9m7TOAAAC/UlEQVQ4EYVUTWxMURQ+5743T0eHN8NCQitd2JSkbESKhagm02kbRNrUQqNRXbXzIyRCwyQkXQijbSLogqaxkCZC1cyCLqyICAu18U/9xG/fTKtanXeP83DHzLS4m3PP+b7z3Z9z7kX4x4jUTCwhOVVpEy4SiN8A6A0aNHTyss/6RxrgbGDIn1ovQR5hdCUSDQLgaxacz9wiAtjA/pA219V68lLhu9nyZ4iGqpKNkmSvJqBpbaG3r74f7ezESF1ygfxKu4hgn4Z6RSzueZCNO/Mc0WDAaiaiTs1tLPvbLpRApNralLbpuq6LNbFB846KO1YoJ1I7tgIIOgwsWP4/QScnds17wxAFJWTLxXt3UKHScWxmp8Eq6wIC3etM+I4rQlvVRBHC94PsZxbna+l3BBVnNvuTfKaFXFyIGleB3pdLcqeQ4C4X5xnjDWzHpCZGcjkAwUDSv7/a8qm4CAeS24dfWYeIMPl90t4SrkmVK1DXx4sJ6QQQtQPhXD5Wq5yWGxXu2JB/vIzxKxM2nFZxISXtZqedd1LMRTojbblOgeZCz1MkbEYBhwnhEwGVd8XNTHK0jgzC6T7OMxirD/qTDU6ucIk5TYiQ+iWEt9Z7zJgSTX5JcV/SOZDYogls7k747iPyhfweX8aTQW6tMuXzqU5Fd1KBOB53vxQIIT7aV93Axuy+jA2YT4SuVXI5vSAl33vucHvMHl3DSl7lg+HSShldHT2PkxnWns0TxRknbxIOjK4K+kffBv1WRR4EoYC1r63KOpsdz7RUdnC2eaj221JAe6pzwPNe4c7rSo/RI9SxvGvQfKziGdFolPTPt1M9gLS0O+GdsSOVoGykjtzpcesTAsa6El4u9J+REXVCTr8Oj1j8A+FN3WNui/U7P9PMEd4yWmJPwnMUeKAr7u3IZ+SIOqAj/HDEOsbCDdwqF7kQV0HDF+lpYQghi6VNW7lw9fwVnuiMm0fzBR1/hqgihavHSkmm+RWh8xhKuHVsZr/lhASB1tudmPdRcfPtD9vBLmBNuMWRAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAUCAYAAACJfM0wAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFqADAAQAAAABAAAAFAAAAABm4WA6AAACtElEQVQ4EZ2UX0hTURzH7znbnLqhloHLl6igxAdD2K5l9ZAERU/10kM+BNHD7u6sLdPZiwwCH5aw6Wx3RPhghLFeeojAl2IgqLmgKHox0ocotx4sc2lt956+G93rZeqdeuByfuf353N/5/x+5xBuG6Onq+vw33y+k3Dccp3ZPBqMRpfLhdFyDj63uwPQKY6QGvi2LuVyM7e93oPl4kxGDj6Pp5Nx3EMTY+cikjQ2nUo9O8HzWVmWn5x0uSanUqkvW8VvCfa73X2MsT5C6dmwJL1XAdOzs2/bef4DbE+P8/w81h9Vm37eAE4kEqbG+voROF0glZVnItHovD6gIAP26ZTLNSEzNtbudFqxk8lSH9Rjffj9/iq2ujqO7dutNTWXQqHQr3XrRqnX6238I8vPAXlT19AgBIPBvOqlFa+7u3ufsraWRJGW9zgc58tBC4DQyMhXi812GuL+H+n0RCAQqFXBxYzviGL9qqK8BvRxJBbrV43bnZEp/ZnJhBVFuWix25sHBwezBMrqpcXFLP4QisTjge3CNvO7KQj94PRWUXrA1NrUdIMRUj0Uj1/ZzHknuplUKtnmdDpx0HtpoVA46Jc7ARj5IuN3+Gq14hk578ZmLheEi0B8ojhAFKUdxWUcY6/qHI67qI1iFGsILkIF4RsADZTSDkKIOS/L95fS6avQHdo1+JYoishybkiSHCoEPzvqE4QcHqdr6KJRVV86G5+xorTA4ZE+CFkzZN8DXYteXyobghVCbGjFbGkQDncFO7GV6vVrisDfaDltq3pjQaYoXqmuzLq5kIzZTGkCBVnArfmMgMJXHKDlcJ5tWIz/V2kTJSSD63vdL4ovMGsNQBg7hiQvU6tVKGbT4/E4QJHQStrrBIoFb3EyHIuFNaJOwHv9AJkdQcx3nXrFUlExcG94eO4ftRsDd6N5rY4AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAVCAYAAABLy77vAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEqADAAQAAAABAAAAFQAAAAAoiW5FAAACv0lEQVQ4EaWU70tTYRTHz3N3V27iljjnD0IMnEa/SCIopGB/QGZvMpSQCmXOiVvFIBASQQgJd0Pn9qLeRL7wndBe9G6QIPUqX/gDN6EIsTmVaStbc7tP59y440p3FnTguc95nvN9Pvc8556NwSHm6+s7zfP5qyRhBsPbQDC4WEwuFAv4XK5bcj6/wBm7oAxZnh9wu9uL6ZleQMkEDwJjF6XJyXnSeN3u81yWPwgGwxm9zPQzkuUrCHmpQgik+Iy9UK9Ke1rTB2kV/+jrgwRhFq9xl66jcsjHOnRR0dU97axbIxLcd7u7ZVkOobsAgrCH4Mt43dvPQqFXWoDq/wEaGhoy7yQSQfxS11E0C5ybGGNGnM0Iqhc4vzcWDkdUgDoroEcez8lsNrtVJoqZlCyncXOKmUzdgUDghyqk2efxnMViv0fomBQODz7o6bEZzObKUUlaVmq0l8stl9lsmynON/CtS0wQopDJ1Gghip/Pf8fs/JjtHa/LtU1nfmYySxQTVfHjkRHY3toyx1dWTsVjseersRgMuFyf8WCUNJxzZ5nVWtfQ2AgOGk1NUGGzgbe3V0EUQLSiAI1LLS1KcDOZrHs9M9NFi2ttbVBptyv7eg/Dk+Hh2Ld0uuLd3BxUVVcfEJeWlkIykQCLxQLnmpsPnF9eXISgJGEFMnCjtbVD+LK+7pBCIbjZ0QHTU1MHxIctSNve2Ql0FhmN+g15GEETw7oVVmJNbW0cC+Y4Vl6uvKEQ+YtD2VBWO6kUICOmyPHrIFzf3kQinEYxo7ME+a+raZNWP3980O93aHvEXlWl1RX85MYGYK8B9hpQr6HF6VH4rfn7+49n9/ed2LVOhs1nsVrrG7DpsHNJB0dLSmAVAV93dz+hJoqa6BGjMTo6Pr5G8QKIFlp76PGcyOVyTmzp33+vjE2Lohh9OjHxUatT/V/4FUgo48F3EwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAAQCAYAAAAbBi9cAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEqADAAQAAAABAAAAEAAAAADgaeE1AAABhElEQVQ4EWNkAIKCzMxshv//q/8zMEiC+CSA3wyMjEcY2dmTGPOzs82FBQVPZOblMYiIipJgBgPDv3//GA7s3cuwaf36/UyM//5Z6xkYkGwIyEYmJiYGB2dnBqBvbJgY//9nY2ZmxumSjx8+MPz+/RunPMgwIGBlwaXi////DPNmzmS4fPEiAzsHB0NiaiqDhpYWLuUMYOOwyd64do3hzq1bDLXNzQx2jo6gcMCmDC6G0yBxSUmG8JgYBkEhIYY/QK8xwrVgZ+D0mhDQABCeNnEiw6uXLxnik5OxmwAVxWkQTJeikhJDYEgIg6S0NEwIK43TazDV0rKyDDy8vDAuTpqgQZ8/fWL49esXTgNgEiz/mJievX79GsbHoK3t7DDEsAmwsHJxrb147lzl/NmzNURJyCKghKhvZMQgLSMDNhccqyUlJdy/v30LZvr3TwqbbdjE/jMxcQANy/cPChJYt2oVweSBzQy4WEFBgcL/nz9XAV1jSCidwTXhYjQ0NLB9fvlSFwBIUWd62a9yHQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEKADAAQAAAABAAAAEgAAAABOlSKSAAABUElEQVQ4EWMsyMz0/P///ywGBgYZICYFPGFkZExjyM/IeHztyhWgGaSBq5cv/wfpZQJaKaOprU2KzWC1Wjo6IFoGZABFgD4GfPn8meH+vXtYXcqCVRRJsK+zk+Ht69cMX79+ZfALCmJwcnVFkmVgIOiFzNxcBhsHBwZpaWmGJ48fo2gGcXAa8OH9e7Dily9eMBw7fJjBPySE4fWrV8QZcPniRYaGqiqGO7dvMyyeN48hIiaGQU1Dg6G4ooKwAefOnGFYt2oVQ05hIcOUvj4GJzc3Bm1dXQyNMAGUQHwADOl1K1cy5BQVMUhISjI0tLUxCAgKwtRipVEMkJGTY2ju6mIApnGwYkKaQYpQDGBhQeFitRFdEGcsoCvExQcZAMqGuORxikP1/GcBevjCzq1bDUnNkdevXmUA6WUsys5W+/vvXwvQKlmc1mGXeMzMxFQDANHFlXC7Q4tbAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAASCAYAAAC5DOVpAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAE6ADAAQAAAABAAAAEgAAAAAdD3kWAAAB8UlEQVQ4EWNkgIKCzMxH////l4XxiaUZGRgOTJgxwxGuPj8zU72hqgpoFmng+/fv/wuzsr40NDSwgAxjAhFA013UNTVBTJIABwcHg7iEBPeH16/1QBrBhgFpFzUNDZIMgilWUFJiYPj3zxLEZ1q1ahUzkHZQU1eHyZNEKygqMjD8/w8x7OjBgyaS0tICPLy8JBkCUwx2GSMjxDDG//9d1Mn0IshAYJgxcHJxKZVkZIgxAf0LD68vnz8z7Nq+neHrly8wixk+fvzIsHvHDoYfP37Axb59/QoWA6kHAXkFBYa/zMyWLP8ZGJTev3vH8Ob1a4ZlCxcy3L9378L1K1cMEtPSGFjZ2BjmTJvG8OTx48P37tyxjU1KYvj75w/D3BkzGB7ev3/q6uXLZr6BgQxfgYYDHSXJWJyVZfrn//+lwEBUYGRknCEgLl7y8dWrbiA7k4GJ6d+/v3+7rBwcGo/t29f7n5ExGZiM/gCDppNfQqLnw8uXTcCUWcjAyLhUUFw8A+zMgpwcB2AOOADmQIlJubnsIIwsBmIDNQPNQ4D8jIw7wISrAhIBp1yEFIKVN3nyTwQPwQK6GBgy2AEs0WKXJVF0JBnG/P8/KzCW7NFjilCQQYseZWCMsILUwqMZmDQeAA2TJ2QAujzQgOPAwtEKJA4AZlTkJeqD+CEAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAATCAYAAAB2pebxAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEaADAAQAAAABAAAAEwAAAAD0U8BhAAABEUlEQVQ4EWMszMry/ff//wyG//+lGEgAjIyMf4B6LjEzMeWz/P/3byYTI2Nc/4wZe4gxIz8j4//EGTMYGxoaOD6+fBn05///lQwgQWI0w9SgqwfxmWCSlNCjhmCGHgumEGER9BgiyxBQOkG2ajR2kEMDwsYaJv///2csysqSBdGYWjBFUGIHmDOZPr54EQYsHmqAuVIYSL8tzMho4ZeQWAWU+4epHSLCCIpzQQkJZmC2jgCWK7UMjIzvgEVDY/+0abuAhrgBxeqBzhEE4hZ+cfEV71+8+IsexWCXfHj58hrQ5tdAzbn906fDyxWQQUC7dhVmZroAnVEPVFeH1TUFmZkHgP53xCqJJghSB1KPJswAACXscTN1hc8/AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABUAAAARCAYAAAAyhueAAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFaADAAQAAAABAAAAEQAAAAD9m7TOAAAC7ElEQVQ4EX1UTUhUURS+977nzKjYH0iLtFy0kaAfKMpqIZnQokURDNNGiCzmvac5o1lRUkKBC3XeyOibN7kIkRbRKgpamFCrIMIJimrRL5XJ5GI0ZEZ03u27yR3ezKgXLufcc77zvXPPOfdRss4Kh8Pb+OJiM+d8K+E8oxDyy/H5JqPRaHqdMEJXc3bp+tGc49zmlO4B4AkwP7E3gLgGspFQOkm83jaQ/14tvoS0Q9dbiOOMUcbOHW5sHPf7/Tl3ILLf4mSz52HrZorSZA4Pv3X7hV5AGtK0Vlx1iPp8O9fKQhKENe24w/kEKys7aMZir6S9gDRsGLt4LvdcUZT9gyMj392gtfQuw9iBMu1TKysnBgYGFiQun2mHpt1nnE+Ztj0onVfa22sWl5dvAMSkDfpDMx5/Js+ryf/gRCJRBudJdHfcDaogZJ5R+poT8gU7gMb9dQj54cYIPazrJ65p2mZpZyFdP/txauom5XwuR+mpkGE0SOec49SibhGce5BhBbrfBtwx6Rfysqbt5o7zKMu5Le24Mb/gUNqDTARBAoFHpHNjdfVn6K0gvAX/rMJ5A66eD+7t7fUs4XbwebD94WAwIGKZitHB3M2LA4JfYoxMoYs1l0rVwHYP6kXI1ohtJymliF9Z6VTqEpLYLc9IzsKHfEx0GsAO7AXMZot7Lk3L+kQYEy9qEwJF3QuWt6pqFDVvhjGlqmq9R1UPgDSbB3Xqem3+UKSg7ntDweB0p2E0FbkIpqYb177rtudHJWJZJV2VwKhlvfF6vYd8qvpO2oQUrwviqurx9LvtKNXKQtpqemZmFPXdHo3HSzKSOClBWO5kMrMgMKO23SPtQuZJxUHM6/tkMo36vsBTPWOaZkbYi1coFKrj2exX4K4jgb5ifwGpcAriD8lkP1ocYIw9QHcfI/tv+Hl4lpeWahFwGo/AD2hkKB6/U0woziWkEoTm1GPQA5hd8RjqsPE26DQ+8LRcUcb6YrE/Elss/wFsThydw2FRQQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABHNCSVQICAgIfAhkiAAAAnVJREFUOE99U0tPE1EYPXc6LdOE2kI1QuRpJCQmBnGBiWIK0UDihrAhCgkYN+6IGwtL/gH4grAgmrjSjdj6CBJSSYS4MIEBUdQKVmhYUNtOCzNt53HNLWnD1JS7mdzv3nO+ued8h6Bg3Vt7c56oeoCVCcgy+xq63ibHkjK18rfHPTefH4aQw5vhVX+bodOXFSUOV2PpCcRVBXaLFdW8E4tSCD93wlGOs3Y9aO/5mMNlCVhXTjVGQdDW5KhA18mzpv+iFFAVDa9i6xAjf6Aqma+KgOtTl/tCWYIh0TctcNaunspzqLOXFb4qv9czBrZTCUz+WoCe1qYfXe3tPiBY9sU97tNOT3l9UXDuQEvpmIsEMRtalSY6BlxkeOldHeW0zf5TzUd2fx8NokZwoYEvx4YcxeSX+cxEZ38J8Yr+p2W8MDBYd6lo9/lECJ+lbbQ4qtDqrEVGVjHyfQbQtCkyJPrpRVc1Oo835An+agpKORtKOAsYeGVvB42CGx3lB3c0RYd/9xsWttYl4hV9HypsDs+dmpY8wbPICkotNrh5O8SkGZx1RNYw8mMGakabJ8x7aiBwWIOdTBJvpSBkNW3qzDowJ8KyhPurc1R18PVFXVjb30VUlXHFVWvS5j8X2Cl7Rhlv9/RXXYCLF4qKaegUe6k0xjcXEU0mlh9f62vOTyJRjWlCUFsoaI4tndYQiG/iU+w3ZEkOWwh/g420KQte8fVdAjrKxrnpWCVCShwCx+OMzY3ZaBBL4Q2VEOJ92N47ZsqCKVArvluUkifZGqUSCHEahoH9SEKHje87Mo05IjadKaTiY83dcVYbDLxo3bepWyw8hQL9A3rhJLwLBf9aAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAARCAYAAAA7bUf6AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEaADAAQAAAABAAAAEQAAAACOk5MBAAACAklEQVQ4EZ1US2sUQRCu6m4XTDQHiaKI5KSoiA8I+5jdWfei7CSIQVFQ8A94NXgwiAQiwUeQeBJEFPSi6DGsqMhKdCAeFJ8HiRcTCIsQQZDs7M50WRPoodkkLqahqa++rv66u6ZqEHgUc/1OpPUYIrwngp8xZw0EoE0k8ZrvV75bfAKlm/MOag2vjg54m+fmageEFL2k9VpNug4EvzmSAHEDaLrbs237ux+z09+S3QY4mfL4ndsPokajSfH8+OEL3Ri7FTjpMhWzfSeTuKw3VEh7I8a3reJz5sMwEobcuWsH8Ezt3bcbRi+PDzH/aHFNkyLEyMTZVtmOjbu61oFSkgznv306bHCrTW7QuvAvP58pXy3k+k6bmFWJ4Bo5ysk/X8h6V2KhFZ9jTik5/XuakX5o/NhSUy9+MiI6m0+X3bYikNo4LRZqJ2yRGHOGB5GASOGZtiLV6r067/lqizgZ7zr785iShTevJ361FbE3G+xPVQYNju2qEmsL/JcIV/ClfMZbtlYEIsqZmdmwVX2JLzDkRMolPBNKgrz/8sXkRQTx59DhUmdvej9XqgIpJQRB0BOfzmXbyQ14TqMYWE6E2xygVDrS3aiHp9Z3dFxohmG3W8zp58+qKSnEJ/5FPOHrblVS3Kz6E59XFLEXXPfYFh0sHEeg2uRU5TE/N+kfO87GfwGokq234mSmtQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAKKADAAQAAAABAAAAKAAAAAB65masAAAEJklEQVRYCc1ZW2hcVRRdd56ZZFrfqQZpKanWRyxKEfHxK2L7UcmPIEQoiErBVvCFoL1t/RDFLyv4QL/8ahFFwY/SHymWIpJKrW0txkZonDQlapqOk8xk7hzXmsxMbmIyc84k086GnXuSsx/r7nPO3vueeGiSjDG9VN1G3kzuCTGHyIR4kOOvPc/7XRMtJYLqJu8jnyS7knSk273iIGk0TfbJl8nLJdnwyekVAUpD/eQL5JUm2exvGiSVPbJPLpFbRbLtkz0noFRIkQ+SrxTJV8oKJAUVuSsJrhoE+WwcSQr5VY2r8PTrRpGAdCBauecavbN8zzs4tZByQsd+iLym7lu0fnKMLjYwsWflKhby9xLHzuBKAXDqxyLOHp/B3xdLiMY8dN8aQe/dMdx1f9h8yFP9oTAIy16JlSPI6Cm7qxQ5Jc/TBPbFh1MYHw2Q6vJwU08UxaLBeKaEQt7glnVR9D+Xwsb7nIEqer2M4kU+AQJ8i+xER77Jm52PT5jdA5fMiaMFEwRz6iWOfzpSMG8/P2le3Dphjh3Kz03aj/aVwVUAOtXWX4/PmF1bJsxHu7NmOre0x8K0MR/72fKLDJ8pLi24+MxJYYtwTl1Jn36xIWNQXtZV13kYeKUTyTrpNZ4Etr/eheu7IziwP8eVsvFQk+kTtgh/VctkTcOnA4ydD/DEMyl0pmtJYEl9gdz6dAf+PBdgZIgnyo22CaD6OWs6d6pYlu17IG6ts+6OaFn2wvmStU5FcLMAqtm0psl/SoxcpO7SLjR27Y1yA1z6yxlgjzPAgKsUdcwa8QSQSHrIXXbbhHwnd4DlUDTxI9HhIT/dHEAnrcJ0E+io4vE8NaFrtMSjti4PfjCFHw7nbcX/Jydd2XCgUQHUF1hDUln7/ts8Ht6SxJufrW4ov1DgjU9XlXVlQ7YsKWMN8Lefi4gnPPQ/m0JHp6X5kJhqtXRlQ7YsKaPzqO/WpxopyEFAu4PfFXDNDXovd1KakQ2bBF+xPqj2XqVuqJG7XNbg/VezyAw7V4N5pnvWR7Hz3bQtyA3VdkuFuWE9NsyzYyNspULp4vP3cuhaPbt8YSRffjKFfycNBl6e2w9KNWvYK3p2C/AL2617qin3KxuAMnzz2vnW730kjsMH8pgYL2HTQ7Pl78TRGfxxJsCjTyax9vbZMhcGbzkWpuU1rDJQnAH2v5YF2ylGZxbM2EiA9XfG8MI7acTsS7bMVanWsNbaEe5Fn7N7qhIuTy39sUOF2um8bVMMDz6WsF3KxVzt4fLu1UQYYFt+NNU2VOUragdBO5W+xV5/GX+T7x0VLIub0VKTrxZpm9UnImvvqw/BJ8j2vTyqxrcSSZ/PVl6FNHf9VgVZiWZ7XmAuANm+V8ALgOoSXbcQTh/6lBdJx/kSvZaow0BsxnSmLqjl/4b4DzQQT0Z0I+WPAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAE6ADAAQAAAABAAAAEwAAAAAgb1CmAAACBUlEQVQ4EZVUTUsbURS995n6sUgmaXZ+QP9FuhAqdGMCtS66E9wIroy2FCwFpbMoiC2lxeCyK+muC9uiyUaI4ML8CKGU0F2aPF2IaOd6T54zQRjC5C3eTO475+TNO+c+ppixPifpq2tbEqIZIpl0EG4yUX3kgXf44SdfxNBI13vD9yXVatjXJPJWqx4Rt5jpNxAi9EjnvL5aYt7KF7xPvs83WAtHJPZyvp0Nrvi7iDzV4g+TGtr+/Ct9ysy6QYgJv3p28Ti4+f9GC8+1fmRG5MWX/Vznnhh29K9ha1qcFuKlStX7FgLinuWiXWCSr7p28rDgzYY7NADj07CjJELA48+ABad7LCjq4HJRMiSdP/pp9Z1abt6Vk82rs+19mDQ2nJ2CKYblvKRUD2eUTKKHuuN4cB5VIyQzcA2H3YMle3McbrkIqZiaNQH7Q9eSyTgUOC46LotdAwYR6IdVMW4ikMhRP2DcGjguzNzEuiHhYyQbgYwj9Ks5juSRBOCMcOZQnxbJRmGQccex6FfwTKXK5+g1tAiSnVQMWHDADRu/awCaFr2GFkkiuFa0iyLBnnLOwA03EB36wI1O5q9QMK5C7yu13CYEIzH8GPQK0sthVx1dVpmPlVp2/Z4YBDHQr902Y3miTkeXI5wfHc4chGeEaKyWOjsktEJs3sWKOcnk81rJbpAEl7eR1AGyDK8OPwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAOCAYAAAD0f5bSAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADaADAAQAAAABAAAADgAAAADuamJ+AAABZ0lEQVQoFX2SPUsDQRCGZ9aLEYuAirELWKidWCVyXpHCIhc4sLETyzT+ifOPWNj6gRjIiViaIFZRTCEWSixFRQN+JN6tM7tuckiSKXZn3mde9mY4hH/hed74y1O0CpFcAIG3k9PirFwuf8TbMF7YdnEJwmgPAJsEriXAIoDMwIhYr9Uq9XivyvkFO1e4c7LuZhxyzTpzowuTqE+iF84vg12j8a1rbGquSdfEM/AnxQ0mVzrP+Bc9Ew2tZzCodyuduFG6Jt4SD91vJtY117Z+2zsi9IWArxLkBOVjtL21+Pa6L/m+LyCUGygxKSQ+UHOLb65ZL5VKCdJUWHzm8751WrloU/qemsKZIAi+FaXDdd3k2zPsN64eP6WUCUSkESlWcu62nS2cqGLAQVw6y0WfseU4XiZqd7YwMTo7oF/JxFNRp31P/TsCfqJ5+m1uqtXj1jCT5tjAsDNnAcq0EHg4zGAY9R3IENO/ncqIKqelHF8AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAOCAYAAAAbvf3sAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAADgAAAABpzKk9AAABg0lEQVQoFW2RO0sDQRCAd/ZyMdgqYiuIhdhoRMTHD1DRQizEQksxuWhhEQNCLiBICgvJQ7TSFJLaJrUvEImFICm1FbGMIZy5HWcud3qJWbib3W++2Zu9BdE2YpH4JiqRZAxSpDL59KlfAf8iFksMq2/7hV2Xo9S1kUzmsOJ50ptwxIYYouDJjMBlPHdGS4Ee6roh/cNL8txhv6B1Nwcbxv4AKivKC5DBXDZ78Obz/z5vmmbo8712RNoSCSVXmqNGr3r7u3cpX2em8cuI7Jm1r0aPrgVLSqkGoWV6Bqm4oAeCF9WqNTsRnlp5LN9fN8+AahSVKloN65Z27NNAW+SH58w4R72M8eawHU3MIyoNUawh4ipDCZDjqBCbZwEoAohLAGkHbFud0eJBID6z1HEgVlDABrU7GZC6WFDKDoHSUlTU0RcA0yjtpJRa3bkkYytepnbCnt3eEnMAeMqepMedQwPgOZFXr+BfpJzjcKE/uROJz9hKrBN2b5v+mBSF43z6zvN+AE8DlPkLONoyAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADqADAAQAAAABAAAADQAAAAD6UEMqAAACBElEQVQoFV1STWhTQRCe2feeiUHEKkE8WA+92ItiD14KAQVRRDyGIvYmSDCxBiSlB/FRUAyUYE1bzUEQL+bgTYsIRk+9erBoEaR4sv7UCCU1abK747e1K9KBfbOz33yzM98+pi0rFuO9lcrNX8ws+dzEeSH7iET6PO49cE1MU+wOruRKj0loFMHb5K50prP+oy5C55DwlYh/exJyFJEcYuJeODY23q83ZNSBQjTUaf08g+SEixSr68wK5L9mSCuy9FBEDoZ9vZ3NVW6vIdjtYAl4kQ1KEBkrcpjFnEWNISB1VgpNSUpc0XgubjHTRVy/gjWdTic+gfQB+xlkfWerbyFOCdMAZh4AMemqcj4/MUzGPMdMe9wBMS+x8I0wmWzoTnuBox0XRHcrFESXIquDnpUGbuwP0dD0P5IjigwCeArSN0gxJbpXxBgnSXeXuw53xtyCSnR0M9j6oO0vbgvyfhBfEtkMztbdAmEZSn/Ek4yHqBb8TyRS1wKlVkVMqjpTXizkSmgtmCexk7MPykd8LmTiVz7w/t7c7TfV++X5Wq0WWeLhzIljz6DzUqFQOu5zFIXRZR9s9+/ffT6FWV5ns1mD93wiPR7xOSohYn2w3RtrRtBS3Z1zeOAF3Ok4jp0u+DlM1Ea7TjDB0Baqrjlg04T23Z29s+D21erVDQjTaDY13pLoD4vF1IDJPfc7AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAALCAYAAACksgdhAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADaADAAQAAAABAAAACwAAAAAmiu0OAAAB5ElEQVQoFW2QPWhTcRTFz/m/l9SEKNhSAl2kpTZVaFpc/ECKYFtwVQgSdVFE80xNW7Cv6hK6JSpBbAy4KRl1qUopuIgKoagoYnCQQnWRRB38SmmTd70PLS7e5d7h3N+59xB/K5O5FEWzFWt67CMkJkAMkD4KQwDnYePe8PCuJ4lEosVxZ2bME2+S4JiImA3IfztRA8xlo8TeYil/iLZso+EFEK82Fkg2CTzXfsMYkzTgyTZai0yfnTlCg2AosvVBPu9+9xcyjrtfiC4rGL1fKEw19AKeT10cEsgJoXzguZQ7pbqj+sd2vX1Jnedp8a3O62zqb5RRFR/Q396AvKtzwO5k6NYX69fTjo7wy3p9LQ6vtRctOa30fRrEZxWWwwhPXillP/lXpJ3pU6buNcpeE3fqtdVrKu5SyO25Uu5YkDwYNIHDczdz1xsGZtxxz6RT7qKBvcy042YC4MM1kaSSkxD0kKhomi8UHPAgO3Vu6dkV3yk+1DPrR9zWP9i9UizlZjXFflj2Hv3nvab4TiHlzmh4RJ1HI1twlYKf1epKOyec6R3rwuMa7WYFVCLgwg8LgwMD3c+qr5d3ewI/iLiCvmkYj61NZkG1fyqbzdpfa6sjnkhCHXpV9FHdlgLEo0Ixp2n+q9+N2LgJqTL+ZgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAOEAAADhCAMAAAAJbSJIAAAAe1BMVEVVYIDn7O3///9TXn9KVnnq7+/t8vJGU3dNWXtRXH1EUXbe4+ZJVXlPWnzp7u+/xc5faYdZZIP29vhsdZBye5SFjKJocY3DydG1u8aytsN+hp2an7Hi5+nl5uvz9PaTmazR09vU2t+kqbmMk6efprXO1NrZ2+Kssr/h4ujU+9XeAAAMKklEQVR4nN2d6ZKjOgxGHWywTbMkZN/3Tr//E46BLCSBAJII1Hx169bM/KA5LSPJsmwzq3FF6104PyyPo+Gk3x8wxgb9yWhxXM7D3d+m+R/Pmnz4X3gYT5iQQihfa84ZM/+x+P+ca18JISWbjA/hX5Mv0RThOlwOXSmUTpmKxbUS0u1vZ+uG3qQJwr/5gkvhl7E9cfpC8sW8CWNSE26mRy2VrgH3kFYu304j4jciJdzMRkLA6O6UwhvNSP0PIWG4cJF4N0i5COlei4rw9yg8Crw75PiX6M1oCGd9Weo0a8qXkxnJuxEQrreuIMZLxIVcBh0g/F24fgN4KaOSY3QAQRL+jly6ry9PvjtCfpAowt+RbJYvlpYjlB0RhOtFw/a7M7pjREoHJtwcv8QXy3e34FQHSnjxGvMvuVJi/lXCHWskPnyU14e5HAhhNHa/zmfE3e2XCMMvD9CHFN99gTAay5b4GMyMdQl3ui0DplKs7tdYk3DptsrHYjMeGiTcTETbgEZiVCs21iGckkxw8fL9Og6nBuGp9RF6l3tpgnDUhRF6kxyTE2767frQV6lJ1XJVRcI/wiIMjbSuON+oRrhrMcoXictqkbES4byVPLRU7pSK8NAdJ/ok7lYpq1YgXHZwiF7lVpg0lhNuPcp34ox0wFdALCUkAORcKyWEJ6Xr+dr3XCk9IZRKVhQbRywjRANq5fn98Wkenvc/PSdV72d/Duen8cQXwGWqDGJZZbyEEOdkuJJ6fDmvDJRtB3bQu8n82bbNv67Ol7GWCmXKMnfzmfCCAOTKGx72hi14kL0qCAzn/jD0MJAlQeMjYQgH5KJv8Gy7EO6hBLLvgRm5+zH0fyLcgQG5NwqN9Srg3SHDITyzFz0Y4RocB1U/dIqHZsGAdWYDBfx5fAAijAbAccO9U6XR+WbIYAkdqnoEIRwC/bia7B0AX2LGcx9oRlFcgysk3AI/C3n84DtLzdgbA+OvLAyLRYRQN+pdan+Bz2Y8ARHdoiW4AsK1hH0R7gw4Qu9ygDGYF9mq4N+BXkaiAWNEmBX9RR3CI+yDFyc8oEEEugCZn4TnEk5hA8VfUAAaRKAbz/8U8wg3wI9drzBO5qHgB7Y6yftVCRewwqFH8BGmci6wcSqW1QhDWLamR1SAJi72ga48Jwd/J4yAgUKeacZorCCEGTEvQX0nXACbQ4ncTCpnAvs1i1M5IbT4600h2XaR7Bk0aXyrhL8RAvNt3qcE7AU9slnGK+EJmNz7JMH+IecIXAmSrzWNF8IedFrvEfqZWDbQ17znpy9/B4ZCY0NaE5phCv1di8snwl9o4UKPiQlN6gYtMYjNB0LoU5m6kDqamHALrRX722JCYMZtJEhjRSx7Dq1LMTcoJATmSkbenpxwCq4u6mMRITAhZfGmHqJpRYZwD18xeQr7WUK4CRkj5ounUHBC/5hPiFmsH1CbsBesEM0f7iaXEOxIY1EDGiHeRi3zCMGxMBH5dxisMK+johxC4KwpUQOeJliBo4VRpiv8TrhBrYWqH3LCH1SXGX8nhE4qOkood2+EmMd1kFAvXgmnuI6EzhE+Urcb4QjXE9E9QnV5JsT5mS4S3stuV8ILys90kZDdWhevhMDiXZcJb9PElHCN7T7sICHTWcIDcpB2kvAaElNCzLyps4TXYZoQwjtnukzI2INwjn5YJwnl350QGe67SpgG/YQQ3+bcScJ0DSMm3OHbgDtJyNzoSoibOHWYUOyuhNiEprOE6pQSQlsvuk/IJykhxZafjhKKKCFEp2xGogFCgqEVzy8Yrsh2FVcN1NoI9juqeUKINyEXZ+qFmV7PPsOb22+Ky/vMCvD7tgRZN1RWDrQf46G4D4xZO3zuQNpKk0EcoY3oxoTYAgZtN1RWNrIAyJLkm1lHrKPhk2ZMaIyInreK0BCilpxi+cvGCMFr+TepgyFEj3U1o3ekqWz0F+SPLbZBZzQibOYzhLcoPmTyNvZHQNiYDdGEjFkMPznsNKGIGD6sdppQrhk+7+40offLlui8u9OEYsfG/znhjOFzv04TqgubYJ/RbUL/wAb/N6Feovk6Tuhv/3dCPf7fCfnivycc/e+ErP/fE1Koy/PDWPh4qObdnePHfOhiD9Pbxuo00M1PGfUJsjbeb4wQP8AMH7rURr318KEAvuXiLj4kmFuYmNNQzZvgt28iPn5+mByG0QQgcEf3k/SRbSnOtJRTekRnSnESnplbnEhO7fSoEQMnJFi4TeaHBCEnlksaFANndQRumn+RmjOixIjyvIFe8LNVRAfCiinDLx8mIt1T4mzJju0XO4Kq/vVRhEHRpnmlWHJNsDKTyqfL3RCbK98kIoLVtasGZIQU6ehdFqPo+UokqNa6gxXd5Rl8aAgpkppYZEvBNr6h9y59NIQULVGJqPaRQs81yZO6GEKySgHRFIOgA+MhsTOE+Db2q4jOVXAIutDuctdx1xfZWdYk7Xv2nvBsbe4lfW0Es7BUiuIEFwfd35NR3OltCJdk0YfjbQg9ySxfcZOwIaQrSgr8BIM02hvnlxCSuRrG+1gj2j+kJ9zLIO1kp3uiwLZHOWPSazQG1159uqfyAY4wOJOe4Z8cchIT4ltq7hK4mhRFdS37NuGVEL2/MivMRJigK/hJyX7uZN8TQWn5JoXIv4MV7VUv6VmYCSFJRfEqdw82IrGbMbOdOyHB1q674CUpG37GUb7SbbIJYUSZR4g5DBF3XEueVGYfMGU6z8UPKGRQj9HbgVgpIelqMmycOoQz+1RimiGMSL8ASFAM9jQ17ozU05kKlMMUcnpbsILeU1Co26ltV0LCCiWLA1FdEzr4zdavup3Bczu9hfb229pB0aG/1s23ngkpg775/dWtZzjk156p0wsh1fJFqg4QuusXQrLSd6L2CR/nCd8JSdP69glF+EZoUd4A2AFC651wSVXdZx0gVIccQrqCVPuE3NvkEBKWa1onzB4lnCH8oytmtE2YPUk4ewYtXebUMqHO3hacJcSdYJpVy4SF5wjTGbFdwuKzoOm+xHYJ3V4hIZk7lXWrphS9sjd9OpOdLCbWXmYjLHZz+elcfaLEpn6lhnBRLZPO5BFGJITqULeKAb515V3c+khIM8Xwate9gx/chbIPyderZd/umSGYJ/qApgyqaqkevgK9EeIjBheAixLsPY2Tq3BXEN7ZSNAaonOi+D6q3PdkWRo3Tr0jbN3CWRAc51Tpzi7ENcCxJBCwFwRDNGK1e9csawv/SVrBl7mD4IispOSM0YIbHqF32Gsx/kGs4wdO2MdUpqvff2j9gsYpl6Mz6iJZ41HtGeKC7nc/WkhoQS47FZMpki9hdMCMde4hNTPFuvFXsBkBX8JozwYQxnp3yVpRPUKlD6CruAsYIXasex9wrZChveWKdttT/D3W9Dl173S2rHnVLEpL40DJ9zrXtaP7mnCXE1a89Zh7aAdaxFjHjrm3yJYRWsPyb5HTONAPjNXsqAq8TAlhxMueLgYzp6md6nfGCnbUuaG+nNBaf4yKXPmXoFG+hDGYDcoYud58oPhEaHKb4mdrsew1tUv9mdEps2N+LlOJsPhCRO0eG3CgRYwf7cjd3UeGz4RWmIvI5WL/Nb6E8YMdSwDLCK35O2KzDrSIsciOxYGwIqE1e0UU/YYdaBGjM8+xYylgOeGLFZX+ggMtYgzexqo7K33/csKsFbV3Is5AazI+x0debsFKhMbdpA/l3hcdaBFjbMeqTqYy4TVoiElDGWhNRvui/dSj59SdgITWrxkactmKg8mRsxpLzrT+GOhrElrBQIZtfoDPCpyZpwafUrX6hFZEfqUxSs5+EZW/dC1Cy+oUYc+p/N7VCa1N21QZVRyhNQmtqG2uu6qO0LqExuG0jZYoKH9RMGEnRmqNEQog7MBIrTNCIYSW1W5YrO5D4YStmrGuAWGE7ZmxvgGhhFbUhlOt50KRhG041ZouFE347aEKGqBIwm9mqjbiLTGE32IEfoAkhN/I4zD2oyBs+nuEf390hE0yQv1nVhSEJnY0MVgDQAKTIxpCi96Q+OF5FRmhSXToPKtDY75EhIQWUTZnE+JZ1IRGEW64UlovFTlhrA2ww5TCdb6pEcJYUS3/GtDb7qbGCBNFm9KVjsDZNAaXqFnCq6LNxnFsOwgS3MD8wXaczSZqFu2qf0bEBYdvuOiJAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAD6ADAAQAAAABAAAADwAAAAAHNtsJAAABMklEQVQoFZVTwUrDQBB9s0lUEE+B4k16EVFvVeuPVPALC/VHrJqbguDBgxepRBHxYkzWeRtXmnSb4kDY7Mx7k903L4K5sNaau5vyDKU9h+BYS6k+OSyuEcn44CiaiEjlKeJf7qe2X9jiQvcDnwusWSLJaG8oj6w5ck38vgRsL0BopWSWSHzKBoZHrb/YJBoD9PcjcG2G7RFPXn3HwFGjGNjcMuAaiAG1MU6cQHVlSkU1v6quxC4AdBq8EcexNOK1v4G0MSnJeTvLffEFvL9W2NmNsL4RQiA3zgDBGvD0UOLzw6rq8WIDNY7KKeMlXJeeb9BQXnnCed1OiytFdjkL6bbB20uFqnQ9s8NhcmLoVVpOzTbrOkH+7Il0WDIiz/mHVqPllJx1NWDdW5O4xhz++1f9AA59fXudc1L3AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAwAAAAMCAYAAABWdVznAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADKADAAQAAAABAAAADAAAAAATDPpdAAAAuElEQVQoFWNkIADyPD+kAZW0APFnJub/yYz41AMVl/z//78bpoaRkfEeM4yDTqMrBskDNfzBagM2xVAN6UzEmAxVXDppu8AsFBvwmAxS3APWCLOBGMVwDXle74v+/2PohWmG0UBPwk2Gi1V4fxD8+pfhJQPDf1aYIIjGphgkzvLj/39/IE2UYpAGpr//GcNADAhg/M3IxFAM8yBMFJlmAQaT+n9Gxu3MjP9XcTAybOzYKvgeWQE6GwDSrFEY6DRG3gAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAAB0klEQVRYCc1XMUsDMRjNFbkiaivSoXQQBSdBHURQHLQ6dKviD/CPCA7+gG71H3RycxF06CQVdBYKboIIrYJYF5f43nHXhuN6pu2l6Qfvklzy5b377rtc4ghNk1K6GFoEysAqUPCBQrz5eEZ5DdQdx/lFObqBOA9cAl+ArnEsffJDK4BzGrgAOsCwRl/OkR5ICBz41A0gKeNcetHAwHXgNSlmZR7OuRYbCQzgk5sgD3Rw7uhIoIPvPMmwB6ThkhzdnEgpITlDfVtpm6qSg1yeObxCEcPyAsywPQb7AccK1or3IALnuKFF3m5/isP9Y3FSPh1FJ7nI6T29iwhoLTKt1ofc3CjK6amCPNg7Cr/bQdvkdBn+ko6nSk4RbCdgJQqo/jeRIXLSVimgzlo/M0hOyjoFNC2Rk7bp4PKNXJz1MjJ0YbY37h9DdwdrLi0vioenW5HJzEU5doLPMKpzHPek9VcwEUlo/TO0vhBZXYpT/u61ppPyudyCuLm7Eju7W2I+m9VxiRtTI/dk/I75X4bUSpzchPsqPmdvWqyIaYDbJdNGju6WrKcANXTY25QGSiDC3rZcEWHvYKKIYE7YOZoFIlj6eWHscOqtAyphvzqEGDme/wFgJPvarfcj+QAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAANCAYAAACZ3F9/AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAADqADAAQAAAABAAAADQAAAAD6UEMqAAABGElEQVQoFXWSwU4CMRCGZ3aX8hZeNCCBF0A0hnAQTOQlDAk8BbyDBwMx8R3wQDxxQbl6gADGs4mPoOCOMw0ttNJNJp35/292dtsCBB7q3xxJBGxIQsY6/X7cerVDDB4S1/eNSgq/E/EiiM8zndGLz0W+IDVh2jX6fm40WfXEzaDepBSKBJQDghyvZy6Er0y+I6DELGmPnpDGveRnOV3wnJN9OJzjhzotFyKs9jZKZS95+CoMGwdXwkqP/ke8HX6qhAXEuUH8VTzNMCue3RxsDb94V+78Bluzp5mtYBt1jVC0oJ94ntsIVDI8f9pEwtS8edYTzWkkojwivMVxfK3azxcSkoumj2r3FjejfuOYm//dJtHo4co5rj8ta1cMIhlB3gAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHKADAAQAAAABAAAAHAAAAABkvfSiAAACfUlEQVRIDb1WPWgUQRR+b/bWWCpH1jtjEwTTCRaCP4hVQEFB8adQUMHKyjooFiJYWFlZScBCwUS0FKwkhYKFYuUVYmGSTS4cWHrZ233ON3e7t7fZHe/WMwN3+36+976d2Zl5j2mI0Ww2D4WBnCOWEyI8xUx7ESZCq8yyQsJLjstvPM/7/Ld0bAP4fvOiRPJAp56x4fo+brDiu/W6t9i3DUq5hGtrv6YlbD8XkiOD8OE0Jv7IzsSVWm3Xj2zEFkLf3zgpUfhKA6tZ8Ih6i5VzoV6ffJ+OGyAEGUn0TkTcNKiszMwBsZpNkyaEWMYo/P1JJ//XmWXfr6WcnYfj5VWxF9/sP5AhfbWX21CZGXZ3Y7RgLJm/l49d+v41ea+Md1DdfzCiy7eDQWNPY6UuYfdWoHe3fi7OkM09bec7M9aHNycylr7a41hUONTDn7N+gtElmQGXMjfI6NGlIsClcF2Vii4TpLkU7sYysWViwKXii7hMglFjwDXcfh81czFe9JLSarE/3xO0mYLNfJ/Nqrn8CuqZFg7YgGnfxrKi10/M8aXztzo0uS9Ku60yuBSKpxWVcn5ZcujFI5eOnwnNDzJsQw/NVUGl7gRyzxaEJXz7zKH1Zaarc5tUrYmB16YjM9uf35hOXQttKYwPXKrbFnDDhp6/71JFF6zrd4KEDHgQwwYfMPbBDXCZXYq2oAi82xM6djak0zc65O7YioINPmCALRoxR1IP/ZX1D2VbiiKS2I6Woz615yj05ByiB9F6KwaN8dnq5TYpE0JUZPQgpi0YExtyIWdc7ZE2IYRieg/dg2hxHDNtZfsZcCTfEEo8trVNjEnx3LZGOE0KeZyt/h/gqAEydACjTgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAHKADAAQAAAABAAAAHAAAAABkvfSiAAACYElEQVRIDb2WP2gUQRTGv7e5qBCEk3RJlcrCykLRQqwsthCEaBOsbKxOLKwkKILYqIVeZWMhIoIKAYsVUgQRVFQQBAtFCIg5QTk8OI542ZzjfLOZYW+z3u3cHg7c7fx53/vtzM7Me4ICpRb+2h8AJ5SSI0owC6VmjEykIQprIurFH2CpHu15P8ydDDKoha2T2uFVBbV3kJ0dE8gn/UKL9aj62PZln7nAC8dbcxubeKCUOpQVFGmLyOsdFSzceFpdzdpvA9bC9lGo3hNATWeN/drShEzM16Pdz9O6PuAWbFnDJtNGo9cl1tBjaagDchm7Md6Wn1n29aS5cxIH7PLqzZcUfrPxw+hbTSe+E46ZIXej3uqPkq7+/7NXprDvYLEV/vgmxp3LnX4HtiVyirvXzJBb3/Znn0Vh1A2ytYyAh7roOcu+jE+bDHOB8AbxEZaxJSvgdVXGiY+WrMDcjT6qErZkBe4iLuGosFRf+u4cFhaVMBSBCqBDTAkfXlIF+R4wnnmpShiTFTB4+vjorivcu94xP9Z9ClkVRmotulRE2Fjt4e61Dn580ypdvn5u48zFKczMTRSRg6yAaQEj9TDFy2dd3DzfdjDaE8w+jg0rZJBVoSHTAijkXt4/Gz1E93/j3Uqc6zPeAB7eWseXD5sIT+/KtXEMXXHx8FzYejVqSvFPytYAU47bUfUwm+4cMgfR/OYwsf+4NBPfidIBTUTWOYiG5q+dP0krTIoxb6M9XTggGyb30DnIeGZqkqi+fGYb0EKZg3Dd2R6lUEsf6eTJ+nGbxnakn/8tEU5DWR9nqv8XEOPxNW4ruigAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAeCAYAAADZ7LXbAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAGaADAAQAAAABAAAAHgAAAADq00tOAAADF0lEQVRIDb2WS0xTQRSG/yktffAq1JZYlWAimECC1ERBcWVQEbdUigmKa9FEjRE0JpooK00EN+iGDdKKSySBxCgsjGhRSSEWdrykrS2gBFr6musdQmMftL1S4mxm5syZ/+uZ6TlzCTZbv77hFAVqCKHakE14T9yyNHKn2mh0bLWHMOMbw4VnoPSKsqjIp9BopFs5JrI5x8aCwXWvjQRQffZ191S0L2ERcIQbPNraQtTlh6LXBc2Hb97C+vIyDXo8q4SS2trelx/CN4o4Qs+wCLYLYGJEJIJ/dVUkyczIooS+69Mb6iIgvItWoVH/8xGFi4TG3t8rRKZUSkDwqv+84XrILgoNdqr3LC0RhUol4v9Ej/v0DU+Y7o5DmKjb5YI8L4/XpjfeNjTki5kx1aa7dhVBrzdCZs3hwLf2Dvg5Ti4YYv9shuX5C1Teu4vswsIIwax9eyPmbJIm/XvNgo/LYTZjT1UVFr9bYwSTGQRDMrRaOC0WSHNykmnGrAuGsCjWbDbk7C+MEUlmEAyR5iohkkiwZrcn04xZFwxxjY8ju6AA1u4ecIFgjFAig2CI3TyK4vN10BzWYaq3N5FmzJogCPX7sWSdxK6yMhw01MM1MQHbyAi8y8tYnZ+PyZFoiqA8Wfg4AjUP8PCZ7Bj9Ao5SfH3aAbFcDlVpCVamZ3Cyo52vHxsvRzQDSSHU58P0wAA8P51YmZ3B7ooK6JqbIcnMhKWzk4/kB3JYcsYBMGJCyPzQMKw9RmTk5+NE2yPINeqIX3mk5fbGUYVnd4TD5iQuZMpowsrcHNLS01FysTEGEBJLBmB+cS9+9v0QX0lV0OjKoSw6ENLcVh8XUtp0CenZ2Si93LQt4fBNcY9Le/xYuF9K47iRpKQatfk/QTh4qc/PP8k721iVYI2IxV4RIbAsTk76o5/PVJGs9PCAXzXd3TaxQiHrcrs9rZ8etimL9XUSWV5uSvrUH4CTr9h8ngW4YPA+E9soNv319cX8Y9FFg4FKcFzK98Qi4D97H5wz9bQTQriIijbY2JiBdWhSCYWk+b2nTaaFcI0/4wQGvsWueK4AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEqADAAQAAAABAAAAEgAAAACaqbJVAAABpklEQVQ4EZ1UPU8CQRCd2TtqYkJnCcSayko00YoELGlp/AFH4FeQQEdjCLRWxJYoEa38DQQ6a0tIuLtx34Y9wt1FPraZ3Zk372bm9i1Tyto0m/csUheRMhNdAiJEP8z8KcwvmW73PZ6mcbsl7XbR9/1nErndeVN2zDPXdZ+405nbaEQknncTEL3qKi5s8D+rq/t1iB651/sCzhChksD3v48lsR8wZK57jcoUnGjnVBLkIceMQu8Zg6UwfEPg7KXUg8LfSSNwWi2ifH4vpKpVUpXKng8HcChdXjkR0Y5gPCan0YjIVK1GXCxSOJ0m4OBwcU/0HUmuxYLC0YhAJvM5cS5HQb9PtF4nsOAww05Etg7RZCBRpRKFk0kqic1VuLH2ELemHVQyGJCq14ljM7N4cLjm2otcWae1GCwXClE74WpFSrcZDIdEy6WFGQsOBe3see0hCCISuNAmSDibtYjIgsPc7I3nfRzUV5QW22jdZXq9OzNsI0CtnRjk4BESQS6AhghacSDAE8iANTnbFyD6/VCxowVIutQjSpkBa5UPvJlRPPGch+0PhZS4b63WB7cAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAEqADAAQAAAABAAAAEgAAAACaqbJVAAAByElEQVQ4EZ1UzytFQRT+ztz3lChJKcmSbERSLHiIhJJkYSM7pUhR/gpFSVFk/1Ki2Pn1sGAjKykrRYqkiPDce8yZmut6vzxmc2a+853vnjsz3xBSjMn4fBsTDzBzBESlhsJ8Q0QHxBSdCY/tJJZREJjixfLPz48lBpqDeOJcF8VCoZzhaRq5tDlfaILnmuDShu6i0CYzRd3dIxzunaXxQ+EZIdOJGz/JVsR+QMRCTrheOlMCmt/JshMrIlE+LLUyJ9lYD962LH4bxShEt2rAhneERzz7dAXVruR0fCTDpAB5GHX6cMznP0SkRDSUOeIMApIKI4Rhpwe73iku+CqJLRrKvydJ6W9gUHXgmu8R47NvMDjTd81stsUqqAwlKLJLE7tUPfIpF6ve3g88caH01t9Y8JrvMOR0opVqDVRD5aijSqy4W3DhWVpy1BpKrr3NvOIdC+46GlUVIlSNftWMZXcTL3izlJRRNJR4J5h90mXz7hraVR2i3i5u8RBMp5yLhrnZE/G5/d/8lVJBg1ogNhsebzGbLQY03knHToMbi+haSRsh42JtwL+IGa6usS+Af/ziYjGgtJqmAR8WjnCt8yWhseTxn4ftC1fns3ccf0HbAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACxSURBVHgB7dXRDcIgFIXhCzgAYYK6gSPYyewKbuIGjqAb2AlIFwA8DGACKG1jzpcQXkj694YEESIi+nPW2hOWlR/R8gXn3EVr/TDGnGVrOQYrYTiTbI0xn6wRo0oP5hhsU0rpiYt8lQohhAVuJWdrgl7YBmkze++PJQcPUijGOGIyd0xowRrzL0sHxRPKcHeG3lFVQWtEVQf1jmoK6hnV/Jbh+3O+6Eopu4u3jIiIaCfeKHRlHHFdvnAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEgAAABICAYAAABV7bNHAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAASKADAAQAAAABAAAASAAAAACQMUbvAAAKE0lEQVR4Ae1cC2wc1RW9b3Z2vfFv13aUAG3aBiK5pXLAoSE0UEOpSeykRKU0NPxSpDYVqiAB0qKqH9iqEkJpA01SPilSm/LphxBQKtKkbVIggFACSVUFBK5aEn4mtll7d/3fz7ze+9azMzs7s9+Z9a7xk1Yz8+bNffeeufe+e9+8twzKWAIBLg2+Gm7nCj+PAWsFzluBwULgrJEDNDAGDcQO5zDMAIaB8QhwOAmM9XDgPUxi/25e6vtXIMCUcrGNfDhb7lwzetZELH41cOUrKOilnHN/KT0yxkKI4AvApENet7xny1/qekuhl+tZRwAK3MS9wb7I1Qz4emSgE0GRcjFSzH0EizTpIAf2aMv8xj2BXWyiGDrZnrEVoMBaXj84Er4ZzWUzvuUzsnVs+z3GTqMwW5vrfQ8HdrMRu+jbAhD6FnnwaGgjV9iP0IO02MVccXRYkEn8nuYL/dvRV8WLo6E9VTJAm7oilygs8SA60zaNbAWcMTghcdf3th1ofKkUbooGCM3JMzgS+iXn7BbUmqLplMJ87mcZZ4z/urne/300u2ju9pktihLs9tWhsxMKPInO94JMkpVXg878mEuCa+7f53+7UO4KBui27tDlCc6fxo58hXY2ze3DLsa+/qv9/n8WwkdBw++mrtBaHFf3VyE4hImPeCcZHAFoU3doA3qaP6FZeQrpoJLaEu8kA8mSL195mRihPgVOQRqXLxPlbkcBJuOwbtsB/+5cfecEiHwOqWY1a44ZCAhSFN92dy6flBUgGq3iCX4cO6g2h2yGiVldWHaxJdlGN0uToTiHhvIZDA4B5iMZSVYz9KjOEqBkEFgdcY6VcPnUUyxHslq1NTUxkT6AcrhyI2QrcYqtZzjdIHWYpSUZGkSJp8itKjZ9KBaEbM9xHNYSD5LsxlYZAFFWXnGJp5FrJ64x2RayG2inmRjN5wSHw6emf8rCwGXZLlmwpcH3Gf18UpoG0WTXxxccegu8JYmB9kZSGpScJg2fLPtMoMZLZZzhzGTLfN9Cdfo2pUE0h1xt4DTNY9CxxgNz6lPvuXSQcapYYDFFKeW1aYId55KrojQ0MVi5zgvLuz0guxm4XOPw3DOTtvE+9bHhCSIoAEp+mol12taDQ4RqGxh0rq1BrakBT42mNZEhzBbtLZ2ECX1SEgBNxuPfwIgyZW729lU6NW8twGVX1cCXr/LCnDoNGJVy/wf2AkRYiG95ADsEQIqCH/UqsLhrADqurIHOa2qgrsH6/Q18kLCfe/rQiQAx8Tn4SDiIqJX0xdNODl342i5e5YEV3/RCY3M6MIkER5+jaVFkUIGfXB+xs3tBC6dDQs3LfC2y+FZeIeBIiMWFnR7out4LzfMMwMQ5/PdEHFrb3Wlg2G1eKnFSGMJGpoUEauV0HXHRArR3uGHVjV6Y9wlXBhtjIwoc2j0pgDPe7HfCvKY6IWxkWmWBKyeM/Zbtuu0iGVavnwNnLcwEhpgY6E3An3eMw40/qAW3RzMtlcH+9+110CpdOhI2MgaHrfrKcp23tsvw1W954dPIglX53+txeHTLKHznrjrwGXyR+owjDloljtjIyfU5ao3zx7M/70Jg5sCiNmtgiItXD0Xhj9vGYP2dtbBgkXXbPgc1iLBBDWKNmKQ5jsyCRS5YjRpz7hfSnayxY3SOsP/xCTjwh0k0PS+cf4nlbCgoOKIFTztnYoSNjNCIVV1GRu26PuNTkhD0vIutBVX7ikU5PHHfGBx/IQYXXOaGldd61Vumx2CfAomS12+YkhaVhI1My97wpdle5p4pQfcNXiGoJGU6V2OHwyEFHvnZKJx6K4F+yQXX3Y7hc44yYHMEbeyOsLE2bmPrPK/9cxl0XeeFZSs8aQFdtsc/fCcBO+8ahcF+Bej5DXfXmY5YRhp97zsQQRs6kWnBJNaVvOip3ocZNpoEZdhmw7Gh39Tlm8di8Lt7RmFiDDABBfhuoA4am9KDxFRjw4nTGkTYYBwEw2hhJQN0x/31MPdM81jGIFfq8sVnJ2HPQ+OgTPlZGrE+eU7+Su1UFK0ySNhIYqmtWlPC8cQrMYhO5ufMFIXD0zvHYfcDGjhX3uSFxctzO3I9i/1OmxguQ8ZhHtchAyzWd1zM+TOPTMC+xyag7SI3LLnUA59dIpua2uQ4h133jsIbR7XhZ+nlbrgCE9NCSnSCQ+ij/F5IIXTT2iI2GCiyHoym0+qLvYjiItxjz8fEj+ZwFi9HsDo8mGDK4EJjHhpQYOfdI9B7UotdFn7OBes25R6xjDwN9Go0jPdsu0ZsMA7iPbYR1BEip3v0YEz8anHOuO2LbnjztRhEhrSXQXPKlEYU4tTVLpxMUtU+CBuZlvdzjEidLGMjHI78I30NpYT+fAOC0+DPb8Qy8udkkqr2RdhItPeBJofUynIdFQxhHv7pKDz10Bi8/UYcrbywl+S0gxYTZoQNAXJr19BePKwpFzjkdybRyep9EQWI7V/yoIN3Z83wVR633jYM7/Q4FygiMHu3H2j6mgg6JEk6hPPSZQPo3KXJPKvvvYTIu44fjkLfe4r4dEOfb5rnS+jc3WISzSqTdzoGos0y9DKEA6iR5adQpcowLKjvP3mcv8Al8rUf/6ZRJLTq3UFMQg/iDOIvbh2Bn387As/+fhx6T2naEsZ56HH0a04VwoJ2EhF9YWJ0srE79Df0Ayvo3OlC0xj6TP2jDxOw5ZZhkW5k65tmBih0ePc/CXjruBZHZXummHsI0N+37/evpGdTcT1tKcJ5obIApGc6gZPxu+4dywkOPXP6XQV/9n1B1fOhP09ikaxJjbG03wqDxtP6huU43/vbCaER5egrrz7E4gXEYqqkAKLVDGhvW9UbTh7VnO31IzF43sZv6nbwTBioKzuIXsrE6II2o+ECqh86vUbo5X1RGI1weO259OCReJjewoKEgZ6HlJNWKzeuGrqDK+XRJLXPSjkyCTZv/2vTfXp+UiamVtJOPRzbTqjXH5sjyixkNwicoUF0f3YZsIZShgbRLVovTDv1tGYz+4xkNVsjTVKbAkQ3aBsjBkzH6HwmF5KRZLWS0dTE1Mazm1myaBCBRLtgaBsjolxp47H6Dos+kkwkW7adPkTc0sTUnmk/FW4+uwEJlj2ZVXmw+0iykEy59opRvzkBoka0Mw9t8eaZAJIAB2XJZ7chyZ7VB1EDfZnamvk4Zv2FfZ/RE5nGcwQnSpqTLzjEakEA0QOz28IJhSyF7Ja2MeLbqJoQgHglnvPxOUbR8/JBxofI82NStxxXP+xAJXRuas/YccHX9NcUsIN4zTVaWZEu2MSMhGb6n5sUpUF6kChEb1nmX0KZMGpTUH9ves7p73FgM/FklT4UwlfJGqTvjDbkzf7Bkh4Ri/PZv+iyAMasmnbN0GYZ2g+Co0kHxlAlbXlAGiGkcZgx6WDV/smbGVBU9+Ra7nppLHx+Nf1N4P8B3pLT8rYEPtMAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAIKADAAQAAAABAAAAIAAAAACshmLzAAADs0lEQVRYCcVXW2gTQRQ9s0kTxKr4lipCbapoQBRR1K9W/LFCwQeIFC0oWi36obWC+PjwgfjqT7FVQbAUf0RqLYjVflhFpL5ALBUf8YGtsf6IqBWTJhnvzO4mu9nsJtWkzkc2M/fOPWfuvTNzhyHDxrnfg0ColNTLwTAH4AXgrEBOZzwIsCA4XlC/DT7vHcZ6wpmYZumU+Hv/FERCh0ivgoOPTqcv5AzsO30uw+09zAp7+p3m2BLg3OfFW76fVrmbgEc6GbGTEZEBMF6HInaMsUAolV5KAtqqrxHw4lSThjpGRLrIG6tSecNCgL+bNRfR6A0CnzZUICd9ItEHxV3Gil52G/VMBLSVP842uA4oSbi9C42eUHShjHkkJNye1ZXr9sVX2hYYIr+0FicgEo4UshJz3Xiqr8QQya01GQLN9QES/lW268aM30fPYujr5yhf7oLbbZTIbTpASekToVA9QPs8m+At7VGUrg9hw64wGpojZnTqSSz1bIEiTzg6ZCxafznwoZej+mDiEIzFuJ2lCoGtiOOVGGV0wtlZ0scjtNiNNWH8+KmOFE5n2LwuTxebvhKTsEUIyk2Sf+gcODOIp90xaSGPcJvrvBiV72iwXFEvFkeljIQ3O6Oov5SI99GaPMz3m44Zqx261MgDdKv9Ywt+4di6bzBupazUhR2VSakflxr/8AK3eqXaJgoGfgFH6lXjNVvcmDjOvKoYebxyTxhfv6k2pk5huHA8ddyN0PI/XedpabbejsRde70jipZzXsz2JUgcOxvBgydq3BXyZ9NpD8aOScgtoOYBTjkgign7Nt+vQBgW7eMnTvv7Nzruq4B3H0ZxojHh+oM787BkgaasTnH+ZfwzaVMl49DmFCu42uhBvnZGii22uiqEU+cj2FQ7CK5Fr3SJC7VVaR2ahMSCjL/xnaU9WZ0ksXR7XsewZnsYvUFrvkwaz9DV6sXkCRm7Xtqn27FB+KvNgpZiwD9Twb0rXiyaZ3XxxZOeIYNrEG2KLCDVGi4FrHlIrLS9yYO1ZQlX793mxrKlVlLmmdYerf67ik0yCkMDhWG7Vc1+pOVWFCPoVl9R4rJXcpAQgUZWHKiWQcvFdeyALapm83UsSyRRvQ5XIyy9LIunrSyTAuikUOS0KqLVd8GHEr1Mj2ePHBCls6hec9SkbYFheCPECQhM6RaXa2UuSEiboixPeimZCEgSM149p3ptIU3oypYjpC1hM+lNIPHsQP7r08xIStuih2hseB+nRhLif66e538AN5xkuLZU9p4AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAPCAYAAAA71pVKAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAD6ADAAQAAAABAAAADwAAAAAHNtsJAAABAElEQVQoFZXTPQ6CMBQH8PdaRjVx9hIewMRVXZxcvAGL6OoiiQfQSOINXFw1MW4SVw/gJVT8WOnTooWioMhCC/39X0sL2i3KHa/nPiFfO6u8C39caNW8lgCaPw1uALmdNQSDyjdvTwSlqGi2EJTAapzbQohZhFXre0iA5dBO/bR9VK8oFr8nh4S42ziVfcIdEPE41HvxkBDLIVbdmwoiUx+e1EYElzHDZPpL4jjS+2ntx/KqQvjDGEafemlAfy4rA+N2OO0saw6my8EeL4sbGWaoREHgpH2sd6RMgF/7/LFNaUjhxBP2CylsHG6XJryOZlYUYoDCAvAyAGDu5M+/6g5C+3shJHfg9gAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABsAAAAbCAYAAACN1PRVAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAG6ADAAQAAAABAAAAGwAAAAD2D1T5AAADBUlEQVRIDa1WTUgUYRh+Z11dMjWFIgqEykMUBFEQBFEHpY5J5KkySfLQJQ8mHfIQJUI/B+tQYli5ZWAmpBAlFFEXT/0csghRKPvBTBllZ3d2dufreded9XNmdnYWe+Gd7/15vvf5/uabISFEIfQydArqRz4QBMBKqMK2b0GHi34YJIxF1oRYF9Q3YQCjqvc9MiewCaFuEHKdnMKgjTlR3oBGpHv8EPoakTdXKnsSz14QFnhh/xcZcxyDPgBhMBth1kS2DlJ8AvaA5LPJ9eqgj9hxCEaiQ/OR1Gl0FPIRUMCiA1fkA2tBZmC4j9xCEPUpijK65C5adjIGTNlAPJAaaLEt7uU2gqzHAeCZpddwFq3rC4r49TTGb3PKQYSAfEAq4A+i2ncbsBA+b/qKRSbjYrUrruhRwE7mAfWfMgwKtBxX20rKlDpTkKb+VVo7+0vf2A/IGEr+8l82hdyM5xarj5kk6uqIvK6sCu48eCRUvqCadOH0PFFBcAd/KqwDMg3b9YBYhdxa9CmFJqEiYQgxeC8qhh7GNPYteftC187UzjXIy7gOxfgG/+FW1CO2HblAMkH0NByj4hKFDh0NrbLwRpzo1bCuCyU4Kc/MGkjerREX4vGdqHg+EFvWN441az+7EDnfoLalyJG1lnEZ0K/DBfu7NTEy6CS63xmZbqlPE4FNXkYmV6FzbLjIBsRCcpyXCHtEa9cHqPrwUiqOC7Dvlvbn8zuj81q4vD3TR5rZDOzMWmcAaQO5XfJsTRyJ4b6oY0axqBCYkXruxHyrvYY8M75BmlHwpx2U9vfL8ZdDOo2PJan50upMWI/im3M3SoKUZ1fDZVcyCctA8bz3zDSFuN0REeosjLTwYQ/f1ASOOUdy3o0Wf87223iSStcoVFax+FrGNKInmFHVtgLaW539a8XLyMu2KSeDBOi9oVFNbYg+jhr09VOCZn6btHtfEe05wHd2Sty3AlPO979RjL03BO6+1Hs18SUhDNwckkzCXtpIi55bJPL9I5bqLjP5ihqBbpXry/Y/Jh+nZnFATJkAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAVKSURBVHgB7Zh/aBxFFMffm91L7kIkMWAplZiY3CX6h1IRbBspaQxixZqQu+aMCFJbEP+w/igq/qJJFVoEsWlFUFAQNH+Y9BJjURF/pASK1j/M1eKPNhebhoigkoTUZu/2bvf5Zu9HLpdLbi/XaCj9wu7Ozs7MfubNezOzC7DGhfkUDvd67gaV/Iik2q1DQMFIVP+gzD85BSuQbUAt4O7kwl2wIuF48Wz0NnxkfAbylC1L0PENJXoUniKybodQ0AU79UwTXdypdm6hWitVd3FWN+SprIDTA9XlpTFxe0wolfI+olM5X8otWBHb7WwbHwebCgfcLr60CIRmLeCxLCgU+oc7O+JsC43lqr8IMHzM8ySasN8QVIFAcNmEsIPb2yGTZEASvo87/JxrmQ6L9JtIwPMqIHWzY1dYbSL9wUM0KQ8oXBdTbSFEEnntaDqGwgPu2qUqpSw41+duZ7CXLWqkow40OrEt7tT0Sc0Nkaiw/I5iRZu13hoT7EghGYRVVj2gbqdvbH/qff21HYLwNemfZMJ7nLUtWxOpKNYHar9ip24Gws+cO0fvyyyo9XuGkWgrrFAKKs0O79lvFrQ54N7G7jQk06YhNpX4z32fWS81xAx3VzzHfDPrGzD6MPfmV8hXCDN87MuEk3K1hU6wl1sjI4R5Z7bq6oKmWIQYzlYw4cg3U+DGqrAg2/OnE2Am6SrZxNE9zRFdxUcZ5AC0JfSdtzUH2hX7Hy23XAhY47oKWKhs+6B+zLOJBK23W56dnsiInnH5L5yHAmQLcK6vtsFEOpnvyidUxzRfKpYtlGM9tQXoUo2fdVJ/YqusgzzEEfpDzjIEbyHC/aDG3s/2PBXgvHBbPSEBTXIChTWiKydIVktzvXV3WMucAmEkPFHsHf0l/fn/Bki97UpEjHwEaPqsDNPa8YDe7z5c5A3tg3wA5fqro/IxEdUtfoq/xwz0l/pHg2BTFpwSHORkctd0mqPBxXx1JsHTcwH3RIkvZH0e2PLBqFCv5WjbyDAliw/woDCrwaYsOHXka05ZcByZB5y+0EanN1RPhG9bXQZ4JlnelgWL2kaD0UFPoxGFosxnvLmdcu4cyzmdSE311pSx5XqYqhHiJJ+7vKGueXriIYfHGPD6vAClHK2jw1CAJFyJovQkLRcHgnsjAfcLxb7QIXkrBG6VfsjfGuN5AxYiOay6MvIOJeDYQhKokVEa+DjIkLwPhTD7+CvWczJ7k3VXfR6MwwU/ZJAHEnAvscVenFWV7byCfGuVYUg+vRFP46ki79jz/wngPBx1JEAOMNxBmb6u9ezF2WnlHkb+bb4GDv9taE2Ytj6v2hAnhrUnaTkJ5/KlBQTrmnJjD19qknB/Gdr2Sv+kll5mVQAzhzUbXLjf8wRH7eEkXLGItlb6FsJJrcoQZw5rJpweqN3LcEfS4Zb6sLrsgPz/ZddycPyXbI8JeNRCA/xRDuuyX32ZGYhmCRQgjtIt8spL1uAiyw3UPc7P342/B4J/GtrmTJ9bEpB7+52VMJQWKAQQ6dYEwKn0fK3fvds0jSPxTvBUgrGmXHALAFnHEy94NBzw7IWV6yarHYd5Rl55DUcJhyT/v/CfRYaLgd623LCmK7Wjpi4Q+i2eEfafhAUwyFuh3DsUxNGi1tAhOXdpvOtBUMZlNv8x+JIX/3XcXj1YPxjiwyotZxduAaDUpcH6DaoRe50bfhDykILQ4PCGrFVBD7hP8tauIUuxL4pFrCMfuEWASUX73Vv4JS28KOb+zCScKPaGOlO3n1avj2jqs2xCDjY6p4By+pKmjZQ/NDENV6L+BYxRMn4JxWfaAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABEAAAASCAYAAAC9+TVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFHSURBVHgBrVNLTgJBEH3Vg4bl3MA2EeNObyA3gBuIJ9AtkcQhwYzL8QYcYTyBcwT2kNDcYLZGZ8pqBjHCdEuEl3SnP69eddcHOABo84AjHaJ5dAPmrmyvZITVBSYyZyiLhAbzhVOEn88vxTiVlYYLjBxMET1MX7ZEeHTWQYAUuyOi/my4FuH4QgPFm/cFdSjQpcHsVa12j/UCbMSbdRTViiiMbQzVMpDgHv4DkqAfBx2FZuMa+4DQlu+Qxl4grSSloY/Co9MTSauX0xClhU2+ywuCwMDrBbnC+0fqI6DKTOZRSRVFJneSiPNVQTlE2KAss0ZFVvfgclKjojluzYXsiAmNbR/9lP1T6w6KE+wMEehPb+1KrY9sQ7HqyTL/056RfAssbbfuqz6SNkB7oxWsuP3yUOKU/XoTfA5jraUKZHxKDxnj4n0Bszx0yQUqfZ0AAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAATCAYAAACQjC21AAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFKADAAQAAAABAAAAEwAAAAAA/SztAAABsklEQVQ4EY1UOy8EURQ+Z2ZnQohCvxpR0cg2BK3NKnR0OnZtoyQh1rPhB9h4VKJSasb2hEgsvSjQ6RQe2bFznLNy152HnbnJ5J77fd/55szccy9AguHuZ5fd8vhKAilgnMgt50Y8qF+IzgBz1Co6l61yjFakcITemtLoscKCc8sKa4e5IfquX+lJmDKH7TnnWsf0uGWFbFbSxRJHYbrGVyERIRxMpr/J7QOijAe0o4tVbAAuAeJtCq0HyJ+9ICIpDul4psP9eN1jIMPv7yWCNkUmmRHhCwAfWXtjdXctYO0oN0huvZokOU6DBmYMe9a54+bZjhPH8uxhFyrV5j/k5l31PNqMTYwQGAaWrEJlS6imoSzccnbxv40QPmrIBlnFyq7ifG0jhLxNkXFzozLNTPQ+QwF4l59kTjKitGFDoIEkZqKhCG3IkFWJDaO0YUPAkCGfhAt5QpUj9AcxnyGd5Lr4Q9JKxKfg3jTNCXu+MiaPxIIpnivs+c1pIpD6CzmyO13At2fupg82XufeOtXPaSrvOHzez2v72Wm+1zYAqR3e058+j+CicUEEwX/WdDplBqkfwWqOHUYYEkQAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAAYCAYAAAAYl8YPAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAE6ADAAQAAAABAAAAGAAAAABXv2G3AAACj0lEQVQ4EZVUzWtTQRCf2fesWkJ7ENRDCx6KOZi8RGNRECXgoVhQEEWspGnxpAfpX+DFD+pBUPyA9iAkqC1YPxDB0oPk2qrB8NIeFEUvKqiHKtZqm7fj7LMbt8+XmC4JM/Pb3/yyOzMbhAZXPpHYSp4cRoIoIT5utcXJg6XSrJkuzKCWX0in17DQQyDoJIAWIDr6dZEuBfl2EAiL33+ejTPebu4hUrcZK7+hk0lLfgkmEtE/WENiWdd9Cwi3tSACkBBwXsfaNiSmyH2HD2URRa8Q4hzaYk+2XB7RItpiLubc5aBJA/UsEs1YkebBzNTUtzCeLZAmSMJFv0thDANjzn5v7sc2hroMuOry9QFGYjs2LML8CZ6f5uoOO3ySCpssF7tN46pefTPl0PL4YpoYtDdjybRHXiGIc9L3IEYIn+rOmSTZH0xSMV83EsB/cnOu1xUDQQ8AcUJ4PPM8pSzCHx5OlH6scLBgLiLEpHpaNa+Zc5wDnHPGPAErVda3t+3qHh//ZeLar30yqQoPCU1UFgGf1hJS+6FdeZRKqa7uU4SVLMxtSVzjGdi4PInWcTXSSxgXF17xKR0/xqaO/unim+X8P5GNILuY2BG26WMCh3jOdut9xMox9s/q2LSh1zQJFsIQCrxaxSRlqn7A8cUQcV6g3ckV3G5+LbCTva77cm00Osrl/6ByCWjzLcfZGdDxQ93NZ9npF8/DCAo7Mja2kI/Hr/AbvqBiz4PjbCaVby7B/Vb/4/dNMMxvsazhv8+Ieu6kUq1BXs2hDRJVnI85l7kZA/4e4g1r9arTvcXiR81dkdhoMrlpoSJfs6C1JCC5lgXbgsGM6z75bzf1ryrbUyq94xbcMzDOp71cw1MK+w1GcdRkZ83Y+QAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAFKADAAQAAAABAAAAFAAAAACy3fD9AAACoElEQVQ4EZ1VTUwTURCeeVsgGrx4wXjQEAMeShQTgxGNP3SB0tYf5O7RxKsnMUYwHrh7IDF60oMeDBrb3dbtQhODjZoYUSgmkhDwAHrxQCJo2X3jvIUlW7Ctsknz9n3ffN9M5/0sQpWnUCjUzs8v9gpR+yoaPbVYJRxEtYC5uYWD5Mon7uqvBcOwE9XiqxqCpE9C4DWB2IdEA9UMK/KmOdpjJK1ZImIvQiNlTSqskqhyha68pQm8joikfhriHWCskmFZjvvVaaSy01zZRlKvyqT1WXHlhKgIw7COCoJGAmjiabM3ErTXiJojXfGzE0GxZeRaV+XqB0DIs3gGAGcQ6IvA0NfueMdbNFPZYc58FRBHkElQpBpDOwvRaPuPoJn/nsnkd4OzHJZATURcBEIzEF1i80fITSdexcGeeOdtX7CdMZ0c7ZXgjggQeEhKGjRN6/R2jJRGaQnk/ToUB0Q83jmJGpwhF59mUrb+v6ZKo7SgUZ+e0Ge9RVnLMnaCXPd5SGgJ1dx/MX5pjB1zpJtCTbsYi3W8VpoNQzXJJEfbXJAv6nbgYV3Xvyus3GPbdsPvFfqogTgfPRd558dt7DEFrBHU4DjaLj+g3FgsYj3vdRE02xKby+XqjWR2WW3gLeQmYH2T/xwfHy9JXlJhcZnCgDStjtkm/Zbp+nGcXlpaCQfJUHAiSbZwaVNBjC+DLj6/Qx6mif5YLGL5PAFNAUELz9/4WIkhB7TyOnlHLZ22j5NDQ2y2h7GbnsCVd81k9puG4kZ3IpJnswm+Ni4w9+DvhgQrXGGEL4U2cuRJEjgQi+kP+e+5SsB9e2aa9mVHysdmysozFOHevPfN1FjSfBZoacMeZnxqf+Pee+FwuBgM9t+9z8LswhU22xdL6P1+QsX/AY2YMBfLnLb2AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAA4CAYAAACohjseAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAAOKADAAQAAAABAAAAOAAAAAANV2hTAAAJW0lEQVRoBc1bXYxVVxVe5947P8AwpRGGEQFtrCHFhtimg1Qltr60wRQ7b2186YNKeLBETY2pPw+k+lBMo6Y1mlSjD5OaaKQhIak1sTVBhZK0gabYptgfGKbDADYww/zAvfd0ffvs79x19pxz72VmGGYn96611/rWt9Y6+5x7z5m7J5I2RxzHnTIzdq/U6zs1ZLNIvE4kWidx3NMmxdxgUTShuUY0l77khJRKB6Sr76Uoiq60Qxi1AsXxWL9M134idfm6JupthV8cf3RJSjIk3eW9UdQ32ixnYYO6Yl0yOfpDieS7ukormpHcOF90WXM/Jcv7f6orOpNXR26DbtWmavu1sW15QTfMFmtmVEyJQqCXosOyrDyYt5qzGoxnzm6RWu2gBq5H/JIdaMyOSIalUtoRdfW/njWbWbJy1aNLsjk2ZFdwtm1Y4spA1NO4Lkvsz11z7rRcYitnm2CxkLRbva61x7X9rhePTRt0HyhL7ZrzRTrBhih5cXGeYvVzAx+OfjiY/1A5uWQ+LVF02ABPTVZeJF0sPl3Lt+JUTVYQ33NL4auAq8FmOEczrXT4U4x+rcXak47I3aFMjp5T7+J/iaMgrhSqwWCRbDKxZt8Z1xSrNwM9/WtK7vbrRjSHktkcC2Xh8NGWp9vmrc4YyFgX7PLYvSV/bwmaxR0shlnDeSs7/LY5zimdr74T16DeOC/SYBOQLI46S8A8xFkscNZPPYxP7Ju1QTwVLNJAoe0M4ihRLHXKkAcYi4M/jtdpg/rIsxgjOaKNIjh3hfgCaIO0LzRlfR6eNgRfbuORNni9n+dYDCQLYbFFPhZLGeI5px+SNkrHHfck34M20ULpTASJF4uh3eax/sJifQCxkPYFN3NAh09HJREL+M4CPGVcq8rwv16RkSOvyeXRs1LqqEjvhvWy9nO3yye+sDVB2abySgk4HSQvhg3D55uN4ssjvtc85jnaPOOZfx+VIz9/WsbPjEpnzwpZuX6d1KtVGT89ItWZGVl1y0bZ+p3d8vHP35kkyqsENtuM1YvKI49iF6ZBQ8hT482/HJBX9j0jy/vWyNbv7ZYN27dJVC67kuJ6XU69dEiOPTskF98/LXf/YI/c+sB9+eWyQXipMx8jaCcG0h+I+TdIciZV4g8Ovyp/3/O4noID8uUnHpfK8mXpNcHEkLWpafnnj34mw4eOyI5nfyGrb78tKdly+kITR867xcId4OfXIMmZF/M4lucf+qZcnZiUrz33W+lcuTJJCgzxkH7Upqfl+Ye/5U7hB/74a8VqhSySkuBQko92w0vTtX+KgsQSce5tY8ffkIvvnZa7Hv2GdPZqcxyMoUTxOspd3XLHrkfk/2+/IxfePNk4GHASC50DNmvn3NqIVdm6wTAQhfHI+iINn4wde8NNN2y/u2EGR4glr9rXfHaTw158/1RSPH0NhoYGHrzyOIky8a0btEEMDKXBTF34UE/LHqksM9cd/IzJ0Zf3rXYMk+fPO5k5GIyDtHrIY+c8AGpr3SDAHCaQpoxUP74GShX9tLRxGZCZ+ILLXV1S0dfMRf0jNgYbgW55bH5rBw6DfsR7PdsgiSH5QqC1Yx6OPD9twIY6C4HP65XubqlOTcGSzc25lUU68oAPw+fM3snQSWmALsi+WTKDq04Ff2C2zdl46L45Z1a9Ou1j55E/TKE324EJc/uCmwmJhWRx1NV0+MlfycmDL6rLB9BnseCzPF7XP727WHAU5kcsBnkhqTuHnxu9cYrmgQ3QqWyUdiNxW/bWXw/KpsEdMvjn3yce4m0RtJlYqIN/+p1senCHvLX/oJz5z9GsF/F2FHBYiNMVV0pXolUQk7BYzsGk+uirx6Tc2SkDe3ZJxwr9rQZ+vsBNPKWPY/6O3h4ZeHSX4wDXrMG4UJLHBgDjX8k1WFSADSKRxRp/pzZVv3pV3n3xZVm25mNJggKsCcuoU+cuOA7cmBeOIk40BB8GJdR4ouBpggGQGEXE8Cnmyvi4vLD7Mfnwf+/CMudx86dvkfuf2de4xWsnf5iNMWqf3SCcbIZHwgRkuGj3eDwl4OmgqjfRHIf27pOuVb3u9HM2z3/0l7/R771x+dKPHyNUbw665aaNG/Spo/HRkMZAYV2MCPLTbGX2awIeS0ICGwHdF5nBalxUKukz3icz6E99Zbsc/8NzMnn2vGy854uO/9Q/Dsm51/8rWx55WFZvTm7TMkHMa2thXgu0fqsbTLKCeYQFAWksY1JDvlKfuSJ/+/b3ZUwbwurgoGCV+/TR6L6nn5SSfjClBwwU5F2g/FE8rtegJbO6rTlMbHFWZ5G0qYxrdXn7wAty9rXjjnHtHVvkMzvvdyueNgd+xGAwVzJL3mkzvM7BOPptjOrZazAPRAIEUs/D0Q9piyjCEs+mOIe0gzlho96M08aqXsk9WgHITUlKySaYlDHtFAwsceRjfJFkHuKZvwjv7fpxhX0owSAJzSTnHJIYFgobk+b54McAhjgb65z+jfG0Mb+1W524WTIa1waxycYPBrEAzuFupcNPDAu3tlAPOe2c+WHjIDfn7cgo/kBv1dwOogROYpCxyGZERUmt3fKQH5zWzhz0M7/lIeaaZDSCp4kT6ZEnMUgseaizEOCsjjkG8GEM7ZAYRX42bv1JxFzeT+gK6t4vjCLCIjti8pqj/VoLbZYHnHMZ2lvyE/aE/oSNX0Q5kIzFtyqUWBtLnZJcnDOGTdFPSdy8pP6EvUp/wva79oYyXGyKkgUBRFsmQCfAWJz1sxHamnEQM18ZyRB6c6niCd1RWK8l20hgySsotKEANpQnwwLbwYQxc57rNpIOs43EbX2Kddcem4PkC0nC5jgHBoNx0OmDnjcsNs+/MLanuJ2LJeolqNsnx0df1gq3NS3SrkRYjC0+xFlfGLeQ80h3Ht7Ufw+3V6YPXs5QKg9qruG28qWHxqDRFFeQfko2bODXQdUdh9hW2dg7mjaIZG5ZS+Wv6inXaJIFs3iuRFHB1g9Sxoc65gs7hqVDt1OanYagzzQIQ9Sz9rj+aXpA73AOY54OrkRqUIXFU8JHnY1a/PXSUWsHtlFm94oiXV7Zrgx3TV5yu/aab2lGQ2yGbGzSMV3PN7+ledU1bmm2JbmvkBo26+VsSmdzDFi8xi7pQR3S621veEqyFEoec84Lpdu0d0n/rSD2/1YQ6QaieBH+rQCPc5H5twLcWva2/28FHwEp26nXPq8K4gAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAAAkCAYAAADhAJiYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAcfSURBVHgB7VhtbBxHGX5md+/Dd7ZzJnY+nLi2kziJm7TQEhK1VEKhfAVU1SUIyYiCiggWJUIUEZWfIFWCIAiUIEVBliiKEEWkRFYrIiIobVMahFIJUtzEF8eOUyd1PhrbcXy+u73bt8/s7n3sOZdYl/7oj77S3MzOzL7zzPvxzOwB7zNRuA0REePQoUN3sV7Px3wmk/l/b2/vkFJKUKPUDOj48eOh4eHhxw3D2ElA7RoQyym2fzs9Pf37vr6+FGoQCzVKMpl8hIs/lc/n43y85Hd/mGV3PB6/zPogahADNQrd8wPbtutZ/p7L5TY7jvMAwb3K5wbWX0eNclOXyf5vhdCiNkGsNRAYZ7MJ/CPV6Y2J9DNWLNY9O3bsGNB9/f39O1ntZdEW2qX7tidOIoG0XsmBbQ9iafKE2vpSrtqaVV0m//yRhauXf0wg3+bTInD1sLKRzWYrpz60Z8+eo7rBsa1+XwvLM7phOgwt09sCQqFpZ+a+3aNzh4/BirqL57yRqashvLlJKbt6DF2cWA/TfIytRMGQTl5v0q6c2cvA1rET5thd8/Q44r+u9G8ib4V/YqamkKtfhrxyY0Y4/s5iG09x/OnqgAy1GI6z1NUWbQQ6t0Am07AnzlfOjLFsqqZG1j5IC9EOo8cYeLOwrl+BmZmBTUAaq6G4gKCZVvqmC+jkNVkcjWAf8X+BnTFHb4pl/EoSK48+7Wlt3Qi034tIfAqR/17EzOzCMrohHoO1nBQViwDTbwMXBqG4iDjeGjqjRDzbsbhutyJRbGf9iG5rNisyWvmD0q8qLGluwmc/sRlDI+fATLopGNM0cWdXB2KxqN9jFPWJ93OOYI4xvmaJ7mQogmddQASXYT3HSQ0FDBq1Uw5ISg9dnSvcsnCRUl0AlLcn2PxOJoojG5UKZImRCGGAoJ6hGZNcd4x9U0UrFfxX80FQJk6pGLnsyLUIXqwE4wJqUmqqI6y+uyqq1qUjWEvL9hDYZd+sN/Bh9eIkL8F5dQSSykJm0nD+NgSZmEHAV9r6prV0URadN8IdyDIf8ctvpuQXfPGnnquAYn0LkQP/gpyfhHptGUkpBxm5DHW6A+bOT3o6fD15I7I6LxhIpmW/o/A2PXR8XUSdmgeoIIzhlRKwjre93OgJ5McGAwBVXQNCGx6AamiC2rwCcvgCZCjpDUZDUPd3IBjNvpWA1Wz9jJzpMPWTIyKfW6XUmOUZQNQQsFylEWXUfyrn4BuVCrQ4k5cg16cDSGVuBk7qGkwN6J42GK+/Dhm/5oFd0Qpj/fKSjmCWuRSnqYgJtJKU3coeD9BwCvdYFvaTOT/K4FYoWNcprOpps7q3wGlpKxughKIwmlvdcXnuBXLNCC2svBXHGEOHX4Tavs1P3XJ7FyVDDvpjOoWhosuUhTs44U7drPBSQIy6ehhta1FNlL6INFNlTw+JZA547i90m5pnIX+P+8xxPNHVpTLlOlxAqTBejmbwQzY/z9f1ARkJAFpg2qveL+sTFmhs9Dru3gDU188H5B1vqcya+ZpdQHcrNclq79lZOThn4tdsf6mopLQn3FLica8UpKkp+G65CoWvWhlsYablDANC10yYBn4TyLL2GCZPpXHdm495MXQrcY6NQS7NwrjvDt4ryEsvnYFxfztUR5P3elGfq58HN4tCueXardE5IVHgYUZ64nQWHQywryj/pRIPYUEif/2fy0P5N0YYqjzhz0/DuTpJHtoa4KECohvIOssw8TxJamPQmv78CiDZN15DdvA/3GkpXVQkhroHt/MMaoH6zBrg2Vd41Rj1BhtjMLZ1lyGu0F9aj/yIC2zyVqiwuAC4UKRCQcFlznXyiz7ly4hRsjwimLOGvme18S7XSIbO+DzUHIdKRFA8WMsA6SfGzO/IebtDQl4n73bWYcLipCfJzI/Tv8v0RFKIwfValQ74iqAOf+TjCK3qDlouHHat4/LQweeBd8bJ3mFv7FwScuQVZt9D8wCxXHRCeLJbqSvlq1jtYXWA9YHisiLh0xlmmqCvPAi1GHXMoLo4qolayrFUA/DFhz0e+sOfyEtlae8EAImRwSI2g4AqlQ5rclSIB2JogVmmHu0Ndnzs3tKORAIWoieW8co2cCYjf6brjrRb+Lf+4i0COpuWbWJgl5PFar7XqgLB9B5JMIb0qbDBVOhm/9eYBrwS+GeZP+tR/m510aMiy+ZITbm0vvCiNiBMhLnZEiA/ifyvVIMPLaaN5iAgJisn0fGoc8EYlncB11pGk15MWGHUJDkeVxPjrtv4vZkznNx4YdMsWXLgC00hnAHK6OAtkQ+JzduiQpummeiFZN2Sgb2PGXl7Cd5LETnBz44etat/9EbDN/+U/nnfpzmFn8bSxZk1/w/gA6HfjEFG8071/X1Hq0275d8x8svvJZC3F8HO39Z/SQiZAjM0rZ741RQ+kNuQdwFSHRPdXBh8YQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAcCAYAAAB/E6/TAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAATLSURBVHgBjVZLbxxFEK6aHXsf3mAbKWRtEliHxMoNBykHhJCtKD4gLkicQELhAIJbxC/IX/CJMznAGS6IA8I+IUCQKAceDg4JURKMEnt38dr7nC66Hj0Px4eMPTs93VXVVV99VdMIR1wX3nhv2ZFr/vLN59fgKa+llbdmSrX6ZQfuyxtff/H34fXoKCUi2kDAzy6svrsET3nFlfoVdLBWSqK1I9fDYPjR4svoohkYA7z6j869PdVe/v6d89MF0bHdYc7G748GzU0owzS45mj19WVeozG0J9fXb4pk7+NzzQmC74CwSYQAGGEwc7HSWcOSD9Ahh4n85BF4EXL8Q37snwnSa9jDTSrDaRwuOYjWvZS3hThcubQ2ufHtJ9EEwrK3v+DneRexCDkMKbzagPQWZ5CdcrqAOT1E9VWN0ZXuyupS7N1tIkSpULaLH6sGC6ebcUwE+u911Tf9ydtA05d3D8pMFBbEU2QNhEZpKAJzpZF5pn/6k4aD+ooCYQMTmW5AYg6JJwq1ZjOSKQxI+eenz96GvST2G/kNE1lWPFyKD6KYUax54k3skt8EF2lEaVSYptuoxEYoC30uHsJ8aUyUSB6AEZIcZXKCIVIRrlew7xkTaZCOSEHnzcYQj1c/VGkPqF8U/CwE8BGIRd6CEjLQ/HvCQpFIOedt85IDg1G3JzKn/LzzuvH40gfgjGykKWZvlMfOmfvBaxL4RY7UIjunjsqa5tsUOCO8Pva2YqfI5SkNu919MXSsVqWSr5PecAC9wZDiUgnq1TLTgFp7XVGqVyteBqE/GrMMsEytUhYnBWnln7WgfOn4fX/49U/88bct6OzvS2QPH7fo5z/+ws17DwNn8Pqtu3DD33v7faHj9m4Hbm7dw63724EBGRP8FfkrnSSpHMwXHmNIiAWdwiWZgMDo/DxS4I+8dzqdqxhFVzkqZzibojwl2VazliMlhxZDyJepZLqUlTmMyF0MEalHpGVo3qVJRXgiImGLRgxkURUgs0gwRBo7S1qAjP346ffb4u25F+fxmVqN7j/awQePdoHHiy80xNvrt+6Iwpn5E1CvVejfVpu2d9o45clxeu54vjXKFXNETkifYb3T2ZPFJBEwoT8ceZbtS8QhSv8uz3Ei1cyMw3b3wNqhICsm0XpIHBKnDUWb3pmTDTFSLU8KbLP1KXjp+RNUmZwIiYaFueMSUbU8ITmf8TK+0VE5jjG1qTnWiEIUaMnk6bMnGynmHO3ssSnwN2nxSguAhfnntDMIIQhm6jWanqqKOacMsQ+PNoP0CxuSxtM7/3Vl7AuWC5B6wyEcDAbIYy5Y9qjtoZSCrVSgVEoJRBYNGjsp2A1nBjJ2iR9crHzvHfSEHA8e74IvWLCCFS9DwXZ7fek6wsBQb5pIglxdRoF1xrjDH7DCJyjvVBEJqadAFISM4mltFQpWoXXoCoVnX7BDBQu5nKYFavmyNSRzSgo255lGlLUg/eiGdwyEw3xUdlSgsCjyZGkyhkHIUTvfp4gKyICFogeFbCmjMKZIpWsYIqIMRs7RV7yZaqMekrS9hJ30PIKFRpl2EYPL8pR2A8w8wjtnT53aiGdnZ++2Wq3zvkNczk5czsR169AeKUeT1CbZUdAZlQIq6ljbDQbXeO5/QlxGy4b6eKIAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANQSURBVHgBvVa9bhNBEJ5ZX6BCmCeIQ0V3lyfINTQIKW5AEY2DEiFRxRKiQCARqJAoQjoQQriniRtEx/kJYjfUlyfASAjwz+0wM7txovjn4ouVtW993pvZb36+mT2EBQ16s70OgdmDHu3j84/7efIGFjfqDF8htPXzCC8QmNZkRsAK7W6W86QXAkyvH64BAZJeBBCUrufpLMZjpIjhCRHFZUaGOE9lUaGOZVJvZWTZ5YSafYxAvAVxGMAShnkqFwam3Y0K77LsQVP9JRvl6V3cY3vFecfEskANvUes5KnNBKbNuExbt3do687yVCGkqoDy3aEpQVvXMipTfXZJzQS2Bl4S0B7ffZ8qRBAqk7OsBb2gc7w8WIIKFAVGY6QpIHN1ZZLXvlFEoGzGBJ+9T50iggkGYSFgDnOFhCTCVq0TjMeEell4DMRbaZhZ9EiXrIkKAQO6TaUVaWOYxFTMYmclpPji05FfVQNYowJFgK0xVQEk8G0QzfqYEGkURGiUWxZNZeJoFQu1tEHfibpqAPHJwyw/IxNqGsgmow3RGYE5JTURWPLLcyjaDFknPXT4Nri2NpJ5eo9JBTd0nUznRNv6XPP15MHyXMAQZCEKFmiZNFFy6KTjU6pihIYEdxvJaHnAoXaHhXyiuYAt2irJnoRtbCRdXko8s0ce86axzkTJaV02QuS7SkeaTrCJwMymULLEbxMtv9TyYBHVqy7PlhuHBhTbYxuQTf1BNZVgQf/RrRpgKTawxH9LDBqIpavSNQw3BQ+SUMkVFfQwpPrGEQuu+BpvjhluTIeNXoUhE/Tx/Vr2bwDQzwD+9MH2LSz9HSYBotnhkEZaMK5VsKuaO2RF9RQb31LavvuTn5YZMOar7djMD38HYx7bjAlGGo7VjOizem/FaqNqPWNaAdv8yiJWNULynLQkhFjH+fXhwyabVNPcqgFKtw6+a3TPApvANKlvd4Re6gHLWt1C3ZFvEgQffkiompA7xEuoad7Qalp4HE6SZIKl/HNz1m7nP48zJpp7qSpzWDy7qQUFx7mBsfGVc4kurOjfc4bDDhQc876BtN0RqC28i2+/tKHgmBOYDlyLVBoWDvP8wKYkHrrWYH2NXwrwVeqwx9KLf3FTPoALjP9PUm33vsl7twAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAWCAYAAADEtGw7AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIOSURBVHgBpVXtUcJAEL0EgX+QDowViBWoHeA/hgESKzAdqB1gATAXYPhNCVqBUIGhAimAD987Nw4TL4SBnckkd7f39t3u7YujCqzT6Vy7rtvApy9TyXa7nU8mk8WhfY5tstlserVa7clxnAhDL2dvstvt+ggaa61XhcDdbvcWzloYcsMMAHPMLTkG22sE5AmaEpQnCMfj8UcucK/XC7BJy7CP71cbG1oYhj4A6f/CMYKHo9Eo/gcsTN/JCs4PAHxXRxhrUCqV6Osh0F3K3AAzp/V6/ZPHh1NjOBwubAB824q2RyoBqRue0uUCChUQFMd5sYHSELDPx7YmLLnG9DxxzgBL9VflclmrE431UL9pjAxwu91O7+hsMBgs1YkmRZ7h8VDYhsuccoFXSp1pKQavpAvqlxwg+Qt1viXy9t10BlHq6kwD4787f4HBEqxNlIJNWhWYdCQtudhsNmzX/Umr7XdVETDTaqgGQfAtC1d5LQyfL/G5sfm0Wi2/Wq2yyVZxHF+ZHFOl8PLwfraB4vpQbNLHapVKJRAM00SuUH9TvxWN2J7ZTWRIpnknYruLGCWUUXOydHFfhJD3uyIhz+wzjQHw+1S8cmWTurFer/V0OrV2owgXUxeJv102Mwy0ygg9HwRljv2s0GP8mJVZ66+JxRIRj1T+/V7Jr+ntqF+TJQjZNRAobX2mZg6wg9ryA35+Bb/luoOwAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAASCAYAAABb0P4QAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAB0SURBVHgB7ZTBDYAgDEV/CQMwgpPRFRyBEVyBzdhAN6jt1cSEpPVg9F0ol/J5h0+1ViaiDUCBjyEiLemyFrDMWCxYtsFuvXeCA2YWPUpCMPnmpWmuP3s+odfl7/DNDmeTf9AhqbMdMfVljKSluNoAP4cV7AlaeimCjGmCMQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA0AAAAQCAYAAADNo/U5AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACVSURBVHgB3VPbDYAgDCzGARzBDRxBR3AUN2AEdQJH0RHcQEdwg9rGkiBBRD69pByhPegjADhARE224QVmDSFQQC/BM9lkiacnQe0LsC6qzVlm+Rvh0blvdPw3UcmLUmqFF2SQgJxyrYg787yn6EK4JR/vB8UdMqlF4oBgSx3IGDCppj+KuOVIvJMtEfEN8HjkK3yBPgHUg52dljy9VQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADcSURBVHgB7ZS7DcIwEIbvggvKbIDpKDNOlCLxCKGkIiUdLBDJySaMkAkCG2QDcyfZSKDYQpELinzS2Wf98j1s6QBmqKpqZAMPIV147kgI49WRl7Isz4hYk5vCMiYy3XXdEan0Kx1qiIAxpuGWFR+EELJt2yf7lMTwThlx7uK3rpSSFGzkLhOwbbpgloc1Hx+61tr56eynUOY9BAjpCUQG3XvEInqF7zf0/eivuE6jV7gG/NOAPHqgKIodLCTPc2ndCe0sbCAOt80wDPcsy3jiHMi2sIyJxtel7/vTCyvWSb2Dgk8zAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGEAAABgCAYAAAANWhwGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASKSURBVHgB7Z1dUhNBEMe7J6tW6YO5geEExgcthQeXE4gnAN+VghMQTxC+3o0nUE8AVslH+YQncDmBeeVr297hQwmBJMDO/kf790KyoYqt/afnP909MxBFjKy8WJOVcZGV5wsUMUyRIksT0+Sk8+eCpDy79ZUixFGsuHym58IURUqUkSDt5w1K3M+ey106vDvG8+tdiow4I6Hm+nlAnZK9aYqQWIej9JLrUQ5J0YngDZmp0f9TTmX52WOKjPgi4YIh98BJdNEQlTFfYsi9RGfQcUVCf0PupU5u/yVFRGzDUTrUbzmZo4iIRoSrDbmXuAw6nkgYZMi9RGTQsMYs7bROd/YfUi4NEtc4Vycaji7lNEMsatBHXTq6v4tq1kFFuPBgKa8T+wdc1wJcXW9Hr6uxDj3sXOcmKFNhMv+aOfPv80Iozk4F49nvPyggwUTw08uaWyv1Ad8eO/xu8wkFIpwn1FwaiQAFTWk/bVIgAhqzDEqycPDD1YOMAhFMBN9wkcOmRkNGyDDtFFPckCYedIrqDe8gn4QVQqhDB3cn+e3mLgWkkimqnyXVDhY07JEy25aa8XuqgErzBG3SF7WgFlVLlzif47fbH6kiKk/WZGn8lQ6KHSoKb6EpDDg/mgqdF1y4DQLA5xB3NIeQgFNYb8A0FXr8738rIJz0Cj7py/Ln58KLPLsxTyDA1Y5keaJdrmHLHL/bWiIgIAt4pQnBfvj5QmBglrI5z6gMfKEOD9B+AqdUBkzB6kGjgCmClPawUgIETgRpjzfLq7aWFGE3BC8SHJfZG66HLFEPC54ILCmVSZLALYcBFKFk82S2SLgKnzWPljEXU87PNAo5njljRYJzI/gBrxdRo+Xn18UunaF7FGr6sjr+iIDAEoGHmr10j0sPG2fNl6Jrp6/HaOiyONYsCUyEQaZ8+u3vX/vxTZnDfGxgVORYSRtQFVW7bcn+r0s+1sYLzYxS9xnQMAq6pGUQOJFQ2+vvB1p29kvdRyy8nUUFyXqfj5tedBASgoHHzr/VrpfU3vDst3W6Jjy/nemPSVmdmFYxWkGbRiMAVcr2JWySKb2rjn77l25z2clJ927BT1FZFtF6CoZhGIZhGIYBBFie8OKl3lGr3AKbZtDMMwgr705BW4EXZiOJaDZ+dO8JykZCoNrRULv1bwfmBtKxPDgisDQoJEBtzniPX7spgrNb6P8VAQgTAQATAQATAQATAQATAYCzHrNfEJUHmKs7zpBKBggkxxu79z7ovFl7uwGqGOJrRNGea10GTgVY0Icf+JSseM+1LgP1BA7/QIpDpowzXERnEP2z2OwIABMBABMBABMBABMBAKBV2dVz3OdmTVy5QWXC1NWkdUdDoFVUD0yEv0lcm4pd/yGWPxS7VLVKoeWipg1H5wieRBZ/r2UiVI0OfSYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCACYCAIUI4c936LuRmwHOmajmHpw/qjKoEP6U386Fy3LYCvc/ORHuwdMlOZj7DV5FYHpsMqvYAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAUCAYAAACEYr13AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC6SURBVHgB7ZMxDgIhEEUHl8LSI2xpB6WngStop5WWdnoE4SYegROst4CG4JiwG7MbmE22sfAnhAEyE+a/DMBCse+DUurMGNvn48MYc6AKNH2gtb5h8hHDdV47IQQ45561AgwTO9zb/oJz3sYYWUqpA1qv1fjGew8hBJirwYPc/2X0fqd8GDz49Cql3GC4xRWwhau19gRzf1BTjU5DJVN0JhRKKtCZUiipRIf0gKJDekDR+c/CL8zCYr0BZxqAlSqfoDAAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARBSURBVHgBvVhdaBxVFP7OZPKDxppWq6RNtqmaB5Ea/xDrDyYtlaj44k/aitTaCoqIaGibCIpLfTG2okglUqEBsdnN2uKDD+qDNIqIPggqWiqiOxuRbZ8MCG3jbub4zWyzSbPbzM/e7Qc7e+fOOWe+Ofeec8+9gEFopqNf38S9MAgbJqHWK3BRYKsPhmDBEDS16k7+3QVBr0kvGiMIy3693HaRhCEYIaiZxK3821Du8L1oG/GiGQ8q9lb0ucUkDEBQA3S8/UrY9kaopMudztRC60+iCV/IiziFmAhFUNNrrofo7VDthkgHvGAAVvJ3eYXwQoLlt8gMdU/Q03/Csn6ne3/kPD0uw/gJAQiXZlTOwHI5jJJAHKg289pDd/RAXa/HQQv6w6iGmoOy1XEo2usbrh0OGrGRw/5bGOHQQSIDuSxcqw+1kXTQgF4Z5FCHRKQo9j1ZIplFVAh1PHK7kIuiFjnNnCPp5TwnglqWb+qLSs5DrDxYIon3QysoDsQh5yF+orawLrysdTNiIj5Bwdrwwu6NiIn4BBXrI8h26rF4pV0sgv7KsngVEpn0I1zsu/nk50Uqy/EDViMG4hWsltvN1aXUVv0O2vAyA2dygUSP7msYgDs7wnaX3yN+jfghIiLQg/reytbKTtzGyy+cWw/Klr/WLyJX4rN7NiND/jzdDi8lFdFeYSaJNtQKTSdOarpzTA+vvqncl+lYp2NdLRHMQN/iOjzXZsXN36iO4J8gvcBqRicSOi+t33NoRyGtKRk4/h8iwPdWC3bwjY/x9o6yyaGlOUQjOI9pzr2jcAtvy+Mnf11S39+fWNtYxTzM24ohrRfBBRb0G7jyAazW9JxXfW9dZu1AwX3IK/+XVK87wXmcolc/g/M355W7k5aXhVEKImhyX3w1c+F2iAuTCJOoHdQLFvLBIgGQzVNrz9WAGXgZ0AQEn7Ma6pPdWBUkGpyoU5170TSTJdHNJHoNxHqONB1Ehfg5L4kzWC57cD+am6eYB18LUgseYkteRbHR0YnOCUjxFhlwRmULvTqL+/j0I3jnCEvjmO+tPVjB2N6HS3GPvsG+wswfPuHA7wpAlSjO0oMH0VhIySP5nKa6umDN9jNABtnf7W87xcuTeAdNlxyUl07n9V100HNP88HztHjFeQTqm2aUG3YZ5/B/WpJd8wCmcg1Y1v6lPJM/rSP2JqA4RJkNKFcXiwhclDzozUnRA7CLR3Aif5bJ61lafoH9K4JUL04eFK+kkv2cq/vLFs3Eu8HjtzohmKBgGy9fwTQEk9wnPxEsFhKsAa9jUTDMT9rE+X7hM5pqh0fzb/Oi+xDUPirDxW8RApGP3zSZtHDD2Fa4uhPVzqKrnm753jqCf9sOS3J6GhFQ2/ngJ53XYgaDzIGP8vaq8wh63hIwudvjsqv4NWKiJoJzUKWdTMKbq08hl2vmyvExzrYdiuqtavgfU2tpe4xgyeUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAYAAACM/rhtAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAglSURBVHgBnVjNb1xFEv9Vj0NgAXkCWpbdAza7C0JBKEYckfCEjwNBkFhwxslf4OTABQ4eSyAOCBJLXDjZEX+AI4SEEAfsCwgiwAEk4AI2IPEhEdsoICB4iuqqru5+zxOR+Ekz/V51d/Wv67ubsMuHn8LkAJhgoEfSCmmUmLoMJhA2iLE2IKxLuxoIy/QCVrCLh65kMB9Hd3AVZuR1Box9MpkVzkC+grSCTnlGruk9jtG5ApYZy50B+vQi1i93zcsCqMCuwawsdTwtDFtc5FMRjCg4mZ27gq4RJ+pi6AjQ5/4e6N8C3H5apTUrC3dlYZUIV4vHVmCaJA1BE6+PT4txGi8fawPG3MjzOI3dAtx+BicJqlI4KAXji5u0uOImBEq74Mycq3kOMg2P0+c7z+HEFQGMKt2+DksBmOSkHvu/FAsufJJUI1kBxD6XLGU79e3ATADn6AIO0ilstrmHoQBH8TYF9LQ3CL+OrKTvwlJ+0ofy40hnHduR7w5FepQiq4mS9enY+N5RHrZy6hPeB2TNpWFYdgDc7uNknCCMIjMkZuqlZDSWfgMs/dyxFh1iHddhpcUxBlh/xss2wInO2jdCunERYy+ujSH6KZJ7FtNiuAtx7/KwOgUlm2NzUHu1uVRpPdsXF0duDPD+IZ9pHpJMj3dmMb8DID+P8cFAVAuMccvYKlcsTCv39PfUUo23XqeOQNXa9djYboQ/8V/qmz1mFUtWkFCCMTXuYGJ3OzMazLYqmnq1v4fkKmmM05L9qfrVIq2P6n7nn+Z2B1dLzK13odIDvvJI5qrKQnf/s/2WCJj66V8ToHskht9+mGhvF/jxHA/OniT69DQ3JEvNQNAwCZTe+E2/4YYoRZWg5MxZNVrfXfTE5BAwY2fy3ab33H/XNNHRj0jbCC4+Nx2g8MgiEOn/6Pq8WnKUvFf5sDuiOY46oWSumaxiIfbYPEk9lTXaulopg3P1Zi8eHadwaBGXelSyhxY8RPmmdoLMaiYL4mYSBpBfkmAcMKZiDZqyhErstmGpVCfazwNsZHjv7FBg/O6c/hTk/48A13TNQYoE3eWUU6KTrhVST5DUKtiCqLfnxsrZ6JmooQIuBm1qN6neNGGIfl4Dv3Ust/xen/HHZrG3/x2mKp5a/u6YFSfTUtW6UHQNgStRZWJEdjZh+7DM6ELw2Nd2EifEj3B1srnfJSJ8tsj85RmwvNOd06DJkzmEUdp87SQpppS6JxdoxRljNguCesyQs0os2YCFmBFil6KHB7XOZD/4ed2Y/VMk+aDY2kUBt1/APbTYTAAX1p1HSXPZ/qgdkrK9Sv8Ebb+MDSGpKFIgLRmjCs7twKztHUeB+xdKsI/Sc0/2R9Q+ePVWK17rUjEvVtVjVfBO9K0giEdToGQPtOxOsDMI58AavwdfLII/Xyzc2+AEML855dWN83U7txyMihZSdC3+MBrq8BGq1sFI5cvBKpG4aWtDbgkr4hQfzGHH890y8PpBxvlV8sIghOwUto4UDvKdMpY0zfUMF7+C82wqbjoEe01XKnVup+EqC4j0GDdOgK8dJzq/yvzTatFZmtEuMobVl1UCj2edjRER5VbMfzUK59BklKqAPbKXqMoLazVT5j82ib5fZlw3Lk6xZpsjr6KtKo19dGGN65NV7U2R7imR7EC2HiTmrDqzFKwtGPvKyR79ne7pM+5bUHXHQj4H7mi7tx0lHHrbEPl4Sl76n0nQ1EfEe7vmZFbMqq2xnb4SzyziqPq1EflbFvLhdjwqu0/S3C9np30TxLccMWd48Azwk+Tac3OMSJMfbu6JBMeIH1gi+uVr5vclW91wANh/HNh3gHCVzJM+kTDo7AnW+FnU4OL0giW2qypBrssi96LKUdTbflgB/btXPPUWqVwCmadvib3dPEkRnDIfOwK+uGHp689Nin10o2Ud5dEJLHSttuFFRzkK5Bwtz0qgJ+XEL3ZYg9GSvIQTTd4kIPibM2XHGwLqk77m12hz/Nmp0hft8+O+lfi/is29cxT1w2dnYq6tUmsFKuSksE7HsOzVzCkHk3IkV7sppVZ0gG8lnX0hFfm14wV8nHP9OCBSxocnTAvXj3mhKlK7n/HjsvX9IuDjWMtIbGtqxcRItqge0lHTM63zgnjxXpxvF6ax1ErhwTL1nlHCxc12dKA6h9ZFKFBXttn58hm1KlaR5zqovbiVHo9eHAnHsCk7mM+q9RMccc4cevzc3so5mYpJcDxqpmxBXvGo6lMVxK3SPuX8XKxSVU3FtQcBpyO4LEHdzZIE64v4Ul673JReU1ql6vAdl4sEqqRTM0ej5M9nLJd8FZzjyzqNyI1ZAhjyylNyitqDuVwDEte5l1DlZUrnZa4dKaUwk4JJlOvqu0iec9XcSfNDQ3N9B9cAmEDOy/bmOQVL1D8UCeSgiiRpD67xryo20o/rdz/ZpQDOKa97gD5FTzQvk2ot5GewBEkHmARXVVHrRDbkoN5WcVOF7YN87Tv2di5M4e42ljAMoIyfkp2teqFanbyaRp9Of+mag+s+8lNaUjOVaxRTp393FPiKrHnwElgu/fBrck9DmGk5gyub9RQWCe2zcnOFOmM2ZEY2Z54eu8LrtwbI1zEtIPvCaLxapKHyqvKGj0l6L0CAxrWI0DaknJqjR8s9zK4AKuM3FNysLDCdAQ6v6Zr0+v61jIgXhvP4XcBN7bwP3BXAGmi6w+nJ51hZszpstJ0BZhHi+xHMPH4VlV4GsDJ3l4+A7YmRTwJ6bB2PgGNlnhhGAFuCMtaay9iWG9SHLbde6fMXk8e7VY8oVOIAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADoAAAA6CAYAAADhu0ooAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABg3SURBVHgBvVsJeFXltV1Jbm7meSLzTBICgYQpQBgEBBVBBZyl6lOgRa2lVkXbquXZV23r8NTnRLV1qBXEAZBJERlDCAFCyEQg8zzP483NeWv/FzAhuUBS6/4+JNyce86//3/vtdde+2ih0fAT2B0v7Ed1cyf8XWzQxyca+Ni88mY8det43DEnDP9x034kK6tt0z787qxm6O0b9Lseg1GLeGCz1tjWNeDzzw8VaqtePzzk/bp6erX8ihbtxzId/k07VdiA17Zk4Wh2LSaEu2FveiU2PJoEnZXFxWu+z6hEuK8jXBxsBnx3zjhf/OnTDHBvoLP84frqxk7c9/JB1LX2wIcRsPqGaNw4NRAWGLlZiLcYgdU2d+GPG0/hSE4tfnHDaNw2Kwzi20NvpUCv1+HpZWORfKYW6efqsSW1BL9aEouV10cNus+MX29DdIALZo3zw8RID+h5k/teOYwVc8Ow8rooHMyswitbsqHXWeKZO+MRF+aGkdiIHX36gxPIKm7E5qevgTUXccEYulj52iGcLmrCgng/xHPxUyM9EeTtCAuLwWfS2mFAOqNCHDqQWY2Ugnr87eeJWJYUiv6X70gtxYOvJePMu0vhZG+N4dqIQ/fWmcHYmVYyIETFxOn3fpXEnyyU0yU1bWjr6sXO1DJea4mqhg5Mj/XGJ9/nIz7CEz29RowP88B98yPxxPJx6jt2NoOXZWerw6QIdziOwEmxETs6gYvT66yQW9KEmGA3SFwUVrUgdJQTyus7sZ95WVjVBvCwGxnmzo56jHKxQ5+xD109RoTxOrm+pLoNTe0GtHUa1H3HBrliSrQ3HOx0sOx3pJ8fLMSyGSEjztOrclRi+9IHNLV1w5m7u/t4uXL0TFkzPvgmD4/xVOytrZDBcJTQ9aBzQV4O6iS6unvRTSflbjdMCaQz1milg0ajpv4u5+mnF9ajpaMHDQSipUkhcHOygZFgdYChPS/eHyO1K+ZoC3PowVcPwdbGCg/fGIOEcA+U1rVj9RvJiPZ3wXN3x2PrkRIcy6tBOE8piH+WzQzlqfXidGEj9p+uRDIRuaKmFRojwE5noXaui3+MBiNcicRRQS64LsEfSWNHoZkb2N5lQHZZC1Kyq/GLRTEI93NCKoHtlwS6J24fj6XTgtX2VzR0qg2YP8EPXi62+LccXftuKjp5EtfEjcKmg0WwYCjmlLdi3S1jsIJ5lZ5fj11HS9HLBwuqujra4JN9BSoHPZ1tMDvOF5MJRlFEVke7gfnV1W1EQXULMglqhwlE4tw0gtfPFo6GDXM/u7gJbnSgmCmwJDEIVY0duOcvBzCHjpVUteJcZSuiAl3Q0NKFjx6fDSc765E5+h5D8cO9+dj5h2thT4DoYwilFzSgqqkDo31dWP/6EB3oqgAkt6SRn3fh6Q9PYEa0F355U6xC2kvBSsKwsr4DAQzn/ibLqG/txr++L8A7u/Jw99xw/OaWWOzNqEJOQR1q6cyaxbEEJSv8ZdNpLJjoj4mjPZVzD799FN6udvj97XGwtDSTxeaYREFVq5bwyBYtp7hx0O/yK1u0lzZnaK9tzda6yXp44tqfP03X5q3boaXl1Q66ftvRYu0vG09ph09Xav/cc1Zb9epBjeirfZ1SrL2zI1cz8B79raW9R1v7zlEt8bGvtXNkRwV8XhHXk1XUoBVVtw66f2Nrlzbhoa+0Q5lV5tzRLM2d5uYDhcw5RxUaA8KNYPLloSKVu7fPDFHgIvla2tiF7esXsuh7Xrz2hc9O408bM5B2th4LJwdg04EiInIH1jHPHnjlAHffEqcZIXtPVWILw/+CSZ3868rJeOzmMVj2P3tRT9Qe5W7HNGnAJ3sLUMd/9zdJl+dXxCsCI8A2lJl19P6FkcxHS6x9J1WFm+n0gT0nKwgWvbjrmnC4O9ni9hf3IcrfGa+umgIba9PtPmMub9h9BvVNnbhrdihSc2sQ5uuMxDHeuJ3fC/FxwvSxvpjDvM8qbYI1w3v/yXLSyUY0MnzVwlhalpM0vHjfJNz51/0orW3H2FB3FeI7j5eht59D9QzrFz/PxC0EKUszHpl11NPZFv/4dRLKudiH/y9Z5ef2oyU4ebYW1yb4YTTB5eXPMzA+xBVPLv8hN+TxYYwEdwdbtBPEpKzMjPGCAwt+IWumH09GyqNsTiVRc3q0pzqtFiLw2ztzcYYdTX9byFx8c/VU3PzH77lZjqpUefIET7N8KSe5MYue/Rb/tSASD143ekj2dVlHxezIWZ9YGouDOTUwsNDX0GmmI+umK75LL8fG5BI8d08CrM4DDrsUrOGmpOTVIo3lZt4EX1UuHBxMtbCzq0exIzEXgojUSxtrHUpr2vEwy0gJndzJurzm9WQ0t/dcXMe1kwJxa1Iwo+so7rgmjOHfrk61i88TdE+IMDErc05e0VExCcNfL4nhgqxw74LRdCwejrbW+N3f0/A6d1o+v2B6/ryWaGvPxceEuMHPwwG5DM2mlm7mci/kKHuJ0GLFzFVnB72KlHOVLcytPqy4NhIOeiusvDGanY5+wDoeWRSN1Lw6RUSE/DfxJPPLW3APU+FAVvWAjRmWo+wq1Ql+QTIwNtgdb2zNwTEWbbFtKaUI9XdFYpTXoO9JSHcaejE/zg8nztaR+DcpIFr/r3R4u9mhhGRDceCKZtXZjCGrcubpnmQUjOFz4klI4pmLl5o7U+n5FQlMl0xyY09FEPacKFfMSUiMANrlbAAFlJx6kieVVdSI9s5eSFMyhwDixN3N4cnYWltgaow3Pvg2D7+51XzNuntOON7Ylo1AD3sV8jvSyiHnLgxqK9F1AhdWRrqXSjQWEiELnRDmrtq5p0ghzdk8Usp176epAwhitBCx1MneSjLx9D9P4pWvshkJOva+LlhLxA5mHR/S0WKCRXJuLb586hp4kNVIKAoiykm6kmTHhXoo8l1U04FEEm9zJmF3P3Pm2Y9OIGncKIwNccdpMqg5/PnnpJG2vO9Bkv7395xFFE9PePM+MqPnf5ZwMYeHMiEtU7nxnx0uxqJJ/iw155AU64MbpwdjwZQgdJA6NvJez3x0khhRZ97RUu5yuKcDgn1+uKCirgO7eSIxZEBSU2VB0YHOgxhPfxOCvoGs6oUHJnPDbEkhjdiRUowXHpyiNk9sIUn9dgLKM9SMdOS/B3nf7cfKcPO0IFzOricn3n2ijLkZBh83B2SXNsOfSGzDaLOxtlGhnEjGlFc2EL0HOFpCpwJ9nQZc4OxgzZzrI4xLsmvIFjCIcL/sYiQvMxj+723PQUtPn6J8smF//+YsfLmoJopkIayrB09X4Y2vs7AgIQCRLDe5KSX4+ZtH8NaaaWbbsTiG+Nu782DPitBlMCiee6n5uNsjg/XerKMdnT2qS+lvUphF7+mhs8JkWpgTkSGXlzMShesuGYMUlqUehlMgnRPe+z0f7kwQCWDdzCxh78pNPS5SC8GtmwAVzS7lt3dOuGzP6cZS1dIqzmnQCODVzNdLzZGpU9TYad5Rbyb4hm/P4TRBQrqFeeN9EcK2y97Gmknfpq7pMRpho79yGzubLdcs5o9skDUZkzCdYqbG8wSNzLIm/OL6GHY149l09xBculSZiqCj/cvVUGbJXwspkpoZyTax6rxDguQ5JQ34aE8+6341ccHDvKN3zgrFcib2MZaFb5iXiY9tx94/LaQAVq3gXHikON3c3o2rMVmMjf6Hhfuwwwge5cxFGVXbJyaoG+DpgKs1ae30Ch8s4MfviWgmbOxuUtEeIvyNBKXHb4vjeu3MOyomms90lpApTOhUOtzCMiN9ZjNZjC0XHcgQPFnQiJGYnK49U6MNJtIgvPVybGYoE1bkzg2T7yoZlRunkXTksj/9fN0cdcpDmdkYtGI+hjGH8knLpMG+YLN5Em/uPKMYjdneD6bc3nmslPexQAsjQGq0xq69huJYbkWrKg1SZoTGCVIKgEiTEOJ9+dM9eqYO4wJNvbAAnPS+0mRYcz3Sk5oz80WLPoSzzAjPFfviSDELfjFlDWdY8KYVjZ1mvyqb8OGePKXXelOADvB0RLAXc50l4Damx4r5ESoEZRP8SSpc7fWKUIik2Ws0L3hI9/QlG4tZVC2OUGYJJn708sN8siwLhvPlgmNIR8u4U6ITfXG4SOWsmKBtLXvOBvLW+9gpfEzlwZz9a18+Cb0/Fb5WAlC7IiK9BDE3dh3SxXiztvrSQampOSXNfF67UhMXsivazhJjzkpr21DJaxdQJMsobEIevyPERQBzEevykvV7qVFVXZ2jW7hj1/9+t8rRHc9fR8kiQH2eT30mnwsv5N8yHhBnKlgfLzU59agAk7wihyMdkJB3yUVJh5aOXp6gtVIQBYiEnOiZ+64MX7nGmjksWvClJuf8v9tysJqtWDW1I2kEpoz2UN+RxvsP7KL+fG88fk8p592deYO+PyhHfV1t4cUdl3lHf3tocYxqifaxU3ic44abEwPx0ldZeIns54JJrrxDUuBKqmZPbSfA3YHOakJJz9NJS6QXNRDwdIgNcFalRayXaFnXzDxmM2AgYE0d64Mnbhk74PkZVCJ28BCOvHwjvmErJ2E8bYzPgGumxJAO8mRFRLvUBp1oHHlpY0e3aq/62yiCxXzSL5Eov+YDH18Wh31EvSPZNRevkbBcMjkQGj2z5k4LAMlnnoR66VCKGXqLCP+LJ/vjFB12p6jtz9otnDSakqcvwUQ2ZNwl8o1Qyl+yF32W0qq0eXspca6+IQphxIv+JlG09UgRe9OIQY4OqQK+8FmGkhjfemT6gJsIv33v27NoZJ4+zi4jkzRPpl4bn5pD9mR6qEghrV2Gi9+7cHdBaPnd92ynLOnMPJ6awyXy5AUwkRLn62avfpbTXv36Eco6Gt5+aAa2JBcpFnU9Wz87hrykw4XZz+ZDhdhIwr/pyTmD2NWQ5UUmXzOf3AEqd4q1nKvtQE1jO168f5ISj0UgkwUkE/n0PLH2LuPF70qpkD9DWSALfFzo5XnypSaOLCBIPcN+djd1pSWJwcimtCppsHT9d2in4hHqaY9YRsEHFPQ+fmzWkBTSrK67jVAvqtsEEvixLBP5POHH3j2Kr56ZryjdUx8ch4Fl5P1HZjAfhy7HcmMp5lQzlcwizEU+lM/lEGR2I6ehU6Xh8sRBeuQ1b6ZgwfhReHTpWDzBvllY0bPkxmdZ64+Rtmq8x0OLooa811WPDUVxeI0qwwHCdxEVuTXMkQcWDNRperm7ueSxWYR9IRpFLCsNlEWNIqPwKX10SAa+Ru65JRm5jpvQyxOz5Oe+rLfSMIdzU2PZEorArdcNhBCROdd/ko4U9sdCJzcxZYaavA1lw5qPyoUiiSxmfiREmPRbaZpFxvh0fyFHCs2K2cRTrBpPiSSMsqY7UdyBixFNyLRhUF2Hkf8RSilkX9D3+JkasqQ+JXlmshWUceKkKG/VXMSHu1PrNWlIstytBMN4TvOC+jXWP6qjF6yBoCIj/F1pZShmAZ9AVfC6SQGYNNqLEmY7arjzZ1lvpbMI83LkGNAL6/6RhlE8hToCVTtrqSDuXbPD4M56+tn+AqYBODT25KZYkazbqxNTcx02F7KBCexDl7Apn0Yebm8z/GnniBzdxFnlSxSpXlk1GVOjfJTcKaH9BuvqfpabyTwBWyKqn5uJfMvYX9Q7CVuZldSwZtpTmumld/50SrBAyLpoyTI82ptVg5sSA3D3NaYy0cn6nJxVhYc2pGIDMWFmrM9wlzz8QbAs3IWnkFfRwoXZXdR0JQQXTQ1S3Y0oeSKhNLBBlus2UzJtohLQxA4I57dVcltUggAve/hJHWVeik4llsjSY9uvL5Vptz03yEgMkHo81Lz2SjasE02jSr/+45Okgu1smj3USxnvstbKaYpGIzVSZqLpBKO2ti4EkAyEkuJ5spd1Zmdia2cFJ72pdrZ1m0K4lTleSsW+iMS8linhyfo5nRERy1BdPDVYSTlid/xxL+y4wd9SpZhLQUCEtCCvq8/RYZ3oScoegpiLJvkhlKi4kUOje/68H4c5WynioNeXdXLrU3NVh+PqqB92rymkRHisyCurXj+MVW8mY3KEl8rPJrZ6k6kA+jMddrGeHj/XMCxHr6jU97f7qdRzTKhCtq7dQADyRxE1G6mr0plILsnpuZ0n6MM1qakBXLwXgaiRoCVji0Ju4GEKAHM5/O3l/TtIB/3Y9gnyD8esgqcsfU5eoLCz0V+xJgmNkyGP1NMxJOXUB1TOylCd0pnKz+kk2oHDkEaGMs5fcYKnqmONjacQN4482Iuh30InZXLw7qNJGOVmd8X7yLgxp7iWshAn9bMe/liTRlnPU/FycVA5Eh3ohjGhXlTvnNUowJ6zFql5F07p0bePoJQtWi5nH4Hc3VunB2HZjGDVLo3kJIcyURAKWKJ2UNn/kkpFAcnHKEZLEjfylZVT1DWCDTKfbe/sUcBXUd+GwoomnDpXg/LaVkq0XUqfEqBUjg71IBNGWagNkL7Rg+Hq6+6IAB9ndFKrPZjbwEHtWEyj2mf5IzlnzmQtUl6e+fg47poZpMhEeU0zqinL1DV3qPeYTG+7mNegLOY9+olmOM9armR9Ruo+fUaOEXyw5uYEgo4bG2Zb/BTWytaxoLwJb311Apn5lexmyKqsrg5LRULVxXEydfxszZAX9BkN6O3uZA/aqX7W6Ki1rSNPNxQTo3zxU5qTvQ3GR/rAx4MqZGYr19VmclZHvcnaDjobOzo+9FspMqXTmXNSGVU7K84zZMTPRFaOWlrriby9lFSa1Nuabgzp/2zgmkyUxEbmXB1RXq1J8o4najpZvVqrOTt5rtZ8jl7JBHh6WPekeXYh4bahsC3akLOtOG9DqqdXAHZhqORga9ptOxvT353dpua8g38LHMi9pDw1M0TFKdGTOzq7FdDIkLeTOWjgBku7J0AVQFWxQ66/SjFd58tQkKZaGumrRcwwP1dOp8cQ3apVjpbXCdo1o5FK37nSBtSen4eYONcPAHHh38rkRM7fT7vA6c4L2qbJoYV6HcDb1V4BTnQQO6JwLyJxE/FhIlIyC7Hpu2zSwh5Y6fRDrlNQWXpekXKsUnd9+NycBLZCo0cpwp1XdmUVfm5CMApKKzBvUig+3ZGM/MISrL0riXVPYzdigZyiOtZcK8yOD8Ztc2NwNJvjjRhfLJoegehgTxX2y2ePRnZRPcmBPe8XhDby4LV3TEF6HucmYT5Yd08ivjuWjyfuSUJuYSV+d28SNu1JR2VlJRKiA3C2qApdHe2oYLdkpbO5xEGOF6eG4Y75MVixYCzuvX4cLKVGRvi7q8UvmhaOK1FfQbDEWH+cyClljtrilnnxJNx6LtgRVpoR+46eVkAh4bV4WgRCfCh6ORjUK6sZZ4rRUFOOXy2fiAhOAYI9LNX7CH2GLowJcoSTDcchUS7QDO2wJ6D+dkUimpoa4e2gMZw7cTTtFIor61HA6Kmqa+QwrETU8kFrFB+WzAjHgslhiAxkJ0VOPiwKKDv1wKI4EvE2qnwGFYUvv7+NsF+nXnL8bFcKOplXAg6xIZ4EjjakZeVjNHVett4oKi7BruQs9po2+PK7NMxg8Y/0tcfR0+cwjZu3YfM+LJ45BhVV1diXlofWllbmojMbhDaGsAPGRfhh1pRxPMUO3LZgEv57zRK4yksdV9GXDChE0nI5Esa7ekyvlmoaBsj8os++9vlxdLdUc7yg4W9bU3HbwkQVmvKK6qrlM7F5bxYKantw08woFJZUcne6MDk2WN3Tzs4OS+ZGIeNsBdIyC7B62SzWR6r/9XUI9HHDhEhfCm098CPQSIS8/skebFh/P2x1fXjy1c1YOi8BZWQ8Ow+dws59qSirrIaDozNsHL1UmZG1Ck11kBGHbuD4cVCbJrqpIFkJyXRJVZPKpwqCjXQVDS2dqoswGHrU+/OyEz3tktOaOsW+njYlTmu2rkiICcHxk6fYXHfhprkT0dLcjPFjwlFeVY/tB7OZkx1Yefu1yDlzDvklNUiIi8bWPSmIDPXnvfsY+hYoLKuDvbMb2ptqWCed6Iw1ujtaYcGc9PT0UEPhQF93/vHkQMxVsbYgb2f1com8v3RZR69kgs7V5JSys/Uc0Ysq3iZlgGDS1NrOBrsNnQZL9puE/mZ5j8BKoV9jYx33pQ99vQaWPB10ds7Q6e2h625Qp2DrwJOx7IWbhxccGC0iEbm6OMHV1RXydrm3uzO83Bw5deP0nHlvrRtW1o38fx64nIlj0iiICKZZmPRNo9BH/q6jy6iGw3qevJQUo9FEuuW1ASkt6iUQicHzy/qxmoT/B0E2ZZxTyt2zAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAASCAYAAABSO15qAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC8SURBVHgB7ZTNDQIhEIWBtYDtwO3AWIIVaAt2wEIBxjshlGAH2oF2oHawJeCdHx8HE0NcA3vel5CZZMLHkMwbSiAhxIpSapB25LdsjPGitT7mBco5bxljd5y9c24YAbRN05wBOeWQRSqmRCl1I3+Eh9aAXNEt+YYwUihjjPXeb/DVHSCHasAYpAqQQbiUclkN+EAQ7KQOcs2AGZCU3Ggxlm3f91tY+lFyKYTQpYiRftGUFCyUXAN2A4etn29Lhk004r8PJAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAG1SURBVHgBlZT7cYJAEMaPswFSgaQCSQWSCpJUoFYQfP0tBfggHZgOTAUhFcR0cHZAASr5PlyYGx467gxzcLv32+fhqCsymUx6juP45/M5xWrW6/Vfm61T3QjD0NVav+NgiE/X1mVZZrAk0EWr1erQChqPx31AdgJIcHCPtYiiC8AQq0cgnnCz2XzVQIC8CCRFKkPbyJbpdDrAEhEIuwB2P9zXko4HbzFeDR7fhjBVG4SUPk+n0zMd0nGhz0HYWADk0VM1906n8y1RlBLHsWHULAHrWYIgAaOhN1UXt2FPSdSJNEXp+XzeZzQo3lbdKdIMF+n5+ng85h45J+p+yTuK9HsagIcbxgbPEHXqthmAkWoUbS9h+k1G6NBIYAaTvqgA83dkddDoAEG8Ao0gdghNGAH4JAO5s9T8NmRoiYYzFHAoVYvQGMBHiZADPJCRSfidg5Deh7oM2PZaLQqgDHAkKUclCEpCXvHqIrqE3tpAjBpd+mU0CCAsBrh6aXnfmKYnN31bjAWbIXUM1KWmb8vlMinONv1GPHhcyAGvok5ZT5aCWdiKGsiW2WwW4CDTdTkm0uFG+Qfs/echAUwOxwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABYAAAAVCAYAAABCIB6VAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAH4SURBVHgBrVW7UsJAFN0szCBU4dGb0g7s7MAvEDs7+AOxtII/QP8AOzr1C4DSivgFQM9AOmggnhNuZtZMgjy8MzfZ3Zw997F3bywVEdu2q6lUyuF4s9m4nud9qxgBrgxcRXBT4Ebmd8sktCyrB3VMgO/7LrSOjTMD14HWIrgptAXcJ+cpPgqFQltIbUw9aJ9AzC+gV9BWJpNRuVyugnFfjEdxDvQBOG+9Xn/RAwfEPhXjdjRkGg2/G9oF1k7CBWmCF12sM1e95XL5FCVerVajbDbLYY2P7XbbAe4ZXq1jcDR2E0QAC0umDhuukR9XJUixWGwgbHuxWLwmYRi91nrCNJHY5yI2WOofJOTTancIKpqzU8Tg8DRPVSZldaak0+mAgyWqkeghJ8hNXZ0pOKcm3+B0wac/ZL15Tjp4cPC0Jgbe9Hw+H4nXJH1UJwocbPCSgHzI6goqoVQqVWFlKNZq0Xt/iLdSZtzv8PqzKhS9xuuFY15tAC+PIcWegZB2wp7yS3AJBqzDfD4/OYScpMTKnrH5TZsTtL97vKbSUIb7yENPpSGxs9UTiRGGh3BuWYcG+V0MaRU5HcthuXIuM3VAiDZCe492PXsn3XCdmKQS3dsf2Arx6nAc3lDjR9Da15D+bDxSSjx1Rwzwj9JM+mUdLaiYely+k+QHtEQFApDonjoAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAARCAYAAAA2cze9AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAACbSURBVHgBtdThDUBADAXgN4IN2MAoRjCCEYxghBvBKEYwghGqogm5uLvSekn/1fecAHAMEbU8gaeDZwTe6EoFjzDURLAPLvAawQOsScAjrPkTrtTw8Yx4+hfwEsFTanm8LQUFPkdwyC1P2mU6P5B7Fnw4ZkD+hCTXlN/lUsEDvPLU0CZVYIYLBXZYUWCDMwXHT6mFV6Rgljv+BO8Msd8sxbBCwQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAE5SURBVHgBrVI7boNAEF0IB/ANQm7gClE6Jwk9SKZMZ/sGWAIpJT5GbkBowg2Mu5QuU/DJe8nsChFsIdkjjZh97My8mX1K3WjWGIjjeNE0zdqyrKDve1fgCnGF7zbLstPwvj08hGH4guQjwhV8B3+m27adoKALr6IoWk8ykB8JSaRpulcTpu+ATQAmB1MAtF10/iTFS8mjIlvHcZ6SJDn/jtC27YZzjpNxeUMfYnKn4p7MDkBpCc/VTMMuDhyDsSPYEuBp2FnClZx1953gRy7VMLjFHKFUd133qEHdaaKzHsEVXZgd5BSOmmloFugC+hkXIqDZz8jFU5UPBIui+PZ9/wvgm+d557IsP64kU2yvSH43DMbV1Z/2c0i41jOTNkI+d6xV+K+AjONSWKTIBClQsyDUt6f61D3tB3mxs0E1ZpH1AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAF/SURBVHgBrVM7UoNQFH0gC8gScAcp8rHLFiztkj4/rBwrY5dOMkAfd6A7iB1CQ1Yg7sAyBQOegxcKhAzM5My8vJvLu+f+lboQtDqlZVm9JEnWEPuapvWpy7IsxtlDPHie9121uaoqFovFOk3TN4g3MIxoiMO7p+v6He7NaDRSQRB8NEa0XC5fYGzxsWEYO9u2f2ocPfE7IrUdx7n/R1Q8ANEMob+qM1itVlNEvWcVXNfdlUSoiYmafJEIH55VC4hjC5FfM3KdSrBPWMy2JART5y1NUQXRDDlHqgMYBWzYlLyrBn+gMKW1OVD0CcnrCNA5FvlIWUZiVhLVgN5i1QGGMEc4ZqEUj8cW9v3CoS6KCIpbTrTqAE59UZKcqNqBNmD7JYsD/+cr4vv+CWN/grgdDodxGIZn05rP51NONsQNhve9JCKwO5/j8Zipbet2iWDqg8HggSQ8mLvHMs26kNXfqsQyW/l8MQ3WUZ5titVoJBLPJqddBtUUopy0aZkvhl/HwssZdaozYwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAANPSURBVHgB7ZlPTiJBGMU/GNQty9lNzwlGE01micvZ6QnUhYkYF3gC9QQyCQECC5kTDDcA15DIEVjOEpf8Ccz7kiZhJl0FSjXdtO+XGNqugoTXVfW97yFCCCGEEEIIIYQQQgghhBCSfFLyQcjn84VUKvUNl6/T6bRYrVb74oAPIeD19fUTXs7n/89msz7+jl2ImJaEc3V1dScL4ilYiV46nT4XByRaQBUPQt0bhr+IAzKSUPwz7940jnPwWRyQyDMQKy+HldeyTHkul8s5cUDitjDE0/Ptt2lcC8ju7u6JOCJRAvri6crLBo3Pq2+xWByIIxKzhQuFQnY0Gr3g0jNMGeDcO3Dl/+YkpohAPF15nml8PB4f1+v1vjgmEVsYFfcRL/umcWzbW4jXkxDYegHV68GuFCxTHiqVSlFCYqvPwCVGWXmAXbGNr83WCohte4KVZ7MrTay8UwmZrdzCl5eX+xDvyTKlt7e3dyEbYOtW4ILX84LGXSYtq+BMQL99OsPlKyxDI4yqFzfxFCcCIm87x8s/W2oymdzWajVn1c83yiqeya4MfK8Xil0x4eoMvPv/RiaTecRBfyaOGA6H+oBsXu9i0+IprgT0gm7ioG+4ENH3erYAQL1eUyLAiYB4+m3TGL54UaumvJM4eD0brgRUy9A3DGd3dnZa7xFRQ9El4v2MUjzFWRVWgVQoMURJ8sY0xP+8F8uUHsQ7kIhxZqT1ANcqiEtT1pbFdm6pFZEl6Bz/YQTih6LHEgOcdiIqIlaZsX3SX8OWiRhFKLoOzls5bNE2RDS2UTYR1evZjDIYbNooLyOUXhhfsLGKiCrY4n14PQ0HPNP7IO5pnMRTQgsTVES8PJjGVUTtLOYiaiiKeznTfA1FS6VSW2JG6GEC2rx7CehUFuipj1wWikZtV0x8kpDpdDrto6MjfVA5w5TPEO+75SNiK54SuoDKCiIG4oeieYkxGwtUdRVBkF9veMvGQtF12MgKnNPtdpuHh4dfsWWtbZ3v9X6gaPyRmBNJIo2K2zJV3ChC0XWI5DcRbE3tVoKyuwGC2Nh5PRuRCKhtmN/LLoqoYcNtFKHoOkT+o9LNzU0OwnkQtBmX/pYQQgghhBBCCCGEEEIIIYQQQhLEX225gXvYGV2/AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAYAAABhNaJ7AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAL7SURBVHgB7ZtNThRBGIbfmiEh6EKMkLhzvAFLlpj4E1fqCcQTSDNuXLl0oQiewPEEDFvcyA3GEzjuTGCScYMLYMp6B0kIqe7p6v6q+od+NpCq2rxPV1UX9TVAQ0NDQ0PDtUXNGrD0AWta4bkZeQuSaPw5O8HO+C2GKJBEAUtb2DYjNuATjZ2jLiIURDuuI0h4orC68Bidv/vYQwFYZ8Die3Tm5vETAdEavVEXrxCYlq2xPR/gyV9BKazf2cIXBKYV07iIZH5p4Kv5eQBBipAwBzfGZtG8OIrw/aLh7jY6pxq75tcVCPBfAkIth5bLYKURXQ5PfkcYnio8AOUIEXImpBZgdsvhYRc9W984MuE1PkOQUBJSCzBr/kdSPwVBmBASXGbAvaR+PXvjzIRvCS4zYIXng9gBCi/hCZ8SnDZBczjatUkwp8Z3EHoLxOFLgvUkuPwJPfPErU9Uc61PsNdSGEynvcIz07yGQEifGF3PATTWMfPmtUYxSJ8TnJZAWZBcDpUUQKQkVFYAkZBQaQEkr4TKCyB5JNRCAMkqoTYCSBYJtRJAXCXUTgBxkVBLASStBKuAieDtTpGkkWAVoM7QR02ghGmNIwZrYeT4G4YLT3Db/OGzijpgii83HuKAua52xe4Bo01sqMn06rsW6Lapb1pI3AQP32C9NhJiirsz3wK1kWCq0bbmVK/BOkhoaQxs7TO/D7jM8kdzVdbyd/npi2lNYxP3bX1OB6EqzgSGb59Xrqy04cjxPvo3Hxmbyu8tsAQX4Vm+ixvjLIBUQUKa8CSTAFJmCWnDk8wCSBkluIQnuQSQMklwDU9yCyBlkJAlPBERQIqUkDU8ERNAipCQJzwRFUBCSsgbnogLICEkSIQnXgQQnxKkwhNvAogPCZLhiVcBRFKCdHjiXQCRkOAjPAkigOSR4Cs8CSaAZJHgMzwJKoC4SPAdngQXQNJICBGeFCKAUEJC8WUwp/DUd3jidCnqA35uf6Kn/6Bx/qmtQn8U1ac019DQUG7+AQxbFjeAI1djAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAR5SURBVHgB7ZutdxQxFMUvUIFAIBAVFRGICkQFogIxAlGBqEAgEBWISv4UJAJRiUAgERUjEJUViIqKCEQFogJRgSD3TELTt5nJx2R2t3R+57wznXR3Jrl5eflcYGZmZmbm7nIPy2HTmLJX2kPPHJfWLoRNypQCKGPbxnZws6A5UBBt7AQTiTGFAMpYY6810cZOrVWjpgAK0xRcQq84stfR1BCA7t0Y2x34zBU6Fz7DdTu/suae8dheXbxQGG46bBbfMJKxAjDTB/YaQhtrcV3gXFwM2e75/2hvGCMAa+oA4VrS6GqnVuCiwA06MSQs/OfSd5UKwIzsI5yZr+gEmAJl3ys97sq+9wyZPEA+rPm3gXS2yS/GfmE6KDB7gQ1jW146758aOzf2GxnkCkDl39kX+rTGjo39wfTwHef2b+WlM0/PjP1ARrzJEYBtnYV/JNJba8tG26vy0igCAya9JKkycgR4ic7NfFqspvAOba/KS2NFUYhzJJAqAF3/tUhjmz9GGY2xN8ZeoPOopMz2oNEV2o8JWzY92j2mCnCIxYkLA15Jm99DV/AN3AxmGuX8RNf+/Tyy0qLD5vuIs4PFboddTsnAxj1PsotxuG7QRyFhWJ4igMwcVdVYPzQW89XEvhQTwM3ffVqM4ySQVmuGJ+cGChEviAkga99NZsbQohPBTYZ4P3pSY+FwWIu07aEvxIIgA5YfWBj1a4z0GPW/W9OoCyvIjzNP7HuCDHkAXd8Pfqyt7LH2CpAzTzfVDjIkgBL3GrcDt/bg09sMhgSQqmncHqSnbvZ9cAP9yC/VmtuzfbrYwowyAFZZ3vKQz+sVIMcDSgc+kgbXgZWueYiBNlqIrKzepbUcAWrV0sPA/T7qchV55z9SRoJ9Dy0l5PKbqMskAtSCo74PIq1042Q0QwIkq7iGJOf1fxUgOX7lCFC7nU6JrKwiAWRXUrurmpLkMUyOAIOzqjVD5rXIA7S4d/v6twHpAbrvgzEPkLOq2xAH5HkEtxkbJDYOkCs1DdYfueaohz4cE0DOqhTW2wsYqJVIOxn6QkwAjUUF91AH2c2+R3jFOIdG3EfPGaUMhVtxr1DnFEiomx0jrjtL4HMS+1KKABqLXsDZ29geIbS3UDrhYl6keG4neZDUnSG50Ji1/9YDC8udXNb8E3vPRdeShZfQvuVHJAiac0CCCstl8har3RwlDRbbfvL5oZzd4dD+m7JXjdXQYLHwWfuWOQLwgewW2RT8tURlrxrLpcFi4enyn5BxSiT3hAhfwHb/XKQrdJ5BL5n6lAjf8wrhDVUWPmvjpuSMENWlm8kJB7e52UQuUH+V16HQnU9Sgf+xV8kOylMdk2P306KeEAr9p1DplUdY8jE5R+ygJGPGKcq21Nzkq0H/wGulByUdqUdltTU3y7zEzaOyrsAUcxvx6Te7uhYjV6trHpaOeUMtNLqCa1RgiuPy7CbpDbVnjRoVC+6Y8gcTFIBCKJR7Bd3bxRCNCVj2T2Ye47qdy7MHztwUVmMJP5mZmZmZmbnL/AUKT/JDmD5bKwAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABIAAAASCAYAAABWzo5XAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABDSURBVHgB7dKxCQAgDETRQ9x/xbjJiRCtFANKSJEHdsdvDOCFpIyHV1S3XcEnGTKG9Iu35pBnskIu8o4Chqph0+CpA7hFUC3RIzNNAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAF1SURBVHgBzZU9boNAEIWHH1spyQliV06XHIF0lgHJR8gRaFPFZbrkBs4JEBGCNuQEdk0TfAMKChogbyyQiCXwAi78pNXOjmY/ZpfdWaILSdd1jVvTJ9FILZfLmaqqW+ZXLrcoCjsIgoNKI8RgRVG+Yc4kSUrYV5blWpZlXsHTMXPTNF/R2WhaGwiTYt/356dgQBkcTyYTHRlLeZ7vEKulaXorW5b1jthNF5iFbKgL7DjOIcuyf3N4W57ZmE6nMw4gwa04Bdd+zhphbhiGiVoN6BLght8+rpYE1QOs14kKwYeAheBDwWfhY8Bn4WPAnfDVavXYB2wYxi+3JqP1+mPyA/c4qnuRjNkvnDmC15Wp4RZvUZx2IlshlDky5m1hU4ddf1AY3AmvaglXOhfQPcZfruvG1EOtcM/z5jRSwtf/+uD1C4JzfUcDxce0MpOmn0vuB/oNfliMF4nGCKzP5liJouhnsVhoWME9xjc0QNXq3/AMvjT9fwX326/Jv17TAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABkAAAAYCAYAAAAPtVbGAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJzSURBVHgBrZa/b9NAFMe/Z5vG+SGIYWBhiETXQllQtxoJpIalYa9EhkosbYmEBBNKYAIkpFCaBQZaiW4I0qVJJSTMyET7B0DSoUIwNBlSkiDs490RW0SpEyfkK9nP90Pvc/fO7+4YBmg5WZt1ONIKYIIhDk4PiXPscoZdlaO4umNs9fPB/BqWrtduM46c63SAqg6QK5SNjUCQzNy3xG/or5gY+ZDigMUVpAvbxr4vRABs6B/oM4HRVXUUmP+CPEjGrMRtPf75PwEeSG3hUt4y6qKguLV2OJ4dE0AoYYeQdQtyJp0wVTBuMZjPS8ZHORMCZDGiJqc0PHpzCrPzod5GBylhlA4xhRF0+qyCxWwUkSjzy4V0xqzFFZFsAXOhB7D8OCYB1rs2rK12bydKXjuMiwpl7TSGlAs4Q/bgi423L5q+fWm3SCgUt2NnMTVzAtn1k7h8daKrPkwjX7wflYDD7w5W7zXQTxTGhOLXGIkx6WjhTqQLdONWGOfOq38BdxtoHnEMksZgU2aqPQ2f3v+SYUku6BIknE5e0DBzbcIDHP5wBgJovesamFqBz2BKmy1pBWjlScyrf/nwKBhAiGFPUUPYo4+6Xx8BKr1ueeXNpz9x8NVGINEs1sqGpeWLRp1+43WqyvQDidg3G1yGMagchqKwWqdc7AcRsoptDC1Fz0kjXmJ/oZDlMU5x5Avb4X0PIkRr84BMFeNRVW1Lf+iCiLWhH/nKGEB0aOmme5Z0QSSobFQFSByjGE2WALhhcuV7kViZq90kWA5BDjJKAe4gt7ZjPDu+eYCWkrUU3VrmGW2kdA2adp1SXV1eHIANkQv9fPwB4Lbe+Pc7hHcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA8AAAAHCAYAAADXhRcnAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAC8SURBVHgBjVC7DcIwEPWnyKdysgAeISOwAWICRoANwgZhA7IBIxg6Ohgh9JZw6crmXUSkgATJSU+y733ubKmU2uR5fk+ShHnvL2yiSJ9lWZum6VVIKfumEGJflmXzzwi+hq7lnFfwVUPaCsQTiEVR3HBffE1T6Bvi39hSn48EGqkGRx1j7IClc+5BfUwygAbnoFlba88f5iEAohOtRULgAOyIAroQQh/IJt7WjFYkHGl1Nrfoc8gIT/1L8wK+5TgFo6TeCQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAAAhCAYAAABpwa0hAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJKSURBVHgB5ZghtwFBGIa/uVcRqYpzqKojEYlElehP3B+gKoJIJBIJiqAKikCj0tz77jl7z55r1zezOzN2rycIu2PNvDPzPbPE/Qd6Yz7ozUnh43K50GQyof1+71wsFovUbrcpm83Sf2C1WtF8Pqfr9eqMqVwuU71ed+6J8/l8HwwGTghe0LDT6VAul6MkM5vNaLlcPlyv1WrUbDbps1KpfO12u4cGSGu9XlM6naZ8Pk9JA/0fDoe03W597x8OByeE1Ol0evogJHi73X6XTBLAah6NRnQ8Hp+2w/1UJpMhDuwfkIQQMHi/LR3EBwqCDAgBqWJpxRUU8X6/LzV41DgUe4FzAAa3WCxIBnyx1+vFzhCbzYbG47FUW+8YhHsQQqXEfld9QBzA5LnblANWg93cvgvvSRBLSHaZx0WTQZrzo1AoULfbdczmIv4ehVWLCFwKndgGk4TJcg9vHNVqlVqt1sN14fcuoBpCo9GwaghZzbmgb+ijHyLoZUg1YVshqE4OjvTPTCe4t8HpdOqcpWUolUrOD3r3mE5UahT6gBoF1T2DDQDEQZNhNcchFQB4pSajaI5DOgDwCk1G1RyHUgDAliZ1aY5DOQBgWpM6NccRKgBgSpO6NccROgAXnZo0oTmOyAEAHZo0pTkOLQGAKJo0qTkObQGAMJrEzJvUHIfWAIBqEZMlrOY4tAcAdIcQRXMcRgIAqpoMIqrmOIwF4KKiSS+6NMdhPACgoklg8z9HKwEAWU3q1hyHtQAAp0kTmuOwGgAIMoQpzXF8A3L2B/THzBa+AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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AwJIqvYA9N0IpA0AR0dHfb/3cQCQUp0D0GsAaKAR7NM0elQ++3EAkFLvAaD0QKS5/O+s33//Pe17B6BfNQCMo0e3bt36VyRV3nvfSwKPA4CURtGzTAsAndVdCQAAC9d7AAAAFk8AAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASEgAAICEBAAASKj3APDtt99+Gknt7OyMg9TUP5mp/37VADCNHv3222//HUmV974a/ZoG0+iR+u/VNJhGj9R/r6a99wAcHR2lTYA3b97s+70f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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFcAAABXCAYAAABxyNlsAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAASSSURBVHgB7ZyPVdswEId/6QQwQc0E0AkIE8AGYYN2A9IJYIOECYAJEiaATmB1AtjgelcrD5om8emPY8nR9969vBI1tr9czrIkGygUCoVCoVAoFAqFQhqMkChE9JVfjjjO7J+ObAiG492GGY1Gv5EgSchlkSLtlOMKjUyJI4ePEMmvNpYczyz8HYeKCOW45FhwvFF8FhwT+ws4DKzUm46EbmM2aMl8cJU9yD6Z0ZAkUz+Z2saMcpfMB3DOUVOa1BwT5Ajv+C3lwYya3kp0onfFeEcrfplxjJEPhmMcu78cVa4Vu+CokB+G44oF/0IkviASmYsVKo4lH8clIhElcwcgdh0pEc8IJFjuAMUKcuk8Di0RQXLtWfYFwxK7wiDwJBdac28xTLFCxfEY0k3zlssbveGXawwbGZ27gSdeZcHW2RqHg9cJzjdzF8gfgyYzXxVt5z7lwVkuNdfjFfLG4KM3cIF2wRXHdzjiXBZYbo285Rqs9QKUvR7pnp259B6cMncAWWuwoXtlp4Qu7PvbkC9gCgecMjfzrDVo6bcqLojkSzjRzs+pMzfzrDWIM+ol2auuverMZbnyjY6RHwYKsQ6X8e/8WcdQoMpcu+Ex8sMgrlhBpq3OFe3UZSHaMNweMYgvdsWVppGqLGRYEgy6EyuoSkOrXNsHfEM+GHQrdsU33sbOiw9NWThFPhjsR6zQWnc1csfIA4P9iRXO2hpo5LZ+SAIY7FesEEVuBX9+YPclZQwM9i8WUT6H/JchTez/lzViNXVDTYplSR3uQ9iSKPJjsoeDq6lfsUQhcu2OuTLZw0HW1L9YYbxr+9EWhViuufbdb3qD/27QPqynwaCfGutMTLmG42lXgwiCDTIRK8SUW3EsqGWuKUCwQUZihTa5rjdtSN+vC8HSLiuxKsiPF1LMlpLuhCPvp3Dy2kRwV6wmP2IIrildsYRQ+DMeyJ8QwfLvZMUyrSOFmhOagT++NVheU6+xrYtJNHJDV1q7Cl4ij5OXZqXObsjvKm0TqhLhsE819Uvr1Jd2mkfqSwwx8m1fhNyXS+l0t47bjkN7EfGIOKhKxDYSErvUJIhW7hzx8BKckFhhrmmklSsntZi32DsJTkyssNQ0Usm1P4E54qISnKJY7bIol4Gbe8Rnp+AExQp32oauqxy7WhzyXy8iUbHyyJcTbWPXIccpuuGfDE5UrDB1aeyUuQIf+AOUa6U8kAy+RtP1q5AWTlkr+Mit0Cxxj3K1lRGty5fWcZ6JsGMAUxwWc1exgnPmrqB8F0O7YuC5Kj1EboXDKA9nvjdYe09Q2vJwjWEzHQXcuR40+8sblqn0KYbJHR/fT/QNNY+2GhIzpAQNR/CCOnpaUxCUv+C0MnYdylfwLXKA0n4S3jqy/tj5jvReoWYScUFpI5OmYatm+oSaZ9jWlBaSrTcYApTG411XyAqifLN1G9Sv5AW1rAQfBFbyhLovF39//tRTv9V74CYWfOAyCyGrV8aIM8q2eij8E1++LtEjvcv9jM0wkS23xFb4eOr+53jHxzT/Kz6etC8DLK+jQ37KfqFQKBQKXfAHLdWfwLtuMvMAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABwAAAAcCAYAAAByDd+UAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABDSURBVHgB7dWxDQAgCAVRcDpGZjuNndHqJ0J111G9ggTcxCJinnNmugkNaw4QEBCwPr9vY3Xs8HvSL9vxDwEBAQGfFh6RCg0ea+XmAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADYAAAA1CAYAAAAK0RhzAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAY/SURBVHgB1VrdWdtIFL0zEvBqKohTAaQCzOOGZIEKIBWEVACuAKgAqAAIMewbpgKcCnAqgH0jYGn2nNGMI1gTrJEMyvk+fbL1O/dn7px7r5RUjEOR5ozWK0apOTFmHocaolTD7j2M6Sul+vh1g98XSZr2Pop0pUIoqQAnIq0ojpeNMetCATBwCNNNjfmhIUACASDIjb9eG9PEuSbOzeGeJs5RAX1s3TRJDqoQspRgVqAo2jTYY+tiwMc/p6ePVm9v+0WecwYrp1HUws9lbCuSCdleSpJ9CUSQYEOB6GpaH8A6+0v39z2pABRyEMcbOk2X8VweKiXgWMD8aZxqvd2JIoNtj/NJJgQKeBLHO6HvGtti1l3i+FDStJFq/enjYNCVF4B9r9bn1npar1blGRYdkXlo7fpbFJ0f5qPbC8JbDx6zIVXgLIrWKBQevCWvDI6Bwp1pvSll4Cxl6iCUB8azXspy9O26WOoxvkEop/BWkfts9MONV6dRdCg1hZtz109FSz3q4Ax92Bj5mSRfpKZAVN5AnOzNYCkY64bcvGpJzeGny1jzjS7YGVcLNcCJ1lvOJZ9ehnzEmSSjmAQ6Wl9RwPyxB8yD1sKuC272ScaE5XbYnmLk1GREbuk0SqaP3/0lzA+pCDQIdtt3SfJ2lakQEPuTJLbYNXGyLQUw0HodaceCJEn38cugtTUyfwQivsy+MHL5WacCBu+BMR9NR9H2FMYCyrfDY8OoqMEwsDtezV4YDDuh4/gSwmwnSl2kSi0upekstrdum9XQLC5t45pNeknZQEUrIb/bRX637I/lw30L25GUACMq8qpLhUTzDkIgJG+NIst/0RVhKQoKwQ+Qx52Xpklad+kdPohYwXJuGCwYLSUgyRjo7vskWfW+/hwoPPK6L7hv62sUrUggnAJvrDuKE0xpPQ+36I07mFGApc6xO+JApSA+YF5AsDbm316Z7AEKOlastYgTDL65kIpcSCDgek3JBnRB6/utyLJBhZBJxOXSEkbaFn/YqMjCigoUTNHKSjXd3z0EoeG5aXgBotS7MR8lCDZtaPoQCtkJ8R5YvR/llelYfEtqAI7la7YuFYajWAZB7I2Piq+SFY8C3VFl9cjCuP1l5Vl95kynB4MrqQHAYnYRuoOis3df1GYasZSEi2KNsgu7x98llpw8dN58EgBQmZXpLNTXCjpvPglAmtXgm4c1mKf5aZW5IiiQCUxVBoNBDxa7icgaChDaf7T+DKWMZhpYaN87MltoLJCB0fBO5F8rGFbr4EhEi58YcxArRRK9P+59d0r9wDsfrJ2az0BJQhx7KAoTRfSaG47JCpagKxIFPoyISYlAfpmij6tpFySGgcLy1azB0QvtlEBRLbSvbJ5n1zH8ITMOshhBtg6e1sZzNjtTU4Wfw7kBxrJHvoi/3yUQUMgC3Zi/rWBJliQ2yrAPR2R3QaHOOwWYAy1FAg3FXoQQaA8qh302o/Uvi9EnFVP7NA1OGwgOzAoHzsiCUOc3XsBz7NzoLNU5/pAk61ICtr+GIOjzv+ECDSJ8jMm7ibC9VSZ9oXDQ3n4CwRTmHUsApEmYx9bF8I43toUL7SKj6MJ9F6vo3GAqfIbFuv7/MIO+T9N97n2iVgacc7DAIksAmNC7cDNG3gVbGxE7Fw5YMuA1I4SiKxXKNOjOdMMn6zWuRlcLzlgE1u0f1UIflLgHWahuVNaDegG4ssb6s9U118m4rgNFGgdPVa7/15Rg2GZ0mfkDytxnrnkydi20ULH/lcCKFrPlwpWt4ObaC8Ap/iq4Kel6vtchNGlS8EKh0b8vZVAn4bxQ6K5cPnetfu6CIU1K08vXnHOOU16SU6J8vihVwX+KcBrH2y+9FPivgSbW6LeugCabWzvWZcKgldi5wTuvi0a/Z10xD3JAuME7dkjwd+8UzNyt/JWCz+SzyfzZU2Dnpmj1KvizPloPDJ71dpYE+tjaWCi7oWU4uve0yAoygjX/mSCYfzuU+Zf+EHMooDELrOHbvA7pOYo8F79rybJhgfPzyCbmIEDLZvCsd2h9kGZdm66UQCVfmHrYxTxNWzZFyXKuB5/LZm/MfUaLFi5rFLj+exXC5FGpYI9B94rj2K5/Oms1Zc11rft3KNkV/RK1CP4DVbQUzYu2HOUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABQAAAAUCAYAAACNiR0NAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIvSURBVHgBpVQ/TBNRGP/do6IRIhcNkJiQHIPRwaGDUxeuRhM3SzuYiEmPxRVHnazOJJbZwZKAxqXWyRBJLA7MVXEgMeFMN4jpSSiBAn183+vd5biWwsFv6L33+n2/fH9/GjpAfwf9Yi+yEjA1IA4Jg9/pXoEGW0qUNp5gtpOvFn64No+HMYkC86I77CaQCxP3BC/Dc3gjgDwdL+Fk6BRNqi8D1ItYaiMcmsdLMniOiCAf83Ia+nYRC+4dGJxDliIr4BzY15D6N4HPipBSXaOPEYUgMTSGkT4DH9daJaSGOY09jMY4uqhkT29O4fWdvDovr5dRrf/lVPULNBlCSKSikHFkHtlKraLIPHA9Bf0apyXjFAtjJXWu1m2kvyaP/K9JxKkXNLihCB6NZjuSFe99w5Ve3SUzsbnnhM2MWPA2QMbF+2V1Zse3qzNHyEb6DZ8smGoQPf0ZWHC3YvdgB4lhUznevf4A1S1bOX5IfsGNgVvKIbNo4s/makcyqaEi0KT9DGDy+zh+11pPM4kC1ewTbl9tVWVq2aJG/EAX2AIC5eDL/4aD9GLSJ+WIGdM/c/7MHQeKsCR2G2q5nTCptTSu6uWRTf961ZWMVWjjMWZbm0IKQ6NeCttwM7hRK7UKTkJTwPIJFSkpDX2e4QygVHPrE1Ap+GpDErTAUsTTjgggTcyTJr7w7m0CO/ie9lEi56l0FzikMBYrTPBRO87aJU65xHHX2gbUmJW5mc4k2lblEED3wTLgM5PsAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAFKSURBVHgB7dzBTcNAEIbRMRVAB+mElJISQgWEDqACUkrSSToIHZhFygGF3Gz5j/F70sjSHv0d5rJ2FQAAAAAAwJ3q+37b5nyZ12I67YVv+r82NUMPNU/rG2fPNUNzDfBvCBAmQJgAYQKECRAmQJgAYQKECRAmQJgAYQKECRAmQJgAYQKECRAmQJgAYQKECRAmQJgAYQKECRDW1Qgu9zKnvBq4brO6Oju1OdR0jl3X7WugwQEuN5N3tUwvLcJ7DTBGgHN7PNYyfbUATzWAHRA2RoC3Wq6PGmjMJbyu6fws/NXV2anNsaZzGGMJz1ILvr/xhcxnzZAdECZAmABhAoQJECZAmABhAoQJECZAmABhAoQJECZAmABhAoQJECZAmABhAoQJECZAmABhAoQJECZA2FwDHG6cTXkvlL7vd79+X78tAAAAAACAO/UNlBpm3Tbi5FgAAAAASUVORK5CYII=\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACoAAAAqCAYAAADFw8lbAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAABiSURBVHgB7dGxCYBAEAXRwQos4fffjCVYinqIgZmByp7Og5/eDSxIkiTpPdk2bZspLOyBC4VDwzkyFBSMvEfoILI5Iu9ce3O88vnAB4VOTt8EY58ROo4tLeyR5UMlSZL+ZQUjDDcLD1/WQgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJpSURBVHgB7d3NjdNAGIDhSXLYa0rYDpYSlg62BOiADoAOKGHpACogdBAqYOkgx1wS8w0CicPuxkjYnp/nkSzn72LptT2W7ExKAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD0ZZVI2xCrm1gO4VtitHXqXLRzs16vv8eyi2Uf798mRuv6CPQ7nl1++ffn5/P5No5EXxMXdXsEeiqebLPZbBOjdBnQc/Fkp9Npnxilu4AuxROnr1dx+vqRGKWrMdDIeD4mRusmIPFMo4uAxDOd5gMSz7SaDkg802s2IPHMo8mAxDOf5gISz7yaCkg882smIPEso4mAxLOc6gMSz7KqDkg8y6s2IPGUocqAxFOO6gIST1mqCkg85akmIPGUqYqALsUzDEN+JOc+NeJ0Oh1ita/h1triA7oUT8MOcVS9K/3xouJvql+tVvepv3iybWz7h1S4GgJ6kTpVw7bXENAudSq2/VMqXPEBxYDydaweUmfyjhPb/iYVrparsOsYSH+Jl9ePfR+DzXcx2HyfmN0mVeB4PB6urq4+x155lx4ZUMfnt/F9/l3RVywtqiKgTERlqiagTETlqSqgTERlqS6gTETlqDKgTERlqDagTETLqzqgTETLqj6gTETLaSKgTETLaCagTETzayqgTETzai6gTETzaTKgTETzaDagTETTazqgTETTaj6gTETT6SKgTETT6CagTET/XzN/cfcvRtxjbb6wkbqc7inieIhIXqYnnvYwX9h43U4490xEB/OFjdf1nKl/IhqG4dcDfLHemy8MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAoxU+JX7cgf5nvGQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACMAAAAkCAYAAAAD3IPhAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGISURBVHgB1ZfrUcMwEISXx39CBaiE0IGpAOjAJdAB7iChgkAFhAqcEkIFUQemgyCNYibo5TtZMuSb2ZnYUeTNne4kAyeCUFoodUr7QmoPz4kyL2zC1hMiEdlNaKRXdeEx86BUY3qufTdb/Hb8rjRDfpbWczoQzNQog7Ces78EnxppfCltlWRoANeMjlqFdKTSLYwxh3PQESONDM7BMSMRCTGDbegLbpruYLpySnXp1Lwh45qRSo8oBCdNxeFGRu9Zz4inaa30ggnM6G4sBsZUMK29ARNuaQvi2BskwC3tDXHsBxJIKW29q8fWjATdNNuM3brXKIQvTZ/WdbBj5sYXmQYmDVcY6Ji5OTv6XCM/OsWhtAqY462DfaDKqUXEjD3WezOnOqqZKfYm8g4fKu0NxlEhEQFP7kYgiPM540Jpyv1qMqPc02Yk3C47RzqSON+9df3TXFu4FVAjPUKx+QTMmchO5ar/cYWy5U2ROP43r39opIGH5X8x0iMOUdoVNKDX0ArjXwrL8Q2JsVEYtCmoKQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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p84vvFzD4lA164U1mIGa1hYwEBEREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREREZFc+C8zvAP8jYwSuQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABcAAAAXCAYAAADgKtSgAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGDSURBVHgBrZXdVcIwFMf/N40+4wa4ARtQHj0eRTaQDXQDncAVcALBF188EjeQDRgBX5U23CRQIDT9Ov2/NM1Nf/ejyQ2hJem3OIZEH4J+6Ho+M3MSDcWwDiJxx8M+CObZAdJnA7a2c3SpJrBrgaSHAMXHVgbfqCcLljTHWg9kaXRAD4KBEYbQ6DqLH5MH1vilkVrJQLr32+h6Ll1jCIXggd03j8Yit0D3M2yqu3SrVCwXDESpsgT9Hr+AxANqKwDWWNLt16UZilbBTmo3EGxQqKVCML+mr3u4TMZc3mUrYGDFdpXB6Uot+QcMyh2Ugrne+vvwVdhMSh1UAFvR9ASeOaB01BzMStwWPIFb/WHVGAxuWCMOMAhvDDbLj+tdAK8JtqR0WgHeAGxO5cEW3Cm3gdQCO/iEj/zYn85vuWfcFRO94K8W2VxE/X3L9ZTQLG+68mWhP/iiSMQ818E6vTD9258u2C1eFKGDxqcyD1wLHnZAk+B6NJAt0X/UAxE3qk8VWrcBnC7WvQqBWsgAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIgSURBVHgB3ZrLjoJAEEUL4qhxfK78/89z5aCMUYbo1MWCNCDIU7o4SWkCvehDP6HaoY54PB4T/ptxTDnmHK4RMaFEIHFzHCekDnCoBVx5VHLFseSYUDMgcuE4t5FqJMICePJbej75LvE5vCZCtUSk++w4FtQvtYUqi7DEmv82lO7zfQKJH5b5rVK4kghLoBXWNAwnljm+K1QqIoN5T8+ZaEgwwx1Y6F5UoFDEIomYUpmy/m6TBEBd9kU3X4rImLBJImYqdcuRE+GC3zTcwK7Cmuu4yl5Micg6sSX72UpdE7ItgnWi6Vbjk6Deu+yFCDFckh4WslWKMFtkQ/pIhkEkorA1Yuay3iUtsiK9RHWPRfrezfZJ1JNc6VYaZqoiJnBAi8xIPzOI2LgVqct0LCJziGgeHzHuqETGwGhEogXxTiNgLCLhqESupJ8AIgHp5w8iN9LP1ZUPxZ3kKAYihEO8jlT6UGwpyK0kL1Yn0ssZP5GIfE/VOHv5cQ7F3KJ4pI+kzokIm6FFLqQH38xoZTeNSKhoWOkhkOpBKREx1NDFcvnF3DaeC2AGs3kWQyrOz158+T4iOTsbty5BUT6x7MXqQHbJRKm3opvjT4aaqE9Pm7AMvrF+MhGEp+/J5POWJkc4INN3CgIL87GXIxwmPQphd+HJLqMWbY85QQj5CaQl2hxzwmvEqWwwv6OViIlI4djTFz1nuWy64m4EnninB8/+Afnatlbsr3MZAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAQpSURBVHgB3ZrLaxNBGMC/TdM0tk2aYCUUg3pQhKonL7kIirFYDx6kYL1JFal48dBz/wCpkosgLfbkoUJRER8QehAr0nOlUjwVaamxtDWPps3b79vMht1sks3MbkzMD6ZpdydlfvP8ZmclsIhCoWDHjy5MDkxOTDZVUsiylGYpJUlSFixAAhNg4amQLky9mOwgBokkMcXNSAmJoADVvAeKNW8lCUxRESEuEdZ9vJi6obFwC9UtghJu/OgDbZ9vJCTxB2X26slclwhKUCu4oTnEUGbXKFNNETaYfVCciZoJzXARFMpXy1BVpIUkFGrK1OrvrSRBUFl81W5WFGFjopUkFBysbDp0IpixB5o3sOvBjWV0lV/UiLB1wgOtj4eVtUR5WNEH4qGGlk93RmB/cwRyqYDmev/5UQg8WoKFmw8hEw/AsesTcGZ8HfigBqAutqVcKBWaGfaCFXy8NqcTqATlWXs1h7+NCsh0U6iEs1iK/lB3rT6wgvCNybokFAo5vyyz8swP/JSGgSxiWWusPPdDOjoGvIjLONl6V2oRF5hhfaE4y219NW6JTLyYt6MzprlOMj/fTgE/ctmVMSIWzZLAtyfT4D0bAn9wCbIJ4xpN7QzizzCcuj0PqzPaab5crj6oJ0XtrFuJzVTLU3OQzwxyfSe1M4ZdaF4e3P5gCMwjOyjbU35oeuWVIAp5tzwefn2ZhR7fd939wOMl4KeLRMRCkeQG/6BWoPGwvzmJqdLdE8CPgwa7mIhIazQOJ4lYs5I3F1tbibQDbSMir+x5aAOsEVHCjuaRtUYkly6K2Ht5Q3Ettg7R78siB2CW9G5xTTl5KwxmsB8SWdXlEpBIGsySiY/IAaQ/GANnv1j8RK1xfFg09sqQSArMQvHT6kwxZAm+DIHDO8vzdZBsMRi4eA9Oj4t2rQP5AR1Gj0eBd2F8d3lNd03ZjxOfMahM/h7C8VM9lJGkGDg8YTh3dxZ8QZEQnsjidndDEaEtI99W9/2VZbklNAXDmu32heDSC74WMYf8bFhZEPlrw9apD8FJbA+jWnr4sHh/qLRzbCxx+lF69outQo8j6z+4WXwwBNHVaeOM2ErUUrrLOLiHP4yCORLYGtvyv1NdjAIPF56Gwe6aN86IrVTI+nWJtsfmKZW5JIJmtJ4kgYerbybAeYSvQNQl1ZOCOAn1iZbmWIHt3weA91QqgmPhx+sA5A5qjwnn4XULBAgSiFQVIdgRmxdam22USKgv6GpeorldZBb7d8TKJYiKXYid2ZkPXawnXe08sdZYiEBrychHb9Vutv9hqJr//nhaDcrQM1brDoKModqPssnHEJFXOEjGmgOh6tDCvNuQVzjUNFCIoosoizK4MPuaEwnR+QQdS5h5zYneN4nVGsxGmBJRw6Qoeu6E4ixXflyRVyWqcUtfPPsLBqeGIFR+KAcAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABGrSURBVHgB7V39chvHke+ZBaFcvgSWHcXyOeZSjhPJdymCdfHFTlWOoMu5KHdxiboXoHQvQPkJCD6BpRc4UfcAEXWXKLb/EMFUJXHFTgSWHNN2rAC0XKYjJ0UqcWxLxE6ne752QUvkLAh+iMRPRWEB7M7O9Nd09/QsAHrooYceeuihhx566KGH/QYBuxiNsUqpJL40pFCUQdIf4kEhxDDQgQAR8zmISKMQPI4VUNig41v0pgES5+l9fQX/Oj84U1uBXYpdx4Dlk8+NKIQxInCFejdEr4D0j6nM5G571dQHMwpzCp8OwlzA/+lz6X2d3s7RFzP9F/9/DnYRdgUDNNETIrqEcaJgCQ3VwUq6Podp6o/19+Y7f4I5HbPnMCNQ8wNAusYQGvTxnBR4tv/iT+Zhh7GjDFh+7rmRRGJVCjGCRrLBdspbFnPg1cCdJbLnOc6k1xkdMZ9bbiGa9qzmaKNFJkoBnnvw/356AXYIO8IATXihpok0AyJjSXSHNJEsDT3RnFgj3u2cz8DMCUYj3PW2McflbJvUj6YCNbUTjNhWBiz/6EdDiYCzRIWK/iBL0Cyx70rVzInZ964dS9w21cmeL5zk36V52w59ejVqqZP9ly8vwjZhWxjQqFRKX/7SFyaJImf0B5o4xjzY2ROc+fHH1uTQuYtKilqfiOqJUourhQJPqHB4ZqaZvcfS2FgcAZREq1UqSBhKECp0m1jSRA6wxmyBNWleIQRkGUb/TT3wk8tTsA3YcgYsHT8eR5G8SHZ+KEPkNpfGnYtpf2rEn5m/FD66sFkXcnnseAwqGmklcIom+QrZfRTSaUG7Z+UmdZ68FUCzoHB0q7VhSxlw8z+Pk1cjz9JNDjq/0dw1nV0N2TVDlpWCc4Xix+f6t8hvZ2YkqzBCPlGVbh17LXO9sMrB2mmPlokZUw9cvnwOtghbxoA//8dxNjmTfOyNzF1sM2lGkz6YevCn2zsB/omEgzpUpU4M3I0Ixvdy7hRWv3L5xS0xSVvCgA9/+MMXqNMT7XcSbV6LFHIlgWTq0OWXtky6QpBhRKw/sBO1g5vUEdXZQz976XnoMrrOgJvHj5+nbo/7hjOejdMCwsxHH39yerC2O1IEPE/1AUxSB8ch4yHpvmKGIwKmD11+8TR0EV1lwM0f/OAFIvgZo7iYehrO3EixohROHXppZ6X+XqD+T1DIXAUFB13wJ6zvZCyn1ohzh156uWua0DUGfPjvz5LNl5P3ctWBvYooGt1OH7sTaK8NcRacSYKs62rjDUFzwosvd2VO6AoDbn7/+xMkKmdFe/LGdlxPwfPFQmFstxPfgZkglZql/g/w+/ZkoM98nD708subdhw2zYClSiWOisXfknCUMu2ljg9A/W+rq8/sFnsfimUKHu/09TEThtZ6cTqNROnvA0ky3H/lyqaESsImIaJoFpUqgQ5uNcG9uNBr834kPqOf+lxcXR2lcdVdtAI0gTkJo9f+21LOcJQPm8CmGPDHZ59lm2/UlI0N/SkdyZPThtgs9vWN3o/Ed2AmJIXCfxHxF0nITGrbjpPf0ynlLxQKk7AJdGyC2PTIKPoDZtuwSXv6YKWIB8r9V+4Pm78ReKxCRr8FzjXZ0aaOBofNavirs7MdrS10rAFCRBdJBgSLOqDtD5okWgJQ3SvEZxyu1ZpEZ/Z6dIoClbWyaEwTKf0L0CE60gCSiHG6/3nTgvCrV/o9iguHa1e6GqzsFnzwzDMXSdJOZB291NOD0cOzs3OQEx1qgKjqdT7+U8Yr0MYHyVZyILNH8YlSp2m8KzYmMIkVo/VMh/PQAXIzYOnfKuOkggP+xmDMEL9NFFYf3qRbtpvBDgWyKTIy75hg6SDipdHREciJ3AygW0/YkJz+lHnVaQfVeOTntU0HJrsdD9dq52jMTecNGRhakATm9ohyMeC971bK9DLs1rSBbaDpCagEuxKa3w8g81sFZcbNE7KelI0yVJa+971cWpCLASKiFDOaf/am/KJLPR75xc/3vPQ7HDaafsv7MNYUsVlKQIzlaSunCcKK4boxPTr65aBL7R/pd6Bhn2U6eOfP0wNO5WgmnAFLT5Nq0eSr+KYmTe5vLLFVg32GOwWpU+rsBGazv5wT07QKRDADEinGPNGVKWow9g/mHv7lL/es53MvaI+Iyx2tK+onZfovkRBshsJNkMIRcL4/w7tgahr2KbCFMzYeEi4msq+V0DaCGKAzfqjKnuhKea5LiTXYp2iJ1qXsciukscFQaJY0iAGF27eHsn4v2hmfTFB9P5ofh8FXXmnSnNh0WeCsKSr87fZQSBthJqgF5bR+zy4KKb0AsG+J7yAF1MBU2tlctf6YSVUOub4QchJKUWZxV5AuUWt+qP1rfhwwwboORwHb0vJEoyANCGIA2fzYLse59u2NVBM6QKNcKRWiT8YhikoqUc0+JWsPX81nym48+TQ5BTTZSV35X/vaq7/KlYnkPkjqgxSiRM5cR31gkOVp6qL3TIklQwnRH3J9EANopj+IbcWr5m6JULk7vPivT43L5FMuXykRY7VOtSK1Qp8/P/DrVzaMphvlp+KoAOfp/hX9QZKwbEy++y/fmUuS2ycH6/UNV+AWn/zOhEg+meQ+oLWtSaSW3/v202ceee1X/ws5QCZoUaUV3Wm1MUL35gBqOvbeD5gdJ3zDA62+ZciBG8NPUjAH06RBJW8uzWu/UHBef79RhyP8HxrliO2LhumVqMio+OOQPtC9SACg5EtNjC9fovh++saTG/chi9VVtQJmeVJ4FbD5sRAEMkCVfLTHA+dUBP3lVdlEyqqwFfx2zjJRpGuTvl/v+hvDT48Q8Sva47CL5G6Lga14r2zERCXkpBmTSaOgTegYr05RQjPfesZg/ZWmXyM2/XHtDYZcHxqICZ34zCzFQRiD2xshm62jaEd5lfGfjVu7rtoqkVR0JtZdn1kUArtUqOQG3geafJa2FZxW0TRDzUxuQ6IMMh1r2vRrI7o9hdBVDTDZT2UsRmqGci9nkhu17Pqr+ZCuseoyCvpq3eBF8WqU0uMTCtP7p1ZEp8XXbYNOWbFK5+gm3Jo2Hysusck7Lkxf06qJMA6EmiB+0YLnkkBtGajQjoKaN8KrfCbVqKwmAxFVrevJFARvN0VXG6L9AV++yU4ycMgCG3hDqm5dRvPnOGFViHdQQk6Ymddqpi3jDZXOQAbgYrbwx+1leH/4uwOQAwUhqlbshCe+Fz3d7rpFr1+7+iolv2CuzQwZE6LViQ4vPV5/rbZeG1EipozpQm2zwbnX3qyKXIW37JVpgth+sGxadQyqhwpOxlmhM4y1c9/t2x8H+boOTEBy28aQdyV6L0jL8i2F8vRg/dX6Rm2gaJ2k66e9GXNyoTdif/H0hn249uocBU/ch0Vj/pTTZTJNYX3IYvVOUkJaDFdpGsLOTdgMuT4wEMO6qYAzwqZ1n5UsKrAG5Orwo/XXLjXK5XlaXiuTBA61EBYjqWYG538TJDHWzz/dKH/7gqRJWxtHJeYHX19f8tvauMZ9eGoeIlWWSgytSrUYAfehHtSHLPqi1QEjx+mOTbsh/FbI9WEM4OcweJPvYj4WnySGDkBEbNIL/81Ahxg0pqYGHYLdx832QQOj2GzJx3TjuImMGyGXB3pBNHF5zwG9+SS9z++y7TFQ9FLxHhW6pUltI4JKFcPS0ULUUacNhF0GQxdzV2Cfg/zWsq6HTaNfPam3Wkn3GNCKcN5Gimkeztwsfv/YcC5PaC9h4Wg5Bt7EYSXfVYbz8Uefhs2NQQywE18dMY1YNJDL9ZJcZRh7CX2Uk9I0SZRJVdqns9D/9eFmvbtuKJmeWrogY0pTbHnqCdiniADHwa1UmXBe+8XEj+BgLpgBEnEmu+TGsCpXuRqXN7VL5H7EwtGjMU/AwmQdfOCrj4W8FNpOMAMG37zGUegtV46STch9uagmYJ+hTxVH0HqFNjAVxgyJ5uNv1muh7eSqjKM5eBqtv2Wl3y7Q4xnYZ6DEddWlsLM+KL2v5WknX2kiUtCiVz+FI75LipXeeeyfxmGf4K1vHOWHkMRuF71LLfHfp5Dk2oSeiwGPv3ONEmEwJ8yKiFt6s+G3eTDHfoDAiKuj7c5Jkwi0pmDun3//Rq7UTAc7ZETVp5NVmtEkaYjfPnJsz88Fbz12dFwqGNDZWGUT/2l6fRpyIjcDtBZQJtFnMyETGgjY0zEBez60blp1/odbBDMPAoTm16//bsOigrXoaI9YhOqsn4CVsr0w+eG9jOiOnCSCDbg1cbcopDdwK1pn6ACh2dA2tJQ4ZTOA/nGSdpF9c5nFXYy342MTZG3GUaRPa/TLshT5fr2ZX/oZuRmwEJMaApbNkoy1PMYXgqKQe5IBPGYa4KSebdGVBQqzU4iG3yfESegQuRkQKTyBbLjQ7hHQz1dj2yPqR5oLucpU7gcsPHQ0lgizNNKSTroJyFQI6gmgeuTdNzsedwcmSIybwlyzrJuaIOxIBXczrpbikjiAszS4AT+7ufGaWKjxzXff6sj2O+SahFkaFO8TgEz5hbWFxejOnjI/TPwDX+ybBbcnGiBbAM3EX+6L5ChsErk0QBTxBHs6XgHShdD6kUZjz5gfFjSIkh/bZwWZZCempZR6UVYkzx9pXN/0mHMxgPKsPt2AJvNtMxMwDXsEb/3jN2ihP5nh54rqUB8x9a1N7M+SVz1643pXTG6wCbrKUoHI5ke4qia3WbmYtPaE+XnzkccnSL9rNKYBY28A3UZsdKV4CqvH3nt7U3Y/i2AN+Adx5wTyY1azEmFEon5k6f42P9ref75wnoKrE6lVNbWF9qcM7FqUmj72/vWuEZ8RzAAl5KmM++UL4ekoWBUXHopHSOlGKJM3RiE9rS0k08c+aO6o9/TG4SMTRHOu2j5os4susNSwZZks/ueeWPrDzjy4lSQkPvC5qOGXwjLP3v6cUPF6GrDwIBFd0tqplFy1NpBKlCsh4NocMXXsg+vbyoiFhx4bpw5U2dy0/UZBWgDlpV9IUT32/jtdlfz0HgF446sxZTnNU6HWPNZ3/ok/NobXns9EVxIqUkgaJMb+Mf+w5nHl5sjtLmnyIw/kqqg9sbI1Jo1NTbEIJPHyDN30oH+ccrrDBbKfUdC1IlGd2UotDdukhzDu6K5MAbChXSb9qonOdUJSnEIpYlC24twSGF0ZuM2lqFTH3REz6jwWAX73lbhG3sEF7AIz3igNDsABHCNLckKw326iR+NZKkSfzbEGXz/7wmR365+PYOzIB80tnd+CNIAIotp+rYIvlJJr6U+RpxCTirI6D7rv15V4fbFo/4kSyyj/acbSEbGYAHVaA6zTm3ohWm0md4oraxnDhI6KUGolpHFSu5BDdH2Fvoo/c9/MuNveu7GBPHd7VU0NrzS3/ImP4QywS5EinZ+y5tIXZ7Sdl3WhRduPNoD3sduZ5drFtp8hcfN+yhnPXH9t2lb6oOc1Y8V00Gk/29uco8TamW/ebGzbrysFmiCs8d6sNgKYUsX0CeNWif3g4DNP0XUhfC2hyFmCrieK/bkiQ19wRcYZtbGalfkRGC/XniGYWRtCbPPWBIDb3Sm8PljTKAU0EoT//tafmjXYZoRtUwXkVbBRcNlYlwlFV6NiniOIdnJIf4DCCzwxUNXutOSF4ZXFpm32+dcfeHScvj4FhrnmXo594LRGmGgI0unCZoVd9wzj0z3qItuG75s9TWQ9TJJ4usfUEx9uP+HB9y4A7D0UpJqls3Ui7jPbk0TWpIIVXznH0t5STPRmc4P2y32Rri2q6CgUbLbR3ssfZ82fuU+7WUxtfXbmyZosvU+NBOUCzWGXdkLi1yKIAYwFigVaIrkCGbfSwXk4oHepiCCi3wvXHowrqJITvKOS2ip7I2JF2rtgruuZH3kDzwxM+6UPRJ2Cvxotol/61sp7NdhFCGaAw+ulR2lZDk8RFUbIet7ivQP0ca0FhY6Jfi9ozYMWMUEOmXgC+JE5JcG77N2j5a0HRWaqSXEHJ2u5PyvEF3pV89Sv+nZ4Mz300EMPPfTQQw899NBDDz300EMI/g650d4dHGN7nQAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAKAAAACgCAYAAACLz2ctAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAA0wSURBVHgB7Z3NjxxHFcBfVXUvDvlgCBIcErTtQ45kB4GAEztWCEqyJrbPUbwbwTmxwgUOIRv4A7IJ10DWQcoJ5A3yxJYQ8mzEAU7e5ZADTuS2lAOxCBkQImZnuop6vdvj2fns7umPqu73O3hnZ8Yfu/vze/Veva5mQAy4BNC4x4XlQIIHCjzFuQeMNfAxMNVg+vXDdzJv4h+gVBcYdBVAFxTr6vfrx8pnUvr6eV9w8J/owT4QAxjUFJRtScAqMN7U34amFqw5VayM0VLuMcV8wI8gO//rw/45lLaG1EZAFO6EgDOBFo4xOFuUbHFBKUECCrkDAeytAdyCGlBpAd91YFUBbylgLS1dCyxCKegwGewIAZ0qp+3KCdg+AcvQ5xv6K9swLcqlR/layB3Wl1tVi4yVEDBcz3FYV1yctS3SJQUjI6hg+3QAF6ECWC3gFQBPOnxdP7wQVqu1QkdFqdN0IDdtjopWCohrOwlis+rRLi5Kqm1bRbRKQBJvNjaKaIWAmGoDR7xJ4sXDJhGNFhCLC9fhLzPGLgCRGBtENFbAtstf0N3ZzfoVF1mDxYrcNLVqNk7AqwArfUdsUbrNGuVDT7ZMi4YcDKKt023gij2SLw+YB67w8XsMBmFEBAyLDJdfYjgUQBSAOdGw9AiIaz3dTL5O8hUJ85Qj9sJ1dtn/EigJqnDNQCm11evLV8oaBytFQEq5plFeSi48BYe7GZRyDYPpAoV3rrqwAgVTqICXXbGumOhQb89EmBdA8evCwgTE8l/n+20gDIdtFdmqEVAA4RfE2CYQdsBY6xnO4G2pdiFnchfwssNf1ZXuT4Cwi4IkzLUKbgv+JnC2AYS14EDD6UA+BzmR2xowTLskn/Uw/TPELAY5kUsKpjVftdBLqO/klY4zF5Dkqyg5rQkzXQMe9pDYFhCVRQFsnO4Fmc0WZiYgzvHhKBUQlYepoPVUHzKJhJkUIUd7uztA1AIJYqcNsAwZsLCAONUiXX6tOqcQEPNgDBpKB5xLg9PC0rOwgG64bcM8IGoFDpO4GWzZLbQGpKKD0GXJhbWefA1SklrAo2MxrtNkS71RCrqsHzTTzhKmTsHhuo/kqz3RehBSkkrANq37iCFwPZh2hCtxCg5TrytuAkGMICBoJj1MM3EEPGy5EMQ4fSUSF6SJBLwiYJ1SLzENPFAg6Uh/7BR8mHqp4UzMBqviXj84Gfcyz9gRUAoqPIj5YFWcpEEdKwJS4UEkphd4cXqDsSLgYfQjiPgoR2zHed/cCEjRj0hLnLGtuRHQ1Oj34HdX4aHz63DPciZTQUQO4Hne894zMwKaGv2+9sav4avnzw8+/+iti3DjFz+Hz25V6h4ulWBeFJwZAU2Mfl95+swx+ZCHdSQ8deNDePSNX1FENIx5UXCqgBj9TLys0m1Mn38gEc0jbE7PmJ6eKqCpa79PdudfikAiGobDN6a9ND0FczPPaf7slh9LQoRENAMF7MK08f2JApq+53v79+8kej+JWC64O7Lkhvf0G2OigAEXG2AwH/3mLeh3k58oSyKWh1Ls7KTnxwTE4kP3ZlpgMD0t3yfvpb8slUQsnrAYOTFejIwJGDjln5weh5uvvw6LQiIWTH+8GBlrRLddftOWqZfv3/4HOI3sLkuhhnbeKH+tJ08OP3MsArZdaNo0cnXzl4tHwWEoIuYN8/CQ+uFnRlIwXwWL+DhhNRwXEjE/FPDW8Of8+IuTKxVT+ff+fuyeYBpIxOzRjrWGPx8IaEP1O4nbOUXBYUjE7MBqeLgpPRBQiuJvUpIFaXuCaSARs8EV4kz0eCgFc6vSbwT2BP+1n+hS1IUhEReEqcFdsu4KyMHaW2dh66QMSMR06DQ8CHZhHxBz8pIrPgWLybonmAbqI8bnoBd8ES/dDCPg5xw713/DZN0TTANFxPgsCRG2/EIBR3szNpJnOyYpJGIMjtaBR2tA+2+d+s/3do2SECERZ8GGBGTKgwpQRE8wDSTiBI4iYFiEtF2hoALg9SKP62LEdKhYOQQLEX44gFANwjlBw9LwJCgiHrLkgsdBQqW+A2X1BNNQexGlWObAuQcVAouRorbmsqK2InLlcaXAg4qB+8M2UjcR0T3OgHlQMf7+jpnVcFxqIyJjDa4YlLt/lQMm9gTTUHUR+WEEVJW818dff/RDK9eDk6iqiEq7x951+U0FzIMKg0MKX1hZgQceXYETnjd4XPbwQlqq00dUPms74lOoYBqOg+1i2i8iCliRXZAssU1Mm0UkARNgspj/9X3407e+ad2alwTMgEjMh55d1wXDeSiL93/8IvgGzEUmYeEbVhMQRh2MQERyHCASgW2QB1db8Hn9cfhx2eB/go8NHUebBQk4BVNFmwT2O99/8UUrixBHN6L9qvcBZ2GTaKOgeFj92rrrg/eVq00EtFm0UWwXL4Ix1XVUzLsa2sY9yx488tJLVos2SlXEG4ARUKffbuLbplvAN377O3hgxfqrTUMqJ94RTLun14DgQ8XA6FcF+aoqXgRmX0cp1WWsWjHwkZd+BjZTdfEilC6AHe2eDxXjwVWrztkcUBfxItA9B6T0gQuoCngXTduKjrqJN0AyLSCff1drm8DhTVuorXgRPLjFqnAyVgQWH6dufACmU3vxjljrBYzjEVm4GwIVwPS1H4r3l8cfgz9/77Hay6e3Qfbwg3P4mO3ppowHlvPws+WNQs2CIt4kmI+/Hm3FoY12nZA/CqbfLxkWAUm8WQxFQFBSR0C7K2GTen8k3nwk8F38NRTwIIDdJctHU01Y/5F48en3+2EEDLWzvRApu/dHxUVCdAFy7mgI5u59QhTsgKWU1fsj8dKhGNuLHg/mAZli+2DhljAeSln0hUCUaheDybvBbhABD4LAygj45afPQFFQxMsINxhEwIGAmJMVQAcso4jeH4mXHUxBZ+3O3e1f5/iLqgPs+N0MTSbv3h+l2uxRTB3LtMcFBNlRYE8/8OTzz0MekHh5Io99U8fKDptOy2rd+DDT9guJlzv+Wi84OfzEWPtZKdgGC8iy90drvGJQSo0VumMCckdeBAvIovdH4hULc+TW2HOT3njZFddMvns69v5O/e2D1KdSUaotHqx+n+oHp0afn3hhut6W06HS3GoYe39p5CPxykOyyUu7iREwnJJ2xE1TT0799h/+mKj9QuKVzljxETFxBuZwo1htgYEk6f3RGs8MZm1wTB3CMrUYiSMfiWcWTASb016bKuCTd8A3cWtu1kGQJJ55aIe2h7feRpk5hsrVdHPLYtJNaEg8c5kV/cLXYQ6mtmSwD4jHrFXlrkhVBKPf6V7w3Kz3zBXwXQdWFRMdIIikiMCblX6RuVeCPNWHXRvHtIhymbf2i4h1KZIQs8MoQYwyb+0XEUvAsCJWZvYFCfOIG/2Q2Bdj9vryFTxSFQhiNn7c6IfEFjDcHWFqEwhiBjr6bcaNfkji6+BMn5QhSmXqnu80Ep+H4EBwAQhiEiJoQUISC/hED/ZBUSomRtBOJEm9EakvRW+7/Lr+7U0giBSpNyL1kURcyHNUFROhAylSb0RqAbE3SFUxgQ6kSb0RCx3KttaTr1GDur7gzx4dgAVY+FTAsEF9dNolUSv83n34s1+M1EXIMFdOgCf74rqp15AQmePjum+R1BuRiYAIjW3VBwFBM2zHZUBmB/Pi2Jb+wzaAqDjqQlbyIZmeDP1kL7hITeoKg83mBYuOUTI/CuttqXaf4QxsOuaNiAHK11+86BglszXgKJcd/ipjjPaNq0BO8iG5CYi0BX8TONsAwl6k2l4LZG4T8bneHST8h9Oa0FrCRnOO8iG5H4dKa0JL0YHjdF/+FHKmkPN4SULLyHHNN0qua8BR2i5/Qf+VtHdsMEr3ck9jO60gChUQuerCSgACj2r1gDAHBV0J7NwP+v0OFEjhAiLh3nEgrgFJaAQK2B4T/bNZ7O0mpZR7ZOIs4UEv+DqNcpUP/gx69/ZPlSEfUkoEHCZcFyq2SZM0BaMOL7PNemstKaULiFBKLpYyU+4oRggY0Xb4y7pVswlEfhTYYomDUQIiFA3zQf+gOxyCTEepssA4ASOuuGJdAmwCibgYhqz1plFKFRwHnC3kIryxyTYQqcAK9+C+4KSp8iHGRsBhjtLyy0AT17HAdKtEsGFCkTEPKwSMIBFng+IFir1S9G7GIlglYASJeBwbxYuwUsCIIRFbULdiRR3dzcqR2zak2mlYLeAwWDXjJIeq+NmF4foO1M7BvfLiua79Z/NURsAIjIpB4LzAQJ2FikRF/bX4eCPxA2fp4rk7d3yoEJUTcJi26zYBglUG7KxtkTGMdEp1JPBdG9d2cam0gMNgZOz1RFNwOKPXTk3TzjbEKKdl22FS7R/cH+xUIb3GoTYCjnKpAQ3nP06Tg8QI2VRMeUVJibKBYnt6Lbenq9f94P6gUxfhRqmtgNPAtB1I6QmulhVwjystJoOGlqWhv1kNpVhj2uhYKBaEY+1dLXVXf/SV/shA+oFktwTn/sG9Pb+usk3i/zIfLqmlLIO6AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAUCSURBVHgB7Vo7d9NIGP1sF3k0kEex3Xq77aL9BWu6dHG7FU63VLiDLqaDzpR0SkeHXVIllFQ4vwDR5ySiCk0S7sVjkOUZaWYkhcNh7jk6lqV5fXdmvtdIJCAgICAgICAgICDgd0RLGsZ9oNPpHNze3ka4unjUbbVa9/mbK5rgfcpfvJ/d3NzMcD9L0/STNIhGCIDM/7bb7T5ueXWlAkDKDIScgpAYZJxJzaiNAM40hH6IAfcx4J40ALTNVTICEcdSEyoTQMHx8xjCD/lX7gCKiDGIeCkVUYkAyH6A2R7j6spPQB0rwosAzjqEfuO41FMM9hR1Epkrus/Zl3h3T+YKksoyErfVFENHjHwUpjMBVHAYZGwz61ReEGaCwU0xuEQcgH4iWI893A7QRq+svFoNfVdF6UTA9vb2Y/yMS4rRlI0h9EsMJpUaADK60DFHuO1JiVVRK+GZWKJjWxDCcwDPC4pQ2OcYwH+Xl5dvvwBSE9BUenV1NV1bW5tiVbGfnqkstyXKsc47i6btCFDCj8TcKe30PgSf1il4HoqIdxDwWDlTkejHY01CKQElwnM2nl5cXDxCZ5/ljrBYERsbG+x/X1fGloRCHYC99xB7Lza8TjDr/Sa8MxdgjHsY40QMugFjHBSZyVZBw1Q8H0Rvjih8z8fs6Nxk5e7OfE2ZGuuJ6ElI0W5katdIwNbW1keDqfMSXnmMR8pjLAItyDNXC1JEAgmGfvpHV6+te8h9X7fwaO/EQnhiyLKKMGvQz8DYHshcLy2BzhWaO9LVWyGATIpB6aGDoWd4SkIj28Isq+y+E0iC2l4rwPMRZPtz5bmmoLZjtT+n4gi1NG1mPo8h9YU44vz8nFpf66zRg80/WyJgd3eXHQ40dRMX72qpA4+ZzNTtiweoQ/CT5J/TNOZJbecqDgwN+szgN6jAxhdeBFCBgryB7h1IGC39X9yopfoxX4ERHDToA/EEFOqtVACcLO+QfWdn50QXSGFCtxZWJrsCaglcfhHcW9x8J4CM0KfPl9TtG0ck4o+ZeIJerCGMjrOWbEkH5PdH5nnsapczmIg/vAkwyUJrlv2/RABNiGEVdH21ufLTvZAfrC0KHLk478es+AHX19eHokftdrkEY8+44EDMjtzK8xUCVOpqpGuAs6nzpspAu0x/3LY8yypb7gRlyWLRj0EbaBUFQx907qvKvXnFA2obNRYMMYYwxTAwp3/p6nmFw74kZNolEZH8yOgkuCZ4PsWWORVHlAjvFw6rho0JkSok1AkmRCD4xJSlVkkbYwxTmBJDOukMaSfe9vLvmJPDNUTaKUW59/ITwCy1StH/oXuv9v2rojZKc4JMQppIIND5Pt53QcTsrvKCXPLokwcz/+Pvuq6MbXrcKitcRgIQqdUg6+vrSVNEUJGi/Sfclujvb1M5l7MB63MBCxJEHZX1Nzc3ozpXREbw11xxYph1hSGCtxdiCZ+jscIsbBaMJHHFMv/QwSl7TH+D+QCH43Zmgw5drYjv4ejClA0cqqWL7K/MD0eX7DzefftqhF+RKIGtYw+eP+I69DmKq3Q8jnibEddIKn4FUgGJylM6p+oWqPyBBKFOjwZyd0TUdgBbCwELNL0iMsftx1UF/96mNACe7fN7IZlbjCo5QSKRCm5yGRohIAsqzE6nw68+9pggVS6r9jM5mStKKkheZwjNJ3XNdEBAQEBAQEBAQEBAQBZfASE82F1qPE+zAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAYAAACqaXHeAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGMSURBVHgB7dqxbYNAFMbxByyQAdghHQKaZIN4g9Cm8ygZgWzgjJAGKJ0NYokBPAHknuQ0kQ/bst/dJ/n7VRZH8/5yIt2dRYiIiIiIiOj+JGKoqqqnaZrW+jnLsnXXdTsBYxagrusXN/zm3+NmGIYPAZKKkXmemyOP27IsXwWIZYC9ZwkqglmAJEnahWWYCJkYGcdxl+f5j/u48ryy0nX33rdEZBZA6XDoEUwDKPQI5gEUcoQgARRqhGABFGKEoAEUWoTgARRShCgBFEqEaAEUQoSoAVTsCKbnAZc47A1a37rbWzz3ff8lN2a2GbrU4Zyg8a17ttdXgwlwivsG7MUATIAz/gTexQBEgFPDO43VeWL0f4LnDG95jhg1QOzhVbQACMOrKAFQhlfBAyANr4IGQBteBQuAOLwKEgB1eGUeAHl4ZRoAfXhlFqAoisc0TbcLr0DcFJvtBdzwS5sXmGtyy8tR3/YV6jcCltfjmyOP4X4gYXk7/HfW9+BibN034s0N/ylERERERERE0f0CrsDxsM3OuIwAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAR5SURBVHgB7Zt/bhtFFMffm52xBKGwnADnBHUFrhD/dHMCItry46/YJ0h6AswJCCdo+ANVpAV6g/ovhJpKMSeoewIskSoiu97Hmw3QqnTjnd193mk0HymyY4/tzdfv17w3AQgEAoFAIBAIBAKBQKA96O4gtj/gMQgecnpv0Nda3+XLS84foalWyxHePH4GnqHAQ0xkHr0Qz4JJttQPwUO8EzD78cMdQuj/7wmEQXo4vAGe4Z2ApNSo9EmkCXiGVzHwPPaZpxetoSUOel8+/h08wSsLNFH09ao1iPkIPMIbCyysz+hjIFxRttBCn2SbOJ4twAO8sUCjohurxbNgnG6YHfAEf1wY1aTyUqAReIIXAtry5LWlSxmI3pQ0nlgg7YErnpQ0nSeRKqVLGfokfb/rZNK5BVYpXcrI3tG70DEeuLBKoD57XXdrOhWwdN9bme5Lmm4t0KF0KX0LpG3okLUnkcLl3n37vSX9lRCpA2gBXNJ2ZHozvPnr2vuFrQhIP33yQZpmsYK8z+VFnCPESNinCGPMiWMU9vmD4mbuWvlqFryjmfN18C0sSOECieZEtFA5zu3vlOPCnJ49ayODOwtYlB1K7yLiNmEhjtct99WcC06Qz0yUT1y73s4CZofDp+uxpPVDBHPzPL3mYplOSaR51vQb5L9teSX61OU1TgJy/OjDJYc4drusdxJQRzCDSw6hmrusd46B6f3hMd8M4BLC4Wneu3W06fIa50Ja63SLSwQvR4wNmZo/N66BI7XrwPT+R9wEwAlcBnLaN188uQM1qL2VM7effMNGP4E3HprUFc/SeCeSPbi+w0XofrV5hl8Q4qh36/H30IBWtnJnP1+/qnJ6yIVoH94EeJvHA/yk91nz+XJrzYTTex/3jVk+8l1Em2kNmqStxkNr7ay3vvptnqbRFt/1uVactSmeRaSdxRn6W35r90GRIEj5QfT8yh0cT1udoYj1A/0qczjTFlVD+4g2VM8eDHeRYB86hGPyXu/zo+9ACPGOdFHmEB1AB7RRpqxCfiZCeWdzWwVLkEZcQAJIoCPsWUIQZg1TuZfPOq8ZJf/licZA+mUQZ5n5AzpE+viHqAVmqbkKHZNtyF6DrAsjJdA1wtcgHAM7jH8vSEAQ6SSSQPeIZmIxAf35pxiMT34YiokoJiApfwZPPQNiX6aYgJg3D962d8fD7jk0BEEukcgJCA12AfZgEHdQ7IhRF2PGhrMXlIvFIgKeHQ4HDY6ATDX2Bi+3n+z9LIs22RoPoBYY2xNkIICIgIpy5+KVClelLXP7aOt1HWPb8WZrHCN3WOq4tT2PCALIuLCLy/zjrnaozZY2XbVcc3uqjlvnoBIQQERAQlU1/v3nrq6tdme3zmXioAYBuAttT6OWUmRXonEVi7sI69Z8M+am7dRa5EUTQSwsvX2ELLCkA+3orlWp4tbcnRaZFooIqHVmZxDTVx6u7a5V+det2dxePfxkDw7VPr5xEaL9QJ7MJUR5H1HN27Q43z87EAgEAoFAIBAIBAKBQKCUvwHjlqaqhs1BbgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABQCAYAAACOEfKtAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABxcSURBVHgBxV0LlF1Vef72vncemUkmNy8IhDAT1K5W0BARCgWdoKLUVgmt4lKhAVSqWJuAj+WjGqIL16rWwtTaCssKqbpanwk+sCKaZOkS5SEgj9olj0kIRCCZzExIMq97dvfjf+xz70wmT9w4ueees88+e3/7f3z/v/e5GvwBy/parTZzrNJrnO0xpljqnFliYbphjXFF0Q0YGEOVHQadQb/1n4Ur+q2tbPF1Ng21T9x/4eDgIP5AxeB5LAyYR2W5KcwFxpolzjkPjnMeM4RDf82j54v/sAE26mGoFy6BrnEdE+o4bPH1NjlX3zDUWt/8fAL6vAB4W/v8Xj/S1f7Qf5o5ARiXHm+0IxGPdEU+bQRM6kS0Enh0q5GLEc9wPV65ufBgvmrvzltwlMtRAzBK20h1lZesVV5EauFBUYBAUhOLE4lLpyMiSbIMHUNlkCWQ6iaoCWCX309j8wf9KIprWlHddPbI9i04CuWIA8jA+ZZXeXtWS09g0BSn9I9heYOIXgQuYWD4ChJwhoBjiJw2m0ufiiyS6vsL/f78ut69z6zFES5HFMAftc9b6UFb48e1JLRsZUyhsAT5wSIN3hBYjEzpWjodDVxA1cV/qNN05DJxDpLH/XCk2qltqBkIEmnc2t49z67DESpHBMAfttd6WlC9yXvP5ayehppPiJFDiOIFUUNDgMViVQUZ9yRuAhHE9pVkDJmSs51U0Fh6QcIbzxVuQ7UYu+rskcHDVuvDBvC2tgWrjHVrfENi51LLSTgUSBB+PFA9l4mp2kBCjSckSBJLWcm9JFxFNtn9JNAawQQ1Geq4IUwUq3tHDk8aDxnAYOu6RlvW+E6t4slNOkmDjpNuoUzEsO2nYZBk8HlCVYydE0ctepzAJSC5LVe2hTRXBF+aHyeWVvTciFLD9b3yuaevwiGWQwIwqGzVtqz3vVhqMrKbAKLBWwbBsDSCR5mfU3lUtVaPSnYwBxf6KbaN58VktBtkUp3OoHN0P9nGWKmIx/dXJ+yKQ/HUBw1gtHemZaPvajeSpXJ5I8bIOETlVK1FegyrM+i7JUlhKWYnIPcS7vIUUVHlksIFSbXJX6e2kBlQp2dYEAPlqdTtuQcL4kEBGMGzHjznuoMVYgmyaufJFxCAQl1sslsZrZMawo8zeIjNlaRPVRoOmfl0Tjlgrq7xPE2TE9lLHprBL9Sth6YKYEtl3Cw/GBAPGMAkeZWNvk/dARBmaAFIC/GcIpGh85aMDksV3UIMJuN6mVOVuiK9mfvOVFYcrivdDhbpdEiark5F2uVJcOpgGNh+O24OWBIPCECWPA9IN48yUYoUwabpZ9lzLgfFWCt+IZc0Q5KhILrkWjPVb+5tJonQ6EMD5YSHxsqT05l0SkMWl01uOFXAHbAkWhxAabHV7/hBdefxQXim5Wcz8U1OUsSDTJ0TB2ISuxPbGBxNwD1UDECLcSSSzWfosqXJMsnUefbkfVVRhH6E57NZNYY7GrG0SH/SLH2aNLl8zJ7ef1S8lrmqW7/RM43psJkWwB/PmH+dV8pTZUABEDY79Hgb1NbaNHhrRAu1w/SX3KILoJGwxXvDRFgG2kgEk7fhs10uAGIMsUS2tKW/AGgYFH2aojCgP38/s2gNFRMAjvsX+pJmNdY8tWVixprp8NmvCt/eOW+lH95NSG6AptXCcGRAtozmUGgYW3RWbStBghOJReZhGxkK+2yT0V9yBkCZqair8sDw94xXZ1EcGj6dkiprHc1tnLgCwricn4Sr/mzP0304WACD3WuzLb/2TdaidhHPEuliACTiEFDFyCnFccIR86QAqRPZPeaBjumydi7zrGL2smvqbYieNJhQO2sW7MxOjD21XQFkQhAqWyttZoBHrfZfB804Tp3KHk6pwi2mel0Aj/xEskNhZCl+dcl8kAqQNxa+TIQ4gcp+g4AmM2Az+sb2y9Jno1rysWXv77JroV+xb2wv2ZIadPWegxOv/0ec8uCv0PHSk3VysywE21jpJNRU2SQAs12Lu3kqnKqTnbw9ZFWMzxgLZ0tTBWrcsjalKYgwMpUh7wrpk3A9Vt/EGg07Tu8EjJBll7koUeT40faik2Da2zH6u0eBkdHStYRpArq6YD7mvO0izHnTBZhxyovl+sSzO2Aa7gGQcc0kDEkKuU3mqGb5z2ctXHnO7t+va8RqUhX+SceCx/2F7jQbVlUyirtkVmjcOnUcZViWWZcchnjdBJIRecw6YDIVVOwMFvz9ezD/Pe9A9ZgF8Vx9cBiD3/w2nv7051AfGuaByohnvuIsnPTdrzeN6aGXnImxJ7aRTpCqhl5WKsnSJvoDtoXJXxVC/P2Z/tHKvped27Bc0KTCP2mfvyZQlmTvbCbSxqVZIu9IMiheLIg7zSKzUiYIpG5e2siDshd1jo1NySeQd8Siz30aC9d8WMALpVLrwrx3XYbFN/TBVqtMp2QS2//oBU3gBSmfeOZZmTCeQLHhfBz0I46DTYEVVfAnl7ROtK9qbLoEYHAc/uaVfF8SX5DNcRC7ZVTJBFwWSeoN9wH1unJto7YLPAhLf2K7Uttdr3sN5l76dkxVZr321Zj/7ncgV/jw1/biP26qO/pYP9zYWGYeILlwq+Ef64BhC8l2kGHwp1c1csMSgO2Vll5/a4+QhaSW+oViIkFIMilyNZ3yM86fbNBl1kFmgciXAmBUuv3JuZdfjOnK7DevEI9j6Tmdp5/WVG/ce1+VPOjk0UG8N4uWSslf7p+J3HdOoxSWAPQ4XwPlchrHgkScHa2EYLpqRmoXnUPyipmqNkiXSCLK0kOYxuOWxYsxXWl9wUmwlYrY0dYTT0D7S05uqvfcz++AOkS1v+RlXcms8IxDiRSdSo7Q2skB/GnHvAtMjHX5Ns1I0r3SBdVPpjMym+pRBays4wSeAm5EghTU9F991y5MV9y+fd6rFHJP11+eP2m9fb+8S1hBacKs+HqxhfGQFqmEswrxj0as9ouZC3ubAPTQrtCGkprJBISFb7anzpXU0jEEsjKOskRB56ARpGZJTG0GmrTXS810Zd9d9witqszswLz3XtFUpz4wgH2//o2qrylPLIS8JoHg0zHEtPSF8ozyaczqEoDBMFqHlQaGU1AcJRij6bb0PAIqGluKHDipUALD6OyWjhk4o9+tUUnkikM33ozxrdswVSkGh7Djk58RfZm3+r2oHndsU73nbt/kJXVvZkIiIuk+6j+Nz3EmSMeb7DyJFOl+7GsvO5MIoKu39Ub3ILclRAy5dDYMMCTe6UZnI8+jjAbFsLnkCWBQlcUkUojsOjuSYtcgtv/NFZjY9mQTKHVPxZ665AqM/+6ReF/HGadj7vv+tqlegGTghpua+5LEyUdwfhQ2cQtrBCyoMsPw8hVpBid6a60RM4pEfKZihYCM9ATOjqiRUPCiM2H3noHoigKZVYFBhmQJPDqTgYnsHN879tD/4onlf4HOC16P9pe+xPe2gtHfPIQ93/8f1D2vC3XaTl+G4778BZhqc1C1+9YfYfS+B8TYuCgAGisbGmMRfWzBS8/JTZqISxI/mzJk+epfxWC5P7gldndj5zEx8rCZkahk204sIck+WKSMDIKlbIHPXDiIqSnbvLLkKVBo+J57y/0Wf8PMv3ojFnz2Uz5ZMLPpcrFnD/rPeV2KPhwENOLuEVBUqglYSvnTWf6LkidZsJjyT96kcFGW+s8aempJNdq/cdMdp4Mq2EgziTgzRc7CMRFw5oikwsjAQw5IDl6DeoMnoyS5QEl4y8ih/dSXovbRq9Gx/BWYquz0od7EtqekLdrzkI49As4mldX1T7KOwjYSvzEsd0EQk0SCEnc9AbuqG6ku9SlYaSLdgyxXx/1mLmNZy6lZgRhBhWMPbaaqk6hpLnUm+156Htfxqlk5biFaTupB+5kvx4xzX4nWpaeEGBZTlV2fvwGDN94EnnJehop6GdCwOecLIW9BSg75BMTecbPpdpYJD2Zr0dFb9fZruS5WOzTYLZq7RGAoscAuPe6DJHl0QgdM2Rvn8FiRytwWpqvtHpQ2T4Krngzb2V2oHnsMqku6UV18wqQqOlUZuvlr2OWlTyVPD1hFKImaeh4m3WRLzKa86pcyDYWcN7yi509UUPRU/fkeupFkD0IzDDR/J64/zU2uypoIpe4JozNlSWS4WPIqXV2YdfFbUHvnSlROOD6f7YMuztu8HZ/4NHZ/5b84d07Pddn3Arw0Z0jCGDXCNWajja5bJTisjM4JEqHdwiz1VtR1e8/EQIney/Q5AiKpbrrdWJmc1LWctOugcrvnkCmqP1G74jLMufrvUJk7B4dT3Ogo9t2+Gbuu/SzGH3mMJs5RTxvsKG01KbFcsHYb4cnIwQR4EZnVKzWbdl8s8QCammo5wa80KKeGyKUw7XuhNnl+DPe6DGQovJLccvxCHPOZT6Lz/PNwOKXYOYC93/8Rhr/4H5jw2ZZCqYmoKoOYG7YER2Jd3OkirpOJyhqBguw6G3ooGLzJodursO0BeFOUBQ3f8V5SsX/5gk5m51Ba60ZJCnOiHEqrdwSLvv0Vnyg4AYdS9n33Voz96m6M3f8gxh7+PxR79wgwbDJ4/TyBUFpLFxzj+cBlvSMoYoUII6dzIzhxFY9tmMqUrCs7NlebO48tElfU7At7SMuAGgIUyuRLn4HR1+spaWqM5A0ZwCB97T5Pd9zXb0KL96j7K26i7lP2IzB+EaixbH/xGSgGNMmgQqXLSLQQJEA1H5MzCcS7SHe6FAREI0SMMKEVz0XWE7Ev0tJ3gpqATAhpTrFEIxw7JWWfyIPw+BCVbwOBuAxeywmLsPA/b5gSPDc+gT3f+A52vPUd2H7KGRj91V1NderP7AB8/Eurz/zA0kTqWT1WbVDUOY3FNxsaj4SjhKu0kVYKIQFDNsSqETKmlCVLBGqx1shDua5gyLbGZN5Wy4LPfhKtPSdisjJyx53YddVHUO/fKvdUX/TC5op796L1rDMwfuc9foVogh1Xo22iA/Vxpeusw1a9bhIPxw6UTaRubmLN5wA6RFsUWDhyS/owUn1IyEbSrITcyGJRcmFsjWUR3DjlkuGJXW99E2ae9ypMVob+5Yt4ZsXbPHhb5FzgfdXFi5rqVvwEzPP2c8GdP8Xsf7oW1RcuKXNOM7kM6nd2EQYcL0UJ4K0lHCcYbS8NKd9iR36B7EFoMaxHxt6XsimyPAZ24irpecfCPZIjY0OeDcrHmvM/PPnmzz3f3IAhJrxQFWz709OA/fDBEJV0vP3NmP+T76Hr2o8L2DmI7IWl7ZKS8daRbPcYS6N4CmiivTQzCWRedQqL7pZ3VJCgyhfDYsuiW0oqNtjBuAYCKNlJpaP3bFQXHd8Ewvgjj2Pg6o+iKQEbnM3rX4sDKaa1FZ2XX4K567+Gdv8cOQ+dZAnNMj1WW8gxLlEWQDYNiE1MxwlJ3tJVlvp+z7FNP5BRDqP0RBrUHok/LzWeHlgCJJTZF1+EycrAx9amVTKUVa9y7AK0nXMWDqZUvYOa+7UvYeaV72y6ZhoPHA9BgvVkjthFZ2jn2+iQqTAHd2R9h4KT7GfxE4/DN3GDErplDedgueSzWYri/3ywP+PsM5sGNXrPfRjZ9DNgkuF2vP0imK5ZTVcm7n8AbmDqNZJASWZ/7AOY4Zc68/ZyD6wKovZZtQylmYwmXdXZKB4ZkAmrxyuXt8zq8efPJ3bOTNgI7zPkRIwkC0zJcBvyInw/2xzPDetP/R6jDzyM4tkdfm1iF0x7K4Z9pmT8od+WjH/4rHR0YM6/e5voP/NSePoy/OoLMHLjOkw8/FtUvEmwk9Eh/7w2r8r7fvjjmM1m0KSIozQpE214CSfJpMsEh/Zh6n25TS7ZA3NL1dmi3/Bul8zzs6FkVY2RiKVlaKspLZNbEg7jwkW/Wjb8rVuECzIxNyIfKuThr/Pdl8POm9eEy9j673meOB7rjP3AZ5j9X9ubL8TMtR+B8VmbvIS4unbtJzyfvByFjAQCnAJjYmwbDguiJHGyInqFvDam3IJiWpeFJMm5brb1yozNIOMIo0m+3Max52HaQh7b6ewQhsaUuJh6Qp48h/J+vXS10r0YM9/7ribwiqFhjHz5q6U2QhnxpHvg/L9G4RfMG8uMV/l84Sua7ahMHA0xjofomdZhmVTaFs/zNmFyqI7qVvHcffbcwf4g71tYAI06A+NKdjhRltIssDbzPFEbbGZR8n5m0gGFXN/cL/8bTGdZdUMZ/cZ61P2ikqP/8hbqW7Zi6P0f86HfRNN9s7PlzURJtCsSKcWxFNlLUYAKj8v3KpbfAhB3afqXDQ4OJiJdYAMabJtmWTQqSXsf2LaCqIDCnHtU1zAoCeiNGvVgErq8Krac3LyfpfD2c58n2gICYkxaMkGjm36OkVtubXiQDxZGR+WJOejMS5BlB5A7zbLzzeuQjQJLbPi6OQ6BBr6J9Usa0BUoOjZkOWDKHtgJmck9v1bIrV5ZGrr+4YPofNvkVGf3pz7jU1a7BDS9z4lUhfJcANl/mXi8H8P//AVsP+s12LHy3XlGU7FFGkW0aSRuLrNpXMex9pHRTAjkE+K1se42hKO4FjhWad3cWh/1qhzf700ZCZNW82L1TM7NZKNtkEBTqid0Vs6ajhmofWAVuibhbqHs++9vecn6gbTjspZ0kGlA4488imff8BaM+eXLwjsbNNVvnFST+V9kvlNoTczChFoFt8MDo4xNuKla2buZ7knlF7OPX++n+4K0gZIcQFB/2iDJdCN0QHfUmzSVhWajQy1rMlvD56h+deGxOOZLn0fbGadNhh3GPVUZuPBiYHi38LW85Cmp9F3trh4n/1YQgIVThTZ+bZnZS0Hv0oUN6tFEZGqUTIaj9JZm/8NH3WHdGYNPXBa+6+6senE9KFAWegS2mtSutUqY1ISYZnsHMfqZF8LMS96C427bMCV49a3bsOuSK+CGh8G0SEAJts25acFTkNNBZpK4a/JOslKwNCDWMse2sBTn6tj8tw3ZsLT8omvRgBfcGr2Y0ix5JuW+S+Q9vIcBQPN/ehwlr6WKGWeejjnvfx869hOmTXjwdl7oMzNPbi+ZgrzjyAASW9gIJn0WZAQjDrGzNt1pLUephK9LCensfqIwDVKNmHT1XLH/9MEnTuK+lPZDmKLe50nyNWl2DBmF5NC14+wbDEkI8RijqdRQreJDsll/fh7mXPkutPpsdO6hG8vYgw9j52VXoniyzOsy8ZDvuc2SAWZRhoDKbjNuA3biEzJNNAJxWi8WWshOil4Bc46ENuXwzNq8jyUAR6rtfW3F2Cp/S00yC1BJbiTFhvvCCRsy+TNetgzd3/4qbNf067l7vu5J8Qc/DuOTC1njzRWJffH6lRMJ0+8hK5Q2atu0Zh0dgaMDtWWkokmRhZeVSXUOXtatxyuobMq7VdqhGki1r90ns0XiXPLz4BlOb/SUxkq2p8VnVaYDrz4wiB1XXo0dqz4UeVvhXCOVKNs3F19HjQAVpL5FwfXDVg0bpM15k+FMhWJdduKZ40nSlD4TpyHq5pxzjR5ZdJyML9y6lw0+vmVKAEMZsa19MTLhdkxK8WsoB5IQlz0JJXvUMtlOeQHZYfimr+Cp896I3T5WTu/sqj1jIPN+x4UdZOcKqh9i84p1qFRc3OqRbYikO2n8Be8DNQSMXOb6bHogAQjlWmnc/s/bvm1rG4fTBGAM7YqwVzo1TRMBdcssFQ2Emqv70n7yn6AJN69eezb+DNvecBGe/dAajD+xTYk+seXcIXBrTKLVI6d3OzwRS5TE0ksOTD9ILR21q06YZFmAyd6uIBMkbEPTVo4dip+cJvBCmfRNpbN2P7nujtmLLvU39wqjSyZO3mdg1SLfppzNH+fvdbg9ezHsMyoD/3ojJh59jPQm3VPQnhNo/F1i4fwMqVOppOnkpZwih9qIdyXZIlQA3pklgLHEsaNwAm9pAjO7u+H0nU+sw4ECmG6uX2ZMy73e4syG2jmZTyY3yAYpKtx9IoZ/cBue+96t2HP7JhTx5R4Ooni8Rpt02XMzuxacQbBnLkZcFkyGhQtmg4e4CGmXZNon3ROpEQei6b8kEwXUsURBj2FIwYI/WEHLakwFE/ZT7qydsMo3c33O+0hA0q+t1euGoxF5qdn/V+nsjLsGaPNHlvdT2FlaE0UTvkS9Mg70NqOhUUJsiNwGpxMg2gFGQa8SyEmcxPGRXayzj5RJkCmJ93rLc+nLB7euOyQAQ/ll16LrPDar5Y0d2q0QV7QCiSYALa0zCGiAAMp0x9Cd/NaTi0KW/ZabtQ784rpD6ddA8tf4SeHjZyHWn8AzAoSAV8CIFRKPzIKLkvSVPn3rfacNPrnf35SZFsB7az21MTe+0Xd/qQDBb1ymoUQptORtrLSbSx6BaiDblVjyomrauDxLXY+y7BxKexXlZ1BKdI1MAZk0NicCDFzalsseSGweVZPdV+x1jckok7n/5bu2LpsOn2lf+V/mvXJh6hf6ZrdkVJD7b6SvQUC82hWVSvj01MImo5/WH9JLzfGF/WTTgxd13psWZNIK8p5JYpjwCm1xIIeRKpLUROEv2AnHTSsMjOO5ckW0cUUDeCKdVD+k9tMO29iPLdZVVuAAyrQSyOWO2sIei8pGG97k5AwNoMlXoCmGza8DlKpAvvda7uF/WDOTc2Rzz9lhaoVnTz6cK3nTdMopmW4gySX15nq0U9XbxH7rquc2EubDBjCB2NNTQX2jf1yPqDAnHRgiBU0TwMiAcrrOzHVlfzAA/bknrZMF0uweRPXYIvIOegYvT5QK1kqQuTHekRqBDJLnVWj5gYIn/TuYEiTRu3VvEwOIJnu5RqWP11Vy6YxjpX1vtLWidA8TEPIfYFZrZBXIlX5TK9k+YdAKKDIJywgSb03LwIvX+TWG8KtFBwse9/2gS5DEKibW+8OlNGihqwKgChVYElnaUkJJoQZFAeRbmzwwq6KBm0T4HPI0ijPIaUn+UXYamcPwZ+9HUVlxsODR2A693FVbfJ1vYXUCLsmQZekjesKqDOWQJF8ifQ4abdDbAgDyaABiHOlQQcmsQlm6mI7QMwqOCTPgXHpMn7fta4OzxCGUwwIwlLtri1Z6tK7zPalxXl9UlOrkv9Ch540IIYMIcTYaUhjdeB3vimAxyFQUuOgNHIWWGusmxJB9D3UHfe21ywa29uEwymEDGEqwi1XTcp1vbIWBK/8clEYX+tswtD1R1RrCKEs/g8coEwBc8kWuKGW0nzldlMyRyKQCR2kcaze7ur30UFS2sRwRALncWztxZd3EnwNdYjJHkctV7mBECp06DRB5bpRZtYGpKKchkkygJtXM8U1Ji2QfvZc1uGbZzqlDs4MtRxRALvfMPXGNn+yVPsDoUfTU+6YnG2WDHPM6TSmJQKnk5n1WIJ0TBXeaPsmlMHwE+9aHwvYdqq2bqhwVAEPxIWCPn/teH1VcY0z6GRVkTMQ0UBmJh8tOI/kDJtQENz2Cwl6XeWkhgvT7VwgZ9uuPBnBcjhqAebm7tniFN27hl5AuBTiCFcchYArI4Zh+dzBjLlmvFWQ0xJcu/J8VwG22lUrfsh39m3CUy/MCIJeQmKijvjyA6eVnuQmvmaGxNyaL64wehuKUHmckJ/gQb9vMhnrhNodFn6MlbZOV5xXAxhIA9SndU4uJiV6f1vL20vR4ZGo+sArA1jLVDOD1xzXdouj3OPZ7cO9D+KXJ5xmwxvL/eb6APqW9fVwAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAMwAAADACAMAAAB/Pny7AAAAY1BMVEX///8AAADv7+93d3eGhoa2trasrKwKCgqkpKQyMjLa2tq/v79aWlpGRkb19fVfX1/S0tJNTU1TU1NkZGTg4OA9PT3m5uYXFxeMjIySkpJtbW1/f38kJCTFxcUSEhIbGxucnJzkoyMTAAADRElEQVR4nO3cbXuaMBiG4SCICgKKQPG1/P9fWQqJFZrAMwMj2e7rS3WDmnPIi8ckjDFWXJyfNhb1MuxLwZriUvzJR56U/tqa/DLJP8TYy7jBhOJ5Wq2YZa2qVIw+/H5eRPzZNVt6aO+UXfnwo+83mi8sSw/r3YTGrx/n7cMkXnpQ7xYnrSCvNxN3BUuP6f0CTijEu8yzdsPUm8YT7zO3fXBYekQ6HVqDy3bNz5uVRzJRdmsQO/Zod/9i6QHpVLSHgAfjW8i60+VrK76vAGNac2Li4DBaMOWpYEZM4KXH0VJvwrP0fJjCdUi50x1A58PcaRbHuU/2kvNh1lTMerKXBIbUv4iJTsoi6zC+egkfmIGAIQWMXsCQAkYvYEgBoxcwpIDRCxhSwOgFDClg9AKGFDB6AUMKGL2AIQWMXsCQAkYvYEgBoxcwpIDRCxhSwOgFDClg9AKGlIGYmJAlmNXac0c7y2+GMA0TE78AKx2OaZjw97ilRbJv85qGKX+PW9pO9m1e0zAeFRMCA4wuRn0fGr9lzSbMwH0UwIiAGQqY/hLAADMcMP0lgAFmOGD6SwADzHDA9JcABpjhgOkvAQwwwwHTXwKY/wkTJuPtz93/gjQVU7Wze4116mgMxRRHkoVPNGk4JtwRMR4wwOhibqmyyDqMGygLrcOU6pUz6zCe5K94ATDAAAMMMMAAAwwwwAADDDDAAAMMMMAAAwwwwAADDDDAAAMMMMAAAwwwwAADDDDAAAMMMMAAAwwwwEyKySNlt1HMTr3ybhRzU6+cv4kZbQgz3t+9fwYY4zA+8TfmskPEfUNbeSObtzLIiS/dOb4MYlbEGwzPkuGw1ZW28lU6d++ZtvKxO97BuWcDL9mPdtrKpxIuqhNh5Uo2O2o9ri1h5cTrviVGZgWOM/VdXyL5aIgrZ4o5het/iz9feb75mhcIGFN7Yh7Nj71yB7ChYt8gPlh7YP/Mlh6QTtlng8gZ30LqeWYt6M73FXH1cVUeKs0v5qfpNSsc6zfNgRPq/Z7fxp1au2nitBVE7Ocq92KpJr444l32clV5GviYbG7BqXPteReXonlp3dmmKJ+fGdpPFHElnjuP3K221lS5+eM59KreS74AnaR/WYPaMnwAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAOOSURBVHgB7Z3PcRMxFIefJAauoQJMBYQKYo7EwwxUEHdAOsB0QDpwKiAXwzGmAtIBSwc+e6IV0nqd2TFa7x8n+2Tp912SaL1+jj5LK+97GhMBAAAAAAAAUkPQkfCd6OQ50QUpNSZjTkmIUXHAmJUR4o60ntt/Zjkh+ktHRPACio6X8rP99dJ2+knjCcbM1nl+9YloRUdA0AJ+Eo1yKW8f3u1tMSajPB8fw2gIVkDvzt9yJBIkBcpBne9w50q5dFMYBUyQAhZSfjmo87fY5yivH8ESnAA39diOm9UddyudXIh3a61fTrQW7nfbPK97vF0hXYY8Cp5ReJzVHrErnPM8/1pt+nB/v7Q/lnbUZD5xYrOKurDXgysKkOBGgFZq6ms39l0+2en8KuWxG++5QnykQAlOgDRm5Gu3nXhNDQitv3nba54zBIJbhi6UMr52N9/TAOcPTbDL0FSAAGYggBkIYAYCmIEAZiCAGQhgBgKYCfFmXBAMlYOGgB28OWhRuYth2+xf40KMZXFgDhpTUAWXi7Cd/7u4rd2mAMBhH+vOWRC9oh5AQMlBOegy/dlHAgSUcOWgIYB4c9DJC+DOQWMVxJyDTn4EcOegkxfAnYNOXoCpufiWU81ezol+eQ90uKBjFcQMBDADAcxAADMQwAwEMAMBzEAAMxDATO+bcbHu2x2azgKGzpnGTqcpiCNnGjutBXDlTGOntYBU9u0OTSsBKe3bHZpGAant2x2aNqugpPbtDk3jCEht3+7QNAp4ipyp5ZRAQaOAp8iZClwDHsC9IGYggBkIYAYCmIEAZiCAGQhgBgKYgQBmIIAZCGAGApiBAGYggBkIYAYCmIEAZiCAmd4Chi4tiTVeowDhvgrEwwuiN9TAj5qSFrOnUDf2eLu0Scrf+dpzpWbUdK6UU/IHvaNE43ke2xTFLH3NrgS9KFmsoSxnnPqO5Xsq56KP93+c/RT7AZT6QzVzojFmLvN8vi1BccPSlR+SlPXFV1qP6jZuxB5vl0YBjtL2jB4DY2b7KupSiFel1SpovanjzOhwsnWLmtDY41VpJcBtL5Jau6rnjPqT2aE5brNVKfZ4VVpNQVuKXTJK3ZIrWe9G8eK6btiLPZ6j0wex9zbQROvXbp5recqq+HJNrd/2eXGxx3N0GgFVio0bSp3ZDx1Ts6l2LlYRxQcbITK7erix8+H1Y+2OjD0eAAAAAAAAIB3+ASaVNL7piFI5AAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACQAAABACAYAAAByZdXUAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGtSURBVHgBzdqxkkRAEAbgtnXBbrrpphvuhqRCnsEreB6hVOodhISEhFJC4d1RRZ2zGKa7Z/6AUjr4ip5RBuP7N6BRvv4epGkKRVFA13Xwer3Asiy43W7AGWO8QnEcQ5Iks5P3+x183x/2XLn0mzzPF5g+TdNAEATDnhVUluVqATfqIlLEiRpA7/d7t5ALNYCezyeYprlbzIGabpnneVqgZj2kA2rR1KpRH0eZStTqsFeF2pyHVKB2J0ZulNBMzYkSAnGihEFcqEMgDtRhEDXqFIgSdRpEhZICUaCkQdgoFBAmCg2EhUIFYaDQQbIoEpAMyqBebIiiCLIs260bX9sNjtWPIyiDazlGFEXWQ/8j2lNsoL5pq6rarWMBsT5cMTGO49CCjmJc16UDncH0IQGdxZCAZDDoIFkMKggDgwbCwqCAMDHSIGyMFIgCcxpEhTkFosQcBlFjDoE4MMIgLowQiBOzC+LGbIJUYFZBqjAfQSoxC5BqzAykA2YC6YKZQP1nch0wM5AOGBhBj8cDdMDACNr66YQT02daH6rrGsIwhLZthxPX63WA2LYNnPkBQYke6tOUN/QAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/pkg1.4c5f36e6.png\";","export default __webpack_public_path__ + \"static/media/pkg2.0dad9749.png\";","export default __webpack_public_path__ + \"static/media/pkg3.4864e218.png\";","export default __webpack_public_path__ + \"static/media/news1.9e617218.png\";","export default __webpack_public_path__ + \"static/media/news2.b2bde151.png\";","export default __webpack_public_path__ + \"static/media/news3.ebccb084.png\";","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/login-page-img.5bf434a2.png\";","export default __webpack_public_path__ + \"static/media/why-motion-banner.88d58a89.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAN0AAACuCAYAAACycgh1AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAABCsSURBVHgB7Z09bBzHFcffm507W7HimEQqqWQ6qRQbAzKQIrQly1AnqbRLtS7jMm16l1EpuQoNiRGYIoAEpKFKqjPdiaUYwx8Ub3dnMm/vg3e84/Fud2Zv3u77AYniRLbCwfzf+7/3ZmcABEEQBKHJIDSU/wC8rwEu/Qyw7n49vuT+dRPgCITW8hJgjX5d9Z5ohOhoMX8CuN7pJlcyY6+6/2oNUV2a9XutNYfK4g82z1/fBjgAoZHsAGwYgCtJJ9kw1q7DnD0BYA7AqgOTZXt3ahAha9HRwkJHbQGoDSiDNW9tZnY/B3gFAnvI3fwKsIlabTqBXYFSmAOTmschxcdSdJXFdhZj90ye794R+8mW5wDXjFZ3AdU6eACNfXErz7+HALAT3bME7qLSN8E3LutBZp6I5eQFZbffkuQBKrwOvnF7wmTmW9/BmI3onjpPnnTUlxbUVQiJzXZvZ7ALQvRsu5qto9WXvrLbLBDhGE22+1lGrQNP/0xgAAlOafUw5OKOE9JaCH4gO5lr9eD85ohnPAZjBZFTt+AIq/CTHQ1bIETJbgdumI7+qjbBEai36M8FD0QtulUIboRb5KJhI0QFbfwM9ANYATnqu08Hs74qRCu6lQpuiFb3v3MDdhCigGq4VQmOsBYuqY6q/OdHKTrqSK1ccIT78y/rAJ1SYWkoCBdNk5WjNqo6oChFRy3glQtuACoQ0a2YKFzPOMWMuDzRiY4aGEFmLiUhSyG13WrBJLkbjeAK1EaVsiMq0VEbmBoYEBk2SaIJAm0jtiA85INO5xqUJBrRkYWguQtECCpb8hyfUIVYg3CBMaUPaUQhumHjpNa5yxKUPzwrlIWCcHGWMlYQS5ccUYjuODrPPgnVdS89zGeExYmqcTIDdIkCSrJy0T3XrjuocBMi51jmdbVBh9pjFlwBQun/fysVXWEh3JQfGJC9956IrgYoCAf5iiQiVia60QBcEAYUzTRQjT/zqmFF9Os4jNtCjKFPTo5BCMqgjmu8o1hJpnsGcINDHTfO/+Sr8qAUX3XEXseN4Zprh1CS2kVHFgI1MwuBcHSv6KUIIShO/MQ6jzsHhfYtlKR2e9k/pc0nohFo7RsQglB8KqPVfWAGWix9rUetma7/YahieI5RvQYhCCpJWNnKISZJ4reXRURjZiGGYJrKZUUB4FjbF7hy4/bJSfyZju94AA8+Ayjt34XZsKztByDYSkG4lpqOW2dqHJSLaIPQt5V8RkbjYC+vdEFR8EzH2VaSjbiVpnsgeIWtrQQ652xfVXU+wUXn406JVeE6VHL/pWc420qiapYjgoquiGgsu5UgWS4QXLuVhI8sRwQTHfuIJlnOO0WpwdRWEj6yHBGskcK6UHYR7VYvkyznGdYH3C3s+upiB8l0LhxcYRvRnK30FdGEU4rvJpnaymIul2Xe9kQQ0WVR3E9YDrKVMpfzS/HdJCi238ipXvYteMS7vSyaJ4wLZbGV/uFcavi0lUO8ZjrWzRNnIf7Qy7dB8Arn5okF+9qnrRziVXSc28FkIT6Wz3e844LwV8ARF4STNEwQ9iY6zhFNWdiWOs4/VGpwvb4w72WPQu0Jb6IrshxDioFnlnl7ZVM4hW2p4eq4LwCCfUPpRXRss5yMB4LBtaGGCg5D1HHjeOlecj1fmYDa/lRsZRBYZjmEd3iSPYLAVBZd/0UbfucrrbEvP817+yB4h+unXG5GW0ttX91eMrzfgmzlWi62MgT954GVl7e566SY0dZ0wL2S6NgOwjF5LOOBMCgNm+z2RM21fSV7ydG3FxGtwv0WwvlwzXLKwIs6R0alMx3LLCfdyqBwzXJ1j4xKiw47it2IQA4zh4ZhlvN8mHmhPxNKUHy6w6xjSddgy5fg4eDofKiDvYogXEp0WZKw+0wjycLPX9oMx6vykzxfyUmkpUXH8fSJr7sthNn03yLgdlX+6kqNpUWHxTCcEdI8CU+S8KrlVnzp1PKi42YjDOxJlgsHy3O3bk4LK2Qp0bGzEZ7vthCm4eZ8EHD/9orntMtlOmY2Qq7RCw8354Np+j2smIVFx85GyGWxweHmfGJpqC0sOnY2QrJceLg5n0gaaouLjtMJFMlytYAJXgcmxDQ2Wkh0g4OsbDKdZLnw0AkUa+ESMCHp5S8gEhYSndaaTUSTLFcPqpPw2ROAB67bU/q5Yt8sJDoDhs+xLzeXAyEo5HwsMLKWkT3seaHoisPNjDpUKsvk5dTAsGqqReh8LhRdmiRsGihyxrIeODXVYqzvLxSd28jXgAkWtVjLwHwH1Dxh1FRL0+huCZgruv574UysJR35kmsYgvMBAJsgHKvzmSs6Tl1LGRPUA6euZazOZ67oDBo+oovQRjQSRB7WMmLnc67oOA3EEey+NFDCQ2ctuQzE6YYviJRzRcfrrKV6DUJwbMJoIJ5l0e6J80WXJGxE93OayvXodYCWxZ6gS6hidj7n13RMFpis5T25rTk4xSu7TN6aSyDuU0kzRcfrFIpYyzrgVG6oLIu6qTZTdEZrGX4KE7AZFbiuZUyHm2cxW3RMRgWxe/cmYa1lYS1duRF9EJ4pOjbvRNv4F7gJsCo3rOInOlpgLrMY18IW0dVAWlyjzwMO5caU6DjVc7/1eiK6GmAzPqIXeBiUG1Ois4xmMTIqqAe3J64CAzjUc8S06JgUzErZqDtUTYE+5eFT48dfzxEToiu+lZKCWRjjMqN6LknTN8CACdHJAgtTMKnxEeE49vnckEl7KQssnAGRR7lhLbLZDxOikwUWzmKsZVFuWGN4ik4WWBiHUxOF08z2TKZjcoocUY5+1QCnGr/b67HZEyPR7TJaYJMkkulqwACfa9M51fh6+B8yRgts8vTBM62OqaFCWS83eGSy7NBFkGP3Q7z5M8A7ECqjtGYTiJ9q9Y3C/mmU8T3RBXgbmyBHoqMFNsADhWoNijtcAHJLb6TRpyf9H4WOqDyz5lC5hTdpvm8BDu4AHIGwNKjsumtaAQfO2xMumdDdLq755vaExR/yPP/R/eWbVe6Jkehy10RB5LHAF0G1qRPbFezo6/QT7VjzFiweQJ6/uu1ECMJCWGvXis9XG0CxJxCuKKU/ob+mwIyg9l023KtbgKeZTtGjEA2FTtkgrLt0vlkIEMwrk8GeZMD5GKvWVTM0N8WgaXjFZcMtEiBk5kVdrmi0pDsd9ZDTddleMHbP5PmuiG82Ox39d2gRzoIeo8X90HtiJLqnWlMhugZtRMQ3Bc3oLnf036CtBNwTo5FBawVHKNx0NuObnSS5/xRavA5jcJrRBcHtiaSrv97RNI3w/I+mf3sOwOb9uaCQ+LR6SE/7QsvhNKMLRXGDAuqtHa3+6jMYF6IzEt1PcU0X1/V80Pasp7WWPTHE7YnCCXnKegs9f9xKBlmvrcKTTDcDl/WeafV11T1RiC7rdMRezsJFOPL1u5322U0ajIMwBY0aqgbjQnS6GIIKsyBfn4GzmwEK6qix8D4IsxkEYye8UvfDFqKz1oqVuIiioG6P8CzInpgHBWNX531ZxgUVolOJ+PeFaJHw6DQKCBdSxgUNM53Yy0VpifASJfZyYdyeeK7h5qK/XbqXZWiB8Ljc8h0LBvXdRWu8/pxOrMTyOOE1tav5nYwLSuGaKwvNdgvRiZUoR96Pbo2z5h+K6EpRNFfcOOGioKWGvxmEpaF1Q62+goYhJ5Qq4MYJv0+Sv8z7LUqsRDVoWLqjdbtmeMJcrMJPdua8XKvESlQHFdyUrxOECbS6f15Ck+6lB/qDUvUAGoIcC/SAs5mXtZ45RlDi332hNuZZCqF9kAOale0k0/mkoxpR23WtlW62B8gBzcp2IjqvNCPbyWc9/piV7UR0nrFJUurkudBMKNt9qPXEIQolRbNfVII3ZAwjjGPQTARiyXSeocj2QadzDRgjn3r5ZrLsENEFACHfBMbIp14BGHtwVUQXADqlIhZTmACNiC4kRau47fdGCmdQG8NALKILhHQxhbP8rtstsp2ILhCoeLzfLtQH5rmILiRcnpIW6oNexip+BSEIVNe9lHOtwhjWYhGIRXQB+anbvQqCMARhnZopIrqAINODwyYvXpEWAvCRcz8iuoA40bE8YoeIIrpA9LrddaXT9C0IQUiU3CcqTELuRzKdMIXbFJLpAkHux3Ux5cnfUORM7xPtIb4DIRiS6YQpVJpKpguI+gxAajphgq7siWBQnT+4Vl0spnCKARB7GZBCdAhG7IQwQtxPOLIc3vXfp0OURRYmEPcTBpqB9u2lkQUOAWcHIe4nHP1XeyTTBUEh33mXUngIgndoBlqILssyyXQByA2yXVc0+AYE72RKHRWi0wAS1QLA+WSHBOIwqGFNR90qZGyFYoWiGjBFAnEYfn9y8nZ0IsVaI4vsmW6vx7ZWlkAchpsAR6eiM1I4+2aLebaQQOwXa/v74VR0eX4AgjeGC8waq2RPeEShLZzPSHS/AcgCe0Qpy190WSZ7wiNosVjPkejuuU6b2AmPNCBL/OLssdR1/lCDIDb5ac9AiUJ1ME3Zr6UEYn9Q8BrW+BOiwzzfB6E6CEdNOTSsrJI94QNrR0F4QnS3XV0ndqI6CLY5jiHLXoPgATVax6kvx01uX4FQCYt6DxpCP2MbKTsqMl5uTIlOLGZFnLW8fXLSrE0qo4NKOOezP15uTIlOLGZFDDQmyw35JcteglCaHJMJ9zjzYiJrQBa5JK4t3Dh7fq84uC0WsxTO+dzp9Sbc40zRSWQrB6J91dirDlKzC8LSuIH41LrNFJ1EtnJgL2/sxqSyg6I2CIvj1mvWvPb8ey8lsi1Fo7PcgFlRW5iDq+9n7YlzRVdENsl2C9PkLDfkVpruSbZbEOpiZ9nMPTH/hmfJdgthjX3ZlmvrJNstxrx1miu6/vhAhuVzcREtyfPWNJ6KbCcOaC70WVd/nWZz4VsGP/fybZnbnQ9FtNZdzioOaC5Jlj2a979fKDrqZBoD/wZhCrKV8yJaUyEHRD87CFMoC9sXBeGFXu35PMteiKU4g7OVa3nzmyfn8Sv97NJUmaDoYC8w4174qSyVmidiMwcgvFO97NuPW/x4YjHL7WWPQehDM7kFO9gLi45SZt7LnoAACajH8sjGYKxkQeo7JzgKwovuiaUehbwDsO86M99Dm3Gb7NMzZ+naDM2i2l7fuWT0aJkgvPRLrEV919bo5n7u8waebebzPN82pp2jJQ34+AuApa6gRyjJjtZb7u/egrYggruQVu0JV9cDJv8o8+1kadERTwGuJ11931nOS9BU3OJqi//cSlM5JLAArRCeq+HIUi6b4U7/9oo8B1g3Xf3QZYI1aBoVF7etNDsY44FK0ydVGmmVRUeQ8Gw32bIWb0BDoBpl3dUqbR4LVKGJwZgaRlS/QkW8iG7IvzqdTYt2i/VCOztJIwHpUPqhCXYTFRxaSLZ93X3jVXQE56xHkYxOmUh28wvbPUHNEgMvfDfQvItuCKeFpuM7dJpABt5h2XnvvQ3n213WsxsQMwOxfZRlL0ME4GCiGzISH+B1Zzvfh1igo1xg96CXt+ZbuFgg8aHNNqMLyIHFdvrH1MR/AS791OlctwA3Vhvp8MBa+3oty/bERq6WIiB3OhvG2puIcAVWAQnN4htQareu+0prE904w8UGNBsuA26EbLwYC0cdpX44sfbHP6bpvggtTkZ7AuCaa8b9KaQroj2hld03qPc/Ojk5rHtP/B835iqHzg3H5QAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default __webpack_public_path__ + \"static/media/contact-us-banner.6cf195e7.png\";","export default __webpack_public_path__ + \"static/media/mobile-contact-us-banner.3d888461.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIrSURBVHgB7d3dcdpQEAbQTdJASqEDyFse0yklkA7ilJAO0gGRxmjGxPYgZEns6p4zcx88FjPSfouuAP1EAAAAAAAAAAAAAAAAAAAAAJDal8hn340f3fh++ftP1La17VnM126cunH+bxwv/6tma9uzuL4w53fGr6hVtH5d+3V+b3tOwZV+N3m+Mao0wa3wh7GPBD5HDocRy+zi+Z2TuQmG3f5uxLJjlllclgb4O3K5zE1wT/jD8lyMmQIyTwdjd/svxyG40r97KjbBlPCPwStTCvnoJqi4zqlVKqjwF1KhsMJfWOYCC38lGQst/JVlKrjwHyRD4YX/YI8MQPhJPCII4SezZiDCT2qNYISf3JIBCb+IJYISfjFzBib8ouYITvjFfSRA4W/E1CCFvyFTmkD4G7NUEwi/kLmbQPgFzdUEwi/so00g/A2Y2gRNhJ/lyiBYhCmgYQ4CG+ZjYMN8EdQwXwU3zI9BDfNzcMOcENIwp4Q1zEmhDXNaeMNcGNIwl4Y1zMWhDXN5eMPcIKJhbhHTMDeJaljmQmuChVUosCZYSKXCaoKZVSyoJpjRMWoWckoTnIIr+6j9LprSBPtIoNIzgwZP3fgW4x8zs4Z+Xfp1errjNbtIoNozgzKGP7i3CRwHvDBmCqhy8DR2OjgEV/oDo+rhD241wTF4pS/aW58ETlFzd1liez5FPod4nhL6OfV3N35GbYfY1vYAAAAAAAAAAAAAAAAAAAAAsKZ/oicFmmpRxpUAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABBCAYAAABhNaJ7AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAGASURBVHgB7Zq7cYRAEAUH2QRAShAANgngQwSEQRaQEgHgS3oYKkknefN5W7NtHXjdRxW7wzbvn0hi3iQ5NYAkpwaQ5NQAkpwaQJKjHuA8TxmGQcZxfH6z02gvhSF+XdfX9bqu0ve9sKL+BNz3/eN62zbqJ0E9wDzPL/eYI6gHwOOOx/43rBFM3gIlRTB7DZYSwXQdUEIE84UQewSXlSBzBLelMGsE170AYwT3zRBbhJDdIFOEsO0wS4TQeQBDhPCBSHQEiolQZASakVhUBKqZYEQEuqGod4SG9fM4ZCH9nbZt5TgO0aSosTgCaEMZ4K9/H0zTJNrQBfhPflmW53uDNlQBvOUBTYAIeUARIEoehAeIlAehAaLlQVgABnkQEoBFHrgHYJIHrgHY5IFbAEZ54BKAVR6YB2CWB6YB2OWBWYAS5IFJgFLkgck5wVLkgXqAfd9f7rHKA/NzgszywOScYNd1zwCTXR7QjsW9qKfFJTk1gCSnBpDk1ACSnBpAkvMBBs8Me331nTcAAAAASUVORK5CYII=\"","export default __webpack_public_path__ + \"static/media/tick.d9cfb76d.png\";","export default \"data:image/png;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/jpeg;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAO7SURBVHgBrVV7SFRZGP+dc+/kZLaNjqatq1m4a66TtYrsXwvFurVb0LKv1t0/ttyiJxlEkPQghSii6AXa015QGWREEVEWPaDCHkyFaGKoZTnVTDVpaujMPX3njiM6944Y9YMD537fPb/vfQ7DAMi7PDtF8/FZDGwSfabTiu9ReWhVa2AXFZ/vSPkvB5vCcTBT4nNErColpJyGQUAIHOJ+f5GZIR4q+Lty7kKhcudgyXUvGWaRQ868i3MLBjQw89L/a8mfUjpiw0eCHLIJIbbPrJQc/eQB5FXmLxfgm/A5ILDg+JSy3b0GZM6Fqjyg7XCz/yOUCKSNSEVC5EgojON550vc81QTjwjDDy/XtMzyqQeaVSnQLEoRE+bk05Jz8efYGXjW7kJj2xNZUOSMzML89Nm48PQKTjaeMZzR08X5Ntr+wXq8bzQjz0/7Fw57OvbWHMZDb30/XdzQWKzOWobaN/XYVXPA7Dg0P+xcKMp/ZsrfxkxHpj0Da25tMJBLuDs9WFm1DonDRukRmoEpYgmneCaHKiKUIZjy1WSsd25Bh68D63JW4a+xvxoI2km3o3oPpif/hEg10qAn8hxqU+YIVWTGZMDV8YK8fIX4oXFIHTEGPyf/aOakHomsTU7cdwadYMimIovYUEVSVCIevW0IELx/hdauNtS9fYRwaGhtoprYjQqBBG52wC80KFzR9xrt99YeRkZ0GkYPT9JlMh2szy3TrfkQDiq1p4tCGdVX6H7vwQQqcBC33U6MfpKEjd+vxdWW6/g2epzu3uYHJXjc1oyUL5JxzXXDjL+FE3ldqPQ+DVEKeStTFcSJhtMorCqGLcIWSAcFIBsgzhqLiTEO1L6uM2ZIiHqV5uYS/Tupr0J2Rw0dcESno/nds155E3m7wbmVwlbhEz5YVSuKsleggobN29VqMECXYAXnHWI/TPCNLRU13oeU+3HkZf8CSvJ4ujYKJxbQhLfo0ZmBqUPO6JWiK/osBdR7PU+wO1Awfp5exhedbkRZovR2lK0rZQmR8XoKTzWdw2la5uw4eDy3LF8NWFIXC1+3k7b6NW23RqOCvLrmuol33e0UKkNWbCaShiXCDw13Pff1K0LWIAzcTLEUB+z04J/zcxZpHCX4DCCHlpbn7tsh971zcGxqWSn1djE+EcRRFCQPfIdAPnvUXvJVisHHMXspe4XBhyYIwyRL60y1ZMuHHIMEOXRMVdj4UPKA3QGQd3lBiuju+p1mZQbl9WsSfakfktMP3KFkVylWS+nRH3a+CcfxAUx4XSwfPy2ZAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALOSURBVHgBpVVLaBNRFD1vkrb5SGq0sRWR+llUarWKH1DBGKogqOBnIbpQ3EgRP13oSiXpTlfSUj/Fjbar6sI/qEjTiAgWsVKh+KHUgrWpVoyxxcRm5nnfTJpkTDJk0gMz3Hfvu/e+9+6PwQA8ZF8ILh8BmA8MNcSarwoYvkHBABh/DEXqYr7Y53w2WE7DQdsiSEobiXegIPCb5CiQy5GUtbWn7CgZ7yvcuHrOw0KHdE8aOuAhm5/u1E4Ks2EapMPQwkOlfh03Zfx5WRM4LqUkzjrA4gKiL1EEGpk33i4I9Qbqm3PerDNesRuouwO4NsI8+AU1QZB6IiVAl3GppK0aqH8KzN0JjHUS/YQc1sMc6Lm43KpSWsbwoZSs+pz2CUz0A79CQOUhYOAAEOmGKUyVVljBlIO6bI0Pp+lZK+nHtZtMjcM0LPET9ERsm445/gBIRNNr8WThDmCyH6YhsXUSRaFWx0xEgJG29PpnsDjjGtZI9ALzstgjrZojAc8eoNyLIlEp5WQL40Pn0+vlXYC9BsVAOPiaUzJ6nYLbodFWKuwV9ykeS/V7nJQErg0wwJhECfQxr/gTtZboK40WwV79AnBvTRv37KVivGvk5L0EmT3L60CJAe+o50281dYlbrrJQ6D2llaMc7Yni5Fo56psfY57jPc6q/AnMQojMAuw5CKw4Hi2TFeM+6kYezIOyBZLbP1kmMhHhg64DAyeBj40UiF+0ctEMZZvpkheo2L8nnEofkPMB7WEkwOmr6A2LWIhWolnH6WIQ+OJrHuzCYgNTp/oBw2gtSkHKqvbcQwW+TIKhZXi4W4AHMuo0jv1LQZoonbdol4kk0sDJ0B/P2YE3sy8fwPTq6yZzIP2U5BkcsLcMGc4As7Osi3xK5lco6EfUGdtQbZxm9L9DGuIDf8vYoZ62qygaGIXfaJXVCVFYTL6mtR7wUuuMt/vvL38H5Gm5RgNKtQmAAAAAElFTkSuQmCC\"","export default __webpack_public_path__ + \"static/media/watch-free-videos.d63de102.png\";","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAIAAAACACAYAAADDPmHLAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAJhSURBVHgB7dwxbhNBFIDhZxuICwrnBOQGcAR3BISUI5A+BPkGiBMQCaUPJ4ACITpyBDgBpqJ0KqrYZicREkhxWNsbbWb8fVXkdWH5/RlNsqONAAAAAAAAAAAAAAAAAAAAAAAAAAAA2tcJahkNvw9m/cFezONs2ouvx5+2f0QBBFDDaPfnzjT6X6ofdy5eqCKYdWJ0/Hn7XWSuG/xXNfxX8Wf4SScG1Rd3crA7eR6ZE0AN1TI5vOr1EiIQQA2ziPGia7lHIIAaOndiVC0DZ4uu5xyBTWBNh88mD6vNwGm1ARwsek+1UuzntjEUwBJKjEAASyotAgGsoKQIBLCiUiIQwBpKiEAAa8o9AgE0IOcIBNCQXCMQQINyjEAADcstAgHcgJwiuBUBHDydPIjC9KbxaN6Nk9seQWsBpCNW5/3B+0X32jdF2xG0djt42h+82fThJ915HI2Gk0G0pM3zAPvBxfGy861o7SxBewFcc8Bi08xb/C7aXAFOgmQc3f5ptKTVvwIOn0wu9wHX7JRzNv/7JPFV0m9+7+7w7cf736Il/g9wQ9IZwe51q9wtGP7lx6BxuQz/8qPQqJyGnwigQbkNPxFAQ3IcfiKABuQ6/EQAa8p5+IkA1pD78BMBrKiE4ScCWEEpw08EsKSShp8IYAmlDT8RQE0lDj8RQA0vH0/2qnv2Hxa+IdPhJ54QUkN6ItjCixkPPxFADd1F9/UzH34igBquXP4LGH4igBp6W/E6/n1S2LiE4Sc2gUt4sTsZzrpxdu9XjI9Otx1qBQAAAAAAAAAAAAAAAAAAAAAAAAAAGvIbHMUVQP+Mm7wAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAPjSURBVHgB7dxBchtFFAbgv7tHKhYsdAPECVBOYC0BQeGcIOYEMSfAN0A+QZwTJFAWZhflBDgnQNzAG6qCpe5Ht2VTlWRGjl3deq34/1Yuz1gezz890/1c8wAiIiIiIiIiInooDCrye4O9YNyBgYzjoQ2hSCDnCDg3CC8nHr+ikCoCOAOGvnHPjMEYVZIFlmE8Af5GZuoB/AF85Rs7hzEDVEwEF43x46+XeIOMVANIV35o7J+1n/wbKQSz8qOcI8FCUejZV7ty8pN4ixxI406QkVoAM4cftB+095GeU2mygEwaqLH7nZtEji4/D8ePL3ABBS8GGPT/sU/i6Z62bU8zNcC/RgZ6AViM2jfI4WQVjnVO/do6+HA8a+wgXvJH729fT5PzUHwGmNYALpfhOSpxmS6EVmaITFQfwm0eQ/Paf9c2jqW6AB4aBqCsaAA5p2ufqiKzoJvajlzVdnxVBb/aZA/gpraTVo2gW2W9Ba2v/PoLazXJOgKuajvgyb+LbCNgV2s72jLegjbUdqhTvgA6azu0ScYRYBjAPXAlrIwBKGMAyhiAMgagjAEoYwDKGIAyBqCMAShjAMoYgDIGoIwBKGMAyhiAMgagjAEoYwDKGIAyBqCMAShjAMoYgDIGoIwBKGMAyhiAMgagjAEoqy6AF6jn5b5tHEvxALr+CJPagLXoN/YpKtHvpY4pLUTOkUnxAPo9DNu+LzDz1h8w5mjWs081R0L63bPG/tzVrkaMyRbAFtrV2D0gfHDARvyJXPXdaWOm/Z6bzlAnE/ASmeQbAdLeWUTEtL689+0KrwWYY/csJt5na2OZLQBjpKu1y6jrduKc/7EruCqlY3V+jIyyBdB1T08tC7oerN+8xcKZ+AftQgjxGNOxTt7m7R2a8SHcPTOI4Rx2jYLUh9M2/lH8coFKmXSrbPwod8/Q68/O4+wzDIN3f3VtF5Hpd6vw06bP+M25fWfTG/cy0n7tNU2T06gOYp5/v1rNUUjWVjKnPfcqfuC4ew85nCy7+rA9TFnXAQ442byHmcaQnoD+l72Z0qx3dRsabt6LI+FG9pVwXGAdfMRe01Nnn8WF1hd44Iq0Eztt7C/GmMPb94z1IIm3rVU4KdEafhcUCSBNOfvr5k0fP5ORuLwPfm4szv9d4U1N/UNLKtZQ73paGkO47XlQgYD9nOWFuyja0XBHQlhMlv5LKClajk6lhsulf5QWYahRgdrOXW2tp+dZnP8H4Ai1jIbr2k6J8sJdbL2pagoilqEPZOOKuaxU2xHnD3IX1u55LDrS8wHe7YlgX4wM47+ZhijY7HVbtR0iIiIiIiIiIqIu/wGajCFW6z9c/wAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAFAAAABRCAYAAABFTSEIAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARnSURBVHgB7Z1fiFRVHMe/5wyLVmwslRJt0DxEbPXgUEQSRbb1EPXgYNFLmKwViP3dCMqSdieQxR7K1j89REX2ZOS29pCIqIiIoCgjiH8exFlwFxGU1UX8s3qv5zcyuK7OnDP3d+7Mnevv87KzZ8483A+/c873nHuHAQShmajbWh7velkrlQ+Vzps3sxAQhigqhMXgatiPE0dGpr53U2A224G2+/q0wucQqhMGq4LJiwWUSuP07w2BRp5qu3eHUioHwQpVZDh54RWSqMstpvJEnjtKIafb7ukrv0ZXV1YHmRMQ6iYIrs3TOtB9ECKhVSavQ8jQjYwK82bRhQiMjMpqCCxEIBMRyEQEMhGBTEQgExHIRAQyEYFMRCATEchEBDK5KwRmOx/BtvV/4My+Pbh27BA2rhnEY6bNB0o/8XSIFEPy9g9vRMf97be0j5+fwDP5tzAyOgYOqa7ASuVNl0dQ2+8DK8AltQIr8rKPdlbtk3uyC1xSK5DmuVryiDtVZr2kUiANzdxT9uratHU7uKRO4HcfL8WiBfOt/cYnJtA7sBJcUiWQ5PV9stSpb/fCHrMCj4JLagR+umihs7zeFStx8MhR+CAVOXCOWU0PDP/j1Leweh2+X7MOvmj5CqS4st3EFRd8yyNaWmCtoDydP4c2eZdHtOwQdgnKFYpmvns2/zbioGUr0CUoEyWz113w0WeIi5YU6BqUSZ6vuFKNlhNYT1COWx7hRWCc521TaUZQtsFeRGqdt9FFHDzqJ7BSUP7pm6+c+lJQHlz/FxoBuwJ/NBdV7bxtaO3PXiqRgrKrPMp6jZJHsCuQhmwtSidH0f1eT+ST32oVfifiCMo22BVIk3UtKGrQTiFKJSYhKNtgCywets9xUSTWG5QXL/sWzYAt8P1ly61VSNQrMSlB2QZbYMlEBVptXSUOGTEd7bWHZJKCsg0vOZDO1uhCXCAx5XmtisSkBWUb3nYiJHHx18ud+lYkTieJQdlGRj04ux+eoNBMcWX+a93Wvg/Peqg8H/637caNHQrKA1/2wgUKypXPNRuvAgmSSMPr9ZdetPal+7IkcWRsDP+uHYQLlPV++PU3JIXYzgPrGY6uNCMo2/BegRV27t1X/jvv+efgAwrKX3i4Demb2AQSviRSUH7zwyVIIrEKJLgSKeu98cESnHPImc0gdoEESaT97NzcnLo+l4SgbKMhAoktu3ab/W2n8xNRtJK/8M67iZZHNPRInzb8tBi4kPTKq9DweyIksWh5rMLnoxdx05SbSq+aA9ZqEht9osylYXPgVC5dvoK//9+MmTNmmC3drPICQwtNYfUvLSWPSP1D5nEj3xNhIgKZiEAmIpCJCGQiApmIQCYikIkIZCICmYhAJiKQiQhkIgKZaCiUIESlqBFgGEI0QiMwCLUIjEhwNejP4OzpEfXA7A4zlOdCcCfEqvD44Q3lRSSYbCuYc/0iBDfM0A0mLxToZabcMH7qEto7NygdzJRKtGAqz8jrqfwYwXXHJsAw2SiXlgAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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JsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWEiTAAAoFlFmAgTAABoVhEmwgQAAJpVhIkwAQCAZhVhIkwAAKBZRZgIEwAAaFYRJsIEAACaVYSJMAEAgGYVYSJMAACgWUWYCBMAAGhWESbCBAAAmlWEiTABAIBmFWHyY/ZxAACAq6kIkx+zFwEAAK6mIkzedw/nPQsAAHA1FWHyvvtDAACAq6oIk/fdiwAAAFdVESbvs4cAAABXVxEm77OPAgAAXF1FmPzQvQoAAHATFWHyQ/ciAMCT9rMAt3A671ff/uVv+20AAICbqTgx+b59HQAA4KYqwuT79iIAwJPl+hbc3imucn2fDwMAPFmiBO7jFGHyt4gSAAC4k4qrXO/aQwCAJ8tJCdzXKU5M3uVZAIAn64MAHSqPHw6s8Ib/HwHAE+WkBHqc4sTku54HAHiSRAn0OUWYAACIEmh2ijABAAAOoOKtXAAAQLPK0w2TrwMAPFmub8FxnPJ0r3KdAgA8WaIEjuWUpxkmpwAAT5YogeM55emFyesAAACHU3k6z5h8GAAA4JAq+4fJQwCAJ831LTi2U/a/yvU6AADA4VX2PTF5GQAAYITKfmHyRQAAgFEqe4XJRwEAAMap7BEmDwEAAMaqzA8TrwEGAIDhKnPD5LMAAABbqMwLk4fzngcAANhGZVaYPA8AALCdyoww+TgAAMC2KscOkxUAAGB7lWOGiSABAIAnpHKcMPk6PpAIAABP0rPzPk1vkDzEQ+0AAPDkfZSeU5NLED0LAABAHuNg5T4x8uq8XwYAAOAdKo8nGA+5TYy8DAAAwA/02/M+y+OD6D8lRC7fHXFNCwD4ST4I8NR9mMcrVx9+u4v6zr9z+nZfnvfVt3+/CQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMCT9r9oDRJ5S3hSowAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/successfull.637751aa.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAARASURBVHgBzVq/TxRBFH5sSA4rzgatOGywErAQK+EsoNIIiXYaILEkAf4C8C8QEjsKMdphAdFKTECtgELAChoOK6G6qzgqmW9nN+zOvNnbnV3u9ks2F4f98b6Z9/vZ9l+A0qJaIfq7RXS6R3Tyg+iiSnRelb8+ij1EneK61S+uAaJSWf47JdqsCUC47UUhuBD4ZIusACKDM6nIJCfgC76zFN7htOibIBpaSEwkGYGfC9kLruLRvCQSE/EI1CpEq2NCx/cpFgpFoo5O77con6/X4hPHKbzajHUajQnsrxBtzEV/vLNE1DsmdRkXhOZQr0pDP1wjOhJX7cT8TrwDpzE4S/YEoDK/3hj/TN3D8rghtA1g/NigPx/M9zRQKTOBKOHhCkcW7QVXATf8qWw+kQgSPAF4me9z7AOu24Pw14GoTXvynqh/UlvWCcDglu/zOm94SaYwbR5s4vVvzbAd7caP5dYJDzycld9SAQcAT6ggTABHyOnhyNvmCO8D3+JIwI1DxgCuVAiq8+6O/lDCwOLiYIXoy1R47akQqG+SEuGbOI3dpfAaVGn6WMYYCp6AwswF9C2p8FliVNhDV394re6lMh4kAez+AeOLX25SyzHKeLzdq3RGEuCyyXsTMgVuNRBrEDCDCJyCJLC9pD/YTKNtBE6NvU13XPU52wv/EbqfVZTNAm69UAqvoQ4REdxh1efuM8odevUYgCrQoX978W5uNTiNEJmtQ2dMjn97gHIHjoCovx2qHocXESgKhny+leDkEt7I0VKHPArvA1VeELUKk8yp1p4nFG5qSzqBixrlFjd07XA4vcotVHsVaHf1Kpj/Z9Ey6S7L7FNdS4u6oh0i4LZLvQoYct1rCaYxZuRQxUnKFL5cQQh7dag0rN9c2aLc4ZQJuCJeOWzQQqM2b0AvSUUXCHC6ebhOucMRQ0BEZ8fVVzXfRoZq23H2gec/j4t+z2P+40nfpQZcdLaF7DIOcHkGV2LGBTYAguPY8fHVcblmC9TYKh7MuD+SAPqPqtdJ0/fnnrN9l6nc9TZdEkCiNDij37QR3Vg1gusq205j0KdSESh3r1IJ7hTQh7Ehgd1BO6bgZZDoK9lUeKY+VaDEDLcWTb3JZnXlgjC1GJU+ld4bXRbWzRU5zSSBlvvXKX0dajgdzof0bPTFGp9G4IU719SVDsIkPGRi+lQ6ARgHdJYDJjVp3GsjoJXICQ8MzbN9KrsBR4IZVizAxcJZmGZwiQccPhqNmDAaRcM2zYgJ74+KEdYjJh/wBvhI5JCvR/aS0I5BcmhKxfEOCIvraF2Olkzw3W8DxxFvzNpohsV9HOUfiPl5/Hk1frGEGdzztVi92eSD7iiVSouClxFkPugOAqcBIlGj0aTwBUc20JGsErT/zx4gAl1GbDiLOcFXgTQeDsBCcB/2BILwyaDsw4UMUrUX9Juw0xAYho5CKoP5wyW+YNCRyPJMOAAAAABJRU5ErkJggg==\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADgAAAAcCAYAAAA0u3w+AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAALFSURBVHgB1Zg/cxJBGMbfvSuAjqGyk9JO7ezELlYhnemSTivxEyT5BGJplXRqJVaOVbDTKqS0w9IZBs8KGsDnmdmbSY67y7t3e4T8ZnbuD7vL++zu8+6CEdBsNtvGmFOUR3xcrVYDlF4URb/ljgANzTAMdxeLRYTHURy7obggCC5YJ9EmWi6XB6j4RbacVqt1hMvx1XeI/Rixn4SNRiOeuSR1vH9Rq9VkPp9/ly2Es4b4PyDOl8nP8K6D2CMD9StFX/3pdPpGtghrq3OUdk61MQX+lfXluQY8OULpboMvIW4XtjoTRdwBRmAkCriMUYbo/L7cIvQbxA1EIQ6MA2SdQ9xEisoUyYQ04gjKhqHfIO5UEsnkBgbGNmbg57hta1vGWUo2gNJv1+Bqw+TthXxAloyQcbgddPDBPWUHHWSw5mw2+yYVAnFPMfhDbVwWJsV96Jqb5CdYBm9x6Sk7qjT5IJbXuPTFjR7EvYsfTEbHaxtnHhA4Run4Ekm/YdY40AcOzcawDQf68upLk/Ml6lRs8XLysX77nHH4SCVvFQVZjRgoAn6M27EoY2P6RoBHUhDrtwsXcaAPcc+yVk+Y13KTyYd+Q9uPuK07NKPfTphMsioY0QdQSfKh33Dh5q3uW7iBB8HhZDIZ3lQxFCWcEcwMbzua+nbGu/V6fYAB/pdWx/rtK4LtihI7cDuYuUtN/UAc4HJgphIPJx+8e2g3bxe/neX5LTUGKUDZk4+P/U1LIYGkSDoHfQgVR79FqL+n8VsahQXGuCYfF3ycktRJJgvX5OMA/bYPcX+kBKVnMKbAyScTn79UvAkkRZJPglJ+S8OrQFIw+RAelr0d2GNKezAJj3co73lcw+MTTRv7P+zzsn5Lw7vAGG3ysX57lXeeLIP3JZokJ/ls5I/lymYwBhPzC79IPuGW3nyAa4TrD4jbgbifUjH/AV/Tgsr5KN0iAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAJAAAACQCAYAAADnRuK4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAMoSURBVHgB7d0tUiNbGMfhM7euBoGGFUAVHoEGgWcjsAIEaFgBAs8KMOyAFYBGwAbunZ6qEVMFkzD/Sfp8PI8j2F+6Okm/5/3233cF/tA/BQICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAvru/f29PD4+lqenp8LXDB/QFM3+/n45OTkph4eH5erqqrC8byPvypjimcJ5e3v75fX7+/tycHBQWGzYK9Bn8Uw+eo2PDRnQ7+KZ7O7uFpYzXECL4rm+vi47OzuF5QwV0DLxnJ6eFpY3TEDiWY0hAhLP6nQfkHhWq+uAxLN63QYknvXoMiDxrE93AYlnvboKSDzr101A4plHFwGJZz7NBySeeTUdkHjm12xA4qlDkwGJpx7NBSSeujQVkHjq00xA4qnTv6UBi+L5OUFxd3dXerC5uVn29vbK9vZ2qV31Yz2L4unVFNHt7W3140XVBzQN+406MTpdhR4eHkrNqg9oa2urjOz19bXUrPqb6JEnRI+Pj0vtqg9o+nTVws3k3za9cS4uLkrtmpiNf35+/nEj/fLy8uH/z8/Py9nZWWH9mvgeaJoUnQ48+OxKdHl56VSNmTTzRaKI6tTUTxkiqk9zP6aKqC5NPs4hono0+0CZiOrQ9COtIppf8w/Vi2heXYz1iGg+3QwWimgeXY02i2j9ujtcQUTr1eXxLiJan24PmBLRenR9xJ2IVq/7QzZFtFpDHPMrotUZ5qBxEa3GUKsORPT3DbkvbNEz1vaFLW/IdU+LrkT2hS1v2IVzn0W0sbFhX9gXDL0z9WdER0dHP/6ewrm5ubEv7AuG3plKztpvIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICICIiIgIgIiIiAiAiIiICL/AzRUpte/3Z1qAAAAAElFTkSuQmCC\"","export default \"data:image/png;base64,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\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGAAAABgCAYAAADimHc4AAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIrSURBVHgB7dzPUcJAFIDxBxy4UoIdaAnaASVoB3agdmAJ2IFWIHaAFYgd5MgF4nuigwx/kpDdzbr7/WYyQfCS9xHCTEJEAAAAAAAAAAAAgJT15B8YKV2d61Kod0lIXyKnsz/v9/sfukx1menfd5KQqPeAn+FP7eHf51er1aXuCW+SgGj3gEPDN4PBYCSJiDLAseGb5XI5k0REF6Bq+Prxc60fP5+SiKiOATWH/yQJiSZAjsM3UQTIdfim8wA5D990GiD34ZvOAjD8tU4CMPyN4AEY/ragARj+rmABGP5+QQIw/MO8B2D4x3kNwPCreQvA8OvxEoDh1+c8AMNvxmkAht+cswAM/zROAlQNvyxLu6RkIonQc9KFrmYuTo22DlA1/IQVuleP214e0/qkfK/Xm0h+wzcj3fZHaclFgAvJlIttdxFgKpnSbX+WlloH0APSja7mkhl74+m230pLrr4FnemB+FUfnu17XQ9W93qwehDsGIgDi8WiGA6HL/quGMueA7I+f6mv2/+1+saQIicBDBFO4yyAIUJzTgMYIjTjPIAhQn1eAhgi1OMtgCFCNa8BDBGO8x7AEOGwIAEMEfYLFsAQYVfQAIYI24IHMETY6CSAIcJaZwEMEToOYHKP0HkAk3OEKAKYXCNEE8DkGCHYT5SaqHGOmfsF+aTDneuQr+TA1RbcLyiAIxEK7hcUyG+Esiy/L4DS9Sy1+wUBAAAAAAAAAAAAAAAASM8XmBW3IAVXq5oAAAAASUVORK5CYII=\"","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB0AAAAyCAYAAACgadDsAAAACXBIWXMAACxLAAAsSwGlPZapAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAHlSURBVHgBvdg/VsIwHAfwX5oB2IDJsTewN7BubjK6gZub3MAjqCcQRjc5gXgCcHTDC/Cy4QL4/VXwIUKbNL/m915L0vz5vOSlbagiRBOBn9soivqcXa/XUxwDY8wjVRCKQaXUBEd8oHwwn8+vSTgwuOj+CMjRa7fbTySNYhrTgjricJQzysrgCMfMsq4YrBuNBq/c1LJ+gvrxYrEYkUcoPrVaLV69iUM7r1XN00tYTOd8bzq085pqzacvRL1ef0byAiM+sWyb1Go1bvtGjqG3iTIw6qVlYL2bCQXr/QshYH3oYtWwPlZQJazzCrcwOrtCtklCsC7qhGF0MkJnHSm4EN3ARhK2QqVha1QSdkKlYGdUAlbkEdjTxdhjvSIZ27ZZrVapF1oGxit07I3uwBOym+pZRDJxZglyGG8Uo+xilAOHJlPfheQKzrwWUlkQ/48+S6E+IGecUV/QGZUAnVAp0BqVBK1QabAQBXgJ8IXswwBM8sBcFOApwDE5PN42I3wvqqhCgwfRqsF/aAjwDxoK/EVDghnq+Nb3Bjn449VdSDBDcXQs64qAW9RmlGJghmITPC6qBLAvBWbocrl8oHywB3BIgqGxzf/AVzBOp3tlPKU30iDH7sOBb50u/ezUpwCHAA1VEN+agHxuCMKEvwAAAABJRU5ErkJggg==\"","export default __webpack_public_path__ + \"static/media/studentpic.99ae5a5f.png\";","import { Fragment, useState } from \"react\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport \"./login_step_one.scss\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../../../utilities/images/images\";\r\n\r\nconst LoginStepOne = (props) => {\r\n let {\r\n phoneDetails,\r\n loginCandidate,\r\n handleRedirectToStudentLogin,\r\n handleRedirectToParentLogin,\r\n submitParentMobileNumber,\r\n } = props;\r\n\r\n const [clickCount, setClickCount] = useState(0);\r\n const [showCaptcha, setShowCaptcha] = useState(false);\r\n const [captchaVerified, setCaptchaVerified] = useState(false);\r\n const siteKey = \"6Lcx-yAoAAAAAIqP73W-JK46kaKq-JGkJ533JvBA\";\r\n\r\n const handleSendOTPClick = (event) => {\r\n if (clickCount >= 4) {\r\n setShowCaptcha(true);\r\n } else {\r\n if (loginCandidate === \"student\") {\r\n props.submitMobileNumber(event);\r\n } else {\r\n submitParentMobileNumber(event);\r\n }\r\n }\r\n setClickCount(clickCount + 1);\r\n };\r\n\r\n const handleCaptchaSubmit = (event) => {\r\n event.preventDefault();\r\n if (captchaVerified) {\r\n setClickCount(0);\r\n setShowCaptcha(false);\r\n }\r\n };\r\n\r\n const handleCaptchaVerify = (response) => {\r\n if (response) {\r\n setCaptchaVerified(true); // Set to true when captcha is verified\r\n } else {\r\n setCaptchaVerified(false);\r\n }\r\n };\r\n\r\n const handleMoveToNext = (current, nextFieldId) => {\r\n // console.log(current, nextFieldId);\r\n if (\r\n current.target.value.length ===\r\n parseInt(current.target.attributes[\"maxlength\"].value)\r\n ) {\r\n document.getElementById(nextFieldId).focus();\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n {/* {loginCandidate == \"student\" ? (\r\n handleRedirectToParentLogin()}\r\n >\r\n Parent Login\r\n
\r\n ) : (\r\n handleRedirectToStudentLogin()}\r\n >\r\n Student Login\r\n
\r\n )} */}\r\n\r\n
\r\n
Log In/Sign Up as
\r\n\r\n
\r\n Please share your number for verification.\r\n
\r\n
\r\n\r\n
\r\n handleRedirectToStudentLogin()}\r\n >\r\n Student\r\n
\r\n handleRedirectToParentLogin()}\r\n >\r\n Parent\r\n
\r\n
\r\n {loginCandidate === \"student\" ? (\r\n \r\n {/*
\r\n \r\n
*/}\r\n {/*

{loginCandidate === \"student\" ? \"S\" : \"P\"}

*/}\r\n

Enter your mobile number

\r\n
\r\n \r\n handleMoveToNext(event, \"send_otp_btn\")\r\n }\r\n onChange={(event) =>\r\n props.handleChangeMobileNumber(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n \r\n
\r\n \r\n ) : (\r\n
submitParentMobileNumber(event)}>\r\n {/*
\r\n \r\n
*/}\r\n

\r\n {\" \"}\r\n {/* {loginCandidate === \"student\"\r\n ? \"S\"\r\n : \"P\"} */}\r\n

\r\n {/*

Please share your number for verification.

*/}\r\n

Enter your mobile number

\r\n\r\n
\r\n \r\n handleMoveToNext(event, \"send_otp_btn\")\r\n }\r\n onChange={(event) =>\r\n props.handleChangeMobileNumber(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n {showCaptcha && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n \r\n Send OTP\r\n \r\n
\r\n
\r\n )}\r\n {/* {loginCandidate == \"student\" && (\r\n
\r\n Not a Member? \r\n \r\n Signup\r\n \r\n
\r\n )} */}\r\n \r\n \r\n \r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LoginStepOne;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./login_step_two.scss\";\r\n\r\nimport images from \"../../../utilities/images/images\";\r\nconst LoginStepTwo = (props) => {\r\n const {\r\n handleInputOtpNumbers,\r\n handleParentResendOtp,\r\n handleSubmitOtpNumber,\r\n handlePreviousBtn,\r\n handleResendOtp,\r\n resendCooldown,\r\n isButtonDisabled,\r\n setResendCooldown,\r\n setIsButtonDisabled,\r\n } = props;\r\n\r\n useEffect(() => {\r\n if (resendCooldown > 0) {\r\n const timer = setTimeout(() => {\r\n setResendCooldown((prevCooldown) => prevCooldown - 1);\r\n }, 1000); // 1000 milliseconds = 1 second\r\n\r\n return () => clearTimeout(timer);\r\n } else {\r\n setIsButtonDisabled(false);\r\n }\r\n }, [resendCooldown]);\r\n\r\n const handleMoveToNextAndPrev = (current, nextFieldId, prevFieldId) => {\r\n // console.log(current.target, nextFieldId);\r\n if (current.keyCode === 8) {\r\n // console.log(\"backspace pressed\");\r\n if (current.target.value.length === 0) {\r\n if (prevFieldId.length > 0) {\r\n document.getElementById(prevFieldId).focus();\r\n }\r\n }\r\n } else {\r\n if (\r\n current.target.value.length ===\r\n parseInt(current.target.attributes[\"maxlength\"].value)\r\n ) {\r\n document.getElementById(nextFieldId).focus();\r\n }\r\n }\r\n };\r\n\r\n const clearOtpFields = () => {\r\n console.log(\"clearOtpFields is calling\");\r\n handleInputOtpNumbers({\r\n target: { name: \"otp_number_one\", value: \"\" },\r\n });\r\n handleInputOtpNumbers({\r\n target: { name: \"otp_number_two\", value: \"\" },\r\n });\r\n handleInputOtpNumbers({\r\n target: { name: \"otp_number_three\", value: \"\" },\r\n });\r\n handleInputOtpNumbers({\r\n target: { name: \"otp_number_four\", value: \"\" },\r\n });\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n {props.loginCandidate === \"student\" ? (\r\n
props.handleSubmitOtpNumber(event)}>\r\n
\r\n {/* props.handlePreviousBtn()}\r\n >\r\n \r\n */}\r\n
\r\n {/*
\r\n \r\n
*/}\r\n

OTP Verification

\r\n

\r\n We just sent an OTP on your registered number please check.\r\n

\r\n
\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(event, \"two_text\", \"\")\r\n }\r\n onChange={(event) =>\r\n props.handleInputOtpNumbers(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(\r\n event,\r\n \"three_text\",\r\n \"one_text\"\r\n )\r\n }\r\n onChange={(event) =>\r\n props.handleInputOtpNumbers(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(\r\n event,\r\n \"four_text\",\r\n \"two_text\"\r\n )\r\n }\r\n onChange={(event) =>\r\n props.handleInputOtpNumbers(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(\r\n event,\r\n \"submit_otp_btn\",\r\n \"three_text\"\r\n )\r\n }\r\n onChange={(event) =>\r\n props.handleInputOtpNumbers(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n props.handleResendOtp()}\r\n disabled={isButtonDisabled}\r\n >\r\n Resend OTP {resendCooldown > 0 && `${resendCooldown} sec`}\r\n \r\n
\r\n
\r\n ) : (\r\n props.handleSubmitParentOtpNumber(event)}\r\n >\r\n
\r\n props.handlePreviousBtn()}\r\n >\r\n \r\n \r\n
\r\n
\r\n \r\n
\r\n

OTP Verification

\r\n

\r\n We just sent an OTP on your registered number please check.\r\n

\r\n
\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(event, \"two_text\", \"\")\r\n }\r\n onChange={(event) =>\r\n props.handleInputOtpNumbers(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(\r\n event,\r\n \"three_text\",\r\n \"one_text\"\r\n )\r\n }\r\n onChange={(event) =>\r\n props.handleInputOtpNumbers(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(\r\n event,\r\n \"four_text\",\r\n \"two_text\"\r\n )\r\n }\r\n onChange={(event) =>\r\n props.handleInputOtpNumbers(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(\r\n event,\r\n \"submit_otp_btn\",\r\n \"three_text\"\r\n )\r\n }\r\n onChange={(event) =>\r\n props.handleInputOtpNumbers(event)\r\n }\r\n required\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n props.handleParentResendOtp()}\r\n >\r\n Resend OTP {resendCooldown > 0 && `${resendCooldown} sec`}\r\n \r\n
\r\n \r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoginStepTwo;\r\n\r\n// import { Fragment } from \"react\";\r\n// import \"./login_step_two.scss\";\r\n\r\n// import images from \"../../../utilities/images/images\";\r\n// const LoginStepTwo = (props) => {\r\n// const handleMoveToNextAndPrev = (current, nextFieldId, prevFieldId) => {\r\n// // console.log(current.target, nextFieldId);\r\n// if (current.keyCode === 8) {\r\n// // console.log(\"backspace pressed\");\r\n// if (current.target.value.length === 0) {\r\n// if (prevFieldId.length > 0) {\r\n// document.getElementById(prevFieldId).focus();\r\n// }\r\n// }\r\n// } else {\r\n// if (\r\n// current.target.value.length ===\r\n// parseInt(current.target.attributes[\"maxlength\"].value)\r\n// ) {\r\n// document.getElementById(nextFieldId).focus();\r\n// }\r\n// }\r\n// };\r\n// return (\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
props.handleSubmitOtpNumber(event)}>\r\n//
\r\n// props.handlePreviousBtn()}\r\n// >\r\n// \r\n// \r\n//
\r\n//
\r\n// \r\n//
\r\n//

OTP Verification

\r\n//

\r\n// We just sent an OTP on your registered number please check.\r\n//

\r\n//
\r\n//
\r\n//
\r\n// \r\n// handleMoveToNextAndPrev(event, \"two_text\", \"\")\r\n// }\r\n// onChange={(event) => props.handleInputOtpNumbers(event)}\r\n// required\r\n// />\r\n//
\r\n//
\r\n// \r\n// handleMoveToNextAndPrev(\r\n// event,\r\n// \"three_text\",\r\n// \"one_text\"\r\n// )\r\n// }\r\n// onChange={(event) => props.handleInputOtpNumbers(event)}\r\n// required\r\n// />\r\n//
\r\n//
\r\n// \r\n// handleMoveToNextAndPrev(\r\n// event,\r\n// \"four_text\",\r\n// \"two_text\"\r\n// )\r\n// }\r\n// onChange={(event) => props.handleInputOtpNumbers(event)}\r\n// required\r\n// />\r\n//
\r\n//
\r\n// \r\n// handleMoveToNextAndPrev(\r\n// event,\r\n// \"submit_otp_btn\",\r\n// \"three_text\"\r\n// )\r\n// }\r\n// onChange={(event) => props.handleInputOtpNumbers(event)}\r\n// required\r\n// />\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// );\r\n// };\r\n\r\n// export default LoginStepTwo;\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./signUp_step_one.scss\";\r\nimport images from \"../../../utilities/images/images\";\r\n\r\nconst SignUpStepOne = (props) => {\r\n const {\r\n userDetails,\r\n targets,\r\n handleSelectTarget,\r\n handleUserDetailsInputField,\r\n handleUserDetailsFormSubmit,\r\n userPreference,\r\n handleBack,\r\n } = props;\r\n const [innerStep, setInnerStep] = useState(1);\r\n\r\n const handleInnerStep = () => {\r\n if (userDetails.fullName === \"\") {\r\n alert(\"Empty not accepted\");\r\n return;\r\n }\r\n handleUserDetailsFormSubmit(userPreference.target_id);\r\n setInnerStep(2);\r\n };\r\n\r\n const handleBackStep = () => {\r\n if (innerStep === 1) {\r\n handleBack();\r\n } else {\r\n setInnerStep(1);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n {innerStep === 1 ? (\r\n
\r\n
\r\n Hi! What shall we call you.\r\n
\r\n \r\n
\r\n Next\r\n
\r\n
\r\n ) : (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n

Select Your Target

\r\n
\r\n
\r\n {targets?.target?.map((element) => (\r\n
\r\n \r\n handleSelectTarget(element?.target_id)\r\n }\r\n checked={\r\n element?.target_id === userPreference?.target_id\r\n }\r\n />\r\n \r\n {element.target}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SignUpStepOne;\r\n","import { Fragment } from \"react\";\r\nimport \"./signUp_step_two.scss\";\r\nimport images from \"../../../utilities/images/images\";\r\n\r\nconst SignUpStepTwo = (props) => {\r\n const {\r\n classes,\r\n userPreference,\r\n handleSelectClass,\r\n courses,\r\n handleSelectCourse,\r\n handleBack,\r\n innerStep,\r\n } = props;\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n {innerStep === 1 && (\r\n
\r\n
\r\n \r\n

Select Your Class

\r\n
\r\n
\r\n {classes?.classes?.map((element) => (\r\n
\r\n \r\n handleSelectClass(element?.class_id)\r\n }\r\n checked={\r\n element?.class_id === userPreference?.class_id\r\n }\r\n />\r\n \r\n {element.class}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n )}\r\n {innerStep === 2 && (\r\n
\r\n
\r\n \r\n

Select Course

\r\n
\r\n
\r\n {courses?.course?.map((element) => (\r\n
\r\n \r\n handleSelectCourse(element.course_id)\r\n }\r\n checked={\r\n element.course_id === userPreference.course_id\r\n }\r\n />\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default SignUpStepTwo;\r\n","// export const BASE_URL = \"http://quizmastertesting.motion.ac.in\";\r\n// export const BASE_URL =\"https://quizmastertesting.motion.ac.in/motioneducation\"; //development motion client api url\r\nexport const BASE_URL = \"https://learning.motion.ac.in/motioneducation\"; //production motion client api ur\r\n// export const BASE_URL = \"https://learninguat.motion.ac.in/motioneducation\"; // testing motion client api url\r\n// export const BASE_URL = \"http://devlearning.motion.ac.in/motioneducation\";\r\nexport const PARENT_BASE_URL = \"http://mescray001.com/Tracker/api/v1/index.php\";\r\n\r\n// export const BASE_URL = process.env.REACT_APP_BASE_URL;\r\n\r\n","import { BASE_URL } from \"./baseURL\";\r\n\r\n//////////////for local development//////////////////\r\n// export const url_1 = `/api/user/send-otp`;\r\n// export const url_2 = `/api/user/verify-otp`;\r\n// //////////////////////////////////////////\r\n// export const url_3 = `/api/user/states`;\r\n// export const url_4 = `/api/user/cities`;\r\n// export const url_5 = `/api/user/courses-and-classes`;\r\n// export const url_6 = `/api/user/signup`;\r\n// /////////////////////////////////////////\r\n// export const url_7 = `/api/user/VideoDetail`;\r\n// export const url_8 = `/api/user/get`;\r\n// export const url_9 = `/api/user/UserSubject`;\r\n// export const url_10 = `/api/user/UserSubjectTopic`;\r\n// export const url_11 = `/api/user/VideoList`;\r\n// export const url_12 = `/api/user/LiveClassesList`;\r\n// export const url_13 = `/api/user/NotesList`;\r\n// export const url_14 = `/api/user/CourseBatchTimeTableList`;\r\n// export const url_15 = `/api/user/CourseBatchTimeTableContentData`;\r\n// export const url_16 = `/api/user/PackageList`;\r\n// export const url_17 = `/api/user/PackageDetail`;\r\n\r\n// ///////////generating access token/////////////\r\n// export const url_18 = `/api/generate`;\r\n// ////////////////////////////////////////////\r\n// export const url_19 = `/api/user/SaveUserTransaction`;\r\n// export const url_20 = `/api/user/SendDouteQuestion`;\r\n// export const url_21 = `/api/user/DouteQuestionList`;\r\n// export const url_22 = `/api/user/FreeVideoList`;\r\n// export const url_23 = `/api/user/DPPList`;\r\n// export const url_24 = `/api/user/DPPQuestionList`;\r\n// export const url_25 = `/api/user/SaveUserDPPQuestion`;\r\n// export const url_26 = `/api/user/ExerciseQuestionList`;\r\n// export const url_27 = `/api/user/SaveUserExerciseQuestion`;\r\n// export const url_28 = `/api/user/TestList`;\r\n// export const url_29 = `/api/user/TestDetail`;\r\n// export const url_30 = `/api/user/TestQuestionList`;\r\n// export const url_31 = `/api/user/SaveTestQuestion`;\r\n// export const url_32 = `/api/user/UserUpdateClassCourse`;\r\n// export const url_33 = `/api/user/ExerciseList`;\r\n// export const url_34 = `/api/user/content-list`;\r\n// export const url_35 = `/api/user/faq`;\r\n// export const url_36 = `/api/user/transaction`;\r\n// export const url_37 = `/api/user/notification`;\r\n// export const url_38 = `/api/user/OverAllTestList`;\r\n// export const url_39 = `/api/user/saveBookmark`;\r\n// export const url_40 = `/api/user/fetchBookmark`;\r\n// export const url_41 = `/api/user/IndividualTestList`;\r\n// export const url_42 = `/api/user/LearnAnalysis`;\r\n// export const url_43 = `/api/user/SaveUserVideoWatchTime`;\r\n// export const url_44 = `/api/user/DifficultyLevelList`;\r\n// export const url_45 = `/api/user/CreateQuestionBank`;\r\n// export const url_46 = `/api/user/QuestionBankList`;\r\n// export const url_47 = `/api/user/DeleteQuestionBank`;\r\n// export const url_48 = `/api/user/QBankQuestionList`;\r\n// export const url_49 = `/api/user/SaveQuestionBankQuestion`;\r\n// export const url_50 = `/api/user/saveQuery`;\r\n// export const url_51 = `/api/user/lastPlayedVideo`;\r\n// export const url_52 = `/api/user/ViewReportData`;\r\n// export const url_53 = `https://tc.mogiapp.com/ott/liveStream/`;\r\n\r\n// ////////////for server//////////////////\r\n\r\nexport const url_1 = `${BASE_URL}/api/user/send-otp`;\r\n\r\nexport const url_2 = `${BASE_URL}/api/user/verify-otp`;\r\n//////////////////////////////////////////\r\n\r\nexport const url_3 = `${BASE_URL}/api/user/states`;\r\nexport const url_4 = `${BASE_URL}/api/user/cities`;\r\nexport const url_5 = `${BASE_URL}/api/v1/courses_and_classes`;\r\nexport const url_6 = `${BASE_URL}/api/user/signup`;\r\n/////////////////////////////////////////\r\nexport const url_7 = `${BASE_URL}/api/user/VideoDetail`;\r\nexport const url_8 = `${BASE_URL}/api/user/get`;\r\nexport const url_9 = `${BASE_URL}/api/user/UserSubject`;\r\nexport const url_10 = `${BASE_URL}/api/v1/UserSubjectTopic`;\r\n\r\nexport const url_11 = `${BASE_URL}/api/user/FacultyVideoListNew`;\r\nexport const url_140 = `${BASE_URL}/api/user/VideoFacultyList`;\r\n\r\nexport const url_12 = `${BASE_URL}/api/user/LiveClassesList`;\r\nexport const url_12_1 = `${BASE_URL}/api/user/ZoomWeb`;\r\nexport const url_13 = `${BASE_URL}/api/user/NotesList`;\r\nexport const url_14 = `${BASE_URL}/api/user/CourseBatchTimeTableList`;\r\nexport const url_15 = `${BASE_URL}/api/user/CourseBatchTimeTableContentData`;\r\nexport const url_15_1 = `${BASE_URL}/api/user/CourseBatchTimeTableContentDataWeb`;\r\nexport const url_16 = `${BASE_URL}/api/user/PackageList`;\r\nexport const url_17 = `${BASE_URL}/api/user/PackageDetail`;\r\n\r\n/////////generating access token/////////////\r\nexport const url_18 = `${BASE_URL}/api/generate`;\r\n/////////////////////////////////////////////\r\nexport const url_19 = `${BASE_URL}/api/user/SaveUserTransaction`;\r\nexport const url_20 = `${BASE_URL}/api/user/SendDouteQuestion`;\r\nexport const url_21 = `${BASE_URL}/api/user/DouteQuestionList`;\r\nexport const url_22 = `${BASE_URL}/api/user/FreeVideoList`;\r\n\r\nexport const url_23 = `${BASE_URL}/api/user/DPPList`;\r\n\r\nexport const url_24 = `${BASE_URL}/api/user/DPPQuestionList`;\r\n\r\nexport const url_25 = `${BASE_URL}/api/user/SaveUserDPPQuestion`;\r\n\r\nexport const url_26 = `${BASE_URL}/api/user/ExerciseQuestionList`;\r\n\r\nexport const url_27 = `${BASE_URL}/api/user/SaveUserExerciseQuestion`;\r\nexport const url_28 = `${BASE_URL}/api/user/TestList`;\r\n\r\nexport const url_29 = `${BASE_URL}/api/user/UserTestDetail`; //new\r\n\r\n//////// exams tests\r\n\r\n// to start tests\r\nexport const url_30 = `${BASE_URL}/api/user/UserTestQuestionListNew`; //new\r\nexport const url_107 = `${BASE_URL}/api/user/UserTestQuestionOnly`; //new\r\nexport const url_110 = `${BASE_URL}/api/user/OtsQuestionDetailsAll`; //new\r\nexport const url_111 = `${BASE_URL}/api/user/UserTestQuestionOnly`; //new\r\n\r\nexport const url_31 = `${BASE_URL}/api/user/UserOtsSubmit`; //new\r\nexport const url_32 = `${BASE_URL}/api/v1/update/classes_courses`;\r\nexport const url_33 = `${BASE_URL}/api/user/ExerciseList`;\r\nexport const url_34 = `${BASE_URL}/api/user/content-list`;\r\nexport const url_35 = `${BASE_URL}/api/user/faq`;\r\nexport const url_36 = `${BASE_URL}/api/user/transaction`;\r\nexport const url_37 = `${BASE_URL}/api/user/notification`;\r\nexport const url_38 = `${BASE_URL}/api/user/OverAllTestList`;\r\nexport const url_39 = `${BASE_URL}/api/user/saveBookmark`;\r\nexport const url_40 = `${BASE_URL}/api/user/fetchBookmark`;\r\nexport const url_106 = `${BASE_URL}/api/user/ExamfetchBookmark`; //tests fetch bookmark\r\n\r\nexport const url_41 = `${BASE_URL}/api/user/UserIndividualTestList`;\r\n\r\nexport const url_42 = `${BASE_URL}/api/user/LearnAnalysis`;\r\nexport const url_43 = `${BASE_URL}/api/user/SaveUserVideoWatchTime`;\r\nexport const url_44 = `${BASE_URL}/api/user/DifficultyLevelList`;\r\nexport const url_45 = `${BASE_URL}/api/user/CreateQuestionBank`;\r\nexport const url_46 = `${BASE_URL}/api/user/QuestionBankList`;\r\nexport const url_47 = `${BASE_URL}/api/user/DeleteQuestionBank`;\r\nexport const url_48 = `${BASE_URL}/api/user/QBankQuestionList`;\r\nexport const url_49 = `${BASE_URL}/api/user/SaveQuestionBankQuestion`;\r\nexport const url_50 = `${BASE_URL}/api/user/saveQuery`;\r\nexport const url_51 = `${BASE_URL}/api/user/lastPlayedVideo`;\r\nexport const url_52 = `${BASE_URL}/api/user/ViewReportData`;\r\nexport const url_53 = `https://tc.mogiapp.com/ott/liveStream/`;\r\nexport const url_54 = `${BASE_URL}/api/user/forcefully_updated`;\r\nexport const url_55 = `${BASE_URL}/api/user/Zoom_validation`;\r\nexport const url_56 = `${BASE_URL}/api/user/freeCoursesTargetBased`;\r\nexport const url_57 = `${BASE_URL}/api/user/PackageList`;\r\nexport const url_58 = `${BASE_URL}/api/user/UserSubjectTopic`;\r\nexport const url_59 = `${BASE_URL}/api/user/apply_couponweb`;\r\nexport const url_60 = `${BASE_URL}/api/user/GetUserPackages`;\r\nexport const url_61 = `${BASE_URL}/api/user/UserTestList`;\r\nexport const url_62 = `${BASE_URL}/api/user/UserOtsDetailsNew`; //new\r\nexport const url_63 = `${BASE_URL}/api/user/UserOverAllTestAnalysis`; //new\r\nexport const url_64 = `${BASE_URL}/api/user/UserOverAllSubjectList`; //new\r\nexport const url_65 = `${BASE_URL}/api/user/UserOverAllSubjectPaperList`; //new\r\nexport const url_66 = `${BASE_URL}/api/user/UserPaperSubjectAnalysis`; //new\r\nexport const url_67 = `${BASE_URL}/api/user/UserPaperSubjectAnalysis`; //new\r\nexport const url_68 = `${BASE_URL}/api/user/UserPaperTimeAnalysis`; //new\r\nexport const url_69 = `${BASE_URL}/api/user/UserPaperAnalysis`; //new\r\nexport const url_70 = `${BASE_URL}/api/user/UserPaperSubjectAnalysis`; //new\r\nexport const url_71 = `${BASE_URL}/api/user/UserPaperTopicSubjectAnalysis`; //new\r\nexport const url_72 = `${BASE_URL}/api/user/UserPaperTopicMarksAnalysis`; //new\r\nexport const url_73 = `${BASE_URL}/api/user/UserPaperAttemptAnalysis`; //new\r\nexport const url_74 = `${BASE_URL}/api/user/UserPaperDifficultyAnalysis`; //new\r\nexport const url_75 = `${BASE_URL}/api/user/UserPaperTimeAnalysis`; //new\r\n\r\nexport const url_76 = `${BASE_URL}/api/user/UserOtsCheckFormat`; //new\r\n\r\nexport const url_77 = `${BASE_URL}/api/user/savemarkforreview`; //new\r\n\r\nexport const url_78 = `${BASE_URL}/api/user/WebSliderImages`; //new\r\n\r\nexport const url_79 = `${BASE_URL}/api/user/pyqpaper`; //new\r\n\r\nexport const url_109 = `${BASE_URL}/api/ots/get/homeslidelist`; //new\r\n\r\n//pyqTest\r\nexport const url_80 = `${BASE_URL}/api/user/pyqQuestionDetailsNew`; //new\r\nexport const url_142 = `${BASE_URL}/api/user/pyqQuestionDetailsAllNew`; //new\r\n\r\nexport const url_81 = `${BASE_URL}/api/user/UserPYQSubmit`; //new\r\nexport const url_82 = `${BASE_URL}/api/user/UserPYQDetails`; //new\r\nexport const url_83 = `${BASE_URL}/api/user/UserSubjectOTS`; //new\r\nexport const url_84 = `${BASE_URL}/api/user/pyqSubjectWiseTopics`; //new\r\nexport const url_85 = `${BASE_URL}/api/user/UserPyqTopicPaperInstructions`; //new\r\n// export const url_86 = `${BASE_URL}/api/user/UserPyqTopicPaperQuestions`; //new\r\nexport const url_86 = `${BASE_URL}/api/user/UserPyqTopicPaperQuestionsData`; //new\r\nexport const url_87 = `${BASE_URL}/api/user/pyqTopicPaperDetailsNew`; //new\r\nexport const url_88 = `${BASE_URL}/api/user/SaveUserExerciseQuestion`; //new\r\nexport const url_89 = `${BASE_URL}/api/user/SaveUserExerciseQuestion`; //new\r\nexport const url_90 = `${BASE_URL}/api/user/cpsSubjectWiseTopics`; //new\r\nexport const url_91 = `${BASE_URL}/api/user/cpsTopicWiseSubTopicsNew`; //new\r\nexport const url_92 = `${BASE_URL}/api/user/FacultyInfo`; //new\r\nexport const url_93 = `${BASE_URL}/api/user/cpsPaperInstructions`; //new\r\nexport const url_94 = `${BASE_URL}/api/user/cpsQuestionDetailsBySubTopic`; //new\r\nexport const url_95 = `${BASE_URL}/api/user/UserCPSSubmit`; //new\r\nexport const url_96 = `${BASE_URL}/api/user/UserCPSDetails`; //new\r\n\r\nexport const url_97 = `${BASE_URL}/api/user/UserCPSAnalysis`; //new\r\n\r\nexport const url_98 = `${BASE_URL}/api/user/UserTestList`; //new\r\n\r\nexport const url_99 = `${BASE_URL}/api/user/GetUserProgessDetails`; //new\r\nexport const url_100 = `${BASE_URL}/api/user/UserOverAllTestAnalysis`; //new\r\n\r\nexport const url_101 = `${BASE_URL}/api/reporterror/getoptions`; // for errorData\r\n\r\nexport const url_102 = `${BASE_URL}/api/reporterror/save`; // f\r\n\r\nexport const url_105 = `${BASE_URL}/api/user/pyqYear`;\r\n\r\n// export const url_106 = `${BASE_URL}/api/ots/get/ongoing/tests`;\r\n\r\n//////////////// Exam cracker /////////////////////\r\nexport const url_112 = `${BASE_URL}/api/examcracker/get/lists`;\r\nexport const url_113 = `${BASE_URL}/api/examcracker/getusersubjects`;\r\nexport const url_114 = `${BASE_URL}/api/examcracker/gettopics`;\r\nexport const url_115 = `${BASE_URL}/api/examcracker/getquestions`;\r\nexport const url_116 = `${BASE_URL}/api/examcracker/update/userdetails`;\r\nexport const url_117 = `${BASE_URL}/api/examcracker/submit`;\r\n\r\n////////// Mock test ///////////////\r\nexport const url_146 = `${BASE_URL}/api/user/mocktest`;\r\n// ots\r\nexport const url_118 = `${BASE_URL}/api/ots/get/planner/list`;\r\nexport const url_119 = `${BASE_URL}/api/ots/get/planner`;\r\n\r\nexport const url_120 = `${BASE_URL}/api/ots/get/freepaidspt/tests`;\r\n\r\nexport const url_121 = `${BASE_URL}/api/ots/get/instruction`;\r\n\r\nexport const url_122 = `${BASE_URL}/api/ots/get/test/syllabus`;\r\n\r\nexport const url_123 = `${BASE_URL}/api/ots/get/question/new_view`;\r\n\r\nexport const url_124 = `${BASE_URL}/api/ots/get/question/new_option`;\r\nexport const url_125 = `${BASE_URL}/api/ots/solution/saveduplicate`;\r\nexport const url_126 = `${BASE_URL}/api/ots/user/final/submitoptimized`;\r\n\r\nexport const url_127 = `${BASE_URL}/api/ots/get/planner/overview`;\r\n\r\n// ots analytics\r\nexport const url_128 = `${BASE_URL}/api/ots/get/analytics`;\r\n\r\nexport const url_129 = `${BASE_URL}/api/ots/get/user/otspaper/analysis`;\r\n\r\nexport const url_130 = `${BASE_URL}/api/ots/get/user/otspaper/subjectanalysis`;\r\n\r\nexport const url_131 = `${BASE_URL}/api/ots/get/user/otspaper/attempt/analysis`;\r\n\r\nexport const url_132 = `${BASE_URL}/api/ots/get/user/ots/subjectlist`;\r\n\r\nexport const url_133 = `${BASE_URL}/api/ots/get/user/otspaper/difficulty/analysis`;\r\n\r\nexport const url_134 = `${BASE_URL}/api/ots/get/user/otspaper/time/analysis`;\r\n\r\nexport const url_135 = `${BASE_URL}/api/ots/get/otsquestionlistsolutionduplicate`;\r\n\r\nexport const url_136 = `${BASE_URL}/api/ots/get/otssolutionduplicate`;\r\n\r\nexport const url_137 = `${BASE_URL}/api/ots/get/user/otspapertopic/marksanalysis`;\r\n\r\nexport const url_138 = `${BASE_URL}/api/ots/get/otstermsandcondition`;\r\n\r\nexport const url_139 = `${BASE_URL}/api/ots/get/otsrankpredictor`;\r\n\r\nexport const url_141 = `${BASE_URL}/api/user/UserOverAllSubjectTypeAnalysis`;\r\n\r\nexport const url_143 = `${BASE_URL}/api/user/UserPYQAnalysis`; //new\r\n\r\nexport const url_144 = `${BASE_URL}/api/ots/get/user/ots/newanalytics`; //new\r\n\r\nexport const url_145 = `${BASE_URL}/api/user/Bitsat`;\r\n\r\nexport const url_147 = `${BASE_URL}/api/user/get/cca/configweb`;\r\n\r\nexport const url_148 = `${BASE_URL}/api/user/get/cca/response`;\r\n\r\nexport const url_149 = `${BASE_URL}/api/user/UserQuestionBankList`;\r\n\r\nexport const url_150 = `${BASE_URL}/api/user/UserQBankQuestionCreate`;\r\n\r\nexport const url_151 = `${BASE_URL}/api/user/UserSubject`;\r\n\r\nexport const url_152 = `${BASE_URL}/api/user/UserSubjectTopic`;\r\n\r\nexport const url_209 = `${BASE_URL}/api/user/userotsnewanalytics`;\r\n\r\n// question - bank\r\n\r\nexport const url_153 = `${BASE_URL}/api/user/UserQBankQuestionInstructions`;\r\n\r\nexport const url_154 = `${BASE_URL}/api/user/UserQBankQuestionData`;\r\n\r\nexport const url_155 = `${BASE_URL}/api/user/UserQBankQuestionDetails`;\r\n\r\nexport const url_156 = `${BASE_URL}/api/user/UserQBankSubmit`;\r\n\r\nexport const url_157 = `${BASE_URL}/api/user/UserQBankSolutions`;\r\n\r\n// store> handbooks Apis //\r\nexport const url_158 = `${BASE_URL}/api/user/Producttype`;\r\nexport const url_159 = `${BASE_URL}/api/user/Productlist`;\r\nexport const url_160 = `${BASE_URL}/api/user/Productaddcart`;\r\nexport const url_161 = `${BASE_URL}/api/user/UpdateWishlist`;\r\nexport const url_162 = `${BASE_URL}/api/user/Cartdetails`;\r\nexport const url_163 = `${BASE_URL}/api/user/RemoveCartProduct`;\r\nexport const url_164 = `${BASE_URL}/api/user/UserWishlist`;\r\nexport const url_165 = `${BASE_URL}/api/user/HandbookUserAddress`;\r\nexport const url_166 = `${BASE_URL}/api/user/HandbookSaveUserAddress`;\r\nexport const url_167 = `${BASE_URL}/api/user/HandbookCoupon`;\r\nexport const url_168 = `${BASE_URL}/api/user/HandbookPaymentPage`;\r\nexport const url_169 = `${BASE_URL}/api/user/HandbookTransaction`;\r\nexport const url_170 = `${BASE_URL}/api/user/UpdateCartProduct`;\r\nexport const url_180 = `${BASE_URL}/api/validationreferralcode`;\r\nexport const url_181 = `${BASE_URL}/api/settings/whatsapp/template`;\r\n\r\n//// ots delete data API\r\nexport const url_171 = `${BASE_URL}/api/ots/user/deletedata`;\r\n\r\nexport const url_172 = `${BASE_URL}/api/feedback_popup`;\r\nexport const url_173 = `${BASE_URL}/api/add_faculty_feedback_reports`;\r\n\r\n// ots delete data API for start Test\r\n\r\nexport const url_178 = `${BASE_URL}/api/ots/get/deletedata`;\r\n\r\nexport const url_179 = `${BASE_URL}/api/ots/get/user/analysis`;\r\n\r\n// Coins API\r\nexport const url_174 = `${BASE_URL}/api/wallet/update/usercoin/add`;\r\nexport const url_175 = `${BASE_URL}/api/wallet/get/coin/settings`;\r\nexport const url_176 = `${BASE_URL}/api/v1/coin/transcation`;\r\nexport const url_177 = `${BASE_URL}/api/wallet/apply/user/coins/cartweb`;\r\n\r\n// refund API\r\n\r\nexport const url_182 = `${BASE_URL}/api/getrefundparent`;\r\nexport const url_183 = `${BASE_URL}/api/getuserrefundsubmit`;\r\n\r\n// refer & Earn\r\nexport const url_184 = `${BASE_URL}/api/get/referralcode`;\r\nexport const url_185 = `${BASE_URL}/api/get/referrallist`;\r\nexport const url_186 = `${BASE_URL}/api/settings/whatsapp/template`;\r\n\r\n// email update - when payment\r\nexport const url_187 = `${BASE_URL}/api/user/Upadte_email`;\r\n\r\n// exams module - new api's(existing is there)\r\n\r\nexport const url_188 = `${BASE_URL}/api/user/examallquestion`;\r\nexport const url_189 = `${BASE_URL}/api/user/examsinglequestion`;\r\nexport const url_190 = `${BASE_URL}/api/user/examsinglesave`;\r\nexport const url_191 = `${BASE_URL}/api/user/examsubmit`;\r\nexport const url_192 = `${BASE_URL}/api/user/examanalyticssave`;\r\nexport const url_193 = `${BASE_URL}/api/user/examallquestionsolutionlist`;\r\nexport const url_194 = `${BASE_URL}/api/user/examsolution`;\r\nexport const url_195 = `${BASE_URL}/api/user/examsummary`;\r\n\r\nexport const url_198 = `${BASE_URL}/api/getrollvalidate`;\r\nexport const url_199 = `${BASE_URL}/api/getparentlisting`;\r\nexport const url_200 = `${BASE_URL}/api/getsupportlisting`;\r\nexport const url_201 = `${BASE_URL}/api/getusersupportsubmit`;\r\n\r\n// exam - new api - delete test\r\nexport const url_202 = `${BASE_URL}/api/user/delete_all_data`;\r\n\r\n//exam-cracker\r\n\r\nexport const url_203 = `${BASE_URL}/api/examcracker/getexamcrackerquestions`;\r\n\r\nexport const url_204 = `${BASE_URL}/api/user/get/get_final_amount`;\r\n\r\n//pyq-daily-challenge\r\nexport const url_205 = `${BASE_URL}/api/user/pyq_challenge_schedule`;\r\nexport const url_206 = `${BASE_URL}/api/user/pyq_challenge_subject_syllabus`;\r\nexport const url_207 = `${BASE_URL}/api/user/pyq_challenge_insrtuctions`;\r\nexport const url_208 = `${BASE_URL}/api/user/pyq_challenge_UserDetails`;\r\n\r\nexport const url_210 = `${BASE_URL}/api/ots/get/saveregistration`;\r\n\r\n// send sms to student to fill detais ( profile)\r\n\r\nexport const url_211 = \"https://mis.mescray001.com/Tracker/api/v1/index.php\";\r\n\r\nexport const url_212 = `${BASE_URL}/api/user/pyqsinglequestion`;\r\n\r\n//common banner for attempts left\r\nexport const url_213 = `${BASE_URL}/api/v1/subjectlist`;\r\n\r\n// recorded live sessions\r\nexport const url_214 = `${BASE_URL}/api/v1/get/live/videos`;\r\n\r\n// stream recorded live sessions\r\nexport const url_215 = `${BASE_URL}/api/v1/streamos`;\r\n\r\n// livestream user count\r\nexport const url_216 = `${BASE_URL}/api/v1/live/viewers`;\r\n\r\n// store list new\r\nexport const url_217 = `${BASE_URL}/api/v1/product/list`;\r\n\r\n// package offering details new\r\nexport const url_218 = `${BASE_URL}/api/v1/product/details`;\r\n\r\n// coupon list\r\nexport const url_219 = `${BASE_URL}/api/v1/coupon/list`;\r\n\r\n// video listing tabs\r\nexport const url_220 = `${BASE_URL}/api/v1/study_material_list`;\r\nexport const url_221 = `${BASE_URL}/api/v1/Save_rate_comments`;\r\nexport const url_222 = `${BASE_URL}/api/v1/ratelist`;\r\nexport const url_223 = `${BASE_URL}/api/v1/Save_videolike`;\r\nexport const url_224 = `${BASE_URL}/api/v1/timeline`;\r\nexport const url_225 = `${BASE_URL}/api/v1/mynoteslist`;\r\nexport const url_226 = `${BASE_URL}/api/v1/save_mynotes`;\r\nexport const url_227 = `${BASE_URL}/api/v1/edit_mynotes`;\r\nexport const url_228 = `${BASE_URL}/api/v1/delete_mynotes`;\r\nexport const url_229 = `${BASE_URL}/api/v1/save_video_report`;\r\n\r\n// homescreen doubts modal\r\nexport const url_230 = `https://mis.mescray001.com/Tracker/api/v1/index.php`;\r\n\r\n// attendance page\r\nexport const url_231 = `http://mescray001.com/Tracker/api/v1/index.php`;\r\n\r\n// new design landing page\r\n\r\nexport const url_232 = `${BASE_URL}/api/v1/get_target_details`;\r\nexport const url_233 = `${BASE_URL}/api/v1/get_course_details`;\r\nexport const url_234 = `${BASE_URL}/api/v1/get_testimonials_details`;\r\n\r\nexport const url_235 = `${BASE_URL}/api/v1/get_motionnews_details`;\r\n\r\n\r\n\r\n// new refer and earn\r\n\r\nexport const url_236 = `${BASE_URL}/api/v1/get/referral/data`;\r\n\r\nexport const url_237 = `${BASE_URL}/api/v1/referral/cashreward/list`;\r\n\r\nexport const url_238 = `${BASE_URL}/api/v1/referral/update/accdata`;\r\n\r\nexport const url_239 = `${BASE_URL}/api/v1/referral/redeem`;\r\n\r\nexport const url_240 = `${BASE_URL}/api/v1/referral/cancel`;\r\n\r\nexport const url_241 = `${BASE_URL}/api/v1/referral/animation`;\r\n\r\nexport const url_242 = `${BASE_URL}/api/v1/SaveUserVideoWatchTime`;\r\n\r\n","// import firebase from \"firebase/app\";\r\n// import \"firebase/messaging\";\r\n\r\n// // For Firebase JS SDK v7.20.0 and later, measurementId is optional\r\n// const firebaseConfig = {\r\n// apiKey: \"AIzaSyCtfAms4B6vHtMqxlN6m3PGYEMFPDfPmUE\",\r\n// authDomain: \"motion-d4e51.firebaseapp.com\",\r\n// projectId: \"motion-d4e51\",\r\n// storageBucket: \"motion-d4e51.appspot.com\",\r\n// messagingSenderId: \"952067818762\",\r\n// appId: \"1:952067818762:web:af332a108d71cd71f366f3\",\r\n// measurementId: \"G-4C4KS5D4S0\",\r\n// };\r\n\r\n// firebase.initializeApp(firebaseConfig);\r\n\r\n// export default firebase;\r\n\r\n\r\n// import firebase from \"firebase/app\";\r\n// import \"firebase/messaging\";\r\n\r\n// // For Firebase JS SDK v7.20.0 and later, measurementId is optional\r\n// const firebaseConfig = {\r\n// apiKey: \"AIzaSyCtfAms4B6vHtMqxlN6m3PGYEMFPDfPmUE\",\r\n// authDomain: \"motion-d4e51.firebaseapp.com\",\r\n// projectId: \"motion-d4e51\",\r\n// storageBucket: \"motion-d4e51.appspot.com\",\r\n// messagingSenderId: \"952067818762\",\r\n// appId: \"1:952067818762:web:af332a108d71cd71f366f3\",\r\n// measurementId: \"G-4C4KS5D4S0\",\r\n// };\r\n\r\n// firebase.initializeApp(firebaseConfig);\r\n\r\n// export default firebase;\r\n\r\n\r\n\r\n// Import the functions you need from the SDKs you need\r\nimport firebase from \"firebase/app\";\r\nimport \"firebase/analytics\";\r\n\r\nimport \"firebase/messaging\";\r\nimport { getAnalytics } from 'firebase/analytics';\r\n\r\n\r\n\r\n\r\n// TODO: Add SDKs for Firebase products that you want to use\r\n// https://firebase.google.com/docs/web/setup#available-libraries\r\n\r\n// Your web app's Firebase configuration\r\n// For Firebase JS SDK v7.20.0 and later, measurementId is optional\r\nconst firebaseConfig = {\r\n apiKey: \"AIzaSyAcpbyhqxwd2qwu0ZASHu9rdDeKptCjzr0\",\r\n authDomain: \"motion-web-99974.firebaseapp.com\",\r\n projectId: \"motion-web-99974\",\r\n storageBucket: \"motion-web-99974.appspot.com\",\r\n messagingSenderId: \"862110803396\",\r\n appId: \"1:862110803396:web:c240f4669b014ee2487091\",\r\n measurementId: \"G-S420HTJTPR\"\r\n};\r\n\r\n// Initialize Firebase\r\nconst app = firebase.initializeApp(firebaseConfig);\r\nconst analytics = firebase.analytics();\r\n\r\nexport default firebase;","export const START_LOADING = \"START_LOADING\";\r\nexport const FINISH_LOADING = \"FINISH_LOADING\";\r\nexport const REMOVE_ANIMATION = \"REMOVE_ANIMATION\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst startLoading = () => {\r\n return { type: actionTypes.START_LOADING };\r\n};\r\n\r\nconst finishLoading = () => {\r\n return { type: actionTypes.FINISH_LOADING };\r\n};\r\n\r\nconst removeAnimation = () => {\r\n return { type: actionTypes.REMOVE_ANIMATION };\r\n};\r\n\r\nexport default {\r\n startLoading,\r\n finishLoading,\r\n removeAnimation,\r\n};\r\n","export const INPUT_CONTACT_NUMBER = \"INPUT_CONTACT_NUMBER\";\r\nexport const SET_AUTH_TOKEN = \"SET_AUTH_TOKEN\";\r\nexport const SET_USER = \"SET_USER\";\r\nexport const SET_AUTH = \"SET_AUTH\";\r\nexport const SET_REDIRECT_URL = \"SET_REDIRECT_URL\";\r\nexport const LOGOUT_USER = \"LOGOUT_USER\";\r\nexport const SET_PAID_COURSE_PACKAGES = \"SET_PAID_COURSE_PACKAGES\";\r\nexport const SET_FREE_COURSE_PACKAGES = \"SET_FREE_COURSE_PACKAGES\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst inputContactNumber = (payload) => {\r\n return {\r\n type: actionTypes.INPUT_CONTACT_NUMBER,\r\n payload,\r\n };\r\n};\r\n\r\nconst setAuthToken = (payload) => {\r\n return {\r\n type: actionTypes.SET_AUTH_TOKEN,\r\n payload,\r\n };\r\n};\r\n\r\nconst setUser = (payload) => {\r\n return {\r\n type: actionTypes.SET_USER,\r\n payload,\r\n };\r\n};\r\n\r\nconst setAuth = (payload) => {\r\n return {\r\n type: actionTypes.SET_AUTH,\r\n payload,\r\n };\r\n};\r\n\r\nconst setRedirectUrl = (payload) => {\r\n return {\r\n type: actionTypes.SET_REDIRECT_URL,\r\n payload,\r\n };\r\n};\r\n\r\nconst logoutUser = () => {\r\n return {\r\n type: actionTypes.LOGOUT_USER,\r\n };\r\n};\r\nconst setPaidCoursePackages = (payload) => {\r\n return {\r\n type: actionTypes.SET_PAID_COURSE_PACKAGES,\r\n payload,\r\n };\r\n};\r\n\r\nconst setFreeCoursePackages = (payload) => {\r\n return {\r\n type: actionTypes.SET_FREE_COURSE_PACKAGES,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n inputContactNumber,\r\n setAuthToken,\r\n setUser,\r\n setAuth,\r\n setRedirectUrl,\r\n logoutUser,\r\n setPaidCoursePackages,\r\n setFreeCoursePackages,\r\n};\r\n","export const SET_USER_PREFERENCE = \"SET_USER_PREFERENCE\";\r\nexport const REMOVE_PREFERENCE_DATA = \"REMOVE_PREFERENCE_DATA\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setUserPreference = (payload) => {\r\n return {\r\n type: actionTypes.SET_USER_PREFERENCE,\r\n payload,\r\n };\r\n};\r\n\r\nconst removePreferenceData = () => {\r\n return { type: actionTypes.REMOVE_PREFERENCE_DATA };\r\n};\r\nexport default {\r\n setUserPreference,\r\n removePreferenceData,\r\n};\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport SignUpStepOne from \"./signUp_step_one/signUp_step_one\";\r\nimport SignUpStepTwo from \"./signUp_step_two/signUp_step_two\";\r\nimport LoaderPopUp from \"../../components/loader/loader\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../custom_utilities/custom_useful_functions\";\r\nimport { url_5, url_6 } from \"../../custom_utilities/api_services\";\r\nimport { Analytics } from \"aws-amplify\";\r\nimport firebase from \"../../firebase\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../redux/ui/action\";\r\nimport authActions from \"../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../redux/user_preference/action\";\r\n\r\nconst SignUp = (props) => {\r\n const [state, setState] = useState({\r\n step: 1,\r\n innerStep: 1,\r\n userDetails: {\r\n fullName: \"\",\r\n },\r\n userPreference: {\r\n target_id: \"\",\r\n class_id: \"\",\r\n course_id: \"\",\r\n batch_id: \"\",\r\n },\r\n classes: {},\r\n courses: {},\r\n targets: {},\r\n batches: {},\r\n firebaseToken: \"\",\r\n loginType: \"Web\",\r\n });\r\n\r\n let {\r\n loader,\r\n auth,\r\n startLoading,\r\n finishLoading,\r\n setUser,\r\n setAuth,\r\n setUserPreference,\r\n } = props;\r\n\r\n useEffect(() => {\r\n getFirebaseDeviceToken();\r\n getTargets();\r\n }, []);\r\n\r\n const getFirebaseDeviceToken = () => {\r\n if (firebase.messaging.isSupported()) {\r\n const messaging = firebase.messaging();\r\n messaging\r\n .getToken()\r\n .then((token) => {\r\n setState((prevState) => ({ ...prevState, firebaseToken: token }));\r\n })\r\n .catch(() => {});\r\n }\r\n };\r\n\r\n const getTargets = async () => {\r\n try {\r\n const response = await axios.get(url_5);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n targets: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleBack = () => {\r\n if (state.step === 2) {\r\n if (state.innerStep === 2) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n innerStep: 1,\r\n }));\r\n } else if (state.innerStep === 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 1,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: \"\",\r\n },\r\n }));\r\n }\r\n } else if (state.step === 1) {\r\n }\r\n };\r\n\r\n const handleUserDetailsInputField = (event) => {\r\n const { name, value } = event.target;\r\n if (name === \"fullName\") {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n fullName: value,\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const handleUserDetailsFormSubmit = (targetId) => {\r\n const { fullName } = state.userDetails;\r\n if (fullName && targetId) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: targetId,\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const handleSelectTarget = (targetId) => {\r\n const targets = { ...state.targets };\r\n const classes = targets.target.find(\r\n (element) => element.target_id === targetId\r\n );\r\n if (!isEmpty(classes)) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n classes: classes,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: targetId,\r\n class_id: \"\",\r\n },\r\n step: 2,\r\n innerStep: 1,\r\n }));\r\n }\r\n handleUserDetailsFormSubmit(targetId);\r\n };\r\n\r\n const handleSelectClass = (classId) => {\r\n const courses = state?.classes?.classes.find(\r\n (element) => element.class_id === classId\r\n );\r\n if (!isEmpty(courses)) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n courses: courses,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n class_id: classId,\r\n },\r\n innerStep: 2, // Go to next inner step\r\n }));\r\n }\r\n };\r\n\r\n const handleSelectCourse = (courseId) => {\r\n const batches = state?.courses?.course.find(\r\n (element) => element.course_id === courseId\r\n );\r\n if (!isEmpty(batches.batch)) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n batches: batches,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n course_id: courseId,\r\n batch_id: batches.batch[0].batch_id,\r\n },\r\n }));\r\n handleUserPreferenceFormSubmit(batches.batch[0].batch_id, courseId);\r\n } else {\r\n alert(\"Batch is not available now, Please come back later\");\r\n }\r\n };\r\n\r\n const handleUserPreferenceFormSubmit = async (batchId, courseId) => {\r\n const { userDetails, userPreference, firebaseToken, loginType } = state;\r\n if (window.navigator.onLine) {\r\n if (\r\n userDetails.fullName &&\r\n userPreference.class_id &&\r\n userPreference.target_id\r\n ) {\r\n startLoading();\r\n const formData = {\r\n name: userDetails.fullName,\r\n user_target_id: userPreference.target_id,\r\n class_id: userPreference.class_id,\r\n batch_id: batchId,\r\n firebaseToken: firebaseToken,\r\n target_ids: [courseId],\r\n loginType: loginType,\r\n };\r\n const returnedResponse = await signUpApi(formData, auth);\r\n if (returnedResponse.result === 1) {\r\n finishLoading();\r\n setAuth(true);\r\n setUser(returnedResponse.data.apiData);\r\n setUserPreference({\r\n targetDetails: returnedResponse.data.apiData.UsertargetDetail,\r\n classDetails: {\r\n class_id: returnedResponse.data.apiData.class_id,\r\n class: returnedResponse.data.apiData.class,\r\n },\r\n courseDetails: returnedResponse.data.apiData.targets,\r\n batchDetails: {\r\n batch_id: returnedResponse.data.apiData.batch_id,\r\n batch: returnedResponse.data.apiData.batch,\r\n },\r\n });\r\n Analytics.record({ name: \"_userauth.sign_up\" });\r\n props.history.push({\r\n pathname: \"/user_dashboard\",\r\n state: { reg_mcoin: returnedResponse.data.apiData.reg_mcoin },\r\n });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Please fill in the name and select a class\");\r\n }\r\n } else {\r\n alert(\"Please check your internet connection\");\r\n }\r\n };\r\n\r\n const signUpApi = async (formData, auth) => {\r\n try {\r\n const headers = {\r\n Authorization: `${auth.tokenType} ${auth.authToken}`,\r\n };\r\n const response = await axios.post(url_6, formData, { headers });\r\n if (response.status === 200) {\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else {\r\n return { result: 0, data: { message: response.data.message } };\r\n }\r\n } else {\r\n return { result: 0, data: { message: \"Something went wrong!!!\" } };\r\n }\r\n } catch (error) {\r\n return { result: 0, data: { message: error.response.statusText } };\r\n }\r\n };\r\n\r\n const renderView = () => {\r\n const { step, innerStep } = state;\r\n if (step === 1) {\r\n return (\r\n \r\n );\r\n } else if (step === 2) {\r\n return (\r\n \r\n );\r\n }\r\n };\r\n\r\n return {loader ? : renderView()};\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n loader: state.ui.loader,\r\n auth: state.auth,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n startLoading: () => dispatch(uiActions.startLoading()),\r\n finishLoading: () => dispatch(uiActions.finishLoading()),\r\n setUser: (payload) => dispatch(authActions.setUser(payload)),\r\n setAuth: (payload) => dispatch(authActions.setAuth(payload)),\r\n setUserPreference: (payload) =>\r\n dispatch(userPreferenceActions.setUserPreference(payload)),\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SignUp);\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialState = {\r\n loginCandidate: \"student\",\r\n};\r\n\r\nconst LoginSlice = createSlice({\r\n name: \"login\",\r\n initialState,\r\n reducers: {\r\n setLoginCandidate: (state, action) => {\r\n state.loginCandidate = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const { setLoginCandidate } =\r\n LoginSlice.actions;\r\n\r\nexport default LoginSlice.reducer;\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst BlockUserSlice = createSlice({\r\n name: \"blocked\",\r\n initialState: {\r\n isBlocked: false,\r\n remark: null,\r\n },\r\n reducers: {\r\n setBlockedStatus: (state, action) => {\r\n state.isBlocked = action.payload.isBlocked;\r\n state.remark = action.payload.remark;\r\n },\r\n },\r\n});\r\n\r\nexport const { setBlockedStatus } = BlockUserSlice.actions;\r\nexport default BlockUserSlice.reducer;\r\n","export const SET_STORE_CART_DETAILS_DATA = \"SET_STORE_CART_DETAILS_DATA\";\r\nexport const SET_PRODUCT_LIST = \"SET_PRODUCT_LIST\";\r\nexport const SET_WISH_LIST = \"SET_WISH_LIST\";\r\nexport const SET_LOGIN_TYPE = \"SET_LOGIN_TYPE\";","import * as actionTypes from \"./action_types\";\r\n\r\nconst setStoreCartDetailsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_STORE_CART_DETAILS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setProductList = (payload) => {\r\n return {\r\n type: actionTypes.SET_PRODUCT_LIST,\r\n payload,\r\n };\r\n};\r\n\r\nconst setWishList = (payload) => {\r\n return {\r\n type: actionTypes.SET_WISH_LIST,\r\n payload,\r\n };\r\n};\r\n\r\nconst setLoginType = (payload) => {\r\n return {\r\n type: actionTypes.SET_LOGIN_TYPE,\r\n payload,\r\n };\r\n};\r\n\r\n\r\nexport default {\r\n setStoreCartDetailsData,\r\n setProductList,\r\n setWishList,\r\n setLoginType,\r\n};\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialState = {\r\n parentUser: {},\r\n studentProfileDetails: {},\r\n userId: \"\",\r\n mobile_number: \"\",\r\n // isParentAuthenticated: false,\r\n user: {},\r\n redirectDestination: \"/\",\r\n loginFromParent: false,\r\n parentTarget: \"\",\r\n};\r\n\r\nconst parentAuthSlice = createSlice({\r\n name: \"parentAuth\",\r\n initialState,\r\n reducers: {\r\n inputParentContactNumber: (state, action) => {\r\n state.mobile_number = action.payload;\r\n },\r\n setParentUser: (state, action) => {\r\n state.user = action.payload;\r\n },\r\n // setParentAuth: (state, action) => {\r\n // state.isParentAuthenticated = action.payload;\r\n // },\r\n setParentRedirectUrl: (state, action) => {\r\n state.redirectDestination = action.payload.path;\r\n },\r\n logoutParentUser: (state) => {\r\n // localStorage.removeItem(\"persist:motion\");\r\n state.mobile_number = \"\";\r\n // state.authToken = \"\";\r\n // state.tokenType = \"\";\r\n state.user = {};\r\n state.redirectDestination = \"/\";\r\n state.studentProfileDetails = {};\r\n state.userId = \"\";\r\n\r\n return state; // Return the updated state\r\n },\r\n setUserId: (state, action) => {\r\n state.userId = action.payload;\r\n },\r\n setStudentProfileDetails: (state, action) => {\r\n state.studentProfileDetails = action.payload;\r\n },\r\n setLoginFromParentFlag: (state, action) => {\r\n state.loginFromParent = action.payload;\r\n },\r\n setParentTarget: (state, action) => {\r\n state.parentTarget = action.payload;\r\n },\r\n },\r\n});\r\nexport const {\r\n inputParentContactNumber,\r\n setParentUser,\r\n setParentAuth,\r\n setParentRedirectUrl,\r\n logoutParentUser,\r\n setUserId,\r\n setStudentProfileDetails,\r\n setLoginFromParentFlag,\r\n setParentTarget,\r\n} = parentAuthSlice.actions;\r\n\r\nexport default parentAuthSlice.reducer;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\n\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport LoginStepOne from \"./login_step_one/login_step_one\";\r\nimport LoginStepTwo from \"./login_step_two/login_step_two\";\r\nimport LoaderPopUp from \"../../components/loader/loader\";\r\nimport Signup from \"../signUp/signUp\";\r\n\r\nimport axios from \"axios\";\r\nimport { url_1, url_2 } from \"../../custom_utilities/api_services\";\r\n\r\n/////firebase\r\nimport firebase from \"../../firebase\";\r\n\r\nimport { Analytics } from \"aws-amplify\";\r\n\r\n/////Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../redux/ui/action\";\r\nimport authActions from \"../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../redux/user_preference/action\";\r\nimport { setLoginCandidate } from \"../../redux/login/LoginSlice\";\r\nimport { setBlockedStatus } from \"../../redux/blocking_user/BlockUserSlice\";\r\n// import userProductList from \"../../redux/new_store/action\";\r\nimport userProductList from \"../../redux/new_store/action\";\r\n\r\n// parent Redux\r\n\r\n// import parentAuthActions from \"../../parent/redux/auth/action\";\r\nimport {\r\n inputParentContactNumber,\r\n setParentUser,\r\n setParentAuth,\r\n setLoginFromParentFlag,\r\n} from \"../../parent/redux/authSlice/AuthSlice\";\r\n\r\nconst Login = (props) => {\r\n const history = useHistory();\r\n const [state, setState] = useState({\r\n step: 1,\r\n phoneDetails: { mobile_number: \"\" },\r\n otpNumbersCollection: {\r\n otp_number_one: \"\",\r\n otp_number_two: \"\",\r\n otp_number_three: \"\",\r\n otp_number_four: \"\",\r\n },\r\n firebaseToken: \"\",\r\n loginType: \"Web\",\r\n });\r\n\r\n const [lat, setLat] = useState(null);\r\n const [lng, setLng] = useState(null);\r\n\r\n const [resendCooldown, setResendCooldown] = useState(30);\r\n const [isButtonDisabled, setIsButtonDisabled] = useState(true);\r\n const [isLogin, setIsLogin] = useState(1);\r\n const [signUpSteps, setSignupSteps] = useState(1);\r\n\r\n let {\r\n loader,\r\n startLoading,\r\n finishLoading,\r\n setContactNumber,\r\n setAuthToken,\r\n setUser,\r\n setAuth,\r\n setUserPreference,\r\n setParentContactNumber,\r\n setParentUser,\r\n setParentAuth,\r\n setLoginFromParentFlag,\r\n loginCandidate,\r\n setLoginCandidate,\r\n setLoginType,\r\n } = props;\r\n\r\n useEffect(() => {\r\n getFirebaseDeviceToken();\r\n props.setBlockedStatusAction({\r\n isBlocked: false,\r\n remark: null,\r\n });\r\n }, []);\r\n\r\n const getLocation = () => {\r\n if (!navigator.geolocation) {\r\n } else {\r\n navigator.geolocation.getCurrentPosition((position) => {\r\n setLat(position.coords.latitude);\r\n setLng(position.coords.longitude);\r\n });\r\n }\r\n };\r\n const getFirebaseDeviceToken = () => {\r\n if (firebase.messaging.isSupported()) {\r\n const messaging = firebase.messaging();\r\n messaging\r\n .getToken()\r\n .then((token) => {\r\n // console.log(\"Permitted\");\r\n setState((prevState) => ({ ...prevState, firebaseToken: token }));\r\n })\r\n .catch(() => {\r\n // console.log(\"Not Permitted\");\r\n });\r\n }\r\n };\r\n\r\n const handleRedirectToStudentLogin = () => {\r\n setLoginCandidate(\"student\");\r\n history.push(\"/\");\r\n };\r\n\r\n const handleRedirectToParentLogin = () => {\r\n setLoginCandidate(\"parent\");\r\n // history.push(\"/parent-login\");\r\n };\r\n\r\n const handleNextBtn = () => {\r\n let step = state.step;\r\n setState((prevState) => ({ ...prevState, step: step + 1 }));\r\n };\r\n\r\n const handlePreviousBtn = () => {\r\n let step = state.step;\r\n setState((prevState) => ({ ...prevState, step: step - 1 }));\r\n };\r\n\r\n ////////////////////step_1////////////////////////\r\n // const handleChangeMobileNumber = (event) => {\r\n // let { value } = event.target;\r\n // setState((prevState) => ({\r\n // ...prevState,\r\n // phoneDetails: { ...prevState.phoneDetails, mobile_number: value },\r\n // }));\r\n // };\r\n\r\n const handleChangeMobileNumber = (event) => {\r\n let value = event.target.value;\r\n\r\n // Check if the input matches the Indian mobile number pattern\r\n if (/^[6-9]\\d{0,9}$/.test(value) || value === \"\") {\r\n setState((prevState) => ({\r\n ...prevState,\r\n phoneDetails: { ...prevState.phoneDetails, mobile_number: value },\r\n }));\r\n } else {\r\n alert(\"Please Enter a Valid Mobile Number\");\r\n }\r\n };\r\n\r\n const setMobileNumberInStorage = (phoneDetails) => {\r\n setContactNumber(phoneDetails.mobile_number);\r\n // localStorage.setItem(\"phoneDetails\", JSON.stringify(phoneDetails));\r\n };\r\n\r\n const setParentMobileNumberInStorage = (phoneDetails) => {\r\n setParentContactNumber(phoneDetails.mobile_number);\r\n // localStorage.setItem(\"phoneDetails\", JSON.stringify(phoneDetails));\r\n };\r\n\r\n const sendOtpApi = async (mobile_number) => {\r\n try {\r\n let data = { mobile_number: mobile_number };\r\n\r\n const response = await axios.post(url_1, data);\r\n\r\n if (response.status === 200) {\r\n if (response.status === 200) {\r\n return {\r\n result: 1,\r\n data: { message: response.data.message },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: { message: response.data.message },\r\n };\r\n }\r\n } else {\r\n return {\r\n result: 0,\r\n data: { message: \"Something went wrong!!!\" },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error.response);\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n\r\n const sendParentOtpApi = async (mobile_number) => {\r\n const data = {\r\n method_name: \"get_login_step_1\",\r\n f_mobile_no: mobile_number,\r\n // f_mobile_no: \"8958667311\",\r\n\r\n var_otp: \"\",\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/parentotp\",\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: { message: response.data.message },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: { message: response.data.message },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error.response);\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n\r\n const submitMobileNumber = async (event, loginCandidate) => {\r\n event.preventDefault();\r\n let phoneDetails = { ...state.phoneDetails };\r\n\r\n if (phoneDetails.mobile_number.length == 10) {\r\n if (phoneDetails.mobile_number) {\r\n /////////////////////checking the net connection/////////////////////////\r\n if (window.navigator.onLine) {\r\n ///////////////////Call send otp api/////////////////////////\r\n startLoading();\r\n let returnedResponse = await sendOtpApi(phoneDetails.mobile_number);\r\n if (returnedResponse.result) {\r\n //////////////if successfull hit api////////////////////////\r\n finishLoading();\r\n setMobileNumberInStorage(phoneDetails);\r\n handleNextBtn();\r\n setLoginType(\"\");\r\n } else {\r\n ////////////if unsuccessful hit api or not getting desired result//////////\r\n finishLoading();\r\n\r\n // alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Your internet connection is not working\");\r\n }\r\n }\r\n } else {\r\n alert(\"Please Enter Valid Mobile Number\");\r\n }\r\n };\r\n\r\n const submitParentMobileNumber = async (event) => {\r\n event.preventDefault();\r\n let phoneDetails = { ...state.phoneDetails };\r\n\r\n if (phoneDetails.mobile_number.length == 10) {\r\n if (phoneDetails.mobile_number) {\r\n /////////////////////checking the net connection/////////////////////////\r\n if (window.navigator.onLine) {\r\n ///////////////////Call send otp api/////////////////////////\r\n startLoading();\r\n let returnedResponse = await sendParentOtpApi(\r\n phoneDetails.mobile_number\r\n );\r\n if (returnedResponse.result) {\r\n //////////////if successfull hit api////////////////////////\r\n finishLoading();\r\n // setParentData(returnedResponse.data);\r\n setParentMobileNumberInStorage(phoneDetails);\r\n handleNextBtn();\r\n } else {\r\n ////////////if unsuccessful hit api or not getting desired result//////////\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Your internet connection is not working\");\r\n }\r\n }\r\n } else {\r\n alert(\"Please Enter a Valid Mobile Number\");\r\n }\r\n };\r\n\r\n ////////////////////step_2////////////////////////\r\n const handleInputOtpNumbers = (event) => {\r\n let { name, value } = event.target;\r\n // console.log(name, value);\r\n switch (name) {\r\n case \"otp_number_one\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n otpNumbersCollection: {\r\n ...prevState.otpNumbersCollection,\r\n otp_number_one: value,\r\n },\r\n }));\r\n break;\r\n case \"otp_number_two\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n otpNumbersCollection: {\r\n ...prevState.otpNumbersCollection,\r\n otp_number_two: value,\r\n },\r\n }));\r\n break;\r\n case \"otp_number_three\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n otpNumbersCollection: {\r\n ...prevState.otpNumbersCollection,\r\n otp_number_three: value,\r\n },\r\n }));\r\n break;\r\n case \"otp_number_four\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n otpNumbersCollection: {\r\n ...prevState.otpNumbersCollection,\r\n otp_number_four: value,\r\n },\r\n }));\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const validCheckOtpNumber = (otpNumbers) => {\r\n let valid = true;\r\n\r\n Object.values(otpNumbers).forEach((val) => {\r\n val === \"\" && (valid = false);\r\n });\r\n return valid;\r\n };\r\n\r\n const verifyOtpApi = async (otpDetails) => {\r\n try {\r\n const response = await axios.post(url_2, otpDetails);\r\n\r\n if (response.status === 200) {\r\n /////if api successfull hit//////////\r\n\r\n if (response.data.data.is_sign_up) {\r\n if (response.status === 200) {\r\n /////////////////existing user//////////\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else if (response.data.status === 201) {\r\n ///////for new-user////////////////////\r\n return {\r\n result: 2,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else if (response.data.status === 423) {\r\n /////////redirect to resend otp//////////////\r\n return {\r\n result: 3,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else {\r\n ////////for other status code///////////////\r\n return {\r\n result: 5,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n }\r\n } else if (response.data.status === 422) {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else {\r\n setIsLogin(2);\r\n return {\r\n result: 2,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n }\r\n } else {\r\n /////if api un-successfull hit//////////\r\n return {\r\n result: 0,\r\n data: { message: \"Something went wrong!!!\" },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error.response);\r\n Analytics.record({\r\n name: \"_userauth.auth_fail\",\r\n });\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n\r\n const handleSubmitOtpNumber = async (event) => {\r\n event.preventDefault();\r\n let otpNumbersCollection = { ...state.otpNumbersCollection };\r\n let phoneDetails = { ...state.phoneDetails };\r\n let firebaseToken = state.firebaseToken,\r\n loginType = state.loginType;\r\n\r\n if (validCheckOtpNumber(otpNumbersCollection)) {\r\n let filledOtp = `${otpNumbersCollection.otp_number_one}${otpNumbersCollection.otp_number_two}${otpNumbersCollection.otp_number_three}${otpNumbersCollection.otp_number_four}`;\r\n ///////change the type of string to number//////////////\r\n filledOtp = parseInt(filledOtp);\r\n\r\n if (filledOtp) {\r\n startLoading();\r\n let data = {\r\n mobile_number: phoneDetails.mobile_number,\r\n otp: filledOtp,\r\n firebaseToken: firebaseToken,\r\n loginType: loginType,\r\n };\r\n let returnedResponse = await verifyOtpApi(data);\r\n // console.log(returnedResponse);\r\n if (returnedResponse.result === 1) {\r\n finishLoading();\r\n //////////for existing user//////////\r\n let tokenDetails = {\r\n token: returnedResponse.data.apiData.token,\r\n tokenType: returnedResponse.data.apiData.token_type,\r\n };\r\n let user = returnedResponse.data.apiData.user_data;\r\n\r\n /////setting auth token////////\r\n setAuthToken(tokenDetails);\r\n\r\n ////////set user data/////////////////\r\n setUser(user);\r\n setAuth(true);\r\n //////set user preference////////\r\n setUserPreference({\r\n targetDetails:\r\n returnedResponse.data.apiData.user_data.UsertargetDetail,\r\n classDetails: {\r\n class_id: returnedResponse.data.apiData.user_data.class_id,\r\n class: returnedResponse.data.apiData.user_data.class,\r\n },\r\n courseDetails: returnedResponse.data.apiData.user_data.targets,\r\n batchDetails: {\r\n batch_id: returnedResponse.data.apiData.user_data.batch_id,\r\n batch: returnedResponse.data.apiData.user_data.batch,\r\n },\r\n });\r\n\r\n ////////redirecting to the user dashboard//////\r\n // history.push(\"/user_dashboard\");\r\n\r\n const queryParams = new URLSearchParams(window.location.search);\r\n const pageParam = queryParams.get(\"page\");\r\n\r\n console.log(\"queryparamssss\", queryParams);\r\n\r\n if (pageParam) {\r\n if (pageParam === \"store\") {\r\n setLoginType(\"store\");\r\n history.push({ pathname: \"/store\" });\r\n } else {\r\n setLoginType(\"dashboard\");\r\n\r\n history.push({ pathname: \"/user_dashboard\" });\r\n }\r\n } else {\r\n history.push({ pathname: \"/user_dashboard\" });\r\n setLoginType(\"dashboard\");\r\n }\r\n\r\n // if (!pageParam) {\r\n // history.push({ pathname: \"/store\" });\r\n // setLoginType(\"store\");\r\n // } else {\r\n // history.push({ pathname: \"/user_dashboard\" });\r\n // setLoginType(\"dashboard\");\r\n // }\r\n\r\n Analytics.record({\r\n name: \"_userauth.sign_in\",\r\n attributes: {\r\n user_name: user.name,\r\n },\r\n });\r\n\r\n let userPaidFree = user.is_subscribe == 1 ? \"paid_user\" : \"free_user\";\r\n\r\n await Analytics.updateEndpoint({\r\n userId: user.user_id,\r\n\r\n userAttributes: {\r\n userName: [user.name],\r\n Mobile: [user.mobile],\r\n email: [user.email],\r\n DOB: [user.dob],\r\n Gender: [user.gender],\r\n Class_name: [user.class],\r\n Target: [user.UsertargetDetail[0].target],\r\n user_paid_free: [userPaidFree],\r\n Batch: [user.batch],\r\n Course: [user.targets[0].course],\r\n addressId: [user.address.address_id],\r\n addressType: [user.address.type],\r\n city: [user.address.city],\r\n pincode: [user.address.pincode],\r\n state: [user.address.state],\r\n latitude: [lat?.length ? lat : null], // The latitude of the endpoint location, rounded to one decimal place.\r\n longitude: [lng?.length ? lng : null], // The longitude of the endpoint location, rounded to one decimal place.\r\n },\r\n }).then(() => {});\r\n\r\n // history.push(\"/parent_login\");\r\n } else if (returnedResponse.result === 2) {\r\n finishLoading();\r\n /////for new user///////////////\r\n let tokenDetails = {\r\n token: returnedResponse.data.apiData.token,\r\n tokenType: returnedResponse.data.apiData.token_type,\r\n };\r\n\r\n /////setting auth token////////\r\n setAuthToken(tokenDetails);\r\n ////////redirecting to the sign up//////\r\n // history.push(\"/signUp\");\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n }\r\n } else {\r\n alert(\"!!!Please,Enter proper valid OTP\");\r\n }\r\n };\r\n\r\n const verifyParentOtpApi = async (otpDetails) => {\r\n const data = {\r\n method_name: \"verify_otp\",\r\n f_mobile_no: otpDetails.mobile_number,\r\n var_otp: otpDetails.otp,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/parentverifyotp\",\r\n data\r\n );\r\n\r\n /////if api successfull hit//////////\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else {\r\n /////if api un-successfull hit//////////\r\n return {\r\n result: 0,\r\n data: { message: response.data.message },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error.response);\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n\r\n const handleSubmitParentOtpNumber = async (event) => {\r\n event.preventDefault();\r\n let otpNumbersCollection = { ...state.otpNumbersCollection };\r\n let phoneDetails = { ...state.phoneDetails };\r\n let firebaseToken = state.firebaseToken,\r\n loginType = state.loginType;\r\n\r\n if (validCheckOtpNumber(otpNumbersCollection)) {\r\n let filledOtp = `${otpNumbersCollection.otp_number_one}${otpNumbersCollection.otp_number_two}${otpNumbersCollection.otp_number_three}${otpNumbersCollection.otp_number_four}`;\r\n ///////change the type of string to number//////////////\r\n filledOtp = parseInt(filledOtp);\r\n\r\n if (filledOtp) {\r\n startLoading();\r\n let data = {\r\n mobile_number: phoneDetails.mobile_number,\r\n otp: filledOtp,\r\n firebaseToken: firebaseToken,\r\n loginType: loginType,\r\n };\r\n let returnedResponse = await verifyParentOtpApi(data);\r\n if (returnedResponse.result === 1) {\r\n let user = returnedResponse.data.apiData;\r\n finishLoading();\r\n\r\n setParentUser(user);\r\n setLoginFromParentFlag(true);\r\n // setParentAuth(true);\r\n\r\n ////////redirecting to the parent dashboard//////\r\n history.push({\r\n pathname: \"/parent-dashboard\",\r\n });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n // alert(\"alert from handleSubmitOtpNumber func\");\r\n }\r\n }\r\n } else {\r\n alert(\"!!!Please,Enter proper valid OTP\");\r\n }\r\n };\r\n\r\n // const handleResendOtp = async () => {\r\n // let phoneDetails = { ...state.phoneDetails };\r\n\r\n // if (phoneDetails.mobile_number) {\r\n // /////////////////////checking the net connection/////////////////////////\r\n // if (window.navigator.onLine) {\r\n // ///////////////////Call send otp api/////////////////////////\r\n // // startLoading();\r\n // let returnedResponse = await sendOtpApi(phoneDetails.mobile_number);\r\n // if (returnedResponse.result) {\r\n // //////////////if successfull hit api////////////////////////\r\n // finishLoading();\r\n // } else {\r\n // ////////////if unsuccessful hit api or not getting desired result//////////\r\n // finishLoading();\r\n // alert(returnedResponse.data.message);\r\n // }\r\n // } else {\r\n // alert(\"Your internet connection is not working\");\r\n // }\r\n // }\r\n // };\r\n\r\n const handleResendOtp = async () => {\r\n if (!isButtonDisabled) {\r\n // Check if the button is disabled (cooldown active)\r\n let phoneDetails = { ...state.phoneDetails };\r\n\r\n if (phoneDetails.mobile_number) {\r\n /////////////////////checking the net connection/////////////////////////\r\n if (window.navigator.onLine) {\r\n setIsButtonDisabled(true); // Disable the button before sending OTP\r\n ///////////////////Call send otp api/////////////////////////\r\n // startLoading();\r\n let returnedResponse = await sendOtpApi(phoneDetails.mobile_number);\r\n if (returnedResponse.result) {\r\n //////////////if successful hit api////////////////////////\r\n finishLoading();\r\n // Set a new cooldown timer after OTP is sent\r\n setResendCooldown(30);\r\n setTimeout(() => {\r\n setIsButtonDisabled(false); // Enable the button after cooldown\r\n }, 30000); // Enable after 30 seconds\r\n } else {\r\n ////////////if unsuccessful hit API or not getting the desired result//////////\r\n finishLoading();\r\n setIsButtonDisabled(false); // Enable the button in case of an error\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Your internet connection is not working\");\r\n }\r\n }\r\n }\r\n };\r\n\r\n // const handleParentResendOtp = async () => {\r\n // let phoneDetails = { ...state.phoneDetails };\r\n\r\n // if (phoneDetails.mobile_number) {\r\n // /////////////////////checking the net connection/////////////////////////\r\n // if (window.navigator.onLine) {\r\n // ///////////////////Call send otp api/////////////////////////\r\n // // startLoading();\r\n // let returnedResponse = await sendParentOtpApi(\r\n // phoneDetails.mobile_number\r\n // );\r\n // if (returnedResponse.result) {\r\n // //////////////if successfull hit api////////////////////////\r\n // finishLoading();\r\n // } else {\r\n // ////////////if unsuccessful hit api or not getting desired result//////////\r\n // finishLoading();\r\n // alert(returnedResponse.data.message);\r\n // }\r\n // } else {\r\n // alert(\"Your internet connection is not working\");\r\n // }\r\n // }\r\n // };\r\n\r\n const handleParentResendOtp = async () => {\r\n if (!isButtonDisabled) {\r\n // Check if the button is disabled (cooldown active)\r\n let phoneDetails = { ...state.phoneDetails };\r\n\r\n if (phoneDetails.mobile_number) {\r\n /////////////////////checking the net connection/////////////////////////\r\n if (window.navigator.onLine) {\r\n setIsButtonDisabled(true); // Disable the button before sending OTP\r\n ///////////////////Call send parent otp api/////////////////////////\r\n // startLoading();\r\n let returnedResponse = await sendParentOtpApi(\r\n phoneDetails.mobile_number\r\n );\r\n if (returnedResponse.result) {\r\n //////////////if successful hit api////////////////////////\r\n finishLoading();\r\n // Set a new cooldown timer after OTP is sent\r\n setResendCooldown(30);\r\n setTimeout(() => {\r\n setIsButtonDisabled(false); // Enable the button after cooldown\r\n }, 30000); // Enable after 30 seconds\r\n } else {\r\n ////////////if unsuccessful hit API or not getting the desired result//////////\r\n finishLoading();\r\n setIsButtonDisabled(false); // Enable the button in case of an error\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Your internet connection is not working\");\r\n }\r\n }\r\n }\r\n };\r\n\r\n const renderView = () => {\r\n let { step, phoneDetails } = state;\r\n\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const signupStepOne = () => {\r\n return (\r\n
\r\n
Hi! What shall we call you.
\r\n \r\n
\r\n );\r\n };\r\n\r\n const signupStepTwo = () => {\r\n return
sign up step one
;\r\n };\r\n\r\n const signupStepThree = () => {\r\n return
sign up step one
;\r\n };\r\n const renderSignup = () => {\r\n switch (signUpSteps) {\r\n case 1:\r\n return signupStepOne();\r\n\r\n case 2:\r\n return signupStepTwo();\r\n\r\n case 3:\r\n return signupStepThree();\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n // if (isLogin === 2) {\r\n // return ;\r\n // }\r\n\r\n return (\r\n \r\n {isLogin === 1 && renderView()}\r\n\r\n {isLogin === 2 && }\r\n\r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n loginCandidate: state.LoginSlice.loginCandidate,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setContactNumber: (payload) => {\r\n dispatch(authActions.inputContactNumber(payload));\r\n },\r\n setAuthToken: (payload) => {\r\n dispatch(authActions.setAuthToken(payload));\r\n },\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n setAuth: (payload) => {\r\n dispatch(authActions.setAuth(payload));\r\n },\r\n setUserPreference: (payload) => {\r\n dispatch(userPreferenceActions.setUserPreference(payload));\r\n },\r\n\r\n // parent actions\r\n\r\n setParentContactNumber: (payload) => {\r\n dispatch(inputParentContactNumber(payload));\r\n },\r\n\r\n setParentUser: (payload) => {\r\n dispatch(setParentUser(payload));\r\n },\r\n\r\n setParentAuth: (payload) => {\r\n dispatch(setParentAuth(payload));\r\n },\r\n\r\n setLoginFromParentFlag: (payload) => {\r\n dispatch(setLoginFromParentFlag(payload));\r\n },\r\n\r\n setLoginCandidate: (payload) => {\r\n dispatch(setLoginCandidate(payload));\r\n },\r\n setBlockedStatusAction: (payload) => {\r\n dispatch(setBlockedStatus(payload));\r\n },\r\n setLoginType: (payload) => {\r\n dispatch(userProductList.setLoginType(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Login);\r\n","// import React, { Fragment,useEffect,useState } from \"react\";\r\n// import \"./homepage.scss\";\r\n// import Login from \"../login/login\";\r\n// import images from \"../../utilities/images/images\";\r\n// import { Link, useHistory } from \"react-router-dom\";\r\n\r\n// //slick-carousel\r\n// import Slider from \"react-slick\";\r\n// import { ToggleButton } from \"react-bootstrap\";\r\n// import { connect } from \"react-redux\";\r\n\r\n// function SampleNextArrow(props) {\r\n// const { className, style, onClick } = props;\r\n// return (\r\n// \r\n// );\r\n// }\r\n\r\n// function SamplePrevArrow(props) {\r\n// const { className, style, onClick } = props;\r\n// return (\r\n// \r\n// );\r\n// }\r\n\r\n// const Homepage = ({ isAuthenticated }) => {\r\n// const settings1 = {\r\n// dots: false,\r\n// infinite: true,\r\n// slidesToShow: 3,\r\n// slidesToScroll: 1,\r\n// nextArrow: ,\r\n// prevArrow: ,\r\n// responsive: [\r\n// {\r\n// breakpoint: 1024,\r\n// settings: {\r\n// slidesToShow: 2,\r\n// slidesToScroll: 1,\r\n// // infinite: true,\r\n// // dots: true,\r\n// },\r\n// },\r\n// {\r\n// breakpoint: 600,\r\n// settings: {\r\n// slidesToShow: 2,\r\n// slidesToScroll: 1,\r\n// // initialSlide: 2,\r\n// },\r\n// },\r\n// {\r\n// breakpoint: 480,\r\n// settings: {\r\n// slidesToShow: 1,\r\n// slidesToScroll: 1,\r\n// arrows: false,\r\n// },\r\n// },\r\n// ],\r\n// };\r\n// const [state, setState] = useState(true);\r\n// const ToggleButton =()=>{}\r\n// const history = useHistory()\r\n\r\n// useEffect(()=> {\r\n// if(isAuthenticated){\r\n// history.push('/user_dashboard')\r\n// }\r\n// }, [])\r\n\r\n// return (\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \"logo\"\r\n//
\r\n//
\r\n// \r\n// Our Courses\r\n// How It works\r\n// {/* Meet our experts */}\r\n// Our Benefits\r\n// Contact Us\r\n// {/* Contact Us */}\r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n//

Learn & prepare for competitive exams with motion

\r\n//

\r\n// The largest online learning platform that helps you prepare\r\n// for competitive exams like JEE, NEET & various Olympiads.\r\n//

\r\n//
\r\n// \r\n// \r\n// \r\n// \r\n// \r\n// \r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//

Our Courses

\r\n//

\r\n// Motion offers you an unmatched experience by combining the\r\n// best teaching methodologies with powerful visualization.\r\n//

\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// \"jee\"\r\n//
\r\n//

JEE

\r\n//

\r\n// We provide the right preparation strategy to ace one of\r\n// the toughest exam JEE.\r\n//

\r\n//
\r\n//
\r\n//
\r\n// \"neet\"\r\n//
\r\n//

NEET

\r\n//

\r\n// Level up your NEET preparation and crack a seat at the\r\n// best medical college.\r\n//

\r\n//
\r\n//
\r\n//
\r\n// \"foundation\"\r\n//
\r\n//

Foundation

\r\n//

\r\n// Foster creativity, scientific-thinking & competitive\r\n// temperament to make student’s foundation strong\r\n//

\r\n//
\r\n// {/*
\r\n//
\r\n// \"jee\"\r\n//
\r\n//

JEE

\r\n//

\r\n// We provide the right preparation strategy to ace one of\r\n// the toughest exam JEE.\r\n//

\r\n//
*/}\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//

How It Works

\r\n//

\r\n// Learning made easy with features that will help students to\r\n// analysis their concepts and excel in competitive exams\r\n//

\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n// \"work\"\r\n//
\r\n//

Live classes

\r\n//

\r\n// Live classes and recorded video lectures Interactive\r\n// live classes and doubt solving sessions by Kota's top\r\n// faculties\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \"work2\"\r\n//
\r\n//

Test and Analysis

\r\n//

\r\n// Highly curated tests to simulate the real testing\r\n// environment and deep analytics to evaluate the\r\n// performance\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \"work3\"\r\n//
\r\n//

Unlimited Doubts

\r\n//

\r\n// Ask unlimited doubts anytime and get detailed solutions\r\n// from our experienced team\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \"work\"\r\n//
\r\n//

Live classes

\r\n//

\r\n// Live classes and recorded video lectures Interactive\r\n// live classes and doubt solving sessions by Kota's top\r\n// faculties\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//

Download Motion Learning App

\r\n//

\r\n// Prepare for India’s most prestigious exams from anytime\r\n// anywhere!\r\n//

\r\n//

\r\n// Ample amount of Subject wise & topic wise practice questions\r\n// to master the subjects.\r\n//

\r\n//

Doubt Support to strengthen your topics for the exam.

\r\n//

Test Series by Top faculty.

\r\n//

\r\n// Best Study Material to improve understanding and retention of\r\n// concepts.\r\n//

\r\n//
\r\n// \r\n// \r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n// {/*
\r\n//
\r\n//
\r\n//

Meet our experts

\r\n//

\r\n// MOTION is equipped with an experienced faculty pool with\r\n// proven results in the past. Their in-depth subject knowledge\r\n// and superb teaching techniques have helped several IIT and\r\n// NEET aspirants achieve their goals.\r\n//

\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n// \"work\"\r\n//
\r\n//

Harshit Thakuria

\r\n//

\r\n// MPSI, Madhya Pradesh 14+ years of\r\n// experience in teaching\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \"work2\"\r\n//
\r\n//

Nitin Vijay

\r\n//

\r\n// MPSI, Madhya Pradesh 19+ years of\r\n// experience in teaching\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \"work3\"\r\n//
\r\n//

Seema Singh

\r\n//

\r\n// MPSI, Madhya Pradesh 6+ years of experience\r\n// in teaching\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \"work\"\r\n//
\r\n//

Kabir Kapoor

\r\n//

\r\n// MPSI, Madhya Pradesh 4+ years of experience\r\n// in teaching\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
*/}\r\n//
\r\n//
\r\n//
\r\n//
\r\n//

Additional Benefits

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//

Live Classes

\r\n//
\r\n//
\r\n//

\r\n// Our interactive classes are designed with proficiency\r\n// so that no extra effort is needed to achieve your\r\n// desired success in JEE/NEET/Foundation.\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//

Exercise and DPP

\r\n//
\r\n//
\r\n//

\r\n// Practice content (exercise) is designed to provide\r\n// sufficient practice on a particular topic along with\r\n// previous year questions. Daily Practice Problems (DPP)\r\n// are provided lecture wise to ensure proper practice\r\n// and to provide concept recall.\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//

Videos

\r\n//
\r\n//
\r\n//

\r\n// Premium quality video lectures recorded by the most\r\n// experienced faculties of MOTION and provides the\r\n// required edge over others to elevate your chances of\r\n// clearing the competitive exams.\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//

Tests

\r\n//
\r\n//
\r\n//

\r\n// Focuses on boosting confidence of students for facing\r\n// national level competitive exams by providing subject\r\n// wise and topic wise questions with solutions.\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//

Notes

\r\n//
\r\n//
\r\n//

\r\n// Study Material designed by expert faculty to improve\r\n// understanding and enhance students concepts knowledge.\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//

Test Series

\r\n//
\r\n//
\r\n//

\r\n// OTS is designed according to the exam pattern that\r\n// stimulate the actual examination environment and\r\n// provides an opportunity to revise every concept\r\n// thoroughly.\r\n//

\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// \"logo\"\r\n//
\r\n//
\r\n//
Motion
\r\n// \r\n// About us\r\n// \r\n// \r\n// Privacy policy\r\n// \r\n// \r\n// Term and conditions\r\n// \r\n//
\r\n//
\r\n//
Get in touch
\r\n// \r\n// \r\n// +91 9116126261\r\n// \r\n// \r\n// \r\n// info@motionittjee.com\r\n// \r\n// \r\n// \r\n// 394, Rajeev Gandhi Nagar, Kota-324005\r\n// \r\n//
\r\n//
\r\n//
\r\n//
Contact Us
\r\n//
\r\n// \r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n//
\r\n// Copyright © 2019-2020 motion. All rights reserved.\r\n//
\r\n// \r\n// \"arrow\"\r\n// \r\n//
\r\n//
\r\n//
\r\n//
\r\n// );\r\n// };\r\n\r\n// const mapStateToProps = (state) => {\r\n// return {\r\n// isAuthenticated: state.auth.isAuthenticated,\r\n// };\r\n// };\r\n\r\n// export default connect(mapStateToProps)(Homepage);\r\n// // export default Homepage;\r\n\r\nimport React, { Fragment, useState } from \"react\";\r\nimport \"./homepage.scss\";\r\nimport Login from \"../login/login\";\r\nimport images from \"../../utilities/images/images\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { checkXSSAttackThroughInput } from \"../../custom_utilities/custom_useful_functions\";\r\n\r\n//slick-carousel\r\nimport Slider from \"react-slick\";\r\nimport { ToggleButton } from \"react-bootstrap\";\r\n\r\nfunction SampleNextArrow(props) {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nfunction SamplePrevArrow(props) {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst Homepage = () => {\r\n const settings1 = {\r\n dots: false,\r\n infinite: true,\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n nextArrow: ,\r\n prevArrow: ,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n // infinite: true,\r\n // dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n // initialSlide: 2,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n },\r\n },\r\n ],\r\n };\r\n const [state, setState] = useState(true);\r\n const [inputValues, setInputValues] = useState({\r\n name: \"\",\r\n mail: \"\",\r\n mobile_number: \"\",\r\n });\r\n\r\n \r\n const ToggleButton = () => {};\r\n\r\n const handleInputChange = async (event) => {\r\n const { name, value } = event.target;\r\n\r\n const response = await checkXSSAttackThroughInput(value);\r\n\r\n if (!response) {\r\n return;\r\n } else {\r\n // setInputValues({ ...inputValues, [name]: value });\r\n\r\n setInputValues((prevState) => ({\r\n ...prevState.inputValues,\r\n [name]: value,\r\n }));\r\n }\r\n\r\n // if (value.includes(\"script\")) {\r\n // alert(\"Script-related content not allowed!\");\r\n // return;\r\n // }\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n \r\n Our Courses\r\n How It works\r\n {/* Meet our experts */}\r\n Our Benefits\r\n Contact Us\r\n {/* Contact Us */}\r\n
\r\n \r\n
\r\n
\r\n
\r\n \r\n {/*
\r\n
\r\n

Learn & prepare for competitive exams with motion

\r\n

\r\n The largest online learning platform that helps you prepare\r\n for competitive exams like JEE, NEET & various Olympiads.\r\n

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Our Courses

\r\n

\r\n Motion offers you an unmatched experience by combining the\r\n best teaching methodologies with powerful visualization.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n \"jee\"\r\n
\r\n

JEE

\r\n

\r\n We provide the right preparation strategy to ace one of\r\n the toughest exam JEE.\r\n

\r\n
\r\n
\r\n
\r\n \"neet\"\r\n
\r\n

NEET

\r\n

\r\n Level up your NEET preparation and crack a seat at the\r\n best medical college.\r\n

\r\n
\r\n
\r\n
\r\n \"foundation\"\r\n
\r\n

Foundation

\r\n

\r\n Foster creativity, scientific-thinking & competitive\r\n temperament to make student’s foundation strong\r\n

\r\n
\r\n {/*
\r\n
\r\n \"jee\"\r\n
\r\n

JEE

\r\n

\r\n We provide the right preparation strategy to ace one of\r\n the toughest exam JEE.\r\n

\r\n
*/}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

How It Works

\r\n

\r\n Learning made easy with features that will help students to\r\n analysis their concepts and excel in competitive exams\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"work\"\r\n
\r\n

Live classes

\r\n

\r\n Live classes and recorded video lectures Interactive\r\n live classes and doubt solving sessions by Kota's top\r\n faculties\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"work2\"\r\n
\r\n

Test and Analysis

\r\n

\r\n Highly curated tests to simulate the real testing\r\n environment and deep analytics to evaluate the\r\n performance\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"work3\"\r\n
\r\n

Unlimited Doubts

\r\n

\r\n Ask unlimited doubts anytime and get detailed solutions\r\n from our experienced team\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Download Motion Learning App

\r\n

\r\n Prepare for India’s most prestigious exams from anytime\r\n anywhere!\r\n

\r\n

\r\n Ample amount of Subject wise & topic wise practice questions\r\n to master the subjects.\r\n

\r\n

Doubt Support to strengthen your topics for the exam.

\r\n

Test Series by Top faculty.

\r\n

\r\n Best Study Material to improve understanding and retention of\r\n concepts.\r\n

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n {/*
\r\n
\r\n
\r\n

Meet our experts

\r\n

\r\n MOTION is equipped with an experienced faculty pool with\r\n proven results in the past. Their in-depth subject knowledge\r\n and superb teaching techniques have helped several IIT and\r\n NEET aspirants achieve their goals.\r\n

\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"work\"\r\n
\r\n

Harshit Thakuria

\r\n

\r\n MPSI, Madhya Pradesh 14+ years of\r\n experience in teaching\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"work2\"\r\n
\r\n

Nitin Vijay

\r\n

\r\n MPSI, Madhya Pradesh 19+ years of\r\n experience in teaching\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"work3\"\r\n
\r\n

Seema Singh

\r\n

\r\n MPSI, Madhya Pradesh 6+ years of experience\r\n in teaching\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"work\"\r\n
\r\n

Kabir Kapoor

\r\n

\r\n MPSI, Madhya Pradesh 4+ years of experience\r\n in teaching\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
*/}\r\n \r\n
\r\n
\r\n
\r\n

Additional Benefits

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Live Classes

\r\n
\r\n
\r\n

\r\n Our interactive classes are designed with proficiency\r\n so that no extra effort is needed to achieve your\r\n desired success in JEE/NEET/Foundation.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Exercise and DPP

\r\n
\r\n
\r\n

\r\n Practice content (exercise) is designed to provide\r\n sufficient practice on a particular topic along with\r\n previous year questions. Daily Practice Problems (DPP)\r\n are provided lecture wise to ensure proper practice\r\n and to provide concept recall.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Videos

\r\n
\r\n
\r\n

\r\n Premium quality video lectures recorded by the most\r\n experienced faculties of MOTION and provides the\r\n required edge over others to elevate your chances of\r\n clearing the competitive exams.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Tests

\r\n
\r\n
\r\n

\r\n Focuses on boosting confidence of students for facing\r\n national level competitive exams by providing subject\r\n wise and topic wise questions with solutions.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Notes

\r\n
\r\n
\r\n

\r\n Study Material designed by expert faculty to improve\r\n understanding and enhance students concepts knowledge.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n

Test Series

\r\n
\r\n
\r\n

\r\n OTS is designed according to the exam pattern that\r\n stimulate the actual examination environment and\r\n provides an opportunity to revise every concept\r\n thoroughly.\r\n

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
Motion
\r\n \r\n About us\r\n \r\n \r\n Privacy policy\r\n \r\n \r\n Term and conditions\r\n \r\n
\r\n
\r\n
Get in touch
\r\n \r\n \r\n +91 8003899585\r\n \r\n \r\n \r\n info@motioniitjee.com\r\n \r\n \r\n \r\n 394, Rajeev Gandhi Nagar, Kota-324005\r\n \r\n
\r\n
\r\n
\r\n
Contact Us
\r\n
\r\n handleInputChange(e)}\r\n required\r\n />\r\n
\r\n
\r\n handleInputChange(e)}\r\n required\r\n />\r\n
\r\n
\r\n handleInputChange(e)}\r\n required\r\n />\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Copyright © 2019-2020 motion. All rights reserved.\r\n
\r\n \r\n \"arrow\"\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Homepage;\r\n","import React from \"react\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"./LoginSignupModal.scss\";\r\nimport Login from \"../../login/login\";\r\n\r\nconst LoginSignupModal = ({ isLoginOpen, setIsLoginOpen }) => {\r\n return (\r\n setIsLoginOpen(false)}>\r\n
\r\n
\r\n
\r\n \"\"\r\n
\r\n\r\n
\r\n setIsLoginOpen(false)}\r\n >\r\n \"\"\r\n
\r\n\r\n \r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default LoginSignupModal;\r\n","import React, { Fragment, useState } from \"react\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport \"./Navbar.scss\";\r\n\r\nconst Navbar = (props) => {\r\n const { setIsLoginOpen, isLoginOpen } = props;\r\n const [menuOpen, setMenuOpen] = useState(false);\r\n\r\n return (\r\n \r\n \r\n
\r\n
\r\n window.open(\"https://motion.ac.in/\", \"_blank\")}\r\n />\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n\r\n
\r\n \"call-icon\"\r\n
\r\n
Get in touch with us
\r\n \r\n 18002121799\r\n \r\n
\r\n
\r\n\r\n setIsLoginOpen(!isLoginOpen)}\r\n >\r\n Login\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
setMenuOpen(!menuOpen)}>\r\n {menuOpen ? \"✕\" : \"☰\"}\r\n
\r\n
\r\n window.open(\"https://motion.ac.in/\", \"_blank\")}\r\n />\r\n
\r\n
\r\n setIsLoginOpen(!isLoginOpen)}\r\n >\r\n Login\r\n
\r\n
\r\n\r\n {menuOpen && (\r\n
\r\n
\r\n
\r\n
\r\n
\r\n Courses\r\n
\r\n
\r\n \"next-img\"\r\n
\r\n
\r\n
\r\n
\r\n Benefits\r\n
\r\n
\r\n \"next-img\"\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \"call-icon\"\r\n
\r\n
\r\n Get in touch with us\r\n
\r\n \r\n 18002121799\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n )}\r\n \r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Navbar;\r\n","import React, { Fragment } from \"react\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport \"./Banner.scss\";\r\n\r\nconst Banner = (props) => {\r\n const { setIsLoginOpen, isLoginOpen } = props;\r\n\r\n const handleEnrollClick = () => {\r\n setIsLoginOpen(!isLoginOpen);\r\n };\r\n return (\r\n \r\n
\r\n
\r\n
\r\n Learn & prepare for competitive exams with Motion\r\n
\r\n
\r\n The largest online learning platform that helps you prepare for\r\n competitive exams like JEE, NEET & various Olympiads.\r\n
\r\n
\r\n Enroll Here\r\n
\r\n
\r\n\r\n
\r\n \"nv-sir-pic\"\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Learn & prepare for competitive exams with Motion\r\n
\r\n
\r\n The largest online learning platform that helps you prepare for\r\n competitive exams like JEE, NEET & various Olympiads.\r\n
\r\n
\r\n Enroll Here\r\n
\r\n
\r\n
\r\n \"nv-sir-pic\"\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default Banner;\r\n","import React, { useEffect } from \"react\";\r\nimport \"./MoreDetails.scss\";\r\n\r\nconst MoreDetails = () => {\r\n useEffect(() => {\r\n const counters = document.querySelectorAll(\".counter\");\r\n counters.forEach((counter) => {\r\n const updateCounter = () => {\r\n const target = +counter.getAttribute(\"data-target\");\r\n const count = +counter.innerText;\r\n\r\n const increment = target / 200;\r\n\r\n if (count < target) {\r\n counter.innerText = Math.ceil(count + increment);\r\n setTimeout(updateCounter, 75);\r\n } else {\r\n counter.innerText = target + \"+\";\r\n }\r\n };\r\n\r\n updateCounter();\r\n });\r\n }, []);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n
Our Growth
\r\n
\r\n
\r\n \r\n 0\r\n {\" \"}\r\n Years \r\n
\r\n
Of Excellence
\r\n
\r\n
\r\n
\r\n \r\n 0\r\n \r\n
\r\n
Centers
\r\n
\r\n
\r\n
\r\n \r\n 0\r\n \r\n
\r\n
Students Nurtured
\r\n
\r\n
\r\n
\r\n
\r\n
Our Growth
\r\n
\r\n
\r\n \r\n \r\n 0\r\n \r\n
Years
\r\n
\r\n
Of Excellence
\r\n
\r\n
\r\n
\r\n \r\n 0\r\n \r\n
\r\n
Centers
\r\n
\r\n
\r\n
\r\n \r\n 0\r\n \r\n K\r\n
\r\n
Students Nurtured
\r\n
\r\n
\r\n \r\n \r\n );\r\n};\r\n\r\nexport default MoreDetails;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport Slider from \"react-slick\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { url_232 } from \"../../../custom_utilities/api_services\";\r\nimport \"./Courses.scss\";\r\n\r\nconst Courses = () => {\r\n const [courses, setCourses] = useState([]);\r\n\r\n useEffect(() => {\r\n getCourses();\r\n }, []);\r\n\r\n const getCourses = async () => {\r\n try {\r\n const response = await axios.get(url_232);\r\n\r\n if (response.data.status === 200) {\r\n const coursesData = response?.data?.data?.target?.map((course) => ({\r\n ...course,\r\n isHovered: false,\r\n }));\r\n setCourses(coursesData);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const handleCardHover = (index, isHovered) => {\r\n const updatedCourses = [...courses];\r\n updatedCourses[index].isHovered = isHovered;\r\n setCourses(updatedCourses);\r\n };\r\n\r\n const settings = {\r\n dots: false,\r\n infinite: true,\r\n autoplay: false,\r\n autoplaySpeed: 1500,\r\n arrows: false,\r\n slidesToShow: 4,\r\n slidesToScroll: 4,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 4,\r\n slidesToScroll: 4,\r\n },\r\n },\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n slidesToShow: 4,\r\n slidesToScroll: 4,\r\n },\r\n },\r\n {\r\n breakpoint: 551,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 2,\r\n rows: 2,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n Explore Our Courses\r\n
\r\n
\r\n Motion offers you an unmatched experience by combining the best\r\n teaching methodologies with powerful visualization.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {courses?.map((course, index) => (\r\n handleCardHover(index, true)}\r\n onMouseLeave={() => handleCardHover(index, false)}\r\n >\r\n
\r\n \r\n \r\n {course?.target}\r\n
\r\n \r\n
\r\n
\r\n {course?.target}\r\n
\r\n
\r\n \r\n Class\r\n
\r\n
\r\n {course?.classes?.map((cls, idx) => (\r\n
\r\n \r\n {cls?.class_name}{\" \"}\r\n \r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Courses;\r\n","export const Render = (props) => {\r\n return props.if ? props.children : null;\r\n};\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./Benifits.scss\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport { Render } from \"../Render\";\r\n\r\nconst Benifits = (props) => {\r\n const { setIsLoginOpen, isLoginOpen } = props;\r\n const [activeTab, setActiveTab] = useState(\"live\");\r\n const [isAnimating, setIsAnimating] = useState(false);\r\n\r\n const handleTabClick = (tabId) => {\r\n setIsAnimating(true);\r\n setTimeout(() => {\r\n setActiveTab(tabId);\r\n setIsAnimating(false);\r\n }, 300);\r\n };\r\n\r\n useEffect(() => {\r\n setIsAnimating(true);\r\n setTimeout(() => {\r\n setIsAnimating(false);\r\n }, 300);\r\n }, []);\r\n\r\n return (\r\n
\r\n
\r\n
\r\n Explore Our Benefits\r\n
\r\n
\r\n Learning made easy with features that will help students to analyze\r\n their concepts and excel in competitive exams\r\n
\r\n
\r\n\r\n
\r\n
\r\n
    \r\n handleTabClick(\"live\")}\r\n >\r\n Live Classes\r\n \r\n handleTabClick(\"doubts\")}\r\n >\r\n Doubts\r\n \r\n handleTabClick(\"practice-modules\")}\r\n >\r\n Practice Modules\r\n \r\n handleTabClick(\"performance-report\")}\r\n >\r\n Performance Report\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Motion’s Live Classes\r\n
\r\n
\r\n Experience Motion’s live classes from Kota’s top faculty that\r\n enhances your exam preparation.\r\n
\r\n
\r\n
\r\n
\r\n \"right-icon\"\r\n
\r\n
Scheduled live classes
\r\n\r\n
\r\n Attend interactive live classes at your comfort place.\r\n
\r\n
\r\n
\r\n
\r\n \"right-icon\"\r\n
\r\n
Learn at your own pace
\r\n\r\n
\r\n Recorded video lectures to improve your revision.\r\n
\r\n
\r\n
\r\n
\r\n setIsLoginOpen(!isLoginOpen)}\r\n >\r\n Enroll Here\r\n
\r\n
\r\n\r\n
\r\n \"benifits-img\"\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n Clarify your unlimited doubts instantly, 24/7\r\n anytime\r\n
\r\n\r\n
\r\n Ask your unlimited doubts anytime and get detailed solutions\r\n from our experienced team\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"right-icon\"\r\n
\r\n
\r\n Write your doubt to be answered\r\n
\r\n\r\n
\r\n Clarify your doubt in your words and also attach a related{\" \"}\r\n snap if needed.\r\n
\r\n
\r\n
\r\n\r\n
\r\n \"right-icon\"\r\n
\r\n
\r\n Send & receive voice notes of detailed explanation\r\n
\r\n\r\n
\r\n Record your doubt and post. Also, listen to your professor\r\n explaining your doubt.\r\n
\r\n
\r\n
\r\n
\r\n\r\n setIsLoginOpen(!isLoginOpen)}\r\n >\r\n Enroll Here\r\n
\r\n
\r\n\r\n
\r\n \"benifits-img\"\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n Upgrade your test preparation efforts with\r\n Motion's Practice corner\r\n
\r\n\r\n
\r\n Practice the highly curated tests to simulate the real testing{\" \"}\r\n environment\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"right-icon\"\r\n
\r\n
\r\n Previous year question papers & many other test modules\r\n
\r\n\r\n
\r\n Practice or take a mock test of the previous year question\r\n papers for assured selection.\r\n
\r\n
\r\n
\r\n\r\n
\r\n \"right-icon\"\r\n
\r\n
\r\n Prepare your test paper with our \"Question Bank\"\r\n
\r\n\r\n
\r\n Master your weak topics by preparing your own customized{\" \"}\r\n test paper of any subject & any topic.\r\n
\r\n
\r\n
\r\n
\r\n\r\n setIsLoginOpen(!isLoginOpen)}\r\n >\r\n Enroll Here\r\n
\r\n \r\n\r\n
\r\n \"benifits-img\"\r\n
\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n Receive a detailed feedback & analysis of each of\r\n your performance\r\n
\r\n\r\n
\r\n Every test taken on Motion learning app is evaluated, and\r\n detailed reports are generated in the My Space corner.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \"right-icon\"\r\n
\r\n
\r\n Student-Parent Report(SPR) shared for each test taken\r\n
\r\n\r\n
\r\n SPR generated is displayed in the Progress section of the\r\n app and is also shared with the parents regularly.\r\n
\r\n
\r\n
\r\n\r\n
\r\n \"right-icon\"\r\n
\r\n
\r\n Question-wise, time-based analysis provided\r\n
\r\n\r\n
\r\n Performance analysis is done on a question-by-question\r\n basis with respect to the time taken for better\r\n performance in future tests.\r\n
\r\n
\r\n
\r\n
\r\n\r\n setIsLoginOpen(!isLoginOpen)}\r\n >\r\n Enroll Here\r\n
\r\n \r\n\r\n
\r\n \"benifits-img\"\r\n
\r\n
\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Benifits;\r\n","import React, { Fragment } from \"react\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport \"./AppDetails.scss\";\r\n\r\nconst AppDetails = () => {\r\n return (\r\n \r\n
\r\n
\r\n
\r\n
Download Motion Learning App
\r\n\r\n
\r\n Prepare for India’s most prestigious exams from anytime anywhere!\r\n
\r\n
\r\n\r\n \r\n window.open(\r\n \"https://play.google.com/store/apps/details?id=com.elearning.motion&hl=en\",\r\n \"_blank\"\r\n )\r\n }\r\n >\r\n \"playstore\"\r\n Play Store\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
Download Motion Learning App
\r\n\r\n
\r\n Prepare for India’s most prestigious exams from anytime anywhere!\r\n
\r\n
\r\n\r\n \r\n window.open(\r\n \"https://play.google.com/store/apps/details?id=com.elearning.motion&hl=en\",\r\n \"_blank\"\r\n )\r\n }\r\n >\r\n \"playstore\"\r\n Play Store\r\n
\r\n
\r\n \r\n
\r\n );\r\n};\r\n\r\nexport default AppDetails;\r\n","import React, { useState, useEffect, useCallback } from \"react\";\r\nimport axios from \"axios\";\r\nimport Slider from \"react-slick\";\r\nimport { url_233 } from \"../../../custom_utilities/api_services\";\r\nimport \"./Packages.scss\";\r\n\r\nconst Packages = () => {\r\n const [packages, setPackages] = useState([]);\r\n\r\n const getPackages = useCallback(async () => {\r\n try {\r\n const response = await axios.get(url_233);\r\n if (response.data.status === 200) {\r\n setPackages([...response.data.data.course]);\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n getPackages();\r\n }, [getPackages]);\r\n\r\n const settings = {\r\n infinite: true,\r\n slidesToShow: 4,\r\n slidesToScroll: 1,\r\n autoplay: true,\r\n speed: 2000,\r\n autoplaySpeed: 2000,\r\n cssEase: \"linear\",\r\n responsive: [\r\n {\r\n breakpoint: 1200,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n },\r\n },\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n },\r\n },\r\n {\r\n breakpoint: 730,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 2,\r\n },\r\n },\r\n {\r\n breakpoint: 576,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n Accelerate Your Learning Journey\r\n
\r\n
\r\n Master essential skills in record time with our intensive crash\r\n courses, designed to propel you toward success faster than ever.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {packages.map((pkg, index) => (\r\n
\r\n
\r\n \"pkg-img\"\r\n
\r\n
\r\n
{pkg.course}
\r\n
\r\n {pkg.description?.length > 27\r\n ? `${pkg.description?.slice(0, 27)}...`\r\n : pkg.description}\r\n
\r\n
\r\n \r\n window.open(\r\n \"https://motion.ac.in/courses/12th-advanced/\",\r\n \"_blank\"\r\n )\r\n }\r\n >\r\n View Details\r\n
\r\n
\r\n ))}\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Packages;\r\n","import { useState, useEffect, Fragment } from \"react\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { url_234 } from \"../../../custom_utilities/api_services\";\r\nimport \"./WhyMotion.scss\";\r\n\r\nconst WhyMotion = () => {\r\n const [currentIndex, setCurrentIndex] = useState(0);\r\n const [studentsFeedback, setStudentsFeedback] = useState([]);\r\n\r\n const getStudentsFeedback = async () => {\r\n const response = await axios.get(url_234);\r\n\r\n if (response.data.status === 200) {\r\n setStudentsFeedback([...response.data.data.testimonials]);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getStudentsFeedback();\r\n }, []);\r\n\r\n const goToNext = () => {\r\n if (currentIndex < studentsFeedback.length - 1) {\r\n setCurrentIndex(currentIndex + 1);\r\n }\r\n };\r\n\r\n const goToPrevious = () => {\r\n if (currentIndex > 0) {\r\n setCurrentIndex(currentIndex - 1);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n \"why-motion-banner\"\r\n
\r\n\r\n
\r\n
\r\n Reason Why Student Love and Prefer Motion \r\n
\r\n\r\n
\r\n {studentsFeedback?.map((feedback, index) => {\r\n if (currentIndex === index) {\r\n return (\r\n
\r\n
\r\n
{feedback.testimonials}
\r\n
\r\n \r\n
\r\n
\r\n {feedback.student_name}\r\n
\r\n
{feedback.target}
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n })}\r\n\r\n
\r\n 0 ? \"active\" : \"inactive\"}`}\r\n disabled={currentIndex === 0}\r\n >\r\n \"left\r\n \r\n \r\n \"right\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n Reason Why Student Love and Prefer Motion \r\n
\r\n\r\n
\r\n {studentsFeedback?.map((feedback, index) => {\r\n if (currentIndex === index) {\r\n return (\r\n
\r\n
\r\n
{feedback.testimonials}
\r\n
\r\n \r\n
\r\n
\r\n {feedback.student_name}\r\n
\r\n
{feedback.target}
\r\n
\r\n
\r\n
\r\n );\r\n }\r\n return null;\r\n })}\r\n\r\n
\r\n 0 ? \"active\" : \"inactive\"}`}\r\n disabled={currentIndex === 0}\r\n >\r\n \"left\r\n \r\n \r\n \"right\r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n \"why-motion-banner\"\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default WhyMotion;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport Slider from \"react-slick\";\r\nimport \"./MotionNews.scss\";\r\nimport { url_235 } from \"../../../custom_utilities/api_services\";\r\n\r\nconst MotionNews = () => {\r\n const [motionNews, setMotionNews] = useState([]);\r\n\r\n useEffect(() => {\r\n getMotionNews();\r\n }, []);\r\n\r\n const getMotionNews = async () => {\r\n try {\r\n const response = await axios.get(url_235);\r\n\r\n if (response.data.status === 200) {\r\n setMotionNews([...response.data.data.news]);\r\n }\r\n } catch (error) {\r\n console.error(\"Error fetching motion news:\", error);\r\n }\r\n };\r\n\r\n const settings = {\r\n infinite: true,\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n autoplay: true,\r\n speed: 3000,\r\n autoplaySpeed: 2000,\r\n cssEase: \"linear\",\r\n arrows: false,\r\n responsive: [\r\n {\r\n breakpoint: 1300,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n },\r\n },\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 3,\r\n },\r\n },\r\n {\r\n breakpoint: 730,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 2,\r\n },\r\n },\r\n {\r\n breakpoint: 560,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n
\r\n
\r\n
\r\n Motion in the News \r\n
\r\n
\r\n See what prominent publishing firms have to say about us.\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n {motionNews.map((news) => (\r\n
\r\n
\r\n
\r\n \"news-img\"\r\n
\r\n
{news.title}
\r\n
\r\n
\r\n ))}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default MotionNews;\r\n","import React, { Fragment } from \"react\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport \"./ContactUs.scss\";\r\n\r\nconst ContactUs = () => {\r\n return (\r\n \r\n
\r\n
\r\n \"contact-us-banner\"\r\n\r\n
\r\n
\r\n
Get in touch with us!
\r\n\r\n
\r\n Empowering Your Educational Journey — We're Here to Assist and\r\n Guide You.\r\n
\r\n
\r\n\r\n
\r\n \"call-icon\"\r\n \r\n Contact us\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Get in touch with us!

\r\n

\r\n Empowering Your Educational Journey — We're Here to Assist and\r\n Guide You.\r\n

\r\n
\r\n
\r\n \"call-icon\"\r\n\r\n \r\n Contact us\r\n \r\n
\r\n
\r\n
\r\n \"contact-us-banner\"\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default ContactUs;\r\n","import React, { Fragment, useState } from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport \"./Footer.scss\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../redux/ui/action\";\r\nimport { checkXSSAttackThroughInput } from \"../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst Footer = (props) => {\r\n const { startLoading, finishLoading } = props;\r\n\r\n const [inputValues, setInputValues] = useState({\r\n userQueryDetails: {\r\n name: \"\",\r\n mail: \"\",\r\n mobile_number: null,\r\n },\r\n });\r\n\r\n const handleInputChange = async (event) => {\r\n const { name, value } = event.target;\r\n\r\n const response = await checkXSSAttackThroughInput(value);\r\n\r\n if (!response) {\r\n return;\r\n } else {\r\n setInputValues((prevState) => ({\r\n ...prevState,\r\n userQueryDetails: {\r\n ...prevState.userQueryDetails,\r\n [name]: value,\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const url_50 =\r\n \"https://learning.motion.ac.in/motioneducation/api/savecontact_details\";\r\n\r\n const saveQueryApi = async (requestPayload) => {\r\n try {\r\n const response = await axios.post(url_50, requestPayload);\r\n\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: { message: response.data.message },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: { message: response.data.message },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: { message: \"Something went wrong!!!\" },\r\n };\r\n }\r\n };\r\n\r\n const handleSubmitQueryForm = async (event) => {\r\n event.preventDefault();\r\n let { name, mail, mobile_number } = inputValues.userQueryDetails;\r\n\r\n let requestPayload = {\r\n query: name,\r\n email: mail,\r\n mobile_number: mobile_number,\r\n };\r\n\r\n startLoading();\r\n let returnedResponse = await saveQueryApi(requestPayload);\r\n\r\n if (returnedResponse.result === 1) {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n setInputValues({\r\n userQueryDetails: {\r\n name: \"\",\r\n mail: \"\",\r\n mobile_number: null,\r\n },\r\n });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n };\r\n\r\n const handlePhoneClick = () => {\r\n window.location.href = \"tel:18002121799\";\r\n };\r\n\r\n const handleEmailClick = () => {\r\n window.location.href = \"mailto:info@motioniitjee.com\";\r\n };\r\n\r\n const handleMapClick = () => {\r\n window.open(\r\n \"https://maps.google.com?q=394, Rajeev Gandhi Nagar, Kota-324005\"\r\n );\r\n };\r\n\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
Motion
\r\n \r\n About us\r\n \r\n \r\n Privacy policy\r\n \r\n \r\n Term and conditions\r\n \r\n
\r\n
\r\n
Get in touch
\r\n
\r\n \r\n 18002121799\r\n
\r\n
\r\n \r\n info@motioniitjee.com\r\n
\r\n
\r\n \r\n 394, Rajeev Gandhi Nagar, Kota-324005\r\n
\r\n
\r\n
\r\n
\r\n
Contact Us
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n Copyright © 2019-2020 motion. All rights reserved.\r\n
\r\n \r\n \"arrow\"\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Company

\r\n About us\r\n Privacy policy\r\n Term and conditions\r\n
\r\n
\r\n

Get in touch

\r\n
\r\n \r\n 18002121799\r\n
\r\n
\r\n \r\n info@motioniitjee.com\r\n
\r\n
\r\n \r\n 394, Rajeev Gandhi Nagar, Kota-324005\r\n
\r\n
\r\n
\r\n

Contact Us

\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \"Motion\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(Footer);\r\n","import \"./ContactBanner.scss\";\r\n\r\nconst ContactBanner = () => {\r\n return (\r\n
\r\n Get in touch with us: 📞\r\n +91-6373839897\r\n
\r\n );\r\n};\r\n\r\nexport default ContactBanner;\r\n","import React, { useState } from \"react\";\r\nimport LoginSignupModal from \"./LoginSignupModal/LoginSignupModal\";\r\nimport Navbar from \"./Navbar/Navbar\";\r\nimport Banner from \"./Banner/Banner\";\r\nimport MoreDetails from \"./MoreDetails/MoreDetails\";\r\nimport Courses from \"./Courses/Courses\";\r\nimport Benifits from \"./Benifits/Benifits\";\r\nimport AppDetails from \"./AppDetails/AppDetails\";\r\nimport Packages from \"./Packages/Packages\";\r\nimport WhyMotion from \"./WhyMotion/WhyMotion\";\r\nimport MotionNews from \"./MotionNews/MotionNews\";\r\nimport ContactUs from \"./ContactUs/ContactUs\";\r\nimport Footer from \"./Footer/Footer\";\r\nimport \"./NewHomePage.scss\";\r\nimport ContactBanner from \"./ContactBanner/ContactBanner\";\r\n\r\nconst NewHomePage = () => {\r\n const [isLoginOpen, setIsLoginOpen] = useState(false);\r\n\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
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n \r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default NewHomePage;\r\n","import { Fragment, useState } from \"react\";\r\nimport ReCAPTCHA from \"react-google-recaptcha\";\r\nimport \"./login_step_one2.scss\";\r\n\r\nimport images from \"../../../utilities/images/images\";\r\nconst LoginStepOne = (props) => {\r\n let { phoneDetails } = props;\r\n\r\n const [clickCount, setClickCount] = useState(0);\r\n const [showCaptcha, setShowCaptcha] = useState(false);\r\n const [captchaVerified, setCaptchaVerified] = useState(false);\r\n const siteKey = \"6Lcx-yAoAAAAAIqP73W-JK46kaKq-JGkJ533JvBA\";\r\n\r\n const handleSendOTPClick = (event) => {\r\n if (clickCount >= 4) {\r\n setShowCaptcha(true);\r\n } else {\r\n props.submitMobileNumber(event);\r\n }\r\n setClickCount(clickCount + 1);\r\n };\r\n\r\n const handleCaptchaSubmit = (event) => {\r\n event.preventDefault();\r\n if (captchaVerified) {\r\n setClickCount(0);\r\n setShowCaptcha(false);\r\n }\r\n };\r\n\r\n const handleCaptchaVerify = (response) => {\r\n if (response) {\r\n setCaptchaVerified(true); // Set to true when captcha is verified\r\n } else {\r\n setCaptchaVerified(false);\r\n }\r\n };\r\n\r\n const handleMoveToNext = (current, nextFieldId) => {\r\n // console.log(current, nextFieldId);\r\n if (\r\n current.target.value.length ===\r\n parseInt(current.target.attributes[\"maxlength\"].value)\r\n ) {\r\n document.getElementById(nextFieldId).focus();\r\n }\r\n };\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

Signup

\r\n

Please share your number for verification.

\r\n
\r\n handleMoveToNext(event, \"send_otp_btn\")}\r\n onChange={(event) => props.handleChangeMobileNumber(event)}\r\n required\r\n />\r\n
\r\n {/*
\r\n \r\n
*/}\r\n
\r\n {showCaptcha && (\r\n
\r\n \r\n
\r\n )}\r\n\r\n \r\n Send OTP\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoginStepOne;\r\n","import { Fragment } from \"react\";\r\nimport \"./login_step_two2.scss\";\r\n\r\nimport images from \"../../../utilities/images/images\";\r\n\r\nconst LoginStepTwo = (props) => {\r\n const handleMoveToNextAndPrev = (current, nextFieldId, prevFieldId) => {\r\n // console.log(current.target, nextFieldId);\r\n if (current.keyCode === 8) {\r\n // console.log(\"backspace pressed\");\r\n if (current.target.value.length === 0) {\r\n if (prevFieldId.length > 0) {\r\n document.getElementById(prevFieldId).focus();\r\n }\r\n }\r\n } else {\r\n if (\r\n current.target.value.length ===\r\n parseInt(current.target.attributes[\"maxlength\"].value)\r\n ) {\r\n document.getElementById(nextFieldId).focus();\r\n }\r\n }\r\n };\r\n return (\r\n \r\n
\r\n
\r\n
\r\n \"logo\"\r\n
\r\n
\r\n
\r\n
\r\n
props.handleSubmitOtpNumber(event)}>\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n

OTP Verification

\r\n

We just sent an OTP on your registered number please check.

\r\n
\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(event, \"two_text\", \"\")\r\n }\r\n onChange={(event) => props.handleInputOtpNumbers(event)}\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(event, \"three_text\", \"one_text\")\r\n }\r\n onChange={(event) => props.handleInputOtpNumbers(event)}\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(event, \"four_text\", \"two_text\")\r\n }\r\n onChange={(event) => props.handleInputOtpNumbers(event)}\r\n required\r\n />\r\n
\r\n
\r\n \r\n handleMoveToNextAndPrev(\r\n event,\r\n \"submit_otp_btn\",\r\n \"three_text\"\r\n )\r\n }\r\n onChange={(event) => props.handleInputOtpNumbers(event)}\r\n required\r\n />\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n );\r\n};\r\n\r\nexport default LoginStepTwo;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\n\r\nimport LoginStepOne from \"./login_step_one2/login_step_one2\";\r\nimport LoginStepTwo from \"./login_step_two2/login_step_two2\";\r\nimport LoaderPopUp from \"../../components/loader/loader\";\r\n\r\nimport axios from \"axios\";\r\nimport { BASE_URL } from \"../../custom_utilities/baseURL\";\r\nimport { url_1, url_2 } from \"../../custom_utilities/api_services\";\r\n\r\n/////firebase\r\nimport firebase from \"../../firebase\";\r\n\r\n/////Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../redux/ui/action\";\r\nimport authActions from \"../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../redux/user_preference/action\";\r\n\r\nconst Login = (props) => {\r\n const [state, setState] = useState({\r\n step: 1,\r\n phoneDetails: { mobile_number: \"\" },\r\n otpNumbersCollection: {\r\n otp_number_one: \"\",\r\n otp_number_two: \"\",\r\n otp_number_three: \"\",\r\n otp_number_four: \"\",\r\n },\r\n firebaseToken: \"\",\r\n loginType: \"Web\",\r\n });\r\n\r\n let {\r\n loader,\r\n startLoading,\r\n finishLoading,\r\n setContactNumber,\r\n setAuthToken,\r\n setUser,\r\n setAuth,\r\n setUserPreference,\r\n } = props;\r\n\r\n useEffect(() => {\r\n getFirebaseDeviceToken();\r\n });\r\n\r\n const getFirebaseDeviceToken = () => {\r\n if (firebase.messaging.isSupported()) {\r\n const messaging = firebase.messaging();\r\n messaging\r\n .getToken()\r\n .then((token) => {\r\n // console.log(\"Permitted\");\r\n // console.log(token);\r\n setState((prevState) => ({ ...prevState, firebaseToken: token }));\r\n })\r\n .catch(() => {\r\n // console.log(\"Not Permitted\");\r\n });\r\n }\r\n };\r\n\r\n const renderView = () => {\r\n let { step, phoneDetails } = state;\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const handleNextBtn = () => {\r\n let step = state.step;\r\n setState((prevState) => ({ ...prevState, step: step + 1 }));\r\n };\r\n\r\n const handlePreviousBtn = () => {\r\n let step = state.step;\r\n setState((prevState) => ({ ...prevState, step: step - 1 }));\r\n };\r\n\r\n ////////////////////step_1////////////////////////\r\n const handleChangeMobileNumber = (event) => {\r\n let value = event.target.value;\r\n \r\n // Check if the input matches the Indian mobile number pattern\r\n if (/^[6-9]\\d{0,9}$/.test(value) || value === '') {\r\n setState((prevState) => ({\r\n ...prevState,\r\n phoneDetails: { ...prevState.phoneDetails, mobile_number: value },\r\n }));\r\n } else {\r\n alert(\"Please Enter a Valid Mobile Number\")\r\n }\r\n };\r\n \r\n\r\n const setMobileNumberInStorage = (phoneDetails) => {\r\n setContactNumber(phoneDetails.mobile_number);\r\n // localStorage.setItem(\"phoneDetails\", JSON.stringify(phoneDetails));\r\n };\r\n\r\n const sendOtpApi = async (mobile_number) => {\r\n let data = { mobile_number: mobile_number };\r\n\r\n try {\r\n const response = await axios.post(url_1, data);\r\n // const response = await axios.post(`${BASE_URL}/api/user/send-otp`, data);\r\n\r\n console.log(response);\r\n if (response.status === 200) {\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: { message: response.data.message },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: { message: response.data.message },\r\n };\r\n }\r\n } else {\r\n return {\r\n result: 0,\r\n data: { message: \"Something went wrong!!!\" },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error.response);\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n\r\n const submitMobileNumber = async (event) => {\r\n event.preventDefault();\r\n let phoneDetails = { ...state.phoneDetails };\r\n\r\n if (phoneDetails.mobile_number) {\r\n /////////////////////checking the net connection/////////////////////////\r\n if (window.navigator.onLine) {\r\n ///////////////////Call send otp api/////////////////////////\r\n startLoading();\r\n let returnedResponse = await sendOtpApi(phoneDetails.mobile_number);\r\n if (returnedResponse.result) {\r\n //////////////if successfull hit api////////////////////////\r\n finishLoading();\r\n setMobileNumberInStorage(phoneDetails);\r\n handleNextBtn();\r\n } else {\r\n ////////////if unsuccessful hit api or not getting desired result//////////\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Your internet connection is not working\");\r\n }\r\n }\r\n };\r\n ////////////////////step_2////////////////////////\r\n const handleInputOtpNumbers = (event) => {\r\n let { name, value } = event.target;\r\n // console.log(name, value);\r\n switch (name) {\r\n case \"otp_number_one\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n otpNumbersCollection: {\r\n ...prevState.otpNumbersCollection,\r\n otp_number_one: value,\r\n },\r\n }));\r\n break;\r\n case \"otp_number_two\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n otpNumbersCollection: {\r\n ...prevState.otpNumbersCollection,\r\n otp_number_two: value,\r\n },\r\n }));\r\n break;\r\n case \"otp_number_three\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n otpNumbersCollection: {\r\n ...prevState.otpNumbersCollection,\r\n otp_number_three: value,\r\n },\r\n }));\r\n break;\r\n case \"otp_number_four\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n otpNumbersCollection: {\r\n ...prevState.otpNumbersCollection,\r\n otp_number_four: value,\r\n },\r\n }));\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const validCheckOtpNumber = (otpNumbers) => {\r\n let valid = true;\r\n\r\n Object.values(otpNumbers).forEach((val) => {\r\n val === \"\" && (valid = false);\r\n });\r\n return valid;\r\n };\r\n\r\n const verifyOtpApi = async (otpDetails) => {\r\n let data = otpDetails;\r\n\r\n try {\r\n const response = await axios.post(url_2, data);\r\n\r\n // console.log(response);\r\n if (response.status === 200) {\r\n /////if api successfull hit//////////\r\n if (response.data.status === 200) {\r\n /////////////////existing user//////////\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else if (response.data.status === 201) {\r\n ///////for new-user////////////////////\r\n return {\r\n result: 2,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else if (response.data.status === 423) {\r\n /////////redirect to resend otp//////////////\r\n return {\r\n result: 3,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else {\r\n ////////for other status code///////////////\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n }\r\n } else {\r\n /////if api un-successfull hit//////////\r\n return {\r\n result: 0,\r\n data: { message: \"Something went wrong!!!\" },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error.response);\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n\r\n const handleSubmitOtpNumber = async (event) => {\r\n console.log(event);\r\n event.preventDefault();\r\n let otpNumbersCollection = { ...state.otpNumbersCollection };\r\n let phoneDetails = { ...state.phoneDetails };\r\n let firebaseToken = state.firebaseToken,\r\n loginType = state.loginType;\r\n\r\n if (validCheckOtpNumber(otpNumbersCollection)) {\r\n let filledOtp = `${otpNumbersCollection.otp_number_one}${otpNumbersCollection.otp_number_two}${otpNumbersCollection.otp_number_three}${otpNumbersCollection.otp_number_four}`;\r\n ///////change the type of string to number//////////////\r\n filledOtp = parseInt(filledOtp);\r\n\r\n if (filledOtp) {\r\n startLoading();\r\n let data = {\r\n mobile_number: phoneDetails.mobile_number,\r\n otp: filledOtp,\r\n firebaseToken: firebaseToken,\r\n loginType: loginType,\r\n };\r\n let returnedResponse = await verifyOtpApi(data);\r\n // console.log(returnedResponse);\r\n if (returnedResponse.result === 1) {\r\n finishLoading();\r\n //////////for existing user//////////\r\n let tokenDetails = {\r\n token: returnedResponse.data.apiData.token,\r\n tokenType: returnedResponse.data.apiData.token_type,\r\n };\r\n let user = returnedResponse.data.apiData.user_data;\r\n\r\n /////setting auth token////////\r\n setAuthToken(tokenDetails);\r\n\r\n ////////set user data/////////////////\r\n setUser(user);\r\n setAuth(true);\r\n //////set user preference////////\r\n setUserPreference({\r\n targetDetails:\r\n returnedResponse.data.apiData.user_data.UsertargetDetail,\r\n classDetails: {\r\n class_id: returnedResponse.data.apiData.user_data.class_id,\r\n class: returnedResponse.data.apiData.user_data.class,\r\n },\r\n courseDetails: returnedResponse.data.apiData.user_data.targets,\r\n batchDetails: {\r\n batch_id: returnedResponse.data.apiData.user_data.batch_id,\r\n batch: returnedResponse.data.apiData.user_data.batch,\r\n },\r\n });\r\n ////////redirecting to the user dashboard//////\r\n props.history.push(\"/user_dashboard\");\r\n } else if (returnedResponse.result === 2) {\r\n finishLoading();\r\n /////for new user///////////////\r\n let tokenDetails = {\r\n token: returnedResponse.data.apiData.token,\r\n tokenType: returnedResponse.data.apiData.token_type,\r\n };\r\n\r\n /////setting auth token////////\r\n setAuthToken(tokenDetails);\r\n ////////redirecting to the sign up//////\r\n props.history.push(\"/signUp\");\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n }\r\n } else {\r\n alert(\"!!!Please,Enter proper valid OTP\");\r\n }\r\n };\r\n\r\n const handleResendOtp = async () => {\r\n let phoneDetails = { ...state.phoneDetails };\r\n\r\n if (phoneDetails.mobile_number) {\r\n /////////////////////checking the net connection/////////////////////////\r\n if (window.navigator.onLine) {\r\n ///////////////////Call send otp api/////////////////////////\r\n startLoading();\r\n let returnedResponse = await sendOtpApi(phoneDetails.mobile_number);\r\n if (returnedResponse.result) {\r\n //////////////if successfull hit api////////////////////////\r\n finishLoading();\r\n } else {\r\n ////////////if unsuccessful hit api or not getting desired result//////////\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Your internet connection is not working\");\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n {renderView()}\r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setContactNumber: (payload) => {\r\n dispatch(authActions.inputContactNumber(payload));\r\n },\r\n setAuthToken: (payload) => {\r\n dispatch(authActions.setAuthToken(payload));\r\n },\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n setAuth: (payload) => {\r\n dispatch(authActions.setAuth(payload));\r\n },\r\n setUserPreference: (payload) => {\r\n dispatch(userPreferenceActions.setUserPreference(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Login);\r\n","import Homepage from \"../homepage/homepage\";\r\n\r\nconst ParentLoginLayout = () => {\r\n return ;\r\n};\r\n\r\nexport default ParentLoginLayout;\r\n","import React from \"react\";\r\nimport {} from \"./Header_left_new.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { NavLink, useLocation } from \"react-router-dom\";\r\nconst Header_left_new = ({ userPreference }) => {\r\n const location = useLocation();\r\n\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
  • \r\n \r\n Home\r\n \r\n
  • \r\n {userPreference?.targetDetails[0]?.target_id !== 5 && (\r\n
  • \r\n \r\n Practice\r\n \r\n \r\n \r\n PYQ\r\n \r\n \r\n CPS\r\n \r\n \r\n Exams\r\n \r\n \r\n Test Series\r\n \r\n \r\n Exam Cracker\r\n \r\n \r\n BITSAT\r\n \r\n \r\n Mock Test\r\n \r\n \r\n Adaptive CPS\r\n \r\n
\r\n \r\n )}\r\n\r\n
  • \r\n \r\n Doubt\r\n \r\n
  • \r\n {(userPreference?.targetDetails[0].target_id == 1 ||\r\n userPreference?.targetDetails[0].target_id == 2 ||\r\n userPreference?.targetDetails[0].target_id == 3) && (\r\n <>\r\n
  • \r\n \r\n Question Bank\r\n \r\n
  • \r\n \r\n )}\r\n
  • \r\n \r\n Bookmarks\r\n \r\n
  • \r\n
  • \r\n \r\n Store\r\n \r\n
  • \r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default Header_left_new;\r\n","import React, { Fragment, useEffect } from \"react\";\r\nimport \"./preference_selection_modal.scss\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst PreferenceSelectionModal = (props) => {\r\n let {\r\n userPreference,\r\n targets,\r\n classes,\r\n courses,\r\n batches,\r\n handleCloseModal,\r\n userData,\r\n } = props;\r\n\r\n useEffect(() => {\r\n const handleBackdropClick = (event) => {\r\n if (event.target === event.currentTarget) {\r\n handleCloseModal();\r\n }\r\n };\r\n\r\n const modalElement = document.getElementById(\"preference_selection_modal\");\r\n modalElement.addEventListener(\"click\", handleBackdropClick);\r\n\r\n return () => {\r\n modalElement.removeEventListener(\"click\", handleBackdropClick);\r\n };\r\n }, [handleCloseModal]);\r\n\r\n return (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Update your Package\r\n \r\n handleCloseModal()}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Select Stream

    \r\n
    \r\n
    \r\n {!isEmpty(targets)\r\n ? targets.target.length\r\n ? targets.target.map((element, index) => {\r\n return (\r\n \r\n \r\n props.handleChangeTarget(event)\r\n }\r\n checked={\r\n element.target_id ===\r\n userPreference.target_id\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n \r\n {!isEmpty(classes) ? (\r\n classes.classes.length ? (\r\n
    \r\n
    \r\n

    Current Class

    \r\n
    \r\n
    \r\n {classes.classes.map((element, index) => {\r\n return (\r\n
    \r\n \r\n props.handleChangeClass(event)\r\n }\r\n checked={\r\n element.class_id === userPreference.class_id\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n ) : null\r\n ) : null}\r\n\r\n {!isEmpty(courses) ? (\r\n courses.course.length ? (\r\n
    \r\n
    \r\n

    Select Program/Medium

    \r\n
    \r\n
    \r\n {courses.course.map((element, index) => {\r\n return (\r\n
    \r\n \r\n props.handleChangeCourse(event)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n ) : null\r\n ) : null}\r\n\r\n {!isEmpty(batches) ? (\r\n batches.batch.length ? (\r\n
    \r\n
    \r\n

    \r\n {userData.is_academic == 1 ? \"Select Batch\" : \"\"}\r\n

    \r\n
    \r\n
    \r\n {batches.batch.map((element, index) => {\r\n return userData.is_academic == 1 ? (\r\n
    \r\n \r\n props.handleChangeBatch(event)\r\n }\r\n checked={\r\n element.batch_id === userPreference.batch_id\r\n }\r\n />\r\n \r\n
    \r\n ) : (\r\n \r\n \r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n {/*

    \r\n Batch can't be changed by the user end, if you want to\r\n change please contact support.\r\n

    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default PreferenceSelectionModal;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./header_left.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport {\r\n isEmpty,\r\n sliceString,\r\n} from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport Bootstrap from \"bootstrap/dist/js/bootstrap\";\r\nimport PreferenceSelectionModal from \"../../../../user_utility_components/preference_selection_modal/preference_selection_modal\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_5,\r\n url_6,\r\n url_8,\r\n url_32,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport authActions from \"../../../../../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../../../../../redux/user_preference/action\";\r\n\r\nconst HeaderLeft = (props) => {\r\n let {\r\n userPreference,\r\n userData,\r\n setUser,\r\n setUserPreference,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n let { targetDetails, classDetails, courseDetails, batchDetails } =\r\n userPreference;\r\n\r\n const history = useHistory();\r\n\r\n // useEffect(() => {\r\n // handlePreferenceModal()\r\n // },[])\r\n\r\n ///////////////////////////////////////////////\r\n const [state, setState] = useState({\r\n userDetails: {},\r\n userPreference: {\r\n target_id: \"\",\r\n class_id: \"\",\r\n course_id: \"\",\r\n batch_id: \"\",\r\n },\r\n targets: {},\r\n classes: {},\r\n courses: {},\r\n batches: {},\r\n isTargets: false,\r\n isCourses: false,\r\n isClasses: false,\r\n });\r\n\r\n useEffect(() => {\r\n setUserData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(state.targets) && !state.isTargets) {\r\n getClasses();\r\n setState((prevState) => ({ ...prevState, isTargets: true }));\r\n }\r\n }, [state.targets]);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(state.classes) && !state.isClasses) {\r\n getCourses();\r\n setState((prevState) => ({ ...prevState, isClasses: true }));\r\n }\r\n }, [state.classes]);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(state.courses) && !state.isCourses) {\r\n getBatches();\r\n setState((prevState) => ({ ...prevState, isCourses: true }));\r\n }\r\n }, [state.courses]);\r\n\r\n const handlePreferenceModal = async (action) => {\r\n // if (action === \"open\") {\r\n // preferenceModal.show();\r\n // } else if (action === \"close\") {\r\n // preferenceModal.hide();\r\n // }\r\n let returnedResponse = await getUserProfile();\r\n if (returnedResponse.result === 1) {\r\n //////set user preference////////\r\n setUserPreference({\r\n targetDetails: returnedResponse.data.apiData.UsertargetDetail,\r\n classDetails: {\r\n class_id: returnedResponse.data.apiData.class_id,\r\n class: returnedResponse.data.apiData.class,\r\n },\r\n courseDetails: returnedResponse.data.apiData.targets,\r\n batchDetails: {\r\n batch_id: returnedResponse.data.apiData.batch_id,\r\n batch: returnedResponse.data.apiData.batch,\r\n },\r\n });\r\n\r\n setUserPreferences_1(returnedResponse.data.apiData);\r\n\r\n let returnedResponse_2 = await getTargets();\r\n\r\n if (returnedResponse_2.result === 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n targets: returnedResponse_2.data.apiData,\r\n // current_batch_id: returnedResponse_2.data.apiData.target[0].selected[0].batch_id,\r\n }));\r\n getClasses();\r\n //////////////////////////\r\n let options = {\r\n keyboard: false,\r\n backdrop: false,\r\n };\r\n let preferenceModal = new Bootstrap.Modal(\r\n document.getElementById(\"preference_selection_modal\"),\r\n options\r\n );\r\n preferenceModal.show();\r\n }\r\n }\r\n };\r\n\r\n const getUserProfile = async () => {\r\n // startLoading();\r\n try {\r\n const response = await axios.get(url_8);\r\n\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n return { result: 1, data: { apiData: response.data.data } };\r\n } else {\r\n // finishLoading();\r\n return { result: 0, data: { apiData: {} } };\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n return { result: 0, data: { apiData: {} } };\r\n }\r\n };\r\n\r\n const setUserData = () => {\r\n setState((prevState) => ({ ...prevState, userDetails: userData }));\r\n };\r\n\r\n const setUserPreferences_1 = (apiData) => {\r\n if (apiData.UsertargetDetail.length) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: apiData.UsertargetDetail[0].target_id,\r\n course_id: apiData.targets[0].course_id,\r\n class_id: apiData.class_id,\r\n batch_id: apiData.batch_id,\r\n },\r\n }));\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: \"\",\r\n course_id: \"\",\r\n class_id: \"\",\r\n batch_id: \"\",\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const getTargets = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_5);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return { result: 1, data: { apiData: response.data.data } };\r\n }\r\n } catch (error) {\r\n // finishLoading();\r\n console.log(error);\r\n return { result: 0, data: { apiData: {} } };\r\n }\r\n };\r\n\r\n const getClasses = () => {\r\n let targets = { ...state.targets };\r\n let userPreference = { ...state.userPreference };\r\n let classes = {};\r\n\r\n if (!isEmpty(targets)) {\r\n classes = targets.target.find((element) => {\r\n return element.target_id === parseInt(userPreference.target_id);\r\n });\r\n }\r\n\r\n if (!isEmpty(classes)) {\r\n setState((prevState) => ({ ...prevState, classes: classes }));\r\n getCourses();\r\n }\r\n };\r\n\r\n const getCourses = () => {\r\n let classes = { ...state.classes };\r\n let userPreference = { ...state.userPreference };\r\n let courses = {};\r\n\r\n if (!isEmpty(classes)) {\r\n courses = classes.classes.find((element) => {\r\n return element.class_id === parseInt(userPreference.class_id);\r\n });\r\n }\r\n\r\n if (!isEmpty(courses)) {\r\n setState((prevState) => ({ ...prevState, courses: courses }));\r\n getBatches();\r\n }\r\n };\r\n\r\n const getBatches = () => {\r\n let courses = { ...state.courses };\r\n let userPreference = { ...state.userPreference };\r\n let batches = {};\r\n\r\n if (!isEmpty(courses)) {\r\n batches = courses.course.find((element) => {\r\n return element.course_id === parseInt(userPreference.course_id);\r\n });\r\n }\r\n\r\n if (!isEmpty(batches)) {\r\n setState((prevState) => ({ ...prevState, batches: batches }));\r\n }\r\n };\r\n\r\n const handleChangeTarget = (event) => {\r\n let { value } = event.target;\r\n let targets = { ...state.targets };\r\n let classes = {};\r\n\r\n classes = targets.target.find((element) => {\r\n return element.target_id === parseInt(value);\r\n });\r\n\r\n if (!isEmpty(classes)) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n classes: classes,\r\n courses: {},\r\n batches: {},\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: parseInt(value),\r\n class_id: \"\",\r\n course_id: \"\",\r\n batch_id: \"\",\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const handleChangeClass = (event) => {\r\n let { value } = event.target;\r\n let classes = { ...state.classes };\r\n let courses = {};\r\n\r\n courses = classes.classes.find((element) => {\r\n return element.class_id === parseInt(value);\r\n });\r\n\r\n if (!isEmpty(courses)) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n courses: courses,\r\n batches: {},\r\n userPreference: {\r\n ...prevState.userPreference,\r\n class_id: parseInt(value),\r\n course_id: \"\",\r\n batch_id: \"\",\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const handleChangeCourse = (event) => {\r\n let { value } = event.target;\r\n let courses = { ...state.courses };\r\n let batches = {};\r\n\r\n batches = courses.course.find((element) => {\r\n return element.course_id === parseInt(value);\r\n });\r\n\r\n if (!isEmpty(batches)) {\r\n if (batches.batch.length) {\r\n const selectedBatch = batches.batch.find((element) => element.is_selected);\r\n const batchId = selectedBatch ? parseInt(selectedBatch.batch_id) : parseInt(batches.batch[0].batch_id);\r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n batches: batches,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n course_id: parseInt(value),\r\n batch_id: batchId\r\n },\r\n }));\r\n }\r\n\r\n \r\n \r\n else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n batches: batches,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n course_id: parseInt(value),\r\n batch_id: \"\",\r\n },\r\n }));\r\n }\r\n }\r\n };\r\n\r\n const handleChangeBatch = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n batch_id: parseInt(value),\r\n },\r\n }));\r\n };\r\n\r\n const upadateCourseApi = async (data) => {\r\n try {\r\n const response = await axios.post(url_32, data);\r\n if (response.status === 200) {\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else {\r\n return { result: 0, data: { message: response.data.message } };\r\n }\r\n } else {\r\n return { result: 0, data: { message: \"Something went wrong!!!\" } };\r\n }\r\n } catch (error) {\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n\r\n const validCheckUserPreference = (userPreference) => {\r\n let valid = true;\r\n\r\n Object.values(userPreference).forEach((val) => {\r\n val === \"\" && (valid = false);\r\n });\r\n\r\n return valid;\r\n };\r\n\r\n const handleUpdateCourse = async () => {\r\n let userDetails = { ...state.userDetails };\r\n let userPreference = { ...state.userPreference };\r\n\r\n if (window.navigator.onLine) {\r\n if (validCheckUserPreference(userPreference)) {\r\n let data = {\r\n ///////////////////////////////////////////\r\n user_target_id: userPreference.target_id,\r\n class_id: userPreference.class_id,\r\n course_id: userPreference.course_id,\r\n batch_id: userPreference.batch_id,\r\n };\r\n\r\n startLoading();\r\n let returnedResponse = await upadateCourseApi(data);\r\n\r\n if (returnedResponse.result === 1) {\r\n finishLoading();\r\n setUser(returnedResponse.data.apiData);\r\n //////set user preference////////\r\n setUserPreference({\r\n targetDetails: returnedResponse.data.apiData.UsertargetDetail,\r\n classDetails: {\r\n class_id: returnedResponse.data.apiData.class_id,\r\n class: returnedResponse.data.apiData.class,\r\n },\r\n courseDetails: returnedResponse.data.apiData.targets,\r\n batchDetails: {\r\n batch_id: returnedResponse.data.apiData.batch_id,\r\n batch: returnedResponse.data.apiData.batch,\r\n },\r\n });\r\n if (history.location.pathname === \"/user_dashboard\") {\r\n // window.onbeforeunload = null;\r\n window.onbeforeunload = null;\r\n window.location.reload();\r\n \r\n } else {\r\n history.push({\r\n pathname: \"/user_dashboard\",\r\n });\r\n }\r\n\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Please select target, course, class and batch carefully\");\r\n }\r\n } else {\r\n alert(\"Please check your internet connection\");\r\n }\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: \"\",\r\n course_id: \"\",\r\n class_id: \"\",\r\n batch_id: \"\",\r\n },\r\n targets: {},\r\n courses: {},\r\n classes: {},\r\n batches: {},\r\n isTargets: false,\r\n isClasses: false,\r\n isCourses: false,\r\n }));\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {/* {!isEmpty(batchDetails)\r\n ? \"Batch - \" + sliceString(batchDetails.batch, 0, 5)\r\n : \"Batch - \"} */}\r\n {!isEmpty(batchDetails)\r\n ? \"Batch - \" + batchDetails.batch\r\n : \"Batch\"}\r\n

    \r\n \r\n
    \r\n {/* handlePreferenceModal(\"open\")}\r\n >\r\n \r\n

    \r\n {courseDetails.length\r\n ? sliceString(courseDetails[0].course, 0, 4)\r\n : \"Course\"}\r\n {courseDetails.length ? courseDetails[0].course : \"Course\"}\r\n

    \r\n \r\n \r\n \r\n
    */}\r\n {/* handlePreferenceModal(\"open\")}\r\n >\r\n \r\n

    \r\n {!isEmpty(classDetails)\r\n ? sliceString(classDetails.class, 0, 4)\r\n : \"Class\"}\r\n {!isEmpty(classDetails) ? classDetails.class : \"Class\"}\r\n

    \r\n \r\n \r\n \r\n
    */}\r\n {/* handlePreferenceModal(\"open\")}\r\n >\r\n \r\n {Batch :}\r\n

    \r\n {!isEmpty(batchDetails)\r\n ? \"Batch - \" + sliceString(batchDetails.batch, 0, 4)\r\n : \"Batch - \"}\r\n {!isEmpty(batchDetails) ? batchDetails.batch : \"Batch\"}\r\n

    \r\n \r\n \r\n \r\n */}\r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n setUserPreference: (payload) => {\r\n dispatch(userPreferenceActions.setUserPreference(payload));\r\n },\r\n /////////\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(HeaderLeft);\r\n","export const SET_SUBJECT_DATA = \"SET_SUBJECT_DATA\";\r\nexport const SET_TOPIC_DATA = \"SET_TOPIC_DATA\";\r\nexport const SET_COURSEID_DATA = \"SET_COURSEID_DATA\";\r\nexport const SET_PYQTOPIC_DATA = \"SET_PYQTOPIC_DATA\";\r\nexport const SET_EXAM_CRACKER_TOPIC_DATA = \"SET_EXAM_CRACKER_TOPIC_DATA\";\r\nexport const SET_FEATURE = \"SET_FEATURE\";\r\nexport const SET_VIDEO_DATA = \"SET_VIDEO_DATA\";\r\nexport const SET_RECORDED_VIDEO_DATA = \"SET_RECORDED_VIDEO_DATA\";\r\nexport const SET_NOTES_DATA = \"SET_NOTES_DATA\";\r\nexport const SET_LIVE_STREAM_DATA = \"SET_LIVE_STREAM_DATA\";\r\nexport const SET_EXERCISE_RESULT_DATA = \"SET_EXERCISE_RESULT_DATA\";\r\nexport const SET_EXERCISE_DATA = \"SET_EXERCISE_DATA\";\r\nexport const SET_LIVE_STREAM_VIDEO_DATA = \"SET_LIVE_STREAM_VIDEO_DATA\";\r\nexport const REMOVE_ACTIVITY_DATA = \"REMOVE_ACTIVITY_DATA\";\r\nexport const SET_COMMON_BANNER_DATA = \"SET_COMMON_BANNER_DATA\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\n// Define action creators\r\nconst setSubjectData = (payload) => {\r\n return { type: actionTypes.SET_SUBJECT_DATA, payload };\r\n};\r\n\r\nconst setTopicData = (payload) => {\r\n return {\r\n type: actionTypes.SET_TOPIC_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setCourseIdData = (payload) => ({\r\n type: actionTypes.SET_COURSEID_DATA,\r\n payload,\r\n});\r\n\r\nconst setPyqTopicData = (payload) => ({\r\n type: actionTypes.SET_PYQTOPIC_DATA,\r\n payload,\r\n});\r\n\r\nconst setExamCrackerTopicData = (payload) => ({\r\n type: actionTypes.SET_EXAM_CRACKER_TOPIC_DATA,\r\n payload,\r\n});\r\n\r\nconst setFeature = (payload) => ({\r\n type: actionTypes.SET_FEATURE,\r\n payload,\r\n});\r\n\r\nconst setVideoData = (payload) => ({\r\n type: actionTypes.SET_VIDEO_DATA,\r\n payload,\r\n});\r\n\r\nconst setRecordedVideoData = (payload) => ({\r\n type: actionTypes.SET_RECORDED_VIDEO_DATA,\r\n payload,\r\n});\r\n\r\nconst setNotesData = (payload) => ({\r\n type: actionTypes.SET_NOTES_DATA,\r\n payload,\r\n});\r\n\r\nconst setLiveStreamData = (payload) => ({\r\n type: actionTypes.SET_LIVE_STREAM_DATA,\r\n payload,\r\n});\r\n\r\nconst setExerciseData = (payload) => ({\r\n type: actionTypes.SET_EXERCISE_DATA,\r\n payload,\r\n});\r\n\r\nconst setExerciseResultData = (payload) => ({\r\n type: actionTypes.SET_EXERCISE_RESULT_DATA,\r\n payload,\r\n});\r\n\r\nconst setLiveStreamVideoData = (payload) => ({\r\n type: actionTypes.SET_LIVE_STREAM_VIDEO_DATA,\r\n payload,\r\n});\r\n\r\nconst removeActivityData = () => ({\r\n type: actionTypes.REMOVE_ACTIVITY_DATA,\r\n});\r\n\r\nconst setCommonBannerData = (payload) => ({\r\n type: actionTypes.SET_COMMON_BANNER_DATA,\r\n payload,\r\n});\r\n\r\n// Aggregate action creators in an object\r\nconst actions = {\r\n setSubjectData,\r\n setTopicData,\r\n setCourseIdData,\r\n setPyqTopicData,\r\n setExamCrackerTopicData,\r\n setFeature,\r\n setVideoData,\r\n setRecordedVideoData,\r\n setNotesData,\r\n setLiveStreamData,\r\n setExerciseData,\r\n setExerciseResultData,\r\n setLiveStreamVideoData,\r\n removeActivityData,\r\n setCommonBannerData,\r\n};\r\n\r\n// Export as default\r\nexport default actions;\r\n","export const SET_USER_TESTS_DATA = \"SET_USER_TESTS_DATA\";\r\nexport const REMOVE_TESTS_EXERCISES_DATA = \"REMOVE_TESTS_EXERCISES_DATA\";\r\nexport const SET_USER_TESTS_RESULT_DATA = \"SET_USER_TESTS_RESULT_DATA\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setUserTestsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_USER_TESTS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setUserTestsResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_USER_TESTS_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst removeTestsExercisesData = () => {\r\n return { type: actionTypes.REMOVE_TESTS_EXERCISES_DATA };\r\n};\r\n\r\nexport default {\r\n setUserTestsData,\r\n setUserTestsResultData,\r\n removeTestsExercisesData,\r\n};\r\n","export const SET_ACCESS_TOKEN_DETAILS = \"SET_ACCESS_TOKEN_DETAILS\";\r\nexport const REMOVE_TWILIO_DETAILS = \"REMOVE_TWILIO_DETAILS\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setAccessTokenDetails = (payload) => {\r\n return {\r\n type: actionTypes.SET_ACCESS_TOKEN_DETAILS,\r\n payload,\r\n };\r\n};\r\n\r\nconst removeTwilioDetails = () => {\r\n return { type: actionTypes.REMOVE_TWILIO_DETAILS };\r\n};\r\n\r\nexport default {\r\n setAccessTokenDetails,\r\n removeTwilioDetails,\r\n};\r\n","export const SET_OPTION_TYPE = \"SET_OPTION_TYPE\";\r\nexport const SET_VIDEO_COMPONENT_TIME = \"SET_VIDEO_COMPONENT_TIME\";\r\nexport const SET_VIDEO_CURRENT_TIME = \"SET_VIDEO_CURRENT_TIME\";\r\nexport const SET_VIDEO_DETAILS_FOR_TIME = \"SET_VIDEO_DETAILS_FOR_TIME\";\r\nexport const SET_RELATED_VIDEO = \"SET_RELATED_VIDEO\";\r\nexport const SET_BOOKMARK_QUESTIONS_LIST = \"SET_BOOKMARK_QUESTIONS_LIST\";\r\nexport const REMOVE_BOOKMARK_DATA = \"REMOVE_BOOKMARK_DATA\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setOptions = (payload) => {\r\n return { type: actionTypes.SET_OPTION_TYPE, payload };\r\n};\r\n\r\nconst setVideoComponentTime = (payload) => {\r\n return { type: actionTypes.SET_VIDEO_COMPONENT_TIME, payload };\r\n};\r\n\r\nconst setVideoCurrentTime = (payload) => {\r\n return { type: actionTypes.SET_VIDEO_CURRENT_TIME, payload };\r\n};\r\n\r\nconst setVideoDetailsForTime = (payload) => {\r\n return { type: actionTypes.SET_VIDEO_DETAILS_FOR_TIME, payload };\r\n};\r\nconst setRelatedVideos = (payload) => {\r\n return { type: actionTypes.SET_RELATED_VIDEO, payload };\r\n};\r\n\r\nconst setBookmarkQuestionList = (payload) => {\r\n return { type: actionTypes.SET_BOOKMARK_QUESTIONS_LIST, payload };\r\n};\r\n\r\nconst removeBookmarkData = () => {\r\n return { type: actionTypes.REMOVE_BOOKMARK_DATA };\r\n};\r\n\r\nexport default {\r\n setOptions,\r\n setVideoComponentTime,\r\n setVideoCurrentTime,\r\n setVideoDetailsForTime,\r\n setBookmarkQuestionList,\r\n removeBookmarkData,\r\n setRelatedVideos,\r\n};\r\n","import React, { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport { Link, useLocation, useHistory } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport axios from \"axios\";\r\nimport Lottie from \"lottie-react\";\r\n\r\nimport \"./header_right.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_37 } from \"../../../../../../../src/custom_utilities/api_services\";\r\nimport HeaderTopright from \"../header_left/header_left\";\r\n// import GitBoxAnimation from \"../../../../user_refer_earn/GiftBoxAnimation.json\";\r\n\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport authActions from \"../../../../../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../../../../../redux/user_preference/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\nimport userTestsExercisesAction from \"../../../../../../redux/user_tests_exercises/action\";\r\nimport userTwilioDetailsAction from \"../../../../../../redux/twilio_chat/action\";\r\nimport userBookmarkAction from \"../../../../../../redux/user_bookmark/action\";\r\n\r\nconst HeaderRight = (props) => {\r\n const {\r\n userData,\r\n userPreference,\r\n logoutUser,\r\n removeAnimation,\r\n removePreferenceData,\r\n removeActivityData,\r\n removeTestsExercisesData,\r\n removeTwilioDetails,\r\n removeBookmarkData,\r\n } = props;\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n const [openSearch, setOpenSearch] = useState(false);\r\n const [isDropdownOpen, setIsDropdownOpen] = useState(false);\r\n const [isNotificationOpen, setIsNotificationOpen] = useState(false);\r\n\r\n const dropdownRef = useRef(null);\r\n\r\n const [state, setState] = useState({\r\n notificationsList: [],\r\n });\r\n\r\n const { batchDetails } = userPreference;\r\n\r\n useEffect(() => {\r\n getNotificationsList();\r\n }, []);\r\n\r\n useEffect(() => {\r\n const handleClickOutside = (event) => {\r\n if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {\r\n setIsDropdownOpen(false);\r\n setIsNotificationOpen(false);\r\n }\r\n };\r\n\r\n document.addEventListener(\"mousedown\", handleClickOutside);\r\n return () => {\r\n document.removeEventListener(\"mousedown\", handleClickOutside);\r\n };\r\n }, []);\r\n\r\n const handleUserLogout = () => {\r\n logoutUser();\r\n removeAnimation();\r\n removePreferenceData();\r\n removeActivityData();\r\n removeTestsExercisesData();\r\n removeTwilioDetails();\r\n removeBookmarkData();\r\n history.push(\"/\");\r\n };\r\n\r\n const addclass = () => {\r\n setOpenSearch(true);\r\n };\r\n\r\n const getNotificationsList = async () => {\r\n try {\r\n const response = await axios.get(url_37);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n notificationsList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleClick = () => {\r\n history.push(\"/refer-and-earn\");\r\n };\r\n\r\n const toggleDropdown = () => {\r\n setIsDropdownOpen(!isDropdownOpen);\r\n };\r\n\r\n const toggleNotification = () => {\r\n setIsNotificationOpen(!isNotificationOpen);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {location?.pathname !== \"/refer-and-earn\" && (\r\n
    \r\n
    \r\n \r\n
    \r\n
    Refer & Earn
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n {/* */}\r\n \r\n
    \r\n {/* */}\r\n \"img\"\r\n {/* */}\r\n
    \r\n \r\n\r\n {isNotificationOpen && (\r\n \r\n
    \r\n
    \r\n

    Notification

    \r\n
    \r\n
    \r\n {state.notificationsList.length ? (\r\n state.notificationsList.map((element, index) => (\r\n
    \r\n
    \r\n
    {element.notification_title}
    \r\n {element.time}\r\n
    \r\n
    \r\n

    {element.notification_description}

    \r\n
    \r\n
    \r\n ))\r\n ) : (\r\n
    \r\n \r\n
    No Notification
    \r\n

    \r\n It seems like you don't have any notification\r\n right now!\r\n

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {!isEmpty(userData) ? (\r\n userData.image.length ? (\r\n \"User\"\r\n ) : (\r\n \r\n )\r\n ) : (\r\n \"Default\r\n )}\r\n \r\n \r\n \r\n \r\n {!isEmpty(userData) && userData.name}\r\n \r\n \r\n {!isEmpty(batchDetails) && batchDetails.batch}\r\n \r\n \r\n \r\n {isDropdownOpen && (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(userData) ? (\r\n userData.image.length ? (\r\n \"User\"\r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.name : \"User\"}\r\n

    \r\n

    \r\n {!isEmpty(userData)\r\n ? userData.mobile\r\n : \"9876543210\"}\r\n

    \r\n
    \r\n
    \r\n {userData.is_subscribe === 1 && (\r\n

    \r\n \r\n

    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n

    Profile

    \r\n \"Arrow\"\r\n \r\n \r\n

    My Wallet

    \r\n \"Arrow\"\r\n \r\n \r\n

    My Packages

    \r\n \"Arrow\"\r\n \r\n
    \r\n \r\n \"Logout\"{\" \"}\r\n Logout\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n logoutUser: () => dispatch(authActions.logoutUser()),\r\n removeAnimation: () => dispatch(uiActions.removeAnimation()),\r\n removeActivityData: () => dispatch(userActivityActions.removeActivityData()),\r\n removePreferenceData: () =>\r\n dispatch(userPreferenceActions.removePreferenceData()),\r\n removeTestsExercisesData: () =>\r\n dispatch(userTestsExercisesAction.removeTestsExercisesData()),\r\n removeTwilioDetails: () =>\r\n dispatch(userTwilioDetailsAction.removeTwilioDetails()),\r\n removeBookmarkData: () => dispatch(userBookmarkAction.removeBookmarkData()),\r\n});\r\n\r\nexport default connect(null, mapDispatchToProps)(HeaderRight);\r\n","import { Fragment } from \"react\";\r\nimport \"./header_component.scss\";\r\n\r\nimport HeaderLeft from \"./header_left_new/Header_left_new\";\r\nimport HeaderTopright from \"./header_left/header_left\";\r\nimport HeaderRight from \"./header_right/header_right\";\r\n\r\n/////React Toastify\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Header_top from \"./header_top/Header_top\";\r\n\r\nconst HeaderComponent = (props) => {\r\n let { userPreference, userData, history } = 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
    \r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(HeaderComponent);\r\n","////////////////////////Mobile Left SideBar//////////////////////////////////\r\nexport const mobileLeftSideBarOpen = () => {\r\n let mobileLeftSideBarWrapper = document.querySelector(\r\n \"#mobile_left_sideBar_wrapper\"\r\n );\r\n let mobileLeftSideBarInnerWrapper = document.querySelector(\r\n \"#mobile_left_sideBar_inner_wrapper\"\r\n );\r\n\r\n /////////////////////////////////////////////////////////\r\n let mobileRightSideBarWrapper = document.querySelector(\r\n \"#mobile_right_sideBar_wrapper\"\r\n );\r\n let mobileRightSideBarInnerWrapper = document.querySelector(\r\n \"#mobile_right_sideBar_inner_wrapper\"\r\n );\r\n\r\n mobileLeftSideBarWrapper.style.width = \"100%\";\r\n mobileLeftSideBarInnerWrapper.style.marginLeft = \"0\";\r\n\r\n //////////////for closing right sidebar if open/////////////////////////////\r\n mobileRightSideBarWrapper.style.width = \"0\";\r\n mobileRightSideBarInnerWrapper.style.marginRight = \"-450px\";\r\n};\r\n\r\nexport const mobileLeftSideBarClose = () => {\r\n let mobileLeftSideBarWrapper = document.querySelector(\r\n \"#mobile_left_sideBar_wrapper\"\r\n );\r\n let mobileLeftSideBarInnerWrapper = document.querySelector(\r\n \"#mobile_left_sideBar_inner_wrapper\"\r\n );\r\n\r\n mobileLeftSideBarWrapper.style.width = \"0\";\r\n mobileLeftSideBarInnerWrapper.style.marginLeft = \"-450px\";\r\n};\r\n\r\n////////////////////////Mobile Right SideBar//////////////////////////////////\r\nexport const mobileRightSideBarOpen = () => {\r\n let mobileRightSideBarWrapper = document.querySelector(\r\n \"#mobile_right_sideBar_wrapper\"\r\n );\r\n let mobileRightSideBarInnerWrapper = document.querySelector(\r\n \"#mobile_right_sideBar_inner_wrapper\"\r\n );\r\n\r\n /////////////////////////////////////////////////////////\r\n let mobileLeftSideBarWrapper = document.querySelector(\r\n \"#mobile_left_sideBar_wrapper\"\r\n );\r\n let mobileLeftSideBarInnerWrapper = document.querySelector(\r\n \"#mobile_left_sideBar_inner_wrapper\"\r\n );\r\n\r\n mobileRightSideBarWrapper.style.width = \"100%\";\r\n mobileRightSideBarInnerWrapper.style.marginRight = \"0\";\r\n\r\n //////////////for closing left sidebar if open/////////////////////////////\r\n mobileLeftSideBarWrapper.style.width = \"0\";\r\n mobileLeftSideBarInnerWrapper.style.marginLeft = \"-450px\";\r\n};\r\n\r\nexport const mobileRightSideBarClose = () => {\r\n let mobileRightSideBarWrapper = document.querySelector(\r\n \"#mobile_right_sideBar_wrapper\"\r\n );\r\n let mobileRightSideBarInnerWrapper = document.querySelector(\r\n \"#mobile_right_sideBar_inner_wrapper\"\r\n );\r\n\r\n mobileRightSideBarWrapper.style.width = \"0\";\r\n mobileRightSideBarInnerWrapper.style.marginRight = \"-450px\";\r\n};\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./mobile_left_sideBar_component.scss\";\r\n\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport { mobileLeftSideBarClose } from \"../../../../../custom_utilities/sideBar_functions\";\r\nimport { NavLink, Link, useLocation } from \"react-router-dom\";\r\n\r\nconst MobileLeftSideBarComponent = () => {\r\n const location = useLocation();\r\n const dropdownCondition = location.pathname == \"/pyq\" ||\r\n location.pathname == \"/cps\" ||\r\n location.pathname == \"/exam\" ||\r\n location.pathname == \"/ots\" ||\r\n location.pathname == \"/exam_cracker\" ||\r\n location.pathname == \"/mock_test\" ||\r\n location.pathname == \"/bit_sat\"\r\n const [dropdown, setDropdown] = useState(dropdownCondition ? true : false)\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n mobileLeftSideBarClose()}\r\n >\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
      \r\n
    • mobileLeftSideBarClose()}>\r\n \r\n
      \r\n \r\n \r\n Home\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n {/* */}\r\n \r\n setDropdown((prev) => !prev)}\r\n >\r\n \r\n \r\n Practice \r\n {dropdown && (\r\n
        \r\n
      • \r\n \r\n \"backBtn\"\r\n PYQ\r\n \r\n
      • \r\n
      • \r\n \r\n \"backBtn\"\r\n CPS\r\n \r\n
      • \r\n
      • \r\n \r\n \"backBtn\"\r\n Exams\r\n \r\n
      • \r\n
      • \r\n \r\n \"backBtn\"\r\n AITS\r\n \r\n
      • \r\n
      • \r\n \r\n \"backBtn\"\r\n Exam Cracker\r\n \r\n
      • \r\n
      • \r\n \r\n \"backBtn\"\r\n BITSAT\r\n \r\n
      • \r\n
      • \r\n \r\n \"backBtn\"\r\n Mock Tests\r\n \r\n
      • \r\n
      \r\n )}\r\n
    \r\n \r\n {/* */}\r\n \r\n
  • mobileLeftSideBarClose()}>\r\n \r\n
    \r\n \r\n \r\n Doubts\r\n
    \r\n
    \r\n
  • \r\n\r\n
  • mobileLeftSideBarClose()}>\r\n \r\n
    \r\n \r\n \r\n Question Bank\r\n
    \r\n
    \r\n
  • \r\n {/*
  • \r\n \r\n
    \r\n \r\n \r\n Analytics\r\n
    \r\n
    \r\n
  • */}\r\n
  • mobileLeftSideBarClose()}>\r\n \r\n
    \r\n \r\n \r\n Bookmarks\r\n
    \r\n
    \r\n
  • \r\n
  • mobileLeftSideBarClose()}>\r\n \r\n
    \r\n \r\n \r\n Store\r\n
    \r\n
    \r\n
  • \r\n
  • mobileLeftSideBarClose()}>\r\n \r\n
    \r\n \r\n \r\n Transactions\r\n
    \r\n
    \r\n
  • \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
      \r\n
    • mobileLeftSideBarClose()}>\r\n \r\n
      \r\n About Us\r\n
      \r\n
      \r\n
    • \r\n
    • mobileLeftSideBarClose()}>\r\n \r\n
      \r\n Privacy Policy\r\n
      \r\n
      \r\n
    • \r\n
    • mobileLeftSideBarClose()}>\r\n \r\n
      \r\n Terms & Condition\r\n
      \r\n
      \r\n
    • \r\n
    • mobileLeftSideBarClose()}>\r\n \r\n
      \r\n FAQ's\r\n
      \r\n
      \r\n
    • \r\n
    • mobileLeftSideBarClose()}>\r\n \r\n
      \r\n Contact Us\r\n
      \r\n
      \r\n
    • \r\n
    • mobileLeftSideBarClose()}>\r\n \r\n
      \r\n Parent Connect\r\n
      \r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default MobileLeftSideBarComponent;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./mobile_header_component.scss\";\r\n\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nimport PreferenceSelectionModal from \"../../../user_utility_components/preference_selection_modal/preference_selection_modal\";\r\nimport Bootstrap from \"bootstrap/dist/js/bootstrap\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_5,\r\n url_6,\r\n url_8,\r\n url_32,\r\n} from \"../../../../../custom_utilities/api_services\";\r\n\r\nimport {\r\n mobileLeftSideBarOpen,\r\n mobileRightSideBarOpen,\r\n} from \"../../../../../custom_utilities/sideBar_functions\";\r\n\r\n/////React Toastify\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport authActions from \"../../../../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../../../../redux/user_preference/action\";\r\n\r\nconst MobileHeaderComponent = (props) => {\r\n let {\r\n userPreference,\r\n userData,\r\n setUser,\r\n setUserPreference,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n let { targetDetails, courseDetails, classDetails, batchDetails } =\r\n userPreference;\r\n ///////////////////////////////////////////////\r\n const [state, setState] = useState({\r\n userDetails: {},\r\n userPreference: {\r\n target_id: \"\",\r\n class_id: \"\",\r\n course_id: \"\",\r\n batch_id: \"\",\r\n },\r\n targets: {},\r\n classes: {},\r\n courses: {},\r\n batches: {},\r\n isTargets: false,\r\n isCourses: false,\r\n isClasses: false,\r\n });\r\n\r\n useEffect(() => {\r\n setUserData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(state.targets) && !state.isTargets) {\r\n getClasses();\r\n setState((prevState) => ({ ...prevState, isTargets: true }));\r\n }\r\n }, [state.targets]);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(state.classes) && !state.isClasses) {\r\n getCourses();\r\n setState((prevState) => ({ ...prevState, isClasses: true }));\r\n }\r\n }, [state.classes]);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(state.courses) && !state.isCourses) {\r\n getBatches();\r\n setState((prevState) => ({ ...prevState, isCourses: true }));\r\n }\r\n }, [state.courses]);\r\n\r\n const handlePreferenceModal = async (action) => {\r\n // if (action === \"open\") {\r\n // preferenceModal.show();\r\n // } else if (action === \"close\") {\r\n // preferenceModal.hide();\r\n // }\r\n let returnedResponse = await getUserProfile();\r\n if (returnedResponse.result === 1) {\r\n //////set user preference////////\r\n setUserPreference({\r\n targetDetails: returnedResponse.data.apiData.UsertargetDetail,\r\n classDetails: {\r\n class_id: returnedResponse.data.apiData.class_id,\r\n class: returnedResponse.data.apiData.class,\r\n },\r\n courseDetails: returnedResponse.data.apiData.targets,\r\n batchDetails: {\r\n batch_id: returnedResponse.data.apiData.batch_id,\r\n batch: returnedResponse.data.apiData.batch,\r\n },\r\n });\r\n\r\n setUserPreferences_1(returnedResponse.data.apiData);\r\n\r\n let returnedResponse_2 = await getTargets();\r\n\r\n if (returnedResponse_2.result === 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n targets: returnedResponse_2.data.apiData,\r\n }));\r\n getClasses();\r\n //////////////////////////\r\n let options = {\r\n keyboard: false,\r\n backdrop: false,\r\n };\r\n let preferenceModal = new Bootstrap.Modal(\r\n document.getElementById(\"preference_selection_modal\"),\r\n options\r\n );\r\n preferenceModal.show();\r\n }\r\n }\r\n };\r\n\r\n const getUserProfile = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_8);\r\n // const response = await axios.get(`${BASE_URL}/api/user/get`);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return { result: 1, data: { apiData: response.data.data } };\r\n } else {\r\n finishLoading();\r\n return { result: 0, data: { apiData: {} } };\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n return { result: 0, data: { apiData: {} } };\r\n }\r\n };\r\n\r\n const setUserData = () => {\r\n setState((prevState) => ({ ...prevState, userDetails: userData }));\r\n };\r\n\r\n const setUserPreferences_1 = (apiData) => {\r\n if (apiData.UsertargetDetail.length) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: apiData.UsertargetDetail[0].target_id,\r\n course_id: apiData.targets[0].course_id,\r\n class_id: apiData.class_id,\r\n batch_id: apiData.batch_id,\r\n },\r\n }));\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: \"\",\r\n course_id: \"\",\r\n class_id: \"\",\r\n batch_id: \"\",\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const getTargets = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_5);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return { result: 1, data: { apiData: response.data.data } };\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n return { result: 0, data: { apiData: {} } };\r\n }\r\n };\r\n\r\n const getClasses = () => {\r\n let targets = { ...state.targets };\r\n let userPreference = { ...state.userPreference };\r\n let classes = {};\r\n\r\n if (!isEmpty(targets)) {\r\n classes = targets.target.find((element) => {\r\n return element.target_id === parseInt(userPreference.target_id);\r\n });\r\n }\r\n\r\n if (!isEmpty(classes)) {\r\n setState((prevState) => ({ ...prevState, classes: classes }));\r\n getCourses();\r\n }\r\n };\r\n\r\n const getCourses = () => {\r\n let classes = { ...state.classes };\r\n let userPreference = { ...state.userPreference };\r\n let courses = {};\r\n\r\n if (!isEmpty(classes)) {\r\n courses = classes.classes.find((element) => {\r\n return element.class_id === parseInt(userPreference.class_id);\r\n });\r\n }\r\n\r\n if (!isEmpty(courses)) {\r\n setState((prevState) => ({ ...prevState, courses: courses }));\r\n getBatches();\r\n }\r\n };\r\n\r\n const getBatches = () => {\r\n let courses = { ...state.courses };\r\n let userPreference = { ...state.userPreference };\r\n let batches = {};\r\n\r\n if (!isEmpty(courses)) {\r\n batches = courses.course.find((element) => {\r\n return element.course_id === parseInt(userPreference.course_id);\r\n });\r\n }\r\n\r\n if (!isEmpty(batches)) {\r\n setState((prevState) => ({ ...prevState, batches: batches }));\r\n }\r\n };\r\n\r\n const handleChangeTarget = (event) => {\r\n let { value } = event.target;\r\n let targets = { ...state.targets };\r\n let classes = {};\r\n\r\n classes = targets.target.find((element) => {\r\n return element.target_id === parseInt(value);\r\n });\r\n\r\n if (!isEmpty(classes)) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n classes: classes,\r\n courses: {},\r\n batches: {},\r\n userPreference: {\r\n ...prevState.userPreference,\r\n target_id: parseInt(value),\r\n class_id: \"\",\r\n course_id: \"\",\r\n batch_id: \"\",\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const handleChangeClass = (event) => {\r\n let { value } = event.target;\r\n let classes = { ...state.classes };\r\n let courses = {};\r\n\r\n courses = classes.classes.find((element) => {\r\n return element.class_id === parseInt(value);\r\n });\r\n\r\n\r\n if (!isEmpty(courses)) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n courses: courses,\r\n batches: {},\r\n userPreference: {\r\n ...prevState.userPreference,\r\n class_id: parseInt(value),\r\n course_id: \"\",\r\n batch_id: \"\",\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const handleChangeCourse = (event) => {\r\n let { value } = event.target;\r\n let courses = { ...state.courses };\r\n let batches = {};\r\n\r\n batches = courses.course.find((element) => {\r\n return element.course_id === parseInt(value);\r\n });\r\n\r\n if (!isEmpty(batches)) {\r\n if (batches.batch.length) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n batches: batches,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n course_id: parseInt(value),\r\n batch_id: parseInt(batches.batch[0].batch_id),\r\n },\r\n }));\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n batches: batches,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n course_id: parseInt(value),\r\n batch_id: \"\",\r\n },\r\n }));\r\n }\r\n }\r\n };\r\n\r\n const handleChangeBatch = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n batch_id: parseInt(value),\r\n },\r\n }));\r\n };\r\n\r\n const upadateCourseApi = async (data) => {\r\n try {\r\n const response = await axios.post(url_32, data);\r\n // const response = await axios.post(`${BASE_URL}/api/user/signup`, data);\r\n if (response.status === 200) {\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else {\r\n return { result: 0, data: { message: response.data.message } };\r\n }\r\n } else {\r\n return { result: 0, data: { message: \"Something went wrong!!!\" } };\r\n }\r\n } catch (error) {\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n\r\n const validCheckUserPreference = (userPreference) => {\r\n let valid = true;\r\n\r\n Object.values(userPreference).forEach((val) => {\r\n val === \"\" && (valid = false);\r\n });\r\n\r\n return valid;\r\n };\r\n\r\n const handleUpdateCourse = async () => {\r\n let userDetails = { ...state.userDetails };\r\n let userPreference = { ...state.userPreference };\r\n\r\n if (window.navigator.onLine) {\r\n if (validCheckUserPreference(userPreference)) {\r\n let data = {\r\n ///////////////////////////////////////////\r\n user_target_id: userPreference.target_id,\r\n class_id: userPreference.class_id,\r\n course_id: userPreference.course_id,\r\n batch_id: userPreference.batch_id,\r\n };\r\n startLoading();\r\n let returnedResponse = await upadateCourseApi(data);\r\n\r\n if (returnedResponse.result === 1) {\r\n finishLoading();\r\n setUser(returnedResponse.data.apiData);\r\n //////set user preference////////\r\n setUserPreference({\r\n targetDetails: returnedResponse.data.apiData.UsertargetDetail,\r\n classDetails: {\r\n class_id: returnedResponse.data.apiData.class_id,\r\n class: returnedResponse.data.apiData.class,\r\n },\r\n courseDetails: returnedResponse.data.apiData.targets,\r\n batchDetails: {\r\n batch_id: returnedResponse.data.apiData.batch_id,\r\n batch: returnedResponse.data.apiData.batch,\r\n },\r\n });\r\n handlePreferenceModal(\"close\");\r\n window.location.reload();\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Please select target, course, class and batch carefully\");\r\n }\r\n } else {\r\n alert(\"Please check your internet connection\");\r\n }\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPreference: {\r\n ...prevState.userPreference,\r\n course_id: \"\",\r\n class_id: \"\",\r\n batch_id: \"\",\r\n },\r\n courses: {},\r\n classes: {},\r\n batches: {},\r\n isCourses: false,\r\n isClasses: false,\r\n }));\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n mobileLeftSideBarOpen()}\r\n >\r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n handlePreferenceModal(\"open\")}\r\n >\r\n \r\n

    Course

    \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n mobileRightSideBarOpen()}\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n setUserPreference: (payload) => {\r\n dispatch(userPreferenceActions.setUserPreference(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(MobileHeaderComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./mobile_right_sideBar_component.scss\";\r\n\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport { NavLink, Link } from \"react-router-dom\";\r\nimport { mobileRightSideBarClose } from \"../../../../../custom_utilities/sideBar_functions\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport authActions from \"../../../../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../../../../redux/user_preference/action\";\r\nimport userActivityActions from \"../../../../../redux/user_activity/action\";\r\nimport userTestsExercisesAction from \"../../../../../redux/user_tests_exercises/action\";\r\nimport userTwilioDetailsAction from \"../../../../../redux/twilio_chat/action\";\r\nimport userBookmarkAction from \"../../../../../redux/user_bookmark/action\";\r\n\r\nconst MobileRightSideBarComponent = (props) => {\r\n let {\r\n history,\r\n userData,\r\n logoutUser,\r\n removeAnimation,\r\n removePreferenceData,\r\n removeActivityData,\r\n removeTestsExercisesData,\r\n removeTwilioDetails,\r\n removeBookmarkData,\r\n } = props;\r\n\r\n const handleUserLogout = () => {\r\n logoutUser();\r\n removeAnimation();\r\n removePreferenceData();\r\n removeActivityData();\r\n removeTestsExercisesData();\r\n removeTwilioDetails();\r\n removeBookmarkData();\r\n history.push(\"/\");\r\n };\r\n\r\n return (\r\n \r\n mobileRightSideBarClose()}\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(userData) ? (\r\n userData.image.length ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.name : \"User\"}{\" \"}\r\n

    \r\n

    \r\n {!isEmpty(userData) ? userData.mobile : \"9876543210\"}\r\n

    \r\n

    \r\n {userData.is_subscribe === 1 ? (\r\n \r\n Premium\r\n \r\n ) : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n Profile\r\n

    \r\n
    \r\n \r\n

    \r\n Notifications\r\n

    \r\n
    \r\n \r\n

    \r\n My Wallet\r\n

    \r\n
    \r\n handleUserLogout()}\r\n >\r\n Logout\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n logoutUser: () => {\r\n dispatch(authActions.logoutUser());\r\n },\r\n removeAnimation: () => {\r\n dispatch(uiActions.removeAnimation());\r\n },\r\n removeActivityData: () => {\r\n dispatch(userActivityActions.removeActivityData());\r\n },\r\n removePreferenceData: () => {\r\n dispatch(userPreferenceActions.removePreferenceData());\r\n },\r\n removeTestsExercisesData: () => {\r\n dispatch(userTestsExercisesAction.removeTestsExercisesData());\r\n },\r\n removeTwilioDetails: () => {\r\n dispatch(userTwilioDetailsAction.removeTwilioDetails());\r\n },\r\n removeBookmarkData: () => {\r\n dispatch(userBookmarkAction.removeBookmarkData());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(MobileRightSideBarComponent);\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport Slider from \"react-slick\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { BASE_URL } from \"../../../../../../custom_utilities/baseURL\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst DashboardSlider = (props) => {\r\n let { token, tokenType } = props;\r\n const [state, setState] = useState([]);\r\n const [pathMappings, setPathMappings] = useState({});\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n getSliderImg();\r\n }, []);\r\n\r\n const getSliderImg = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n try {\r\n const response = await axios.get(\r\n `${BASE_URL}/api/user/WebSliderImagestest?version=1`,\r\n headers\r\n );\r\n if (response.data.status === 200) {\r\n setState(response.data.data);\r\n setPathMappings(createPathMappings(response.data.data));\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n const createPathMappings = (data) => {\r\n const pathMappings = {};\r\n data.forEach((item) => {\r\n if (item.value) {\r\n pathMappings[item.value] = `/${item.redirect_path.toLowerCase()}`;\r\n }\r\n });\r\n return pathMappings;\r\n };\r\n\r\n const navigateToPath = (identifier) => {\r\n const path = pathMappings[identifier];\r\n if (path) {\r\n history.push(path);\r\n } else {\r\n console.error(\"Path not found for identifier:\", identifier);\r\n }\r\n };\r\n\r\n const handleImageClick = (identifier) => {\r\n navigateToPath(identifier);\r\n };\r\n\r\n const settings = {\r\n dots: true,\r\n infinite: true,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n arrows: false,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n {state.length > 0 ? (\r\n state.map((element, index) => (\r\n
    \r\n \r\n handleImageClick(element.value)}\r\n style={{\r\n width: \"100%\",\r\n height: \"100%\",\r\n objectFit: \"cover\",\r\n }}\r\n />\r\n
    \r\n
    \r\n ))\r\n ) : (\r\n
    \r\n
    \r\n \"default\"\r\n
    \r\n
    \r\n )}\r\n \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\nexport default connect(mapStateToProps)(DashboardSlider);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./subject_collection_view.scss\";\r\n\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { backGroundColorFromBackend } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_9 } from \"../../../../../../custom_utilities/api_services\";\r\n//slick-carousel\r\nimport Slider from \"react-slick\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\n\r\nconst SubjectCollectionView = (props) => {\r\n let { history, userPreference, setSubjectData } = props;\r\n let { courseDetails, classDetails } = userPreference;\r\n\r\n const [state, setState] = useState({\r\n subjectList: {},\r\n });\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n\r\n const getSubjectList = async () => {\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n };\r\n // startLoading();\r\n try {\r\n const response = await axios.post(url_9, data);\r\n // const response = await axios.post(\r\n // `${BASE_URL}/api/user/UserSubject`,\r\n // data\r\n // );\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n // finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderSubjectImage = (icon) => {\r\n if (icon) {\r\n return ;\r\n } else {\r\n return ;\r\n }\r\n };\r\n\r\n const handleRedirect = (type, data) => {\r\n switch (type.toLowerCase()) {\r\n case \"all\":\r\n history.push(\"/subject_component\");\r\n break;\r\n case \"subject\":\r\n setSubjectData({\r\n subjectId: data.sub_id,\r\n subjectName: data.sub_name,\r\n subjectIcon: data.icon,\r\n });\r\n history.push(\"/subject_component\");\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n const settings = {\r\n dots: false,\r\n infinite: false,\r\n autoplay: false,\r\n autoplaySpeed: 3000,\r\n arrows: true,\r\n slidesToShow: 4,\r\n slidesToScroll: 1,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n // dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n autoplay: true,\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n infinite: true,\r\n arrows: false,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.subject.length\r\n ? state.subjectList.subject.map((element, index) => {\r\n return (\r\n \r\n \r\n handleRedirect(\"subject\", element)\r\n }\r\n >\r\n
    \r\n {renderSubjectImage(element.icon1)}\r\n
    \r\n
    \r\n

    \r\n {element.sub_name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.subject.length\r\n ? state.subjectList.subject.map((element, index) => {\r\n return (\r\n \r\n handleRedirect(\"subject\", element)}\r\n >\r\n
    \r\n {renderSubjectImage(element.icon)}\r\n {/* */}\r\n
    \r\n
    \r\n

    \r\n {element.sub_name}\r\n

    \r\n
    \r\n {/*
    \r\n \"arrow\"\r\n
    */}\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n setSubjectData: (payload) => {\r\n dispatch(userActivityActions.setSubjectData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDipatchToProps\r\n)(SubjectCollectionView);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./last_paused_video.scss\";\r\n\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { url_51 } from \"../../../../../../custom_utilities/api_services\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport authActions from \"../../../../../../redux/auth/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\n\r\nconst LastPausedVideo = (props) => {\r\n let { history, setVideoData } = props;\r\n\r\n const [state, setState] = useState({\r\n videoDetails: {},\r\n });\r\n\r\n useEffect(() => {\r\n getLastPlayVideoDetails();\r\n }, []);\r\n\r\n const getLastPlayVideoDetails = async () => {\r\n try {\r\n const response = await axios.get(url_51);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n videoDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleStoreVideoData = (videoData) => {\r\n videoData.redirectedFrom = \"last_paused_video\";\r\n setVideoData(videoData);\r\n history.push(\"/videos\");\r\n };\r\n\r\n return (\r\n \r\n {!isEmpty(state.videoDetails) ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Pause Videos

    \r\n

    \r\n Lorem Ipsum is simply dummy text of the printing and\r\n typesetting industry simply dummy text of the printing and\r\n typesetting industry.\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* handleStoreVideoData(state.videoDetails)}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {state.videoDetails.video_title}\r\n

    \r\n
    \r\n
    \r\n
    */}\r\n handleStoreVideoData(state.videoDetails)}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {state.videoDetails.video_title}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {/*
    \r\n {element.IsSaved ? (\r\n handleBookmarkVideo(element)}\r\n />\r\n ) : (\r\n handleBookmarkVideo(element)}\r\n />\r\n )}\r\n
    */}\r\n
    \r\n
    \r\n
    \r\n Resume\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n auth: state.auth,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setVideoData: (payload) => {\r\n dispatch(userActivityActions.setVideoData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(LastPausedVideo);\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst LiveVideoStreamingSlice = createSlice({\r\n name: \"liveVideoStreaming\",\r\n initialState: {\r\n zoomId: \"\",\r\n isLive: \"\",\r\n live_class_id:\"\"\r\n },\r\n\r\n reducers: {\r\n setLiveVideoStreamDetails: (state, action) => {\r\n state.zoomId = action.payload.zoomId;\r\n state.isLive = action.payload.isLive;\r\n state.live_class_id = action.payload.live_class_id\r\n },\r\n },\r\n});\r\n\r\nexport const { setLiveVideoStreamDetails } = LiveVideoStreamingSlice.actions;\r\nexport default LiveVideoStreamingSlice.reducer;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./schedule_class.scss\";\r\n// Import react-circular-progressbar module and styles\r\nimport {\r\n CircularProgressbar,\r\n CircularProgressbarWithChildren,\r\n buildStyles,\r\n} from \"react-circular-progressbar\";\r\nimport \"react-circular-progressbar/dist/styles.css\";\r\nimport moment from \"moment\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { Link, NavLink } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport {\r\n isEmpty,\r\n sliceString,\r\n splitString,\r\n} from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { BASE_URL } from \"../../../../../../custom_utilities/baseURL\";\r\nimport {\r\n url_14,\r\n url_15,\r\n url_15_1,\r\n url_55,\r\n url_99,\r\n url_100,\r\n url_8,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\n\r\nimport * as base64JS from \"js-base64\";\r\nimport * as rdd from \"react-device-detect\";\r\nimport { setLiveVideoStreamDetails } from \"../../../../../../redux/live_video_streaming/LiveVideoStreamingSlice\";\r\n\r\nconst ScheduleClass = (props) => {\r\n let {\r\n history,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n setVideoData,\r\n setNotesData,\r\n setLiveStreamData,\r\n token,\r\n tokenType,\r\n setLiveVideoStreamDetailsAction,\r\n } = props;\r\n let { targetDetails, courseDetails, classDetails, batchDetails } =\r\n userPreference;\r\n\r\n const [userTestProgressDetails, setUserTestProgressDetails] = useState({});\r\n\r\n const [state, setState] = useState({\r\n selectedSchedule: {\r\n date: \"\",\r\n day: \"\",\r\n },\r\n scheduleTimeTable: {},\r\n scheduleData: {\r\n videos: [],\r\n notes: [],\r\n liveClasses: [],\r\n offline: [],\r\n },\r\n isPaid: null,\r\n });\r\n\r\n useEffect(() => {\r\n getScheduleTimeTable();\r\n getMyProgressDetails();\r\n getUserData();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.selectedSchedule.date) {\r\n getScheduleContent();\r\n }\r\n }, [state.selectedSchedule.date]);\r\n\r\n const getUserData = async () => {\r\n try {\r\n const response = await axios.get(url_8);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n isPaid: response.data.data.is_paid,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getMyProgressDetails = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const response = await axios.post(url_99, headers);\r\n if (response.data.status === 200) {\r\n setUserTestProgressDetails({ ...response.data.data });\r\n }\r\n };\r\n\r\n const getScheduleTimeTable = async () => {\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n batch_id: batchDetails.batch_id,\r\n };\r\n\r\n try {\r\n let response = await axios.get(\r\n `${url_14}?course_id=${data.course_id}&batch_id=${data.batch_id}`\r\n );\r\n if (response.data.status === 200) {\r\n if (response.data.data.ScheduleWeek.length) {\r\n let returnedResponse = getTodayDateAndDay();\r\n setState((prevState) => ({\r\n ...prevState,\r\n scheduleTimeTable: response.data.data,\r\n selectedSchedule: {\r\n ...prevState.selectedSchedule,\r\n // date: response.data.data.ScheduleWeek[0].date,\r\n // day: response.data.data.ScheduleWeek[0].day,\r\n date: returnedResponse.date,\r\n day: returnedResponse.day,\r\n },\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTodayDateAndDay = () => {\r\n let d = new Date();\r\n let date, month, year, day;\r\n let dayArr = [\r\n \"Sunday\",\r\n \"Monday\",\r\n \"Tuesday\",\r\n \"Wednesday\",\r\n \"Thursday\",\r\n \"Friday\",\r\n \"Saturday\",\r\n ];\r\n date = d.getDate();\r\n month = d.getMonth();\r\n year = d.getFullYear();\r\n day = d.getDay();\r\n\r\n if (date < 10) {\r\n date = `0${date}`;\r\n }\r\n\r\n // if (month < 10) {\r\n // month = `0${month + 1}`;\r\n // }\r\n if (month < 9) {\r\n month = `0${month + 1}`;\r\n } else {\r\n month = `${month + 1}`;\r\n }\r\n\r\n let data = {\r\n date: `${year}-${month}-${date}`,\r\n day: dayArr[day],\r\n };\r\n return data;\r\n };\r\n\r\n const handleChangeScheduleDate = (event, date, day) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedSchedule: { ...prevState.selectedSchedule, date: date, day: day },\r\n }));\r\n };\r\n\r\n const getScheduleContent = async () => {\r\n let selectedSchedule = { ...state.selectedSchedule };\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n batch_id: batchDetails.batch_id,\r\n day: selectedSchedule.day,\r\n date: selectedSchedule.date,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_15_1, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n scheduleData: {\r\n ...prevState.scheduleData,\r\n videos: response.data.data.video,\r\n notes: response.data.data.notes,\r\n liveClasses: response.data.data.zoomclass,\r\n offline: response.data.data.offline,\r\n },\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleStoreVideoData = (videoData) => {\r\n if (!videoData.is_paid) {\r\n videoData.redirectedFrom = \"schedule_class\";\r\n setVideoData(videoData);\r\n history.push(\"/videos\");\r\n } else {\r\n alert(\"You haven't purchased a plan. Please purchase it from store.\");\r\n history.push(\"/store\");\r\n }\r\n };\r\n\r\n const handleStoreNotesData = (notesData) => {\r\n if (notesData.is_paid) {\r\n notesData.redirectedFrom = \"schedule_class\";\r\n setNotesData(notesData);\r\n history.push(\"/notes\");\r\n } else {\r\n alert(\"You haven't purchased a plan. Please purchase it from store.\");\r\n history.push(\"/store\");\r\n }\r\n };\r\n\r\n const setLiveClassRecord = async (element) => {\r\n if (state.isPaid === 0) {\r\n alert(\"You haven't purchased a plan. Please purchase it from store.\");\r\n history.push(\"/store\");\r\n return;\r\n }\r\n\r\n let zoomId = decrypt_functionality(element.zoom_id);\r\n\r\n // let zoomId = decrypt_functionality(element.zoom_id);\r\n\r\n let data = {\r\n device_id: rdd.fullBrowserVersion,\r\n device_type: rdd.browserName,\r\n device_name: rdd.osName,\r\n zoom_id: zoomId,\r\n type: \"Web\",\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_55, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n if (element.stream_service === \"1\") {\r\n handleStoreLiveStreamData(element);\r\n } else if (element.stream_service === \"2\") {\r\n setLiveVideoStreamDetailsAction({\r\n zoomId,\r\n isLive: true,\r\n live_class_id: element.id,\r\n });\r\n\r\n history.push({\r\n pathname: \"/streaming\",\r\n state: { zoomId: zoomId, isLive: true, live_class_id: element.id },\r\n });\r\n } else {\r\n alert(\"There was an error, Please try again later\");\r\n }\r\n } else {\r\n finishLoading();\r\n alert(response.data.message);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const decrypt_functionality = (val) => {\r\n const CryptoJS = require(\"crypto-js\");\r\n\r\n let encrypted = val;\r\n let key = \"0CiuKpLCZbX7gBCyYTka4USxTnh7ssXKk8bJ6Y3TXPc=\";\r\n\r\n encrypted = atob(encrypted);\r\n\r\n encrypted = JSON.parse(encrypted);\r\n\r\n // console.log('Laravel encryption result', encrypted);\r\n\r\n // IV is base64 encoded in Laravel, expected as word array in cryptojs\r\n const iv = CryptoJS.enc.Base64.parse(encrypted.iv);\r\n\r\n // Value (chipher text) is also base64 encoded in Laravel, same in cryptojs\r\n const value = encrypted.value;\r\n\r\n // Key is base64 encoded in Laravel, word array expected in cryptojs\r\n key = CryptoJS.enc.Base64.parse(key);\r\n\r\n // Decrypt the value, providing the IV.\r\n var decrypted = CryptoJS.AES.decrypt(value, key, {\r\n iv: iv,\r\n });\r\n\r\n // CryptoJS returns a word array which can be\r\n // converted to string like this\r\n decrypted = decrypted.toString(CryptoJS.enc.Utf8);\r\n\r\n //console.log(decrypted); // Voilà! Prints \"Hello world!\"\r\n\r\n return decrypted.split(\"*\")[1];\r\n };\r\n\r\n const handleStoreLiveStreamData = (liveStreamData) => {\r\n // if (liveStreamData.is_paid) {\r\n liveStreamData.redirectedFrom = \"schedule_class\";\r\n setLiveStreamData(liveStreamData);\r\n history.push(\"/zoom\");\r\n // } else {\r\n // alert(\"You haven't purchased a plan. Please purchase it from store.\");\r\n // history.push(\"/store\");\r\n // }\r\n };\r\n\r\n const renderNoDataPlaceholder = (type) => {\r\n switch (type) {\r\n case \"videos\":\r\n return (\r\n \r\n {/*
    \r\n

    Videos Section

    \r\n
    */}\r\n {/* */}\r\n \r\n );\r\n // case \"notes\":\r\n // return (\r\n // \r\n //
    \r\n //

    Notes Section

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // case \"live_class\":\r\n // return (\r\n // \r\n //
    \r\n //

    Live Class Section

    \r\n //
    \r\n // \r\n // \r\n // );\r\n default:\r\n return null;\r\n }\r\n };\r\n function getLabel({\r\n current_time: currentTime,\r\n start_time: startTime,\r\n meetdate,\r\n end_time: endTime,\r\n stream_service,\r\n status_stream,\r\n }) {\r\n if (stream_service === \"1\") {\r\n currentTime = getMomentFromString(currentTime);\r\n startTime = getMomentFromString(startTime, meetdate);\r\n endTime = getMomentFromString(endTime, meetdate);\r\n let label = \"\";\r\n\r\n if (currentTime.isBefore(startTime)) label = \"Upcoming\";\r\n else if (currentTime.isBetween(startTime, endTime)) label = \"Live\";\r\n else if (currentTime.isAfter(endTime)) label = \"Ended\";\r\n return label;\r\n } else if (stream_service === \"2\") {\r\n let label = \"\";\r\n\r\n if (status_stream === \"live\") {\r\n label = \"Live\";\r\n } else if (status_stream === \"ended\") {\r\n label = \"Ended\";\r\n } else if (status_stream === \"recorded\") {\r\n label = \"Recorded\";\r\n } else {\r\n label = \"Upcoming\";\r\n }\r\n return label;\r\n }\r\n }\r\n // function getLabel(currentTime, startTime, endTime, meetdate) {\r\n // currentTime = getMomentFromString(currentTime);\r\n // startTime = getMomentFromString(startTime, meetdate);\r\n // endTime = getMomentFromString(endTime, meetdate)\r\n // let label = \"\"\r\n // if (currentTime.isBefore(startTime)) label = \"upcomming\";\r\n // else if (currentTime.isBetween(startTime, endTime)) label = \"live\";\r\n // else if (currentTime.isAfter(endTime)) label = \"end\"\r\n // return label\r\n // }\r\n\r\n function getMomentFromString(timeString, meetdate) {\r\n const date = meetdate ? moment(meetdate, \"YYYY-MM-DD\") : moment();\r\n const [hour, minute, second = \"0\"] = timeString.split(\":\");\r\n return date.set({ hour, minute, second });\r\n }\r\n // function getMomentFromString(timeString){\r\n // const date = moment();\r\n // const [ hour, minute, second = \"0\"] = timeString.split(\":\")\r\n // return date.set({hour, minute, second})\r\n // }\r\n const percentage = 60;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n

    My Schedule

    \r\n \r\n
    \r\n {!isEmpty(state.scheduleTimeTable)\r\n ? state.scheduleTimeTable.ScheduleWeek.length\r\n ? state.scheduleTimeTable.ScheduleWeek.map(\r\n (element, index) => {\r\n return (\r\n
    \r\n \r\n handleChangeScheduleDate(\r\n event,\r\n element.date,\r\n element.day\r\n )\r\n }\r\n checked={\r\n element.date === state.selectedSchedule.date\r\n }\r\n />\r\n\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n \r\n
    \r\n
    \r\n {/* //////////////////videos//////////////////////////////////////////// */}\r\n {state.scheduleData.videos.length\r\n ? state.scheduleData.videos.map((element, index) => {\r\n return (\r\n handleStoreVideoData(element)}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.notes_title}\r\n

    \r\n
    \r\n
    \r\n

    {`by ${element.by_upload}`}

    \r\n
    \r\n
    \r\n

    \r\n {element.subject}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n {`${element.start_time} - ${element.end_time}`}\r\n

    \r\n
    \r\n
    \r\n
    \r\n Video\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : renderNoDataPlaceholder(\"videos\")}\r\n {/* ////////////////////////////notes/////////////////////////////// */}\r\n {state.scheduleData.notes.length\r\n ? state.scheduleData.notes.map((element, index) => {\r\n return (\r\n handleStoreNotesData(element)}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.notes_title}\r\n

    \r\n
    \r\n
    \r\n

    {`by ${element.by_upload}`}

    \r\n
    \r\n
    \r\n

    \r\n {element.subject}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n \r\n {`${element.start_time} - ${element.end_time}`}\r\n

    \r\n
    \r\n
    \r\n
    \r\n Notes\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : // renderNoDataPlaceholder(\"notes\")}\r\n null}\r\n {/* ///////////////////////////live Classess/////////////////////////// */}\r\n\r\n {state.scheduleData.liveClasses.length\r\n ? state.scheduleData.liveClasses.map((element, index) => {\r\n return (\r\n setLiveClassRecord(element)}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.description}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {element.subject}\r\n

    \r\n
    \r\n
    \r\n

    {`by ${element.by_upload}`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Join Live Class at:-\r\n {`${moment(\r\n element.start_time,\r\n \"HH:mm:ss\"\r\n ).format(\"hh:mm A\")} - ${moment(\r\n element.end_time,\r\n \"HH:mm:ss\"\r\n ).format(\"hh:mm A\")}`}\r\n

    \r\n \r\n {getLabel(element)}\r\n \r\n
    \r\n
    \r\n {/*
    \r\n \r\n {element.current_time < element.end_time &&\r\n element.current_time > element.start_time\r\n ? \"Running\"\r\n : element.current_time > element.end_time\r\n ? \"Ended\"\r\n : element.current_time < element.start_time\r\n ? \"Upcoming\"\r\n : \"Problem\"}\r\n \r\n
    */}\r\n
    \r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : // renderNoDataPlaceholder(\"live_class\")\r\n null}\r\n {/* ///////////////////////////Offline Classess/////////////////////////// */}\r\n\r\n {state.scheduleData.offline.length\r\n ? state.scheduleData.offline.map((element, index) => {\r\n return (\r\n setLiveClassRecord(element)}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {`Batch - ${element.batch_name} (${element.subject_name})`}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {`Topic - ${element.topic}`}\r\n

    \r\n
    \r\n
    \r\n

    {`by ${element.faculty_name} at ${element.venue}`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Offline Class,\r\n {`${moment(\r\n element.start_time,\r\n \"HH:mm:ss\"\r\n ).format(\"hh:mm A\")} - ${moment(\r\n element.end_time,\r\n \"HH:mm:ss\"\r\n ).format(\"hh:mm A\")}`}\r\n

    \r\n {element.date >\r\n moment(new Date()).format(\"YYYY-MM-DD\") ? (\r\n Upcoming\r\n ) : element.date <\r\n moment(new Date()).format(\"YYYY-MM-DD\") ? (\r\n Ended\r\n ) : element.date ==\r\n moment(new Date()).format(\"YYYY-MM-DD\") &&\r\n moment(new Date()).format(\"hh:mm A\") <\r\n element.end_time &&\r\n moment(new Date()).format(\"hh:mm A\") >\r\n element.start_time ? (\r\n Running\r\n ) : moment(new Date()).format(\"hh:mm A\") <\r\n element.start_time ? (\r\n Upcoming\r\n ) : (\r\n Ended\r\n )}\r\n
    \r\n
    \r\n {/*
    \r\n \r\n {element.current_time < element.end_time &&\r\n element.current_time > element.start_time\r\n ? \"Running\"\r\n : element.current_time > element.end_time\r\n ? \"Ended\"\r\n : element.current_time < element.start_time\r\n ? \"Upcoming\"\r\n : \"Problem\"}\r\n \r\n
    */}\r\n {/*
    \r\n \r\n {element.date >\r\n moment(new Date()).format(\"YYYY-MM-DD\")\r\n ? Upcoming\r\n : element.date < moment(new Date()).format(\"YYYY-MM-DD\")\r\n ? Ended\r\n : element.date == moment(new Date()).format(\"YYYY-MM-DD\") && moment(new Date()).format(\"hh:mm A\") < element.end_time && moment(new Date()).format(\"hh:mm A\") > element.start_time\r\n ? Running\r\n : moment(new Date()).format(\"hh:mm A\") < element.start_time\r\n ? Upcoming\r\n : Ended}\r\n \r\n
    */}\r\n
    \r\n
    \r\n {/* \"arrow\" */}\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : // renderNoDataPlaceholder(\"live_class\")\r\n null}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    My Progress

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n Overall Score\r\n
    \r\n
    \r\n
    \r\n \r\n {userTestProgressDetails\r\n ? userTestProgressDetails.user_total_test\r\n : null}\r\n \r\n Test Attempted\r\n
    \r\n\r\n
    \r\n \r\n {userTestProgressDetails\r\n ? userTestProgressDetails.userdatacorrect\r\n : null}\r\n \r\n Correct Answers\r\n
    \r\n
    \r\n \r\n {userTestProgressDetails\r\n ? userTestProgressDetails.userdataincorrect\r\n : null}{\" \"}\r\n \r\n Incorrect Answers\r\n
    \r\n
    \r\n \r\n {userTestProgressDetails\r\n ? userTestProgressDetails.userdataunattempt\r\n : null}{\" \"}\r\n \r\n Questions Skipped\r\n
    \r\n
    \r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    PYQ/TEST-SERIES

    \r\n
    \r\n
    \r\n \r\n
    \r\n Previous Year Papers{\" \"}\r\n \r\n \"arrow\"\r\n \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n Test Series{\" \"}\r\n \r\n \"arrow\"\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/* */}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setVideoData: (payload) => {\r\n dispatch(userActivityActions.setVideoData(payload));\r\n },\r\n setNotesData: (payload) => {\r\n dispatch(userActivityActions.setNotesData(payload));\r\n },\r\n setLiveStreamData: (payload) => {\r\n dispatch(userActivityActions.setLiveStreamData(payload));\r\n },\r\n\r\n setLiveVideoStreamDetailsAction: (payload) => {\r\n dispatch(setLiveVideoStreamDetails(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ScheduleClass);\r\n","import { Fragment } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport \"./new_offerings_slider.scss\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { BASE_URL } from \"../../../../../../custom_utilities/baseURL\";\r\n\r\n//slick-carousel\r\nimport Slider from \"react-slick\";\r\n\r\nconst NewOfferingsSlider = ({ state }) => {\r\n const history = useHistory();\r\n\r\n const handleRedirect = (elem) => {\r\n switch (elem.name) {\r\n case \"EXAM CRACKER\":\r\n history.push({\r\n pathname: \"/exam_cracker\",\r\n state: { tab: \"exam_cracker\" },\r\n });\r\n break;\r\n case \"OTS - Online Test Series\":\r\n history.push({\r\n pathname: \"/ots\",\r\n state: { tab: \"ots\" },\r\n });\r\n break;\r\n case \"PYQ\":\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n break;\r\n case \"CPS\":\r\n history.push({\r\n pathname: \"/cps\",\r\n state: { tab: \"cps\" },\r\n });\r\n break;\r\n case \"EXAMS\":\r\n history.push({\r\n pathname: \"/exam\",\r\n state: { tab: \"exam\" },\r\n });\r\n break;\r\n case \"ACPS\":\r\n history.push({\r\n pathname: \"/create-adaptive-cps\",\r\n state: { tab: \"create-adaptive-cps\" },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const settings = {\r\n infinite: true,\r\n autoplay: true,\r\n autoplaySpeed: 3000,\r\n arrows: true,\r\n slidesToShow: 2,\r\n slidesToScroll: 2,\r\n responsive: [\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 575,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n New offerings\r\n

    \r\n
    \r\n \r\n {!isEmpty(state)\r\n ? state.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {element.image ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n

    \r\n {element.name}\r\n

    \r\n

    \r\n {element.description}\r\n

    \r\n
    \r\n
    \r\n handleRedirect(element)}\r\n >\r\n Start Practice\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NewOfferingsSlider;\r\n","import { useEffect } from \"react\";\r\nimport \"./aits_banner.scss\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nconst AitsBanner = (props) => {\r\n let {\r\n is_Amrit,\r\n aits_pdf,\r\n amrit_pdf,\r\n } = props;\r\n \r\n let history = useHistory();\r\n\r\n const startBtn = () => {\r\n history.push({\r\n pathname: \"/ots\",\r\n state: { tab: \"ots\" },\r\n });\r\n };\r\n\r\n return (\r\n is_Amrit ? \r\n (
    \r\n
    \r\n
    \r\n

    All India Test Series

    \r\n

    Planners available with detailed analytics

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    )\r\n :\r\n (
    \r\n
    \r\n
    \r\n

    All India Test Series

    \r\n

    Planners available with detailed analytics

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Comprehensive Question Variety

    \r\n

    Realistic Exam Simulation

    \r\n

    Complete Exam Coverage

    \r\n
    \r\n
    \r\n
    )\r\n );\r\n}\r\n\r\n export default AitsBanner;\r\n","import { Modal } from \"react-bootstrap\";\r\nimport ReactDOM from \"react-dom\";\r\nimport classes from \"./CustomModal.module.css\";\r\n\r\nconst Modals = ({ show, onHide, className, clsClass, children, ...rest }) => {\r\n return ReactDOM.createPortal(\r\n \r\n \r\n \r\n {children}\r\n \r\n ,\r\n document.getElementById(\"modal\")\r\n );\r\n};\r\n\r\nexport default Modals;\r\n","import { React, useEffect, useState } from \"react\";\r\nimport \"./Our_course_package.scss\";\r\nimport axios from \"axios\";\r\nimport { url_57 } from \"../../../../../../custom_utilities/api_services\";\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//Redux\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport packageListActions from \"../../../../../../redux/auth/action\";\r\n//slick-carousel\r\nimport Slider from \"react-slick\";\r\nimport { BASE_URL } from \"../../../../../../custom_utilities/baseURL\";\r\n\r\nfunction SampleNextArrow(props) {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\nfunction SamplePrevArrow(props) {\r\n const { className, style, onClick } = props;\r\n return (\r\n \r\n );\r\n}\r\n\r\nconst Our_course_package = (props) => {\r\n let { startLoading, finishLoading, loader, setPaidCoursePackages } = props;\r\n let { courseDetails, targetDetails, batchDetails } = props.userPreference;\r\n let history = useHistory();\r\n const [state, setState] = useState([]);\r\n\r\n const getCourseDetails = async (type) => {\r\n let data = {\r\n search: \"\",\r\n course_id: courseDetails[0].course_id,\r\n batch_id: batchDetails.batch_id,\r\n target_id: targetDetails[0].target_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_57}?course_id=${data.course_id}&batch_id=${data.batch_id}`\r\n );\r\n if (response.data.status === 200) {\r\n setState(response.data.data.Package);\r\n setPaidCoursePackages(response.data.data.Package);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n useEffect(() => {\r\n getCourseDetails(\"Paid Course Packages\");\r\n }, []);\r\n const storePage = (package_id) => {\r\n history.push(`/package/${package_id}`);\r\n };\r\n\r\n const settings1 = {\r\n dots: false,\r\n infinite: true,\r\n autoplay: true,\r\n slidesToShow: 4,\r\n slidesToScroll: 1,\r\n nextArrow: ,\r\n prevArrow: ,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n // infinite: true,\r\n // dots: true,\r\n },\r\n },\r\n {\r\n breakpoint: 600,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n // initialSlide: 2,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 1,\r\n slidesToScroll: 1,\r\n arrows: false,\r\n infinite: true,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n

    Our Course Packages

    \r\n
    \r\n\r\n {loader && }\r\n
    \r\n \r\n {state &&\r\n state.map((curElem, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {curElem && curElem.package_name\r\n ? curElem.package_name\r\n : \"N/A\"}\r\n

    \r\n
    \r\n {curElem && curElem.course ? curElem.course : \"N/A\"}\r\n
    \r\n
    \r\n \r\n {curElem && curElem.amount\r\n ? `₹ ${curElem.final_amount}`\r\n : \"View\"}\r\n \r\n \r\n {curElem && curElem.amount\r\n ? `₹ ${curElem.amount}`\r\n : \"View\"}\r\n \r\n
    \r\n

    \r\n {curElem && curElem.description\r\n ? curElem.description\r\n : \"N/A\"}\r\n

    \r\n
    \r\n
    \r\n storePage(curElem.package_id)}\r\n >\r\n {curElem && curElem.amount ? \"Enroll Now\" : \"Free\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n loader: state.ui.loader,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setPaidCoursePackages: (payload) => {\r\n dispatch(packageListActions.setPaidCoursePackages(payload));\r\n },\r\n setFreeCoursePackages: (payload) => {\r\n dispatch(packageListActions.setFreeCoursePackages(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Our_course_package);\r\n","import { toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nexport const toastifyMessage = (notificationData) => {\r\n const { status, message } = notificationData;\r\n\r\n const toastOptions = {\r\n position: \"top-right\",\r\n autoClose: 5000,\r\n hideProgressBar: false,\r\n closeOnClick: true,\r\n pauseOnHover: true,\r\n draggable: false,\r\n progress: undefined,\r\n };\r\n\r\n if (status === 200) {\r\n toast.success(message, toastOptions);\r\n } else {\r\n toast.error(message, toastOptions);\r\n }\r\n};\r\n","import React from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport CustomModal from \"../../components/Modal/CustomModal\";\r\nimport images from \"../../utilities/images/images\";\r\nimport \"./MultipleLoginDetectModal.scss\";\r\n\r\nimport uiActions from \"../../redux/ui/action\";\r\nimport authActions from \"../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../redux/user_preference/action\";\r\nimport userActivityActions from \"../../redux/user_activity/action\";\r\nimport userTestsExercisesAction from \"../../redux/user_tests_exercises/action\";\r\nimport userTwilioDetailsAction from \"../../redux/twilio_chat/action\";\r\nimport userBookmarkAction from \"../../redux/user_bookmark/action\";\r\n\r\nconst MultipleLoginDetectModal = (props) => {\r\n\r\n const { \r\n isMultipleLogin,\r\n\r\n logoutUser,\r\n removeAnimation,\r\n removePreferenceData,\r\n removeActivityData,\r\n removeTestsExercisesData,\r\n removeTwilioDetails,\r\n removeBookmarkData,\r\n\r\n\r\n } = props;\r\n\r\n const history = useHistory();\r\n\r\n const handleUserLogout = () => {\r\n logoutUser();\r\n removeAnimation();\r\n removePreferenceData();\r\n removeActivityData();\r\n removeTestsExercisesData();\r\n removeTwilioDetails();\r\n removeBookmarkData();\r\n history.push(\"/\");\r\n };\r\n return (\r\n \r\n \"multiple-login-popup\"\r\n
    Multiple Login detected
    \r\n
    \r\n You've been logged out of this device as you've logged in from another device. Please log in again.\r\n
    \r\n\r\n
    \r\n Logout\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n // isMultipleLogin: state.MultipleLoginDetectSlice.isMultipleLogin,\r\n };\r\n};\r\n\r\n\r\n \r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n logoutUser: () => {\r\n dispatch(authActions.logoutUser());\r\n },\r\n removeAnimation: () => {\r\n dispatch(uiActions.removeAnimation());\r\n },\r\n removeActivityData: () => {\r\n dispatch(userActivityActions.removeActivityData());\r\n },\r\n removePreferenceData: () => {\r\n dispatch(userPreferenceActions.removePreferenceData());\r\n },\r\n removeTestsExercisesData: () => {\r\n dispatch(userTestsExercisesAction.removeTestsExercisesData());\r\n },\r\n removeTwilioDetails: () => {\r\n dispatch(userTwilioDetailsAction.removeTwilioDetails());\r\n },\r\n removeBookmarkData: () => {\r\n dispatch(userBookmarkAction.removeBookmarkData());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MultipleLoginDetectModal);\r\n","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport images from \"../../utilities/images/images\";\r\nimport \"./FreeWatchVideosModal.scss\";\r\n\r\nconst FreeWatchVideosModal = ({ show, onHide, handleWatchNow }) => {\r\n return (\r\n \r\n \r\n\r\n \r\n
    \r\n \"free-videos-icon\"\r\n
    Watch Videos Freely!
    \r\n
    \r\n Access up to 10 Hours of video content for completely free.{\" \"}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FreeWatchVideosModal;\r\n","import React from \"react\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport \"./TenHoursFreeVideosBanner.scss\";\r\n\r\nconst TenHoursFreeVideosBanner = ({ history }) => {\r\n const handleOnClickWatchNow = () => {\r\n history.push(\"/subject_component\");\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"video-icon\"\r\n
    \r\n\r\n
    \r\n Access up to 10 hours of free\r\n lectures. Free\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TenHoursFreeVideosBanner;\r\n","import { Fragment, useCallback, useEffect, useState } from \"react\";\r\nimport \"./user_dashboard_content_component.scss\";\r\n\r\nimport DashboardSlider from \"./dashboard_utlility_components/dashboard_slider/dashboard_slider\";\r\nimport SubjectCollectionView from \"./dashboard_utlility_components/subject_collection_view/subject_collection_view\";\r\nimport LastPausedVideo from \"./dashboard_utlility_components/last_paused_video/last_paused_video\";\r\nimport ScheduleClass from \"./dashboard_utlility_components/schedule_class/schedule_class\";\r\nimport NewOfferingsSlider from \"./dashboard_utlility_components/dashboard_slider/new_offerings_slider\";\r\nimport AitsBanner from \"./dashboard_utlility_components/aits_banner/aits_banner\";\r\n\r\nimport axios from \"axios\";\r\nimport CustomModal from \"../../../../components/Modal/CustomModal\";\r\nimport {\r\n url_8,\r\n url_172,\r\n url_173,\r\n url_54,\r\n url_211,\r\n} from \"../../../../custom_utilities/api_services\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport Our_course_package from \"./dashboard_utlility_components/our_course_package/Our_course_package\";\r\nimport { toastifyMessage } from \"../../../../custom_utilities/toastify_config\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { BASE_URL } from \"../../../../custom_utilities/baseURL\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport MultipleLoginDetectModal from \"../../../../containers/multiple_login_detected_popup/MultipleLoginDetectModal\";\r\nimport FreeWatchVideosModal from \"../../../../components/FreeWatchVideosModal/FreeWatchVideosModal\";\r\nimport TenHoursFreeVideosBanner from \"./dashboard_utlility_components/ten_hours_free_videos_banner/TenHoursFreeVideosBanner\";\r\n\r\nconst UserDashboardContentComponent = (props) => {\r\n let { history, startLoading, finishLoading, setBlockedStatusAction } = props;\r\n const [state, setState] = useState({\r\n feedbackModal: false,\r\n successModal: false,\r\n showUserRegistrationModal: 0,\r\n is_complete_profile: 1,\r\n isActive: 1,\r\n roll_no: \"\",\r\n mobile_no: \"\",\r\n error: false,\r\n responseData: {},\r\n is_Amrit: false,\r\n aits_pdf: \"\",\r\n amrit_pdf: \"\",\r\n feedbackData: {\r\n teaching_method: \"0\",\r\n punctuality: \"0\",\r\n behaviour: \"0\",\r\n theory_quality: \"0\",\r\n discussion_quality: \"0\",\r\n overall: \"0\",\r\n },\r\n\r\n newofferings: [],\r\n programs: [],\r\n isPaid: null,\r\n remainingUserTimeToWatchVideo: null,\r\n isPaid1: null,\r\n // ifFreeUserToWatchVideos: null,\r\n });\r\n\r\n const [isMultipleLogin, setIsMultipleLogin] = useState(false);\r\n\r\n const getUserProfile = useCallback(async () => {\r\n const response = await axios.get(`${url_8}`);\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n is_Amrit: response.data.data.is_Amrit,\r\n aits_pdf: response.data.data.aits_pdf,\r\n amrit_pdf: response.data.data.amrit_pdf,\r\n showUserRegistrationModal: response.data.data.is_user_registration,\r\n is_complete_profile: response.data.data.is_form_submit,\r\n isActive: response.data.data.active,\r\n roll_no: response.data.data.roll_no,\r\n mobile_no: response.data.data.mobile,\r\n isPaid: response.data.data.is_paid,\r\n remainingUserTimeToWatchVideo: response.data.data.remaining_user_time,\r\n isPaid1: response.data.data.is_paid,\r\n }));\r\n\r\n setBlockedStatusAction({\r\n isBlocked: response.data.data.ls_block,\r\n remark: response.data.data.remark,\r\n });\r\n\r\n setIsMultipleLogin(false);\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n showUserRegistrationModal: 0,\r\n }));\r\n setBlockedStatusAction({\r\n isBlocked: false,\r\n remark: null,\r\n });\r\n setIsMultipleLogin(true);\r\n }\r\n }, [setBlockedStatusAction]);\r\n\r\n useEffect(() => {\r\n set_record();\r\n getFeedBackPopup();\r\n getUserProfile();\r\n getSliderImg();\r\n }, [getUserProfile]);\r\n\r\n const getSliderImg = async () => {\r\n try {\r\n const response = await axios.get(\r\n `${BASE_URL}/api/ots/get/homeslidelist?version=1`\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n newofferings: [...response.data.data.slidelist],\r\n programs: [...response.data.data.Motion_Program],\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const set_record = async () => {\r\n let data = {\r\n apk_version: \"Web\",\r\n };\r\n\r\n try {\r\n await axios.post(url_54, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const handleClose = () => {\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n feedbackModal: false,\r\n successModal: false,\r\n error: false,\r\n };\r\n });\r\n };\r\n\r\n const handleCloseFreeWatchVideos = () => {\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n isPaid: 1,\r\n };\r\n });\r\n };\r\n\r\n const getFeedBackPopup = async () => {\r\n try {\r\n const response = await axios.post(url_172);\r\n if (Object.keys(response.data.data).length > 0) {\r\n if (response.data.data.feedback !== null) {\r\n const feedback = response.data.data.feedback;\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n responseData: feedback,\r\n feedbackModal: true,\r\n feedbackData: {\r\n ...prev.feedbackData,\r\n student_id: feedback.stud_rollno,\r\n batch_id: feedback.batch_id,\r\n batch_code: feedback.batch_code,\r\n topic_title: feedback.topic_title,\r\n topic_no_count: feedback.topic_no_count,\r\n session_id: feedback.session_id,\r\n center_id: feedback.center_id,\r\n faculty_id: feedback.faculty_id,\r\n st_feedback_show_id: feedback.id,\r\n },\r\n };\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const feedbackValidation =\r\n state.feedbackData.teaching_method === \"0\" ||\r\n state.feedbackData.punctuality === \"0\" ||\r\n state.feedbackData.behaviour === \"0\" ||\r\n state.feedbackData.theory_quality === \"0\" ||\r\n state.feedbackData.discussion_quality === \"0\" ||\r\n state.feedbackData.overall === \"0\";\r\n\r\n const FeedBackArr = [\r\n {\r\n title: \"Teaching Method\",\r\n name: \"teaching_method\",\r\n },\r\n {\r\n title: \"Punctuality\",\r\n name: \"punctuality\",\r\n },\r\n {\r\n title: \"Behaviour\",\r\n name: \"behaviour\",\r\n },\r\n {\r\n title: \"Theory Quality\",\r\n name: \"theory_quality\",\r\n },\r\n {\r\n title: \"Discussion Quality\",\r\n name: \"discussion_quality\",\r\n },\r\n {\r\n title: \"Overall\",\r\n name: \"overall\",\r\n },\r\n ];\r\n const feedBackInput = (e) => {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n feedbackData: {\r\n ...prevState.feedbackData,\r\n [e.target.name]: e.target.value,\r\n },\r\n };\r\n });\r\n };\r\n const feedbackSubmit = async (e) => {\r\n e.preventDefault();\r\n console.log(\"feedbackData\", state.feedbackData);\r\n try {\r\n const response = await axios.post(url_173, state.feedbackData);\r\n if (response.status == 200) {\r\n console.log(\"response\", response);\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n feedbackModal: false,\r\n successModal: true,\r\n error: false,\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n error: true,\r\n };\r\n });\r\n }\r\n };\r\n\r\n const handleCloseProfileform = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n is_complete_profile: 1,\r\n }));\r\n };\r\n\r\n const handleCloseFeePendingModal = () => {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n isActive: 1,\r\n };\r\n });\r\n };\r\n\r\n const handleWatchNow = () => {\r\n history.push(\"/subject_component\");\r\n handleCloseFreeWatchVideos();\r\n };\r\n\r\n const sendSmsToStudent = async () => {\r\n startLoading();\r\n try {\r\n const data = {\r\n method_name: \"send_link_api\",\r\n mobile: state.mobile_no,\r\n roll_no: state.roll_no,\r\n };\r\n const response = await axios.post(url_211, data);\r\n if (response.data.response.status.toLowerCase() === \"success\") {\r\n finishLoading();\r\n handleCloseProfileform();\r\n toastifyMessage({\r\n status: 200,\r\n message: \"You will get an SMS shortly\",\r\n });\r\n } else {\r\n finishLoading();\r\n handleCloseProfileform();\r\n toastifyMessage({\r\n status: 201,\r\n message: response.data.response.message,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n handleCloseProfileform();\r\n toastifyMessage({\r\n status: 201,\r\n message: \"Error\",\r\n });\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n

    \r\n Share your valuable Feedback for today's Topic\r\n

    \r\n

    \r\n {`${state.responseData.topic_title} By ${state.responseData.faculty_name} in Batch ${state.responseData.batch_code}`}\r\n

    \r\n
    \r\n {FeedBackArr.map((element, index) => {\r\n return (\r\n
    \r\n
    {element.title}
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    Average

    \r\n
    \r\n
    \r\n \r\n

    Good

    \r\n
    \r\n
    \r\n \r\n

    Great

    \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n {state.error && (\r\n

    \r\n Something went wrong, try again !!\r\n

    \r\n )}\r\n \r\n Submit Feedback\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    Feedback submitted successfully.
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    Complete Profile
    \r\n
    \r\n To help us know you better, please complete your profile\r\n
    \r\n
    \r\n You will receive an SMS containing an one time link to fill out the\r\n form.\r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n \r\n\r\n \r\n \"warning\"\r\n
    Fee Pending
    \r\n
    {state.remark}
    \r\n
    \r\n Please pay your fee to avoid restriction of access to the App\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \"warning\"\r\n
    Fee Pending
    \r\n
    {state.remark}
    \r\n
    \r\n Please pay your fee to avoid restriction of access to the App\r\n
    \r\n\r\n \r\n \r\n \r\n \r\n\r\n {state.isPaid === 0 && state.remainingUserTimeToWatchVideo > 0 && (\r\n \r\n )}\r\n\r\n \r\n\r\n
    \r\n
    \r\n {state.isPaid1 === 0 && state.remainingUserTimeToWatchVideo > 0 && (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n {!isEmpty(state.programs) ? (\r\n
    \r\n
    \r\n
    \r\n

    Institute

    \r\n
    \r\n\r\n
    \r\n {!isEmpty(state.programs)\r\n ? state.programs.map((element) => {\r\n return (\r\n
    \r\n
    \r\n

    {element.name}

    \r\n
    \r\n {element.description}\r\n
    \r\n
    \r\n
    \r\n Starting From\r\n
    \r\n
    {element.date}
    \r\n
    \r\n\r\n
    \r\n
    Price
    \r\n
    \r\n ₹ {element.price}\r\n
    \r\n
    \r\n\r\n \r\n window.open(element?.url, \"_blank\")\r\n }\r\n >\r\n Know More\r\n
    \r\n
    \r\n {element.image_content}\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default UserDashboardContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./footer_component.scss\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst FooterComponent = (props) => {\r\n let { userPreference, userData, history } = 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
    • \r\n \r\n Privacy Policy\r\n \r\n
    • \r\n
    • \r\n \r\n Terms & Conditions\r\n \r\n
    • \r\n
    • \r\n \r\n FAQS\r\n \r\n
    • \r\n
    • \r\n \r\n Parent Guide\r\n \r\n
    • \r\n
    • \r\n \r\n About Us\r\n \r\n
    • \r\n
    • \r\n \r\n Contact Us\r\n \r\n
    • \r\n
    • \r\n \r\n Help & support\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(FooterComponent);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./user_dashboard.scss\";\r\n\r\n/////////Desktop////////////////////\r\n\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserDashboardContentComponent from \"./user_dashboard_content_component/user_dashboard_content_component\";\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\nimport CustomModal from \"../../../components/Modal/CustomModal\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_174,\r\n url_175,\r\n url_230,\r\n} from \"../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport Footer_component from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\nimport uiActions from \"../../../redux/ui/action\";\r\nimport { setBlockedStatus } from \"../../../redux/blocking_user/BlockUserSlice\";\r\n\r\nconst UserDashboard = (props) => {\r\n let {\r\n loader,\r\n history,\r\n userData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n setBlockedStatusAction,\r\n rollNo,\r\n } = props;\r\n const location = useLocation();\r\n const [state, setState] = useState({\r\n coins: 0,\r\n coinPopup: false,\r\n coinDetailsPopup: false,\r\n coinUsesPoints: [],\r\n facultyReviewList: [],\r\n facultyReviewPopup: false,\r\n ratings: {},\r\n hover: {},\r\n facultyFeedback: {},\r\n });\r\n const addCoinsOnSignup = async () => {\r\n const data = { type: \"NewUser_Registration\" };\r\n try {\r\n const response = await axios.post(url_174, data);\r\n if (response.data.status === 200) {\r\n if (response.data.data !== \"MCoins Already Credited...!\") {\r\n console.log(response.data);\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n coins: Math.floor(response.data.coins),\r\n coinPopup: true,\r\n };\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n useEffect(() => {\r\n if (!isEmpty(location.state)) {\r\n if (location.state.reg_mcoin == 0) {\r\n addCoinsOnSignup();\r\n coinUsesApi();\r\n }\r\n }\r\n doubtsModal();\r\n }, []);\r\n\r\n const doubtsModal = async () => {\r\n const data = {\r\n method_name: \"get_student_dc\",\r\n rollno: `${rollNo}`,\r\n };\r\n try {\r\n startLoading();\r\n const response = await axios.post(url_230, data);\r\n if (response.data.status === \"success\") {\r\n finishLoading();\r\n console.log(response.data.data);\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n facultyReviewList: response.data.data,\r\n facultyReviewPopup: true,\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const convertTime = (time24) => {\r\n const [hour, minute] = time24.split(\":\");\r\n let hour12 = hour % 12 || 12; // Convert hour from 24-hour to 12-hour format\r\n let period = hour >= 12 ? \"PM\" : \"AM\"; // Determine AM/PM\r\n return `${hour12}:${minute} ${period}`;\r\n };\r\n\r\n const handlefacultyFeedbackInput = (e, id) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n facultyFeedback: { ...prevState.facultyFeedback, [id]: e.target.value },\r\n }));\r\n };\r\n\r\n const handleFeedbackSubmit = () => {\r\n console.log(state.ratings, state.facultyFeedback);\r\n };\r\n\r\n const coinUsesApi = async () => {\r\n try {\r\n const response = await axios.get(url_175);\r\n if (response.data.status === 200) {\r\n console.log(response.data.Uses);\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n coinUsesPoints: response.data.data,\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const handleClose = () => {\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n coinPopup: false,\r\n coinDetailsPopup: false,\r\n };\r\n });\r\n };\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth);\r\n };\r\n useEffect(() => {\r\n window.addEventListener(\"resize\", setWidth);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", setWidth);\r\n };\r\n }, [windowWidth]);\r\n return (\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n

    {state.coins}

    \r\n

    Motion Coins

    \r\n
    \r\n

    \r\n Yay! You have earned {state.coins} Motion Coins by registering.\r\n

    \r\n
    \r\n {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n coinPopup: false,\r\n coinDetailsPopup: true,\r\n };\r\n });\r\n }}\r\n >\r\n Click to know how to earn more\r\n \r\n
    \r\n \r\n {state.facultyReviewPopup && (\r\n {\r\n if (e.target.classList.contains(\"modal_outer_package\")) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n facultyReviewPopup: !prevState.facultyReviewPopup,\r\n }));\r\n }\r\n }}\r\n >\r\n
    \r\n {\r\n setState((prevState) => ({\r\n ...prevState,\r\n reportModal: !prevState.reportModal,\r\n }));\r\n }}\r\n className=\"close\"\r\n >\r\n \"close\"\r\n \r\n
    \r\n \"thumbs\r\n

    \r\n Faculty feedback{` (Doubt counter)`}\r\n

    \r\n
    \r\n
    \r\n {state.facultyReviewList?.map((element) => {\r\n const date = element.created_on.split(\" \")[0];\r\n const [year, month, day] = date.split(\"-\");\r\n const formattedDate = `${month}/${day}/${year}`;\r\n const fromTime = convertTime(element.from_time);\r\n const toTime = convertTime(element.to_time);\r\n const currentRating = state.ratings[element.dc_id] || 0;\r\n const currentHover = state.hover[element.dc_id] || 0;\r\n return (\r\n
    \r\n
    \r\n

    {element.subject}

    \r\n

    {element.faculty_name}

    \r\n
    \r\n
    \r\n

    {`${formattedDate} | ${fromTime} to ${toTime}`}

    \r\n
    \r\n
    \r\n
    \r\n {[...Array(5)].map((star, index) => {\r\n const starValue = index + 1;\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n handlefacultyFeedbackInput(e, element.dc_id)\r\n }\r\n />\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n \r\n

    How to earn Motion Coins?

    \r\n

    \r\n You can earn Motion Coins by performing various activities on Motion\r\n App.\r\n

    \r\n
      \r\n {state.coinUsesPoints.map((point) => {\r\n return
    • {point.description}
    • ;\r\n })}\r\n {/*
    • Watching Subject Videos
    • \r\n
    • Playing Motion Daily and Weekly Quizzes
    • \r\n
    • Finishing Practice Sheets
    • \r\n
    • Attending Motion Online Tests
    • \r\n
    • Posting Doubts in Doubts Section
    • \r\n
    • Purchasing Motion Products from Store
    • \r\n
    • Referring your friends
    • \r\n
    • Topping the weekly leaderboard
    • */}\r\n
    \r\n

    Earn While You Learn!

    \r\n \r\n
    \r\n
    \r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n rollNo: state.auth.user.roll_no,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n\r\n setBlockedStatusAction: (payload) => {\r\n dispatch(setBlockedStatus(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(UserDashboard);\r\n","import { Fragment } from \"react\";\r\nimport \"./user_profile_content_component.scss\";\r\n\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst UserProfileContentComponent = (props) => {\r\n let { userData, history } = props;\r\n\r\n const handleRedirect = () => {\r\n history.push(\"/user_edit_profile\");\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(userData) ? (\r\n userData.image.length ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Personal Information

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Name

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.name : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Contact no.

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.mobile : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    DOB

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.dob : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Roll No

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.roll_no : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Email id

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.email : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Gender

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.gender : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    State

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.address.state : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    City

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.address.city : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n

    Package details

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n IIT-JEE Advance crash course\r\n

    \r\n
    \r\n
    \r\n

    Expiry at 12 Dec, 2020

    \r\n
    \r\n
    \r\n

    \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default UserProfileContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./user_profile.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserProfileContentComponent from \"../user_profile/user_profile_content_component/user_profile_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst UserProfile = (props) => {\r\n let { history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserProfile);\r\n","import { Modal } from \"react-bootstrap\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport \"./RefundModal.scss\";\r\n\r\nconst RefundModal = (props) => {\r\n const {\r\n closeRefundModal,\r\n isRefundModalOpen,\r\n refund,\r\n renderRefundOptions,\r\n renderRefundButtons,\r\n renderUserSelectedOptions,\r\n renderInputAndSubmit,\r\n } = props;\r\n\r\n const { isRenderRefundOptions, refundOptions, isUserSubmittedDescript } =\r\n refund;\r\n\r\n return (\r\n <>\r\n \r\n \r\n

    Ask Refund

    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n Hi! Thank you for being part of Motion. We are sorry for any\r\n inconvenience caused.\r\n
    \r\n
    \r\n Please choose the options below due to which you are asking for\r\n “Refund”.\r\n
    \r\n
    \r\n\r\n {isRenderRefundOptions ? (\r\n !isEmpty(refundOptions) ? (\r\n renderRefundOptions()\r\n ) : null\r\n ) : (\r\n <>\r\n {renderUserSelectedOptions()}\r\n\r\n {isUserSubmittedDescript\r\n ? renderRefundButtons()\r\n : renderInputAndSubmit()}\r\n \r\n )}\r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default RefundModal;\r\n","import React, { useState, useEffect, useRef } from \"react\";\r\nimport axios from \"axios\";\r\nimport { url_182, url_183 } from \"../../../../custom_utilities/api_services\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { responseMessageFromMotion } from \"./utils/refundCustomUtils\";\r\nimport { generateRandomId } from \"../../../../custom_utilities/custom_useful_functions\";\r\n\r\nimport RefundModal from \"./RefundModal\";\r\n\r\nconst RefundContainer = (props) => {\r\n const {\r\n closeRefundModal,\r\n isRefundModalOpen,\r\n token,\r\n tokenType,\r\n currentRefundPackage,\r\n openRefundSuccessModal,\r\n } = props;\r\n\r\n const [refund, setRefund] = useState({\r\n refundOptions: [],\r\n userSelectedRefundOption: {},\r\n userDescription: \"\",\r\n isRenderRefundOptions: true,\r\n isUserSubmittedDescript: false,\r\n isRenderResponseMsgFromMotion: false,\r\n userSelectingOptions: [],\r\n isRefundSuccessModalOpen: false,\r\n });\r\n const textareaRef = useRef(null);\r\n\r\n useEffect(() => {\r\n if (textareaRef.current) {\r\n textareaRef.current.style.height = \"auto\";\r\n textareaRef.current.style.height = `${textareaRef.current.scrollHeight}px`;\r\n }\r\n }, [refund.userDescription]);\r\n\r\n useEffect(() => {\r\n getRefundOptions();\r\n }, []);\r\n\r\n const getRefundOptions = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n try {\r\n const response = await axios.get(url_182, { headers });\r\n\r\n if (response.data.status === 200) {\r\n setRefund((prevState) => ({\r\n ...prevState,\r\n refundOptions: [...response.data.data.parents],\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error.message);\r\n }\r\n };\r\n\r\n const initiateRefund = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n parent_id: refund.userSelectedRefundOption.id,\r\n package_id: currentRefundPackage?.package_id,\r\n description: refund.userDescription,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_183, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n openRefundSuccessModal();\r\n closeRefundModal();\r\n } else {\r\n alert(response?.data?.message);\r\n }\r\n } catch (err) {\r\n console.log(err.message);\r\n }\r\n };\r\n\r\n const handleDescriptionChange = (e) => {\r\n setRefund((prevState) => ({\r\n ...prevState,\r\n userDescription: e.target.value,\r\n }));\r\n };\r\n\r\n const handleSubmitDescript = () => {\r\n if (refund.userDescription.length > 0) {\r\n const userCustomMessage = {\r\n id: generateRandomId(),\r\n name: refund.userDescription,\r\n };\r\n\r\n setRefund((prevState) => ({\r\n ...prevState,\r\n userSelectingOptions: [\r\n ...prevState.userSelectingOptions,\r\n userCustomMessage,\r\n responseMessageFromMotion(),\r\n ],\r\n isUserSubmittedDescript: true,\r\n }));\r\n }\r\n };\r\n\r\n const selectRefundOption = (selectedOption) => {\r\n const newOption = {\r\n id: generateRandomId(),\r\n name: selectedOption.name,\r\n };\r\n\r\n setRefund((prevState) => ({\r\n ...prevState,\r\n userSelectedRefundOption: selectedOption,\r\n isRenderRefundOptions: false,\r\n userSelectingOptions: [...prevState.userSelectingOptions, newOption],\r\n }));\r\n\r\n alert(\"please explain in detail!\");\r\n };\r\n\r\n const renderRefundOptions = () => {\r\n return (\r\n
    \r\n {refund.refundOptions.map((element) => {\r\n return (\r\n selectRefundOption(element)}\r\n key={element.id}\r\n >\r\n

    {element.name}

    \r\n
    \r\n );\r\n })}\r\n \r\n );\r\n };\r\n\r\n const renderUserSelectedOptions = () => {\r\n return (\r\n
    \r\n {refund.userSelectingOptions.map((element) => {\r\n return (\r\n
    \r\n );\r\n })}\r\n \r\n );\r\n };\r\n\r\n const renderRefundButtons = () => {\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 };\r\n\r\n const renderInputAndSubmit = () => {\r\n const isTextareaEmpty = refund.userDescription.trim().length === 0;\r\n return (\r\n
    \r\n handleDescriptionChange(e)}\r\n value={refund.userDescription}\r\n id=\"descript\"\r\n name=\"descript\"\r\n rows=\"1\" // Initial rows\r\n style={{ minHeight: \"30px\" }} // Set a minimum height\r\n />\r\n\r\n \r\n \"submit\"\r\n \r\n
    \r\n );\r\n };\r\n\r\n const backToOptions = () => {\r\n setRefund((prevState) => ({\r\n ...prevState,\r\n isRenderRefundOptions: true,\r\n isUserSubmittedDescript: false,\r\n userDescription: \"\",\r\n }));\r\n };\r\n\r\n return (\r\n <>\r\n {isRefundModalOpen && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nexport default RefundContainer;\r\n","import { generateRandomId } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nexport const responseMessageFromMotion = () => {\r\n const responseText =\r\n \"
    We have noted your reason and are assuring that, our team will work on it.
    Click on “Ask Refund” button below to initiate the refund process.
    \";\r\n\r\n return {\r\n id: generateRandomId(),\r\n name: responseText,\r\n type: \"motion\",\r\n };\r\n};\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialState = {\r\n refundCurrentPackage: {},\r\n};\r\n\r\nconst RefundPackageSlice = createSlice({\r\n name: \"refund\",\r\n initialState,\r\n reducers: {\r\n setCurrentRefundPackage: (state, action) => {\r\n state.refundCurrentPackage = action.payload;\r\n },\r\n\r\n clearRefundPackage: (state) => {\r\n state.refundCurrentPackage = {};\r\n },\r\n },\r\n});\r\n\r\nexport const { setCurrentRefundPackage, clearRefundPackage } =\r\n RefundPackageSlice.actions;\r\n\r\nexport default RefundPackageSlice.reducer;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\nimport \"./RefundSuccessModal.scss\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { url_8 } from \"../../../../custom_utilities/api_services\";\r\n\r\nconst RefundSuccessModal = (props) => {\r\n const { isRefundSuccessModalOpen, closeRefundSuccessModal } = props;\r\n const [userMobileNo, setUserMobileNo] = useState(\"\");\r\n\r\n useEffect(() => {\r\n getUserData();\r\n }, []);\r\n\r\n const getUserData = async () => {\r\n try {\r\n const response = await axios.get(url_8);\r\n if (response.data.status === 200) {\r\n setUserMobileNo(response.data.data.mobile);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n
    \r\n \"refund-img\"\r\n

    Refund Initiated!

    \r\n\r\n

    \r\n You will receive the confirmation and further steps information from\r\n us on your registered mobile number.\r\n

    \r\n\r\n

    \r\n Your registered mobile number is +91 {userMobileNo}\r\n

    \r\n\r\n
    \r\n Back to Your Packages\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default RefundSuccessModal;\r\n","import { Fragment, useEffect, useState, useMemo } from \"react\";\r\nimport \"./user_edit_profile_content_component.scss\";\r\n\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport { BASE_URL } from \"../../../../custom_utilities/baseURL\";\r\nimport {\r\n url_3,\r\n url_4,\r\n url_6,\r\n url_8,\r\n url_60,\r\n} from \"../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport authActions from \"../../../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../../../redux/user_preference/action\";\r\nimport moment from \"moment\";\r\nimport RefundContainer from \"../refund_modal/RefundContainer\";\r\nimport {\r\n setCurrentRefundPackage,\r\n clearRefundPackage,\r\n} from \"../../../../redux/packages_store/refund/RefundPackageSlice\";\r\nimport RefundSuccessModal from \"../refund_modal/RefundSuccessModal\";\r\n\r\nconst UserEditProfileContentComponent = (props) => {\r\n const [state, setState] = useState({\r\n userDetails: {\r\n profileImageDetails: {\r\n imageData: {},\r\n localImageURL: \"\",\r\n serverImageURL: \"\",\r\n },\r\n fullName: \"\",\r\n date_of_birth: \"\",\r\n roll_no: \"\",\r\n gender: \"\",\r\n email: \"\",\r\n email_valid: true,\r\n state: \"\",\r\n city: \"\",\r\n mobile_number: \"\",\r\n acps_pin: \"\",\r\n acps_pin_invalid: false,\r\n },\r\n states: {},\r\n cities: {},\r\n buyPackageList: {},\r\n editToggle: false,\r\n isRefundModalOpen: false,\r\n isRefundSuccessModalOpen: false,\r\n });\r\n let {\r\n history,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n setUser,\r\n setUserPreference,\r\n token,\r\n tokenType,\r\n currentRefundPackage,\r\n setCurrentRefundPackage,\r\n clearRefundPackage,\r\n } = props;\r\n\r\n useEffect(() => {\r\n getUserData();\r\n getStates();\r\n getBuypackage();\r\n }, []);\r\n\r\n const getBuypackage = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_60);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n buyPackageList: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n alert(response.data.message);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n const getUserData = async () => {\r\n try {\r\n const response = await axios.get(url_8);\r\n // const response = await axios.get(`${BASE_URL}/api/user/get`);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n fullName: response.data.data.name,\r\n date_of_birth: response.data.data.dob,\r\n mobile_number: response.data.data.mobile,\r\n gender: response.data.data.gender,\r\n email: response.data.data.email,\r\n state: response.data.data.address.state,\r\n city: response.data.data.address.city,\r\n roll_no: response.data.data.roll_no,\r\n acps_pin: response.data.data.acps_pin,\r\n profileImageDetails: {\r\n ...prevState.userDetails.profileImageDetails,\r\n serverImageURL: response.data.data.image,\r\n },\r\n },\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getStates = async () => {\r\n if (window.navigator.onLine) {\r\n try {\r\n const response = await axios.get(url_3);\r\n // const response = await axios.get(`${BASE_URL}/api/user/states`);\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n states: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n } else {\r\n alert(\"Please check your internet connection\");\r\n }\r\n };\r\n\r\n const getCities = async (selectedState) => {\r\n let state = selectedState;\r\n startLoading();\r\n try {\r\n const response = await axios.get(`${url_4}?state=${state}`);\r\n // const response = await axios.get(\r\n // `${BASE_URL}/api/user/cities?state=${state}`\r\n // );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n cities: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const createImageLocalURL = (imageDetails) => {\r\n let objectURL = URL.createObjectURL(imageDetails);\r\n return objectURL;\r\n };\r\n\r\n const handleProfileImage = (event) => {\r\n let userDetails = { ...state.userDetails };\r\n let profileImageDetails = { ...userDetails.profileImageDetails };\r\n let { files } = event.target;\r\n let localImageURL = createImageLocalURL(files[0]);\r\n\r\n profileImageDetails.imageData = files[0];\r\n profileImageDetails.localImageURL = localImageURL;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n profileImageDetails: profileImageDetails,\r\n },\r\n }));\r\n };\r\n\r\n const handleUpdateFormField = (event) => {\r\n let { name, value } = event.target;\r\n\r\n switch (name) {\r\n case \"fullName\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n fullName: value.replace(/[^A-Za-z ]/g, \"\"),\r\n },\r\n }));\r\n break;\r\n case \"date_of_birth\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n date_of_birth: value,\r\n },\r\n }));\r\n break;\r\n case \"gender\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n gender: value,\r\n },\r\n }));\r\n break;\r\n\r\n case \"roll_no\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n roll_no: value,\r\n },\r\n }));\r\n break;\r\n\r\n case \"email\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n email: value.replace(/[^A-Za-z0-9+-.~_@]/g, \"\"),\r\n email_valid: /^[A-Za-z0-9+_.-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,}$/.test(\r\n value\r\n ),\r\n },\r\n }));\r\n break;\r\n case \"acps_pin\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n acps_pin: value.slice(0, 4),\r\n acps_pin_invalid:\r\n value.slice(0, 4).toString().length !== 4 ||\r\n value.slice(0, 4).toString() === \"0000\",\r\n },\r\n }));\r\n break;\r\n case \"mobile_number\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: {\r\n ...prevState.userDetails,\r\n mobile_number: value,\r\n },\r\n }));\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const handleStateDropdown = (event) => {\r\n let { value } = event.target;\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: { ...prevState.userDetails, state: value, city: \"\" },\r\n }));\r\n\r\n getCities(value);\r\n };\r\n const handleGenderDropdown = (event) => {\r\n let { value } = event.target;\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: { ...prevState.userDetails, gender: value },\r\n }));\r\n\r\n getCities(value);\r\n };\r\n\r\n const handleCityDropdown = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n userDetails: { ...prevState.userDetails, city: value },\r\n }));\r\n };\r\n\r\n const handleSubmitUpdateForm = async (event) => {\r\n event.preventDefault();\r\n let userDetails = { ...state.userDetails };\r\n\r\n if (window.navigator.onLine) {\r\n startLoading();\r\n let formData = new FormData();\r\n\r\n formData.append(\"name\", userDetails.fullName);\r\n formData.append(\"dob\", userDetails.date_of_birth);\r\n formData.append(\"gender\", userDetails.gender);\r\n formData.append(\"roll_no\", userDetails.roll_no);\r\n formData.append(\"state\", userDetails.state);\r\n formData.append(\"mobile_number\", userDetails.mobile_number);\r\n formData.append(\"city\", userDetails.city);\r\n if (userDetails.email) {\r\n formData.append(\"email\", userDetails.email);\r\n }\r\n\r\n if (userDetails.profileImageDetails.localImageURL.length) {\r\n formData.append(\"image\", userDetails.profileImageDetails.imageData);\r\n }\r\n\r\n if (userDetails.acps_pin >= 1000) {\r\n formData.append(\"acps_pin\", userDetails.acps_pin);\r\n }\r\n\r\n formData.append(\r\n \"user_target_id\",\r\n userPreference.targetDetails[0].target_id\r\n );\r\n let courseId = [userPreference.courseDetails[0].course_id];\r\n formData.append(\"target_ids\", JSON.stringify(courseId)); /////Course Id\r\n\r\n formData.append(\"class_id\", userPreference.classDetails.class_id);\r\n formData.append(\"batch_id\", userPreference.batchDetails.batch_id);\r\n\r\n let returnedResponse = await updateProfileApi(formData);\r\n\r\n if (returnedResponse.result === 1) {\r\n finishLoading();\r\n setUser(returnedResponse.data.apiData);\r\n //////set user preference////////\r\n setUserPreference({\r\n targetDetails: returnedResponse.data.apiData.UsertargetDetail,\r\n courseDetails: returnedResponse.data.apiData.targets,\r\n classDetails: {\r\n class_id: returnedResponse.data.apiData.class_id,\r\n class: returnedResponse.data.apiData.class,\r\n },\r\n batchDetails: {\r\n batch_id: returnedResponse.data.apiData.batch_id,\r\n batch: returnedResponse.data.apiData.batch,\r\n },\r\n });\r\n // history.push(\"/user_profile\");\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Please check your internet connection\");\r\n }\r\n };\r\n\r\n const updateProfileApi = async (formData) => {\r\n try {\r\n const response = await axios.post(url_6, formData);\r\n // const response = await axios.post(\r\n // `${BASE_URL}/api/user/signup`,\r\n // formData\r\n // );\r\n\r\n if (response.status === 200) {\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n apiData: response.data.data,\r\n },\r\n };\r\n } else {\r\n return { result: 0, data: { message: response.data.message } };\r\n }\r\n } else {\r\n return { result: 0, data: { message: \"Something went wrong!!!\" } };\r\n }\r\n } catch (error) {\r\n console.log(error.response);\r\n return {\r\n result: 0,\r\n data: { message: error.response.statusText },\r\n };\r\n }\r\n };\r\n const handleRedirect = () => {\r\n history.push(\"/user_dashboard\");\r\n };\r\n\r\n const editButton = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n editToggle: !prevState.editToggle,\r\n }));\r\n };\r\n\r\n const handleOpenRefundModal = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n isRefundModalOpen: true,\r\n }));\r\n };\r\n\r\n const handleCloseRefundModal = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n isRefundModalOpen: false,\r\n }));\r\n };\r\n\r\n const handleOpenRefundSuccessModal = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n isRefundSuccessModalOpen: true,\r\n }));\r\n };\r\n\r\n const handleCloseRefundSuccessModal = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n isRefundSuccessModalOpen: false,\r\n }));\r\n\r\n window.location.reload();\r\n };\r\n\r\n const refunduseMemo = useMemo(() => {\r\n return (\r\n \r\n );\r\n }, [state.isRefundModalOpen]);\r\n\r\n const refundStatusClass = (pkg) => {\r\n const refundStatus = pkg.refund_status.toLowerCase();\r\n if (refundStatus === \"request submitted\") {\r\n return \"refund_submitted\";\r\n } else if (refundStatus === \"refund initiated\") {\r\n return \"refundinitiated\";\r\n } else if (refundStatus === \"refund completed\") {\r\n return \"refundcompleted\";\r\n } else if (refundStatus === \"refund cancelled\") {\r\n return \"refundcancelled\";\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    handleSubmitUpdateForm(event)}>\r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.userDetails.profileImageDetails.localImageURL\r\n .length ? (\r\n \r\n ) : state.userDetails.profileImageDetails.serverImageURL\r\n .length ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n Profile\r\n \r\n
    • \r\n
    • \r\n \r\n My packages\r\n \r\n
    • \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Personal information

    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n handleUpdateFormField(event)}\r\n disabled={!state.editToggle}\r\n />\r\n \r\n Please enter your name\r\n

    \r\n
    \r\n
    \r\n \r\n handleUpdateFormField(event)}\r\n placeholder=\"Mobile number\"\r\n disabled\r\n // readOnly={true}\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleUpdateFormField(event)}\r\n disabled={!state.editToggle}\r\n required\r\n />\r\n
    \r\n
    \r\n \r\n handleUpdateFormField(event)}\r\n disabled={!state.editToggle}\r\n />\r\n \r\n Please enter a valid email\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStateDropdown(event)}\r\n disabled={!state.editToggle}\r\n // {/* // required */}\r\n >\r\n \r\n {!isEmpty(state.states)\r\n ? state.states.states.map((element, index) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n\r\n
    \r\n \r\n handleCityDropdown(event)}\r\n disabled={!state.editToggle}\r\n // required\r\n >\r\n \r\n {!isEmpty(state.cities)\r\n ? state.cities.districts.map((element, index) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleGenderDropdown(event)}\r\n disabled={!state.editToggle}\r\n // required\r\n >\r\n {/* */}\r\n\r\n \r\n \r\n \r\n
    \r\n\r\n {/*
    \r\n handleStateDropdown(event)}\r\n disabled={!state.editToggle} */}\r\n {/* // required */}\r\n {/* > */}\r\n {/* */}\r\n {/* {!isEmpty(state.states)\r\n ? state.states.states.map((element, index) => {\r\n return (\r\n \r\n );\r\n })\r\n : null}\r\n \r\n
    */}\r\n
    \r\n \r\n handleUpdateFormField(event)}\r\n disabled={!state.editToggle}\r\n />\r\n \r\n ACPS pin should have 4 digits\r\n

    \r\n
    \r\n
    \r\n
    \r\n {state.userDetails.roll_no && (\r\n
    \r\n \r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {(!isEmpty(state.buyPackageList) &&\r\n !isEmpty(state.buyPackageList.current)) ||\r\n !isEmpty(state.buyPackageList.past) ? (\r\n
    \r\n
    \r\n

    Current packages

    \r\n
    \r\n {!isEmpty(state.buyPackageList)\r\n ? state.buyPackageList.current.length\r\n ? state.buyPackageList.current.map(\r\n (element, index) => {\r\n return (\r\n <>\r\n {/* \r\n
    \r\n \r\n {element.package_name}\r\n \r\n
    \r\n
    \r\n {element.is_amirt === 1 ? (\r\n \r\n {element.refund_status}\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n

    {element.coursename}

    \r\n\r\n
    \r\n \r\n Expiry at\r\n {moment(\r\n element.txn_expire_date\r\n ).format(\" DD MMM, YYYY\")}\r\n \r\n\r\n \r\n {parseInt(\r\n element.is_amirt\r\n ) === 1 &&\r\n (element.refund_status\r\n .length === 0 ? (\r\n {\r\n clearRefundPackage();\r\n setCurrentRefundPackage(\r\n element\r\n );\r\n handleOpenRefundModal();\r\n }}\r\n >\r\n Ask Refund\r\n \r\n ) : (\r\n \r\n ))}\r\n\r\n \r\n Gold\r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n \r\n
    \r\n
    \r\n

    {element.package_name}

    \r\n
    \r\n
    \r\n

    Expiring on

    \r\n

    \r\n {moment(\r\n element.txn_expire_date\r\n ).format(\"DD-MM-YYYY\")}\r\n

    \r\n
    \r\n
    \r\n \r\n {element.coursename}\r\n
    \r\n
    \r\n

    ₹{element.txn_amount}

    \r\n
    \r\n {parseInt(element.is_amirt) ===\r\n 1 &&\r\n (element.refund_status\r\n .length === 0 ? (\r\n \r\n ) : (\r\n <>\r\n ))}\r\n \r\n history.push(\"/store\")\r\n }\r\n >\r\n View Details\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n )\r\n : \"You don’t have any current packages now!\"\r\n : \"You don’t have any current packages now!\"}\r\n
    \r\n
    \r\n
    \r\n

    Past Packages

    \r\n
    \r\n {!isEmpty(state.buyPackageList)\r\n ? state.buyPackageList.past.length\r\n ? state.buyPackageList.past.map(\r\n (element, index) => {\r\n return (\r\n <>\r\n {/* \r\n
    \r\n \r\n {element.package_name}\r\n \r\n
    \r\n
    \r\n

    {element.coursename}

    \r\n
    \r\n \r\n \r\n Expiry at\r\n {moment(\r\n element.txn_expire_date\r\n ).format(\" DD MMM, YYYY\")}\r\n \r\n \r\n
    \r\n Gold\r\n
    \r\n
    \r\n
    \r\n
    */}\r\n \r\n
    \r\n
    \r\n

    {element.package_name}

    \r\n
    \r\n
    \r\n

    Expiring on

    \r\n

    \r\n {moment(\r\n element.txn_expire_date\r\n ).format(\"DD-MM-YYYY\")}\r\n

    \r\n
    \r\n
    \r\n
    {element.coursename}
    \r\n
    \r\n

    ₹{element.txn_amount}

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n }\r\n )\r\n : \"You don’t have any past packages\"\r\n : \"You don’t have any past packages\"}\r\n
    \r\n \r\n \r\n ) : (\r\n
    \r\n
    \r\n \"home\"\r\n
    \r\n
    No Packages yet!
    \r\n

    \r\n You haven't purchased any course packages yet! please\r\n go and purchase a right package for you\r\n

    \r\n \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {state.isRefundModalOpen && refunduseMemo}\r\n\r\n {state.isRefundSuccessModalOpen && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n console.log(\"state\", state);\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n currentRefundPackage: state.RefundPackageSliceReducer.refundCurrentPackage,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n setUserPreference: (payload) => {\r\n dispatch(userPreferenceActions.setUserPreference(payload));\r\n },\r\n\r\n setCurrentRefundPackage: (payload) => {\r\n dispatch(setCurrentRefundPackage(payload));\r\n },\r\n\r\n clearRefundPackage: () => {\r\n dispatch(clearRefundPackage());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(UserEditProfileContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./user_edit_profile.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserEditProfileContentComponent from \"../user_edit_profile/user_edit_profile_content_component/user_edit_profile_content_component\";\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst UserEditProfile = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserEditProfile);\r\n","import { Fragment } from \"react\";\r\nimport \"./left_sideBar_component.scss\";\r\n\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport { Link, NavLink } from \"react-router-dom\";\r\n\r\nconst LeftSideBarComponent = () => {\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
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n
      \r\n \r\n \r\n Home\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n \r\n Exercise & Test\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n \r\n Doubts\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n \r\n Analytics\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n \r\n Bookmarks\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n \r\n Store\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n \r\n \r\n Transactions\r\n
      \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n
      \r\n About Us\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n Privacy Policy\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n Terms & Condition\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n FAQ's\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n Contact Us\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n \r\n
      \r\n Parent Connect\r\n
      \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default LeftSideBarComponent;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./OnlineTransactions.scss\";\r\nimport { url_36 } from \"../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport images from \"../../../../../utilities/images/images\";\r\n\r\nconst OnlineTransactions = () => {\r\n const [state, setState] = useState({\r\n onlineTransactionsList: [],\r\n });\r\n\r\n useEffect(() => {\r\n getOnlineTransactionsList();\r\n }, []);\r\n\r\n const getOnlineTransactionsList = async () => {\r\n try {\r\n const response = await axios.get(url_36);\r\n console.log(response);\r\n if (response.data.status == 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n onlineTransactionsList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n return (\r\n
    \r\n
    \r\n {state.onlineTransactionsList.length\r\n ? state.onlineTransactionsList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {`Order Id: ${element.txnid}`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {`₹ ${element.txn_amount}`}

    \r\n
    \r\n
    \r\n
    \r\n\r\n\r\n\r\n
    \r\n
    \r\n

    Discount

    \r\n

    \r\n {element.txn_discount_amount}\r\n

    \r\n
    \r\n
    \r\n

    Transaction Date & time

    \r\n

    {element.txn_date}

    \r\n
    \r\n
    \r\n

    Duration

    \r\n

    \r\n {element.package_duration}\r\n

    \r\n
    \r\n
    \r\n

    Expired

    \r\n

    \r\n {element.txn_expire_date}\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n :
    \r\n \"no\r\n

    No transactions yet!

    \r\n
    \r\n }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default OnlineTransactions;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./OfflineTransactions.scss\";\r\nimport axios from \"axios\";\r\nimport images from \"../../../../../utilities/images/images\";\r\n\r\nconst OfflineTransactions = () => {\r\n const [state, setState] = useState({\r\n offlineTransactionsList: [],\r\n openTransactionIndex: null,\r\n });\r\n\r\n const toggleDropdown = (index) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n openTransactionIndex:\r\n prevState.openTransactionIndex === index ? null : index,\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n getOfflineTransactionsList();\r\n }, []);\r\n\r\n const getOfflineTransactionsList = async () => {\r\n try {\r\n const response = await axios.get(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/HandbookTransactionDetails\"\r\n );\r\n console.log(\"getOfflineTransactionsList\", response.data.data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n offlineTransactionsList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {state.offlineTransactionsList.length ? (\r\n state.offlineTransactionsList.map((element, index) => {\r\n const isOpen = state.openTransactionIndex === index;\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {`Order Id: ${element.transaction_id}`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n toggleDropdown(index)}\r\n >\r\n View Breakup\r\n {isOpen ? (\r\n \r\n {\"<\"}\r\n \r\n ) : (\r\n \r\n {\">\"}\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {isOpen && (\r\n
    \r\n
    \r\n {element.product_details.map((product) => {\r\n return (\r\n \r\n
    \r\n {product.product_name}\r\n
    \r\n\r\n
    \r\n Quantity\r\n {product.qty} no\r\n
    \r\n
    \r\n Actual Price\r\n \r\n {parseInt(product.price).toLocaleString(\r\n \"en-US\"\r\n )}\r\n \r\n
    \r\n\r\n
    \r\n Discount\r\n \r\n -{\" \"}\r\n {parseInt(product.discount).toLocaleString(\r\n \"en-US\"\r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n Price\r\n \r\n {parseInt(\r\n product.discounted_price\r\n ).toLocaleString(\"en-US\")}\r\n \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n\r\n
      \r\n
      Overall Price Details
      \r\n\r\n
    • \r\n Price\r\n \r\n {parseInt(element.price).toLocaleString(\"en-US\")}\r\n \r\n
    • \r\n
    • \r\n Discount\r\n\r\n \r\n - {parseInt(element.discount).toLocaleString(\"en-US\")}\r\n \r\n
    • \r\n
    • \r\n Coupon Discount\r\n \r\n -{\" \"}\r\n {parseInt(element.coupon_discount).toLocaleString(\r\n \"en-US\"\r\n )}\r\n \r\n
    • \r\n
    • \r\n Shipping Charges\r\n \r\n {parseInt(element.shipping_charge).toLocaleString(\r\n \"en-US\"\r\n )}\r\n \r\n
    • \r\n
    • \r\n Net Price\r\n \r\n {parseInt(element.total_price).toLocaleString(\r\n \"en-US\"\r\n )}\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n

    Transaction Date & time

    \r\n

    {element.insert_on}

    \r\n
    \r\n
    \r\n

    Status

    \r\n

    \r\n \r\n {\" \"}\r\n \"img\"\r\n \r\n {element.status}\r\n

    \r\n
    \r\n
    \r\n

    Net Price

    \r\n

    \r\n ₹ {parseInt(element.total_price).toLocaleString(\"en-US\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n
    \r\n \"no\r\n

    No transactions yet!

    \r\n
    \r\n )}\r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default OfflineTransactions;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./user_transactions_content_component.scss\";\r\n\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_36 } from \"../../../../custom_utilities/api_services\";\r\nimport OnlineTransactions from \"./online_transactions/OnlineTransactions\";\r\nimport OfflineTransactions from \"./offline_transactions/OfflineTransactions\";\r\n\r\nconst UserTransactionsContentComponent = () => {\r\n const [state, setState] = useState({\r\n transactionsList: [],\r\n });\r\n\r\n useEffect(() => {\r\n getTransactionsList();\r\n }, []);\r\n\r\n const getTransactionsList = async () => {\r\n try {\r\n const response = await axios.get(url_36);\r\n console.log(response);\r\n if (response.data.status == 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n transactionsList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n Online\r\n \r\n
    • \r\n
    • \r\n \r\n Offline\r\n \r\n
    • \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default UserTransactionsContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./user_transactions.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserTransactionsContentComponent from \"./user_transactions_content_component/user_transactions_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst UserTransactions = (props) => {\r\n let { history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserTransactions);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./user_notifications_content_component.scss\";\r\n\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_37 } from \"../../../../custom_utilities/api_services\";\r\nimport images from \"../../../../utilities/images/images\";\r\n\r\nconst UserNotificationsContentComponent = () => {\r\n const [state, setState] = useState({\r\n notificationsList: [],\r\n });\r\n\r\n useEffect(() => {\r\n getNotificationsList();\r\n }, []);\r\n\r\n const getNotificationsList = async () => {\r\n try {\r\n const response = await axios.get(url_37);\r\n // console.log(response);\r\n if (response.data.status == 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n notificationsList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n

    Notifications

    \r\n
    \r\n
    \r\n {state.notificationsList.length\r\n ? state.notificationsList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {element.notification_title}\r\n

    \r\n
    \r\n
    \r\n );\r\n })\r\n : \"No new notification\"}\r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default UserNotificationsContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./user_notifications.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserNotificationsContentComponent from \"./user_notifications_content_component/user_notifications_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst UserNotifications = (props) => {\r\n let { history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserNotifications);\r\n","import { useEffect, useState } from \"react\";\r\nimport \"./SubjectWiseDoughnut.scss\";\r\nimport { isEmpty } from \"../../../custom_utilities/custom_useful_functions\";\r\n\r\n///////Canvas Chart//////////////////\r\nimport { CanvasJSChart } from \"canvasjs-react-charts\";\r\n// // import {\r\n// // CChart\r\n// // } from '@coreui/react-chartjs'\r\n// // import { PieChart, Pie, Cell, Legend, ResponsiveContainer, Label } from 'recharts';\r\n\r\nimport { Doughnut } from \"react-chartjs-2\";\r\nimport { Chart as ChartJS, ArcElement, Tooltip, Legend } from 'chart.js';\r\nimport ChartDataLabels from 'chartjs-plugin-datalabels';\r\n\r\nChartJS.register(ArcElement, Tooltip, Legend);\r\nChartJS.register(ChartDataLabels);\r\n\r\nconst SubjectWiseDoughnut = (props) => {\r\n let { dataPoints } = props;\r\n // console.log('dataPoints',dataPoints)\r\n const [subjectType, setSubjectType] = useState(dataPoints[0].type);\r\n const [array, setArray] = useState([]);\r\n\r\n useEffect(() => {\r\n filterTypeWise();\r\n }, [subjectType]);\r\n\r\n const filterTypeWise = () => {\r\n dataPoints?.filter((element) => {\r\n if (element.type === subjectType) {\r\n setArray([element]);\r\n console.log(\"element\",element,\"[element]\",[element])\r\n }\r\n });\r\n return\r\n };\r\n const data = () => {\r\n if(array[0]?.Biology == 0){\r\n return [\r\n {\r\n name: \"Chemistry\",\r\n value: array[0]?.Chemistry,\r\n color: \"#FFAFCA\",\r\n },\r\n {\r\n name: \"Maths\",\r\n value: array[0]?.Maths,\r\n color: \"#819CFF\",\r\n },\r\n {\r\n name: \"Physics\",\r\n value: array[0]?.Physics,\r\n color: \"#FFC557\",\r\n },\r\n ]\r\n } if(array[0]?.Maths == 0) {\r\n return [\r\n {name: \"Biology\",\r\n value: array[0]?.Biology,\r\n color: \"#4EE3A4\" },\r\n {\r\n name: \"Chemistry\",\r\n value: array[0]?.Chemistry,\r\n color: \"#FFAFCA\",\r\n },\r\n {\r\n name: \"Physics\",\r\n value: array[0]?.Physics,\r\n color: \"#FFC557\",\r\n },\r\n ]\r\n } else {\r\n return [\r\n {name: \"Biology\",\r\n value: array[0]?.Biology,\r\n color: \"#4EE3A4\" },\r\n {\r\n name: \"Chemistry\",\r\n value: array[0]?.Chemistry,\r\n color: \"#FFAFCA\",\r\n },\r\n {\r\n name: \"Maths\",\r\n value: array[0]?.Maths,\r\n color: \"#819CFF\",\r\n },\r\n {\r\n name: \"Physics\",\r\n value: array[0]?.Physics,\r\n color: \"#FFC557\",\r\n },\r\n ]\r\n }\r\n };\r\n\r\n\r\n // const options = {\r\n // animationEnabled: true,\r\n // // backgroundColor: \"#f5f4f8\",\r\n // toolTip:{\r\n // enabled: true, //disable here\r\n // animationEnabled: true, //disable here\r\n // backgroundColor:'#4EE3A4'\r\n // },\r\n // subtitles: [\r\n // {\r\n // verticalAlign: \"center\",\r\n // fontSize: 24,\r\n // dockInsidePlotArea: true,\r\n // },\r\n // ],\r\n // data: [\r\n // {\r\n // type: \"doughnut\",\r\n // radius: \"90%\",\r\n // innerRadius: \"82%\",\r\n // indexLabel: \"{name}: {y}\",\r\n // yValueFormatString: \"#,###'%'\",\r\n // dataPoints: [\r\n // {\r\n // name: \"Biology\",\r\n // y: array[0]?.Biology,\r\n // color: \"#4EE3A4\",\r\n // indexLabelBackgroundColor: \"#4EE3A4\",\r\n // },\r\n // {\r\n // name: \"Chemistry\",\r\n // y: array[0]?.Chemistry,\r\n // color: \"#FFAFCA\",\r\n // indexLabelBackgroundColor: \"#FFAFCA\",\r\n // },\r\n // {\r\n // name: \"Maths\",\r\n // y: array[0]?.Maths,\r\n // color: \"#819CFF\",\r\n // indexLabelBackgroundColor: \"#819CFF\",\r\n // },\r\n // {\r\n // name: \"Physics\",\r\n // y: array[0]?.Physics,\r\n // color: \"#FFC557\",\r\n // indexLabelBackgroundColor: \"#FFC557\",\r\n // },\r\n // ],\r\n // },\r\n // ],\r\n // };\r\n\r\n const handleChange = (event) => {\r\n setSubjectType(event.target.value);\r\n };\r\n\r\n\r\nconst chartData = {\r\n labels: data().map(item => item.name),\r\n datasets: [\r\n {\r\n data: data().map(item => subjectType == \"Time Spent\" ? Math.floor(item.value/60) :item.value),\r\n backgroundColor: data().map(item => item.color),\r\n hoverBackgroundColor: data().map(item => item.color),\r\n },\r\n ],\r\n};\r\nconst options = {\r\n cutout: \"80%\",\r\n // circumference:270,\r\n maintainAspectRatio: false,\r\n\r\n layout: {\r\n padding: {\r\n top: 50,\r\n bottom: 50,\r\n left: 50,\r\n right: 50,\r\n },\r\n },\r\n plugins: {\r\n legend: {\r\n display: false, // Hide default legend\r\n },\r\n tooltip: {\r\n enabled: true,\r\n },\r\n doughnut: {\r\n spacing: 0, // Set spacing to 0 to remove the gap\r\n },\r\n datalabels: {\r\n display: true,\r\n formatter: (value, context) => {\r\n const label = context.chart.data.labels[context.dataIndex];\r\n return `${label}\\n${value}${subjectType == \"Time Spent\" ? ' Min' : \"%\"}`;\r\n },\r\n color: \"#000\",\r\n borderWidth: 0,\r\n backgroundColor: function (context) {\r\n return context.dataset.backgroundColor;\r\n },\r\n borderRadius: 5,\r\n padding: 6,\r\n align: \"end\",\r\n anchor: \"end\",\r\n font: {\r\n size: 12,\r\n },\r\n },\r\n },\r\n};\r\n \r\n return (\r\n
    \r\n
    Subject Wise
    \r\n
    \r\n {!isEmpty(dataPoints)\r\n ? dataPoints.length\r\n ? dataPoints.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n {/* */}\r\n \r\n
    \r\n \r\n
    \r\n\r\n\r\n
    \r\n );\r\n};\r\n\r\nexport default SubjectWiseDoughnut;\r\n","import { useEffect, useState } from \"react\";\r\nimport \"./OverallDifficultyWiseProgress.scss\";\r\nimport { isEmpty } from \"../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n CircularProgressbar,\r\n buildStyles,\r\n} from \"react-circular-progressbar\";\r\nimport \"react-circular-progressbar/dist/styles.css\";\r\n\r\n///////Canvas Chart//////////////////\r\n\r\nconst OverallDifficultyWiseProgress = (props) => {\r\n let { dataPoints } = props;\r\n const [toughness, setToughness] = useState(dataPoints[0].Toughness);\r\n const [array, setArray] = useState([]);\r\n\r\n useEffect(() => {\r\n filterToughnessWise();\r\n }, [toughness]);\r\n\r\n const filterToughnessWise = () => {\r\n dataPoints?.filter((element) => {\r\n if (element.Toughness === toughness) {\r\n setArray([element]);\r\n \r\n }\r\n });\r\n return;\r\n };\r\n\r\n const handleChange = (event) => {\r\n const { nodeName, value } = event.target;\r\n if (nodeName === \"INPUT\") {\r\n setToughness(value);\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    Difficulty wise
    \r\n
    \r\n {!isEmpty(dataPoints)\r\n ? dataPoints.length\r\n ? dataPoints.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n Wrong\r\n
    \r\n\r\n
    \r\n \r\n Unattempted\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Correct\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default OverallDifficultyWiseProgress;\r\n","import { Bar } from \"react-chartjs-2\";\r\nimport { CategoryScale } from \"chart.js\";\r\nimport Chart from \"chart.js/auto\";\r\nChart.register(CategoryScale);\r\n\r\nfunction CorrectIncorrectDoughnutChart(props) {\r\n let {dataPoints } = props;\r\n\r\n const labels = [\"\"];\r\n\r\n // this is for adding margin to the label( header)\r\n const legendMargin = [\r\n {\r\n id: \"legendMargin\",\r\n beforeInit(chart, legend, options) {\r\n chart.legend.options.position = \"bottom\";\r\n const fitValue = chart.legend.fit;\r\n chart.legend.fit = function fit() {\r\n fitValue.bind(chart.legend)();\r\n return (this.height += 20);\r\n };\r\n },\r\n },\r\n ];\r\n\r\n const data = {\r\n labels,\r\n datasets: [\r\n {\r\n label: \"Correct\",\r\n backgroundColor: \"#1BCB4C\",\r\n data: [Number(dataPoints[0].Total)],\r\n barThickness: 70,\r\n borderRadius:5\r\n },\r\n {\r\n label: \"Incorrect\",\r\n backgroundColor: \"#FF3434\",\r\n data: [Number(dataPoints[1].Total)],\r\n barThickness: 70,\r\n borderRadius:5\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default CorrectIncorrectDoughnutChart;\r\n","import { Bar } from \"react-chartjs-2\";\r\n// import { CategoryScale } from \"chart.js\";\r\n// import Chart from \"chart.js/auto\";\r\n// Chart.register(CategoryScale);\r\n\r\nconst AttemptUnattemptDoughnutChart = (props) => {\r\n let { dataDetails } = props;\r\n\r\n const labels = [\"\"];\r\n\r\n // this is for adding margin to the label( header) of the chart\r\n const legendMargin = [\r\n {\r\n id: \"legendMargin\",\r\n beforeInit(chart, legend, options) {\r\n chart.legend.options.position = \"bottom\";\r\n const fitValue = chart.legend.fit;\r\n chart.legend.fit = function fit() {\r\n fitValue.bind(chart.legend)();\r\n return (this.height += 20);\r\n };\r\n },\r\n },\r\n ];\r\n\r\n const data = {\r\n labels,\r\n\r\n datasets: [\r\n {\r\n label: \"Attempted\",\r\n data: [Number(dataDetails[0].Total)],\r\n backgroundColor: \"#FBAB35\",\r\n barThickness: 70,\r\n },\r\n {\r\n label: \"Unattempted\",\r\n data: [Number(dataDetails[1].Total)],\r\n backgroundColor: \"#BDBDBD\",\r\n barThickness: 70,\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default AttemptUnattemptDoughnutChart;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { START_LOADING } from \"../../../../redux/ui/action_type\";\r\nimport \"./OverallStrongAndImproveTopics.scss\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport { url_141 } from \"../../../../custom_utilities/api_services\";\r\n\r\n\r\nfunction OverallStrongAndImproveTopics(props) {\r\n const { startLoading, finishLoading, subjects } = props;\r\n const [ImproveTopicList, setImproveTopicList] = useState([]);\r\n const [StrongTopicList, setStrongTopicList] = useState([]);\r\n\r\n const [subject, setSubject] = useState(\"Physics\");\r\n const [strongSubject, setStrongSubject] = useState(\"Physics\");\r\n\r\n useEffect(() => {\r\n getImproveTopicList(subject, \"Improve\");\r\n }, [subject]);\r\n\r\n useEffect(() => {\r\n getStrongTopicList(subject, \"Storng\");\r\n }, [strongSubject]);\r\n\r\n const getStrongTopicList = async (subject, type) => {\r\n startLoading();\r\n\r\n try {\r\n const data = {\r\n subject,\r\n type,\r\n };\r\n const response = await axios.post(\r\n url_141,\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setStrongTopicList([...response.data.data.StrongTopicList]);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error.message);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getImproveTopicList = async (subject, type) => {\r\n startLoading();\r\n try {\r\n const data = {\r\n subject,\r\n type,\r\n };\r\n const response = await axios.post(\r\n url_141,\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n setImproveTopicList([...response.data.data.ImproveTopicList]);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    Strong Topic
    \r\n\r\n
    \r\n {\r\n setStrongSubject(event.target.value);\r\n }}\r\n >\r\n {subjects?.map((element) => {\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
      \r\n {StrongTopicList.length > 0 &&\r\n StrongTopicList.map((element) => {\r\n // return
    1. {element.topic}
    2. ;\r\n return (\r\n
      \r\n
    3. {element.topic}
    4. \r\n {/* s */}\r\n
      \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Areas to Improve
    \r\n\r\n
    \r\n {\r\n setSubject(event.target.value);\r\n }}\r\n >\r\n {subjects?.map((element) => {\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
      \r\n {ImproveTopicList.length > 0 &&\r\n ImproveTopicList.map((element) => {\r\n return (\r\n
      \r\n
    1. {element.topic}
    2. \r\n {/* Start Practice */}\r\n
      \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n}\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(OverallStrongAndImproveTopics);\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialState = {\r\n testDate: \"\",\r\n paperId: \"\",\r\n plannerTestId: \"\",\r\n papers: {},\r\n expectedRank: \"\",\r\n allIndiaRank: \"\",\r\n};\r\n\r\nconst parentTestSlice = createSlice({\r\n name: \"parentTest\",\r\n initialState,\r\n reducers: {\r\n setPaperId: (state, action) => {\r\n state.paperId = action.payload;\r\n },\r\n setPlannerTestId: (state, action) => {\r\n state.plannerTestId = action.payload;\r\n },\r\n setTestDate: (state, action) => {\r\n state.testDate = action.payload;\r\n },\r\n setPapers: (state, action) => {\r\n state.papers = action.payload;\r\n },\r\n setExpectedRank: (state, action) => {\r\n state.expectedRank = action.payload;\r\n },\r\n setAllIndiaRank: (state, action) => {\r\n state.allIndiaRank = action.payload;\r\n },\r\n setPlannerId: (state, action) => {\r\n state.plannerTestId = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n setPaperId,\r\n setPlannerTestId,\r\n setTestDate,\r\n setPapers,\r\n setExpectedRank,\r\n setAllIndiaRank,\r\n setPlannerId,\r\n} = parentTestSlice.actions;\r\n\r\nexport const parentTestReducer = parentTestSlice.reducer;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./user_analytics_content_component.scss\";\r\n\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_63,\r\n url_9,\r\n url_41,\r\n url_42,\r\n} from \"../../../../custom_utilities/api_services\";\r\nimport moment from \"moment\";\r\n\r\n/////\r\n\r\nimport SubjectWiseDoughnut from \"../../../../components/canvas_charts/canvas_doughnut_chart/SubjectWiseDoughnut\";\r\n\r\nimport OverallDifficultyWiseProgress from \"../../../../components/canvas_charts/canvas_doughnut_chart/OverallDifficultyWiseProgress\";\r\n\r\nimport CorrectIncorrectDoughnutChart from \"../../../../components/canvas_charts/canvas_doughnut_chart/CorrectIncorrectDoughnutChart\";\r\nimport AttemptUnattemptDoughnutChart from \"../../../../components/canvas_charts/canvas_doughnut_chart/AttemptUnattemptDoughnutChart\";\r\nimport OverallStrongAndImproveTopics from \"../overall_strong_and_improve_topics/OverallStrongAndImproveTopics\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport userTestsExercisesAction from \"../../../../redux/user_tests_exercises/action\";\r\nimport { setPaperId } from \"../../../../parent/redux/testDataSlice/TestDataSlice\";\r\nimport {\r\n setUserId,\r\n setLoginFromParentFlag,\r\n setParentTarget,\r\n} from \"../../../../parent/redux/authSlice/AuthSlice\";\r\n\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\n\r\nconst UserAnalyticsContentComponent = (props) => {\r\n let {\r\n history,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n setUserTestsResultData,\r\n options,\r\n options2,\r\n token,\r\n tokenType,\r\n userId,\r\n setUserId,\r\n setPaperId,\r\n setLoginFromParentFlag,\r\n setParentTarget,\r\n target,\r\n } = props;\r\n\r\n // const [overAllTestsData,setOverAllTestsData] = useState([])\r\n // const [flag, setFlag] = useState(true);\r\n\r\n const [state, setState] = useState({\r\n tabType: 1,\r\n\r\n ////overall//////\r\n overAllTestsData: {},\r\n /////inidividual//////\r\n individualTestSubjectDataDetails: {\r\n subjectId: \"\",\r\n subjectName: \"\",\r\n subjectIcon: \"\",\r\n },\r\n individualTestSubjectList: {},\r\n individualTestList: {},\r\n individualTestInitialSubjectCheck: true,\r\n individualTestListPageNumber: 1,\r\n /////learn Analysis\r\n learnAnalysisSubjectDataDetails: {\r\n subjectId: \"\",\r\n subjectName: \"\",\r\n subjectIcon: \"\",\r\n },\r\n learnAnalysisSubjectList: {},\r\n learnAnalysisData: {},\r\n learnAnalysisInitialSubjectCheck: true,\r\n });\r\n\r\n useEffect(() => {\r\n if (state.tabType === 1) {\r\n getOverAllTestsData();\r\n } else if (state.tabType === 2) {\r\n getIndividualTestSubjectList();\r\n } else if (state.tabType === 3) {\r\n getLearnAnalysisSubjectList();\r\n }\r\n }, [state.tabType]);\r\n\r\n useEffect(() => {\r\n if (\r\n state.tabType === 2 &&\r\n !isEmpty(state.individualTestSubjectList) &&\r\n state.individualTestSubjectList.subject.length &&\r\n state.individualTestInitialSubjectCheck\r\n ) {\r\n getIndividualTestInitialData();\r\n }\r\n }, [state.tabType, state.individualTestSubjectList]);\r\n\r\n useEffect(() => {\r\n if (\r\n state.tabType === 3 &&\r\n !isEmpty(state.learnAnalysisSubjectList) &&\r\n state.learnAnalysisSubjectList.subject.length &&\r\n state.learnAnalysisInitialSubjectCheck\r\n ) {\r\n getLearnAnalysisInitialData();\r\n }\r\n }, [state.tabType, state.learnAnalysisSubjectList]);\r\n\r\n const getIndividualTestInitialData = () => {\r\n let { subject } = state.individualTestSubjectList;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n individualTestSubjectDataDetails: {\r\n ...prevState.individualTestSubjectDataDetails,\r\n subjectId: subject[0].sub_id,\r\n subjectName: subject[0].sub_name,\r\n subjectIcon: subject[0].icon,\r\n },\r\n individualTestInitialSubjectCheck: false,\r\n }));\r\n\r\n getIndividualTestList(subject[0].sub_id);\r\n };\r\n\r\n const getLearnAnalysisInitialData = () => {\r\n let { subject } = state.learnAnalysisSubjectList;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n learnAnalysisSubjectDataDetails: {\r\n ...prevState.learnAnalysisSubjectDataDetails,\r\n subjectId: subject[0].sub_id,\r\n subjectName: subject[0].sub_name,\r\n subjectIcon: subject[0].icon,\r\n },\r\n learnAnalysisInitialSubjectCheck: false,\r\n }));\r\n\r\n getLearnAnalysisData(subject[0].sub_id);\r\n };\r\n\r\n const getOverAllTestsData = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_63);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n overAllTestsData: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getIndividualTestSubjectList = async () => {\r\n let requestPayload = {\r\n course_id: userPreference.courseDetails[0].course_id,\r\n class_id: userPreference.classDetails.class_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_9, requestPayload);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n individualTestSubjectList: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleTabChange = (tabType) => {\r\n switch (tabType) {\r\n case \"overall_tests\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n tabType: 1,\r\n individualTestInitialSubjectCheck: true,\r\n }));\r\n break;\r\n case \"individual_test\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n tabType: 2,\r\n individualTestInitialSubjectCheck: true,\r\n }));\r\n break;\r\n case \"learn_analysis\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n tabType: 3,\r\n individualTestInitialSubjectCheck: true,\r\n }));\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const handleChangeSubject1 = (event, sub_id, sub_name, icon) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n individualTestSubjectDataDetails: {\r\n ...prevState.individualTestSubjectDataDetails,\r\n subjectId: sub_id,\r\n subjectName: sub_name,\r\n subjectIcon: icon,\r\n },\r\n }));\r\n\r\n getIndividualTestList(sub_id);\r\n };\r\n\r\n const getIndividualTestList = async (subject_id) => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_41);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n individualTestList: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleStorageTestData = (testData) => {\r\n setUserTestsResultData(testData);\r\n history.push(\"/test_result\");\r\n };\r\n\r\n const handleRedirectToParent = async (testData) => {\r\n console.log(\"testData in sharath\", target);\r\n await setParentTarget(target);\r\n setPaperId(testData.paper_id);\r\n setUserId(userId);\r\n setLoginFromParentFlag(false);\r\n\r\n history.push({\r\n pathname: \"/student-tests\",\r\n state: {\r\n step: 2,\r\n },\r\n });\r\n };\r\n\r\n const getLearnAnalysisSubjectList = async () => {\r\n let requestPayload = {\r\n course_id: userPreference.courseDetails[0].course_id,\r\n class_id: userPreference.classDetails.class_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_9, requestPayload);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n learnAnalysisSubjectList: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleChangeSubject2 = (event, sub_id, sub_name, icon) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n learnAnalysisSubjectDataDetails: {\r\n ...prevState.learnAnalysisSubjectDataDetails,\r\n subjectId: sub_id,\r\n subjectName: sub_name,\r\n subjectIcon: icon,\r\n },\r\n }));\r\n\r\n getLearnAnalysisData(sub_id);\r\n };\r\n\r\n const getLearnAnalysisData = async (subject_id) => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(`${url_42}?subject_id=${subject_id}`);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n learnAnalysisData: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleIndividualTestListPrevBtn = async () => {\r\n let subjectId = state.individualTestSubjectDataDetails.subjectId;\r\n let individualTestListPageNumber = state.individualTestListPageNumber;\r\n if (individualTestListPageNumber > 1) {\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_41}?subject_id=${subjectId}&page=${\r\n individualTestListPageNumber - 1\r\n }`\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n individualTestList: response.data.data,\r\n individualTestListPageNumber: individualTestListPageNumber - 1,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }\r\n };\r\n\r\n const handleIndividualTestListNextBtn = async () => {\r\n let subjectId = state.individualTestSubjectDataDetails.subjectId;\r\n let individualTestListPageNumber = state.individualTestListPageNumber;\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_41}?subject_id=${subjectId}&page=${\r\n individualTestListPageNumber + 1\r\n }`\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n individualTestList: response.data.data,\r\n individualTestListPageNumber: individualTestListPageNumber + 1,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Test Analytics

    \r\n
    \r\n \r\n \r\n handleTabChange(\"overall_tests\")}\r\n >\r\n Overall Test\r\n \r\n \r\n \r\n handleTabChange(\"individual_test\")}\r\n >\r\n Individual Test\r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n {/* //////////////overall test tab//////// */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.overAllTestsData) ? (\r\n state.overAllTestsData.OverallSubjectReport\r\n .length ? (\r\n \r\n ) : null\r\n ) : null}\r\n\r\n {!isEmpty(state.overAllTestsData) ? (\r\n state.overAllTestsData.OverallDifficultyReport\r\n .length ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n\r\n
    \r\n {!isEmpty(state.overAllTestsData) ? (\r\n state.overAllTestsData.TestChartQuestionsData\r\n ?.length ? (\r\n \r\n ) : null\r\n ) : null}\r\n\r\n {!isEmpty(state.overAllTestsData) ? (\r\n state.overAllTestsData.TestChartData?.length ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n\r\n
    \r\n {!isEmpty(state.overAllTestsData) ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* //////////////individual test tab//////// */}\r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n {!isEmpty(state.individualTestSubjectList)\r\n ? state.individualTestSubjectList.subject.length\r\n ? state.individualTestSubjectList.subject.map(\r\n (element, index) => {\r\n return (\r\n \r\n \r\n handleChangeSubject1(\r\n event,\r\n element.sub_id,\r\n element.sub_name,\r\n element.icon\r\n )\r\n }\r\n />\r\n \r\n {element.sub_name}\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {!isEmpty(state.individualTestList)\r\n ? state.individualTestList.TestList.data.length\r\n ? state.individualTestList.TestList.data.map(\r\n (element, index) => {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.paper_name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n // handleStorageTestData(\r\n // element\r\n // )\r\n // }\r\n onClick={() =>\r\n handleRedirectToParent(\r\n element\r\n )\r\n }\r\n >\r\n View solution\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n {/* {!isEmpty(state.individualTestList) ? (\r\n state.individualTestList.TestList.data.length ? (\r\n
    \r\n
    \r\n
    \r\n \r\n handleIndividualTestListPrevBtn()\r\n }\r\n >\r\n Prev\r\n \r\n
    \r\n
    \r\n \r\n handleIndividualTestListNextBtn()\r\n }\r\n >\r\n Next\r\n \r\n
    \r\n
    \r\n
    \r\n ) : null\r\n ) : null} */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n userId: state.auth.user.user_id,\r\n target: state?.auth?.user?.UsertargetDetail[0]?.target,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUserTestsResultData: (payload) => {\r\n dispatch(userTestsExercisesAction.setUserTestsResultData(payload));\r\n },\r\n\r\n setPaperId: (payload) => {\r\n dispatch(setPaperId(payload));\r\n },\r\n\r\n setUserId: (payload) => {\r\n dispatch(setUserId(payload));\r\n },\r\n\r\n setLoginFromParentFlag: (payload) => {\r\n dispatch(setLoginFromParentFlag(payload));\r\n },\r\n setParentTarget: (payload) => {\r\n dispatch(setParentTarget(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(UserAnalyticsContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./user_analytics.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserAnalyticsContentComponent from \"./user_analytics_content_component/user_analytics_content_component\";\r\n\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst UserAnalytics = (props) => {\r\n let { history, loader, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserAnalytics);\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./subject_content_component.scss\";\r\n\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport { BASE_URL } from \"../../../../../custom_utilities/baseURL\";\r\nimport { url_9, url_10 } from \"../../../../../custom_utilities/api_services\";\r\nimport { useLocation } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../redux/user_activity/action\";\r\n\r\nconst SubjectContentComponent = (props) => {\r\n let {\r\n history,\r\n userPreference,\r\n subjectData,\r\n setSubjectData,\r\n setTopicData,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n let { courseDetails, classDetails } = userPreference;\r\n const location = useLocation();\r\n let freeCourseId = location.courseId;\r\n const [state, setState] = useState({\r\n subjectDataDetails: {\r\n subjectId: \"\",\r\n subjectName: \"\",\r\n subjectIcon: \"\",\r\n },\r\n subjectList: {},\r\n topicList: {},\r\n initialSubjectCheck: true,\r\n });\r\n\r\n useEffect(() => {\r\n getSubjectData();\r\n getSubjectList();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (\r\n !isEmpty(state.subjectList) &&\r\n state.subjectList.subject.length &&\r\n state.initialSubjectCheck\r\n ) {\r\n getInitialData();\r\n }\r\n }, [state.subjectList]);\r\n\r\n const getInitialData = () => {\r\n let { subjectId } = subjectData;\r\n let { subjectList } = state;\r\n setState((prevState) => ({ ...prevState, initialSubjectCheck: false }));\r\n\r\n if (subjectId) {\r\n getSubjectData();\r\n getTopics(courseDetails[0].course_id, subjectId);\r\n } else {\r\n setSubjectData({\r\n subjectId: subjectList.subject[0].sub_id,\r\n subjectName: subjectList.subject[0].sub_name,\r\n subjectIcon: subjectList.subject[0].icon,\r\n });\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectDataDetails: {\r\n ...prevState.subjectDataDetails,\r\n subjectId: subjectList.subject[0].sub_id,\r\n subjectName: subjectList.subject[0].sub_name,\r\n subjectIcon: subjectList.subject[0].icon,\r\n },\r\n }));\r\n getTopics(courseDetails[0].course_id, subjectList.subject[0].sub_id);\r\n }\r\n };\r\n\r\n const getSubjectData = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectDataDetails: {\r\n ...prevState.subjectDataDetails,\r\n subjectId: subjectData.subjectId,\r\n subjectName: subjectData.subjectName,\r\n subjectIcon: subjectData.subjectIcon,\r\n },\r\n }));\r\n };\r\n\r\n const getSubjectList = async () => {\r\n let data = {\r\n course_id: location.courseId ? freeCourseId : courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_9, data);\r\n // const response = await axios.post(\r\n // `${BASE_URL}/api/user/UserSubject`,\r\n // data\r\n // );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectList: response.data.data,\r\n }));\r\n if (location.courseId) {\r\n const { sub_id, sub_name, icon } = response.data.data.subject[0];\r\n handleChangeSubject(\"\", sub_id, sub_name, icon);\r\n }\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTopics = async (course_id, sub_id) => {\r\n let data = {\r\n course_id: location.courseId ? freeCourseId : course_id,\r\n subject_id: sub_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_10, data);\r\n // const response = await axios.post(\r\n // `${BASE_URL}/api/user/UserSubjectTopic`,\r\n // data\r\n // );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const backGroundColorFromBackend = (color_code) => {\r\n const colorCode = color_code ? color_code.split(\",\") : null;\r\n\r\n if (colorCode !== null) {\r\n return {\r\n background: `linear-gradient(277deg,${colorCode[0]}, ${colorCode[1]} 101.46% )`,\r\n };\r\n } else {\r\n return {\r\n background: \"#ffffff\",\r\n };\r\n }\r\n };\r\n\r\n const handleChangeSubject = (event, sub_id, sub_name, icon) => {\r\n setSubjectData({\r\n subjectId: sub_id,\r\n subjectName: sub_name,\r\n subjectIcon: icon,\r\n });\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectDataDetails: {\r\n ...prevState.subjectDataDetails,\r\n subjectId: sub_id,\r\n subjectName: sub_name,\r\n subjectIcon: icon,\r\n },\r\n }));\r\n\r\n getTopics(courseDetails[0].course_id, sub_id);\r\n };\r\n\r\n const handleTopicChange = (\r\n topic_id,\r\n topic_name,\r\n icon,\r\n topicVideo,\r\n is_video_available,\r\n is_live_class_available,\r\n is_excersice_available,\r\n is_notes_available,\r\n is_dpp_available,\r\n is_additional_video_available\r\n ) => {\r\n setTopicData({\r\n topicId: topic_id,\r\n topicName: topic_name,\r\n topicIcon: icon,\r\n topicVideo: topicVideo,\r\n is_video_available,\r\n is_live_class_available,\r\n is_excersice_available,\r\n is_notes_available,\r\n is_dpp_available,\r\n is_additional_video_available,\r\n });\r\n history.push({\r\n pathname: \"/topic_component\",\r\n state: location.courseId,\r\n });\r\n };\r\n\r\n const handleBackBtn = () => {\r\n history.push(\"/user_dashboard\");\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.subject.length\r\n ? state.subjectList.subject.map((element, index) => {\r\n return (\r\n \r\n
    \r\n \"icon\"\r\n
    \r\n \r\n handleChangeSubject(\r\n event,\r\n element.sub_id,\r\n element.sub_name,\r\n element.icon\r\n )\r\n }\r\n />\r\n \r\n {element.sub_name}\r\n \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.topicList) ? (\r\n state.topicList.topic.length ? (\r\n state.topicList.topic.map((element, index) => {\r\n return (\r\n \r\n handleTopicChange(\r\n element.topic_id,\r\n element.topic_name,\r\n element.icon,\r\n element.topicVideo,\r\n element.is_video_available,\r\n element.is_live_class_available,\r\n element.is_excersice_available,\r\n element.is_notes_available,\r\n element.is_dpp_available,\r\n element.is_additional_video_available\r\n )\r\n }\r\n >\r\n
    \r\n
    \r\n
    \r\n \"topic\"\r\n

    \r\n {element.topic_name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n
    \r\n \r\n
    \r\n )\r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n subjectData: state.userActivity.subjectData,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setSubjectData: (payload) => {\r\n dispatch(userActivityActions.setSubjectData(payload));\r\n },\r\n setTopicData: (payload) => {\r\n dispatch(userActivityActions.setTopicData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDipatchToProps\r\n)(SubjectContentComponent);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./subject_component.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport SubjectContentComponent from \"../subject_component/subject_content_component/subject_content_component\";\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst SubjectComponent = (props) => {\r\n let { history, loader, userData, userPreference } = props;\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(SubjectComponent);\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst WatchedVideoDetailsSlice = createSlice({\r\n name: \"WatchedVideoDetails\",\r\n\r\n initialState: {\r\n watchedVideoDetails: {},\r\n watchedDuration: 0,\r\n lastPaused: 0,\r\n totalWatchTime: 0,\r\n currentvideoTime: 0,\r\n noteAddedVideoTime: 0,\r\n },\r\n reducers: {\r\n setWatchedVideoDetails: (state, action) => {\r\n state.watchedVideoDetails = action.payload;\r\n },\r\n\r\n setTotalWatchTime: (state, action) => {\r\n state.totalWatchTime = action.payload;\r\n },\r\n\r\n setVideoLastPaused: (state, action) => {\r\n state.lastPaused = action.payload;\r\n },\r\n\r\n setNoteAddedVideoTime: (state, action) => {\r\n state.noteAddedVideoTime = action.payload;\r\n },\r\n\r\n setCurrentVideoTime: (state, action) => {\r\n state.currentvideoTime = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const {\r\n setWatchedVideoDetails,\r\n setTotalWatchTime,\r\n setVideoLastPaused,\r\n setCurrentVideoTime,\r\n setNoteAddedVideoTime,\r\n} = WatchedVideoDetailsSlice.actions;\r\nexport default WatchedVideoDetailsSlice.reducer;\r\n","import { Fragment, useState, useEffect, useCallback } from \"react\";\r\nimport \"./topic_content_component.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport { BASE_URL } from \"../../../../../custom_utilities/baseURL\";\r\nimport {\r\n url_11,\r\n url_13,\r\n url_33,\r\n url_39,\r\n url_55,\r\n url_140,\r\n url_214,\r\n} from \"../../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../redux/user_activity/action\";\r\nimport * as rdd from \"react-device-detect\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { setLiveVideoStreamDetails } from \"../../../../../redux/live_video_streaming/LiveVideoStreamingSlice\";\r\nimport {\r\n setWatchedVideoDetails,\r\n setNoteAddedVideoTime,\r\n} from \"../../../../../redux/watched_video_details/WatchedVideoDetailsSlice\";\r\n\r\nconst TopicContentComponent = (props) => {\r\n let {\r\n history,\r\n userPreference,\r\n subjectData,\r\n topicData,\r\n startLoading,\r\n finishLoading,\r\n setVideoData,\r\n setRecordedVideoData,\r\n setNotesData,\r\n setLiveStreamData,\r\n setExerciseData,\r\n setLiveStreamVideoData,\r\n token,\r\n tokenType,\r\n setLiveVideoStreamDetailsAction,\r\n setWatchedVideoDetailsAction,\r\n setNoteAddedVideoTimeAction,\r\n } = props;\r\n\r\n let { courseDetails } = userPreference;\r\n const location = useLocation();\r\n let crsID = location.state;\r\n\r\n const initailFeatureTypeCheck = (topicData) => {\r\n const featureMapping = {\r\n is_video_available: 1,\r\n is_live_class_available: 2,\r\n is_excersice_available: 3,\r\n is_dpp_available: 4,\r\n is_notes_available: 5,\r\n is_additional_video_available: 6,\r\n };\r\n\r\n for (const [key, value] of Object.entries(featureMapping)) {\r\n if (topicData[key]) {\r\n return value;\r\n }\r\n }\r\n };\r\n\r\n const [state, setState] = useState({\r\n featureType: initailFeatureTypeCheck(topicData),\r\n videosData: [],\r\n additionalVideosData: [],\r\n facultyData: {},\r\n liveVideoData: [],\r\n liveClassesData: {},\r\n exercisesData: {},\r\n notesData: {},\r\n pageNumber: 1,\r\n recordedPageNumber: 1,\r\n currentFacultyName: {},\r\n additionalFacultyData: {},\r\n additionalCurrentFacultyName: {},\r\n });\r\n\r\n const getVideosData = useCallback(async () => {\r\n let data = {\r\n search: \"\",\r\n course_id: location.state ? crsID : courseDetails[0].course_id,\r\n subject_id: subjectData?.subjectId,\r\n topic_id: topicData.topicId,\r\n faculty_id: state?.currentFacultyName?.user_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_11}?page=1&search=${data.search}&course_id=${data.course_id}&subject_id=${data.subject_id}&topic_id=${data.topic_id}&faculty_id=${data.faculty_id}`\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n videosData: [...response.data.data.VideoList.data],\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [\r\n courseDetails,\r\n crsID,\r\n finishLoading,\r\n location.state,\r\n startLoading,\r\n state?.currentFacultyName?.user_id,\r\n subjectData?.subjectId,\r\n topicData.topicId,\r\n ]);\r\n\r\n const getRecordedLiveClassData = useCallback(\r\n async (page = 1) => {\r\n let data = {\r\n subject_id: subjectData?.subjectId,\r\n topic_id: topicData.topicId,\r\n type: \"live\",\r\n page: page,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_214}/?subject_id=${data.subject_id}&topic_id=${data.topic_id}&type=live&page=${data.page}`\r\n );\r\n if (response.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n liveVideoData: response.data,\r\n }));\r\n finishLoading();\r\n } else {\r\n alert(response.data.message);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n },\r\n [startLoading, finishLoading, subjectData?.subjectId, topicData.topicId]\r\n );\r\n\r\n const getFacultyData = useCallback(async () => {\r\n let data = {\r\n search: \"\",\r\n course_id: location.state ? crsID : courseDetails[0].course_id,\r\n subject_id: subjectData?.subjectId,\r\n topic_id: topicData.topicId,\r\n };\r\n try {\r\n const response = await axios.get(\r\n `${url_140}?page=1&search=${data.search}&course_id=${data.course_id}&subject_id=${data.subject_id}&topic_id=${data.topic_id}`\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n facultyData: response.data.data,\r\n currentFacultyName: response.data.data.VideoList[0],\r\n }));\r\n } else {\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [\r\n courseDetails,\r\n crsID,\r\n location.state,\r\n subjectData?.subjectId,\r\n topicData.topicId,\r\n ]);\r\n\r\n const getAdditionalFacultyData = useCallback(async () => {\r\n let data = {\r\n search: \"\",\r\n course_id: location.state ? crsID : courseDetails[0].course_id,\r\n subject_id: subjectData?.subjectId,\r\n topic_id: topicData.topicId,\r\n type: 2,\r\n };\r\n try {\r\n const response = await axios.get(\r\n `${url_140}?page=1&search=${data.search}&course_id=${data.course_id}&subject_id=${data.subject_id}&topic_id=${data.topic_id}&type=${data.type}`\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n additionalFacultyData: response.data.data,\r\n additionalCurrentFacultyName: response.data.data.VideoList[0],\r\n }));\r\n } else {\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n }, [\r\n courseDetails,\r\n crsID,\r\n location.state,\r\n subjectData?.subjectId,\r\n topicData.topicId,\r\n ]);\r\n\r\n /////////////Live classess////////////////\r\n // classes_type=>1 =>for upcoming classes\r\n // classes_type=>0 =>for previous classes\r\n\r\n ///////////Exercise///////////////////\r\n const getExerciseList = useCallback(async () => {\r\n let requestPayload = {\r\n course_id: location.state ? crsID : courseDetails[0].course_id,\r\n topic_id: topicData.topicId,\r\n page: 0,\r\n type: \"Exercise\",\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_33, requestPayload);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n exercisesData: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }, [\r\n courseDetails,\r\n crsID,\r\n location.state,\r\n topicData.topicId,\r\n finishLoading,\r\n startLoading,\r\n ]);\r\n\r\n ////////////Notes////////////////////\r\n const getNotesData = useCallback(async () => {\r\n let data = {\r\n search: \"\",\r\n course_id: location.state ? crsID : courseDetails[0].course_id,\r\n subject_id: subjectData?.subjectId,\r\n topic_id: topicData.topicId,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_13}?page=1&search=${data.search}&course_id=${data.course_id}&subject_id=${data.subject_id}&topic_id=${data.topic_id}`\r\n );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n notesData: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }, [\r\n courseDetails,\r\n crsID,\r\n location.state,\r\n subjectData?.subjectId,\r\n topicData.topicId,\r\n startLoading,\r\n finishLoading,\r\n ]);\r\n\r\n ////// DPP //////////\r\n\r\n const getDppList = useCallback(async () => {\r\n let data = {\r\n course_id: location.state ? crsID : courseDetails[0].course_id,\r\n type: \"DPP\",\r\n topic_id: topicData.topicId,\r\n page: 0,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_33, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n dppCollections: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }, [\r\n courseDetails,\r\n crsID,\r\n location.state,\r\n topicData.topicId,\r\n startLoading,\r\n finishLoading,\r\n ]);\r\n\r\n const getInitialRenderData = useCallback(() => {\r\n let featureType = state.featureType;\r\n\r\n switch (featureType) {\r\n case 1:\r\n getFacultyData();\r\n break;\r\n case 2:\r\n getRecordedLiveClassData();\r\n break;\r\n case 3:\r\n getExerciseList();\r\n break;\r\n case 4:\r\n getNotesData();\r\n break;\r\n case 5:\r\n getDppList();\r\n break;\r\n case 6:\r\n getAdditionalFacultyData();\r\n break;\r\n default:\r\n break;\r\n }\r\n }, [\r\n getAdditionalFacultyData,\r\n getDppList,\r\n getExerciseList,\r\n getFacultyData,\r\n getNotesData,\r\n getRecordedLiveClassData,\r\n state.featureType,\r\n ]);\r\n\r\n useEffect(() => {\r\n getFacultyData();\r\n getAdditionalFacultyData();\r\n getInitialRenderData();\r\n getRecordedLiveClassData();\r\n }, [\r\n getAdditionalFacultyData,\r\n getFacultyData,\r\n getInitialRenderData,\r\n getRecordedLiveClassData,\r\n ]);\r\n\r\n useEffect(() => {\r\n getVideosData();\r\n }, [state.currentFacultyName, getVideosData]);\r\n\r\n const handleChangeFaculty = (element) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentFacultyName: element,\r\n }));\r\n finishLoading();\r\n };\r\n\r\n const renderFetaures = () => {\r\n let featureType = state.featureType;\r\n switch (featureType) {\r\n case 1:\r\n return renderVideosCollectionView(); //videos\r\n case 2:\r\n return renderLiveClassCollectionView(); //live\r\n case 3:\r\n return renderExerciseCollectionView(); //exercise\r\n case 4:\r\n return renderNotesCollectionView(); //notes\r\n case 5:\r\n return renderDppCollectionView(); //dpp\r\n case 6:\r\n return renderAdditionalVideosCollectionView(); //additional videos\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const setLiveClassRecord = async (element) => {\r\n let zoomId = decrypt_functionality(element.zoom_id);\r\n\r\n let data = {\r\n device_id: rdd.fullBrowserVersion,\r\n device_type: rdd.browserName,\r\n device_name: rdd.osName,\r\n zoom_id: zoomId,\r\n type: \"Web\",\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_55, data);\r\n if (response.data.status === 200) {\r\n data.redirectedFrom = \"activity\";\r\n setLiveStreamData(element);\r\n history.push(\"/zoom\");\r\n\r\n finishLoading();\r\n } else {\r\n finishLoading();\r\n alert(response.data.message);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const decrypt_functionality = (val) => {\r\n const CryptoJS = require(\"crypto-js\");\r\n\r\n let encrypted = val;\r\n let key = \"0CiuKpLCZbX7gBCyYTka4USxTnh7ssXKk8bJ6Y3TXPc=\";\r\n\r\n encrypted = atob(encrypted);\r\n\r\n encrypted = JSON.parse(encrypted);\r\n\r\n const iv = CryptoJS.enc.Base64.parse(encrypted.iv);\r\n\r\n const value = encrypted.value;\r\n\r\n key = CryptoJS.enc.Base64.parse(key);\r\n\r\n var decrypted = CryptoJS.AES.decrypt(value, key, {\r\n iv: iv,\r\n });\r\n\r\n decrypted = decrypted.toString(CryptoJS.enc.Utf8);\r\n\r\n return decrypted.split(\"*\")[1];\r\n };\r\n\r\n const getVideoStremingDetails = async (zoomId) => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const response = await axios.post(\r\n `${BASE_URL}/api/streamos?id=${zoomId}&isMobile=false&type=Recorded Live&device=web`,\r\n { headers }\r\n );\r\n\r\n if (response.data.status === 200 || response.data.status === true) {\r\n return {\r\n data: 1,\r\n message: response.data.message,\r\n };\r\n } else {\r\n return {\r\n data: 0,\r\n message: response.data.message,\r\n };\r\n }\r\n };\r\n\r\n const handleRecordedWatchNow = async (element) => {\r\n const response = await getVideoStremingDetails(element.zoom_id);\r\n if (response.data) {\r\n setLiveVideoStreamDetailsAction({\r\n zoomId: element.zoom_id,\r\n isLive: false,\r\n live_class_id: \"\",\r\n });\r\n\r\n history.push({\r\n pathname: \"/streaming\",\r\n state: { zoomId: element.zoom_id, isLive: false },\r\n });\r\n setRecordedVideoData(element);\r\n } else {\r\n alert(response.message);\r\n }\r\n };\r\n\r\n const handleStoreDataInStorage = (type, data) => {\r\n if (type === \"exercise\") {\r\n if (!data.is_attempt) {\r\n data.redirectedFrom = \"activity\";\r\n data.exerciseType = \"Exercise\";\r\n setExerciseData(data);\r\n history.push({\r\n pathname: \"/evaluation\",\r\n exact: true,\r\n state: {\r\n type: \"exercise\",\r\n topicData: topicData,\r\n subjectData: subjectData,\r\n },\r\n });\r\n } else {\r\n data.redirectedFrom = \"activity\";\r\n data.exerciseType = \"Exercise\";\r\n setExerciseData(data);\r\n history.push({\r\n pathname: \"/evaluation\",\r\n exact: true,\r\n state: { type: \"exercise\" },\r\n });\r\n }\r\n } else if (type === \"dpp\") {\r\n if (!data.is_attempt) {\r\n data.redirectedFrom = \"activity\";\r\n data.exerciseType = \"Dpp\";\r\n setExerciseData(data);\r\n history.push({\r\n pathname: \"/evaluation\",\r\n exact: true,\r\n state: {\r\n type: \"dpp\",\r\n topicData: topicData,\r\n subjectData: subjectData,\r\n },\r\n });\r\n } else {\r\n data.redirectedFrom = \"activity\";\r\n data.exerciseType = \"Dpp\";\r\n setExerciseData(data);\r\n history.push({\r\n pathname: \"/evaluation\",\r\n exact: true,\r\n state: { type: \"dpp\" },\r\n });\r\n }\r\n } else {\r\n if (data.is_paid === 0) {\r\n // 0 means paid , 1 means not paid\r\n switch (type) {\r\n case \"videos\":\r\n data.redirectedFrom = \"activity\";\r\n setVideoData(data);\r\n setWatchedVideoDetailsAction(data);\r\n setNoteAddedVideoTimeAction(0);\r\n history.push(\"/videos\");\r\n break;\r\n case \"live_class\":\r\n setLiveClassRecord(data);\r\n break;\r\n case \"live_class_video\":\r\n data.redirectedFrom = \"activity\";\r\n setLiveStreamVideoData(data);\r\n history.push(\"/live_stream_video\");\r\n break;\r\n case \"exercise\":\r\n break;\r\n case \"notes\":\r\n data.redirectedFrom = \"activity\";\r\n setNotesData(data);\r\n history.push(\"/notes\");\r\n break;\r\n default:\r\n break;\r\n }\r\n } else {\r\n alert(\"Please purchase subscription\");\r\n history.push(\"/store\");\r\n }\r\n }\r\n };\r\n\r\n const handleBookmarkVideo = async (videoDetails) => {\r\n let videoList = [...state.videosData];\r\n\r\n let videoIndex = videoList.findIndex(\r\n (element) => element.video_id === videoDetails.video_id\r\n );\r\n\r\n if (videoIndex !== -1) {\r\n videoList[videoIndex].IsSaved = !videoList[videoIndex].IsSaved;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n videosData: videoList,\r\n }));\r\n } else {\r\n return;\r\n }\r\n\r\n let data = {\r\n type: 4,\r\n reference_id: videoDetails.video_id,\r\n status: videoList[videoIndex].IsSaved ? 1 : 0,\r\n };\r\n\r\n try {\r\n await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderVideosCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.facultyData) &&\r\n state.facultyData.VideoList.length\r\n ? state.facultyData.VideoList.map((element, index) => (\r\n
    \r\n handleChangeFaculty(element)}\r\n />\r\n \r\n
    \r\n ))\r\n : null}\r\n
    \r\n\r\n
    \r\n {state.videosData.length ? (\r\n \r\n \r\n
    \r\n {state.videosData.map((element, index) => (\r\n
    \r\n \r\n handleStoreDataInStorage(\"videos\", element)\r\n }\r\n >\r\n
    \r\n \"thumbnail\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreDataInStorage(\"videos\", element)\r\n }\r\n >\r\n

    \r\n {element.video_title}\r\n

    \r\n
    \r\n
    \r\n {element.IsSaved ? (\r\n \r\n handleBookmarkVideo(element)\r\n }\r\n />\r\n ) : (\r\n \r\n handleBookmarkVideo(element)\r\n }\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n by {element.name}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreDataInStorage(\r\n \"videos\",\r\n element\r\n )\r\n }\r\n >\r\n Watch Now\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n \"No\r\n

    There is no video yet!

    \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderAdditionalVideosCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.additionalFacultyData) &&\r\n state.additionalFacultyData.VideoList.length\r\n ? state.additionalFacultyData.VideoList.map(\r\n (element, index) => {\r\n return state.additionalFacultyData.VideoList.length >\r\n 1 ? (\r\n \r\n handleChangeFaculty(element)}\r\n />\r\n \r\n
    \r\n ) : null;\r\n }\r\n )\r\n : null}\r\n
    \r\n\r\n
    \r\n {state.additionalVideosData.length ? (\r\n \r\n \r\n
    \r\n {state.additionalVideosData.length ? (\r\n state.additionalVideosData.map((element, index) => (\r\n
    \r\n \r\n handleStoreDataInStorage(\"videos\", element)\r\n }\r\n >\r\n
    \r\n \"thumbnail\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreDataInStorage(\r\n \"videos\",\r\n element\r\n )\r\n }\r\n >\r\n

    \r\n {element.video_title}\r\n

    \r\n
    \r\n
    \r\n
    \r\n

    \r\n by {element.name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreDataInStorage(\r\n \"videos\",\r\n element\r\n )\r\n }\r\n >\r\n Watch Now\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ))\r\n ) : (\r\n \r\n \r\n

    There is no video yet!

    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n ) : null}\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderLiveClassCollectionView = () => {\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
    \r\n {!isEmpty(state.liveVideoData.data) ? (\r\n state.liveVideoData.data.length ? (\r\n state.liveVideoData.data.map(\r\n (element, index) => {\r\n return (\r\n \r\n
    \r\n {element.faculty_image ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.meeting_topic}\r\n

    \r\n
    \r\n
    \r\n \r\n

    \r\n {`by ${element.faculty}`}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n

    \r\n {`${element.meetdate}`}\r\n

    \r\n
    \r\n \r\n \r\n

    \r\n {`${element.meeting_duration}`}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleRecordedWatchNow(\r\n element\r\n )\r\n }\r\n >\r\n Watch now\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n )\r\n ) : (\r\n \r\n \r\n

    No Recoded class is available as of now

    \r\n
    \r\n )\r\n ) : (\r\n \r\n \r\n

    No Recoded class is available as of now

    \r\n
    \r\n )}\r\n
    \r\n {!isEmpty(state.liveVideoData.data) ? (\r\n state.liveVideoData.data.length ? (\r\n
    \r\n
    \r\n
    \r\n {state.recordedPageNumber > 1 && (\r\n {\r\n setState((prevState) => ({\r\n ...prevState,\r\n recordedPageNumber:\r\n prevState.recordedPageNumber - 1,\r\n }));\r\n getRecordedLiveClassData(\r\n state.recordedPageNumber - 1\r\n );\r\n }}\r\n >\r\n Prev\r\n \r\n )}\r\n
    \r\n
    \r\n {state.recordedPageNumber <\r\n state.liveVideoData.last_page && (\r\n {\r\n setState((prevState) => ({\r\n ...prevState,\r\n recordedPageNumber:\r\n prevState.recordedPageNumber + 1,\r\n }));\r\n getRecordedLiveClassData(\r\n state.recordedPageNumber + 1\r\n );\r\n }}\r\n >\r\n Next\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderExerciseCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
  • \r\n \r\n Start Practice\r\n \r\n
  • \r\n
  • \r\n \r\n Resume Practice\r\n \r\n
  • \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {!isEmpty(state.exercisesData) ? (\r\n state.exercisesData.ExerciseList.length ? (\r\n state.exercisesData.ExerciseList.filter(\r\n (ex) => ex.is_attempt === false\r\n ).length ? (\r\n state.exercisesData.ExerciseList.map(\r\n (element, index) => {\r\n return (\r\n \r\n handleStoreDataInStorage(\r\n \"exercise\",\r\n element\r\n )\r\n }\r\n >\r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.excersie_type}\r\n

    \r\n
    \r\n
    \r\n

    {`${element.total_question} Questions`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Start Practice\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n )\r\n ) : (\r\n \r\n \r\n

    You don't have any exercise for Practice

    \r\n
    \r\n )\r\n ) : (\r\n \r\n \r\n

    There is no exercise yet!

    \r\n
    \r\n )\r\n ) : (\r\n \r\n \r\n

    There is no exercise yet!

    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {!isEmpty(state.exercisesData) ? (\r\n state.exercisesData.ExerciseList.length ? (\r\n state.exercisesData.ExerciseList.filter(\r\n (ex) => ex.is_attempt === true\r\n ).length ? (\r\n state.exercisesData.ExerciseList.map(\r\n (element, index) => {\r\n return (\r\n \r\n handleStoreDataInStorage(\r\n \"exercise\",\r\n element\r\n )\r\n }\r\n >\r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.excersie_type}\r\n

    \r\n
    \r\n
    \r\n

    {`${element.total_question} Questions`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Resume Practice\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n )\r\n ) : (\r\n \r\n \r\n

    You don't have any exercise for Resume

    \r\n
    \r\n )\r\n ) : (\r\n \r\n \r\n

    There is no exercise yet!

    \r\n \r\n )\r\n ) : (\r\n \r\n \r\n

    There is no exercise yet!

    \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderNotesCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.notesData) ? (\r\n state.notesData.NotesList.data.length ? (\r\n state.notesData.NotesList.data.map((element, index) => {\r\n return (\r\n \r\n handleStoreDataInStorage(\"notes\", element)\r\n }\r\n >\r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.notes_title}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n \r\n \"new-ntf-image\"\r\n

    There is no notes yet!

    \r\n
    \r\n )\r\n ) : (\r\n \r\n \"new-ntf-image\"\r\n

    There is no notes yet!

    \r\n
    \r\n )}\r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderDppCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.dppCollections) ? (\r\n state?.dppCollections?.DPPList?.length ? (\r\n state.dppCollections.DPPList.map((element, index) => {\r\n return (\r\n \r\n handleStoreDataInStorage(\"dpp\", element)\r\n }\r\n >\r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.excersie_type}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {`${element.total_question} Questions`}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Start Practice\r\n \"arrow\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n \r\n \"new-ntf-image\"\r\n

    You don't have any Dpp for Practice

    \r\n
    \r\n )\r\n ) : (\r\n \r\n \"new-ntf-image\"\r\n

    You don't have any Dpp for Practice

    \r\n
    \r\n )}\r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const handleChangeFeature = (event) => {\r\n let { value } = event.target;\r\n\r\n switch (value) {\r\n case \"videos\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n featureType: 1,\r\n pageNumber: 1,\r\n }));\r\n getVideosData();\r\n break;\r\n case \"live_class\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n featureType: 2,\r\n pageNumber: 1,\r\n }));\r\n getRecordedLiveClassData();\r\n break;\r\n case \"exercise\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n featureType: 3,\r\n pageNumber: 1,\r\n }));\r\n getExerciseList();\r\n break;\r\n case \"notes\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n featureType: 4,\r\n pageNumber: 1,\r\n }));\r\n getNotesData();\r\n break;\r\n\r\n case \"dpp\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n featureType: 5,\r\n pageNumber: 1,\r\n }));\r\n getDppList();\r\n break;\r\n\r\n case \"additional_videos\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n featureType: 6,\r\n pageNumber: 1,\r\n }));\r\n getAdditionalVideosData();\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const getAdditionalVideosData = async () => {\r\n let data = {\r\n search: \"\",\r\n type: 2,\r\n course_id: location.state ? crsID : courseDetails[0].course_id,\r\n subject_id: subjectData?.subjectId,\r\n topic_id: topicData.topicId,\r\n faculty_id: state?.additionalCurrentFacultyName?.user_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_11}?page=1&search=${data.search}&course_id=${data.course_id}&subject_id=${data.subject_id}&topic_id=${data.topic_id}&faculty_id=${data.faculty_id}&type=${data.type}`\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n additionalVideosData: [...response.data.data.VideoList.data],\r\n }));\r\n }\r\n } catch (error) {\r\n // finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n let page_limit = 10;\r\n\r\n const fetchVideosData = async () => {\r\n let pageNo = Math.ceil(state.videosData.length / page_limit) + 1;\r\n let data = {\r\n search: \"\",\r\n course_id: location.state ? crsID : courseDetails[0].course_id,\r\n subject_id: subjectData?.subjectId,\r\n topic_id: topicData.topicId,\r\n faculty_id: state?.currentFacultyName?.user_id,\r\n page: pageNo,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_11}?page=1&search=${data.search}&course_id=${data.course_id}&subject_id=${data.subject_id}&topic_id=${data.topic_id}&faculty_id=${data.faculty_id}&page=${data.page}`\r\n );\r\n if (\r\n response.data.status === 200 ||\r\n response.data.data.VideoList.last_page\r\n ) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n videosData: [\r\n ...state.videosData,\r\n ...response.data.data.VideoList.data,\r\n ],\r\n }));\r\n }\r\n } catch (error) {\r\n // finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const fetchData = () => {\r\n fetchVideosData();\r\n };\r\n\r\n const handleRedirect = () => {\r\n history.push({\r\n pathname: \"/subject_component\",\r\n courseId: location.state,\r\n });\r\n };\r\n\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

    \r\n {topicData.topicName}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {topicData.is_video_available ? (\r\n
    \r\n handleChangeFeature(event)}\r\n checked={state.featureType === 1}\r\n />\r\n \r\n
    \r\n ) : null}\r\n\r\n {topicData.is_live_class_available ? (\r\n
    \r\n handleChangeFeature(event)}\r\n checked={state.featureType === 2}\r\n />\r\n \r\n
    \r\n ) : null}\r\n {topicData.is_excersice_available ? (\r\n
    \r\n handleChangeFeature(event)}\r\n checked={state.featureType === 3}\r\n />\r\n \r\n
    \r\n ) : null}\r\n\r\n {topicData.is_dpp_available ? (\r\n
    \r\n handleChangeFeature(event)}\r\n checked={state.featureType === 5}\r\n />\r\n \r\n
    \r\n ) : null}\r\n\r\n {topicData.is_notes_available ? (\r\n
    \r\n handleChangeFeature(event)}\r\n checked={state.featureType === 4}\r\n />\r\n \r\n
    \r\n ) : null}\r\n\r\n {topicData.is_additional_video_available ? (\r\n
    \r\n handleChangeFeature(event)}\r\n checked={state.featureType === 6}\r\n />\r\n \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n\r\n
    \r\n {renderFetaures()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n console.log(\"state\", state);\r\n return {\r\n userPreference: state.userPreference,\r\n subjectData: state.userActivity.subjectData,\r\n topicData: state.userActivity.topicData,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setFeature: (payload) => {\r\n dispatch(userActivityActions.setFeature(payload));\r\n },\r\n setVideoData: (payload) => {\r\n dispatch(userActivityActions.setVideoData(payload));\r\n },\r\n setRecordedVideoData: (payload) => {\r\n dispatch(userActivityActions.setRecordedVideoData(payload));\r\n },\r\n setNotesData: (payload) => {\r\n dispatch(userActivityActions.setNotesData(payload));\r\n },\r\n setLiveStreamData: (payload) => {\r\n dispatch(userActivityActions.setLiveStreamData(payload));\r\n },\r\n setExerciseData: (payload) => {\r\n dispatch(userActivityActions.setExerciseData(payload));\r\n },\r\n setLiveStreamVideoData: (payload) => {\r\n dispatch(userActivityActions.setLiveStreamVideoData(payload));\r\n },\r\n\r\n setLiveVideoStreamDetailsAction: (payload) => {\r\n dispatch(setLiveVideoStreamDetails(payload));\r\n },\r\n\r\n setWatchedVideoDetailsAction: (payload) => {\r\n dispatch(setWatchedVideoDetails(payload));\r\n },\r\n\r\n setNoteAddedVideoTimeAction: (payload) => {\r\n dispatch(setNoteAddedVideoTime(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TopicContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./topic_component.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport TopicContentComponent from \"../topic_component/topic_content_component/topic_content_component\";\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst TopicComponent = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TopicComponent);\r\n","import axios from \"axios\";\r\nimport { Fragment, useEffect, useState } from \"react\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport { url_215 } from \"../../../../custom_utilities/api_services\";\r\nimport { connect } from \"react-redux\";\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport Header_component from \"../../structure_components/desktop_screens/header_component/header_component\";\r\nimport Mobile__right_sideBar_component from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Mobile_header_component from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport Footer_component from \"../../structure_components/desktop_screens/footer_component/Footer_component\";\r\nimport \"./recorded_video_watch_component.scss\";\r\nimport images from \"../../../../utilities/images/images\";\r\n\r\nconst RecordedVideoWatchComponent = (props) => {\r\n let {\r\n loader,\r\n userPreference,\r\n recordedVideoData,\r\n userData,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n\r\n const history = useHistory();\r\n\r\n const [playbackUrl, setPlaybackUrl] = useState(\"\");\r\n\r\n useEffect(() => {\r\n getRecordedLiveClassUrl();\r\n }, []);\r\n\r\n const getRecordedLiveClassUrl = async () => {\r\n const data = {\r\n id: recordedVideoData,\r\n type: \"record\",\r\n isMobile: false,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_215, data);\r\n if (response.status === 200) {\r\n setPlaybackUrl(response.data.data);\r\n console.log(\"live recorded video list:\", response.data.data);\r\n finishLoading();\r\n } else {\r\n alert(response.data.message);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n const handleRedirect = () => {\r\n history.goBack();\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {playbackUrl.meeting_topic}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    \r\n {playbackUrl.meeting_topic}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n console.log(state);\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n recordedVideoData: state.userActivity.recordedVideoData,\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(RecordedVideoWatchComponent);\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport videojs from \"video.js\";\r\nimport \"./VideoJsPlayer.styles.css\"; // styles\r\nimport \"video.js/dist/video-js.css\"; // videoJs Default Styles\r\nimport \"videojs-contrib-quality-levels\"; // videoJs Quality levels **\r\nimport \"videojs-hls-quality-selector\"; // videojs Quality Selector **\r\nimport \"videojs-contrib-eme\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport {\r\n setVideoLastPaused,\r\n setTotalWatchTime,\r\n} from \"../../../redux/watched_video_details/WatchedVideoDetailsSlice\";\r\nimport axios from \"axios\";\r\nimport { url_226 } from \"../../api_services\";\r\n\r\nconst VideoJsPlayer = (props) => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const remainingWatchTime = useSelector(\r\n (state) =>\r\n state.WatchedVideoDetailsSlice?.watchedVideoDetails?.remaining_user_time\r\n );\r\n\r\n const watchedVideoData = useSelector(\r\n (state) => state.WatchedVideoDetailsSlice.watchedVideoDetails\r\n );\r\n\r\n const videoLastPaused = useSelector(\r\n (state) => state.WatchedVideoDetailsSlice.lastPaused\r\n );\r\n\r\n const totalWatchTime = useSelector(\r\n (state) => state.WatchedVideoDetailsSlice.totalWatchTime\r\n );\r\n\r\n const videoRef = useRef(null);\r\n const playerRef = useRef(null);\r\n const { options, onReady, source, dType, lastPausedTime } = props;\r\n const { keySystem } = props;\r\n const [isLive, setIsLive] = useState(false);\r\n const watchTimeRef = useRef(0); // Total watch time in seconds\r\n const intervalRef = useRef(null); // To store the timer interval\r\n const [isAlertDisplayed, setIsAlertDisplayed] = useState(false);\r\n\r\n const base64DecodeUint8Array = (input) => {\r\n try {\r\n const raw = window.atob(input);\r\n const rawLength = raw.length;\r\n const array = new Uint8Array(new ArrayBuffer(rawLength));\r\n for (let i = 0; i < rawLength; i++) {\r\n array[i] = raw.charCodeAt(i);\r\n }\r\n return array;\r\n } catch (error) {\r\n console.error(\"Invalid Base64 string\", error);\r\n return new Uint8Array();\r\n }\r\n };\r\n\r\n const base64EncodeUint8Array = (input) => {\r\n const keyStr =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n let output = \"\";\r\n let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n let i = 0;\r\n\r\n while (i < input.length) {\r\n chr1 = input[i++];\r\n chr2 = i < input.length ? input[i++] : Number.NaN;\r\n chr3 = i < input.length ? input[i++] : Number.NaN;\r\n\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n\r\n if (isNaN(chr2)) {\r\n enc3 = enc4 = 64;\r\n } else if (isNaN(chr3)) {\r\n enc4 = 64;\r\n }\r\n output +=\r\n keyStr.charAt(enc1) +\r\n keyStr.charAt(enc2) +\r\n keyStr.charAt(enc3) +\r\n keyStr.charAt(enc4);\r\n }\r\n return output;\r\n };\r\n\r\n const arrayToString = (array) => {\r\n const uint16array = new Uint16Array(array.buffer);\r\n return String.fromCharCode.apply(null, uint16array);\r\n };\r\n\r\n const startTimer = () => {\r\n if (!intervalRef.current) {\r\n intervalRef.current = setInterval(() => {\r\n watchTimeRef.current += 1; // Increment watch time by 1 second\r\n // Check if remaining watch time is zero and handle accordingly\r\n if (remainingWatchTime <= watchTimeRef.current) {\r\n if (playerRef.current) {\r\n playerRef.current.pause(); // Pause the video\r\n }\r\n handleWatchStop();\r\n setIsAlertDisplayed(true);\r\n alert(\r\n \"Your 10hrs free watch time is complete, please purchase the package.\"\r\n );\r\n postWatchedVideoDetails();\r\n history.push(\"/store\");\r\n }\r\n }, 1000);\r\n }\r\n };\r\n\r\n const stopTimer = () => {\r\n if (intervalRef.current) {\r\n clearInterval(intervalRef.current);\r\n intervalRef.current = null;\r\n }\r\n };\r\n\r\n const handleWatchStart = () => {\r\n startTimer();\r\n };\r\n\r\n const handleWatchStop = () => {\r\n stopTimer();\r\n dispatch(setVideoLastPaused(playerRef.current.currentTime()));\r\n };\r\n\r\n const calculateTotalWatchTime = () => {\r\n return watchTimeRef.current;\r\n };\r\n\r\n function timeStringToSeconds(timeString) {\r\n const [hours, minutes, seconds] = timeString.split(\":\").map(Number);\r\n return hours * 3600 + minutes * 60 + seconds;\r\n }\r\n\r\n const postWatchedVideoDetails = async () => {\r\n const { video_id, subject_id, video_duration } = watchedVideoData;\r\n\r\n // const payloadData = {\r\n // video_id,\r\n // subject_id,\r\n // total_duration: timeStringToSeconds(video_duration),\r\n // watched_time: Math.round(totalWatchTime),\r\n // last_paused: Math.round(videoLastPaused),\r\n // };\r\n\r\n const payloadData = {\r\n video_id,\r\n subject_id,\r\n total_duration: timeStringToSeconds(video_duration),\r\n watched_time: calculateTotalWatchTime(),\r\n last_paused: Math.round(playerRef.current.currentTime()),\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_226, payloadData);\r\n } catch (error) {\r\n console.error(\"API error:\", error);\r\n }\r\n };\r\n\r\n const handleEndVideo = () => {\r\n handleWatchStop();\r\n };\r\n\r\n useEffect(() => {\r\n if (!playerRef.current) {\r\n const videoElement = videoRef.current;\r\n const fairplayCertUri =\r\n \"https://license-global.pallycon.com/ri/fpsKeyManager.do?siteId=5VT4\";\r\n const licenseUri = \"https://license.videocrypt.com/validateLicense\";\r\n\r\n if (!videoElement) return;\r\n\r\n const player = (playerRef.current = videojs(\r\n videoElement,\r\n {\r\n ...options,\r\n plugins: {\r\n eme: {\r\n keySystems:\r\n keySystem === \"com.apple.fps.1_0\"\r\n ? {\r\n \"com.apple.fps.1_0\": {\r\n getCertificate: (emeOptions, callback) => {\r\n videojs.xhr(\r\n {\r\n url: fairplayCertUri,\r\n method: \"GET\",\r\n },\r\n (err, response, responseBody) => {\r\n if (err) {\r\n callback(err);\r\n return;\r\n }\r\n callback(\r\n null,\r\n base64DecodeUint8Array(responseBody)\r\n );\r\n }\r\n );\r\n },\r\n getContentId: (emeOptions, initData) => {\r\n const contentId = arrayToString(initData);\r\n return contentId.substring(\r\n contentId.indexOf(\"skd://\") + 6\r\n );\r\n },\r\n getLicense: (\r\n emeOptions,\r\n contentId,\r\n keyMessage,\r\n callback\r\n ) => {\r\n videojs.xhr(\r\n {\r\n url: licenseUri,\r\n method: \"POST\",\r\n responseType: \"text\",\r\n body: \"spc=\" + base64EncodeUint8Array(keyMessage),\r\n headers: {\r\n \"Content-type\":\r\n \"application/x-www-form-urlencoded\",\r\n \"pallycon-customdata-v2\": source.link.token,\r\n },\r\n },\r\n (err, response, responseBody) => {\r\n if (err) {\r\n callback(err);\r\n return;\r\n }\r\n callback(\r\n null,\r\n base64DecodeUint8Array(responseBody)\r\n );\r\n }\r\n );\r\n },\r\n },\r\n }\r\n : {\r\n [keySystem]: {\r\n licenseUrl:\r\n \"https://license.videocrypt.com/validateLicense?pallyconCustomdataV2=\" +\r\n source?.link?.token,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n () => {\r\n onReady && onReady(player);\r\n player.controlBar.progressControl.seekBar.on(\"mousedown\", (event) => {\r\n event.preventDefault(); // Prevent the default behavior of seeking\r\n });\r\n\r\n // Set the current time to the last paused time\r\n if (lastPausedTime) {\r\n player.currentTime(lastPausedTime);\r\n }\r\n }\r\n ));\r\n\r\n player.on(\"play\", handleWatchStart);\r\n player.on(\"pause\", handleWatchStop);\r\n player.on(\"ended\", handleEndVideo);\r\n\r\n player.on(\"timeupdate\", () => {});\r\n\r\n player.qualityLevels();\r\n player.hlsQualitySelector({\r\n displayCurrentQuality: true,\r\n });\r\n\r\n // var Button = videojs.getComponent(\"Button\");\r\n // var rewind = videojs.extend(Button, {\r\n // constructor: function () {\r\n // Button.apply(this, arguments);\r\n // this.addClass(\"rewindIcon\");\r\n // },\r\n // handleClick: function () {\r\n // player.currentTime(player.currentTime() - 10);\r\n // },\r\n // });\r\n // videojs.registerComponent(\"rewind\", rewind);\r\n\r\n // player.getChild(\"ControlBar\").addChild(\"rewind\", {}, 2);\r\n\r\n // var fastForward = videojs.extend(Button, {\r\n // constructor: function () {\r\n // Button.apply(this, arguments);\r\n // this.addClass(\"fast-forward-icon\");\r\n // },\r\n // handleClick: function () {\r\n // player.currentTime(player.currentTime() + 10);\r\n // },\r\n // });\r\n // videojs.registerComponent(\"fastForward\", fastForward);\r\n\r\n // player.getChild(\"ControlBar\").addChild(\"fastForward\", {}, 3);\r\n\r\n // Custom Rewind Button\r\n class RewindButton extends videojs.getComponent(\"Button\") {\r\n constructor(player, options) {\r\n super(player, options);\r\n this.addClass(\"rewindIcon\");\r\n this.controlText(\"Rewind 10 seconds\");\r\n }\r\n\r\n handleClick() {\r\n this.player().currentTime(this.player().currentTime() - 10);\r\n }\r\n }\r\n\r\n class FastForwardButton extends videojs.getComponent(\"Button\") {\r\n constructor(player, options) {\r\n super(player, options);\r\n this.addClass(\"fast-forward-icon\");\r\n this.controlText(\"Fast Forward 10 seconds\");\r\n }\r\n\r\n handleClick() {\r\n this.player().currentTime(this.player().currentTime() + 10);\r\n }\r\n }\r\n\r\n videojs.registerComponent(\"rewind\", RewindButton);\r\n videojs.registerComponent(\"fastForward\", FastForwardButton);\r\n\r\n player.getChild(\"ControlBar\").addChild(\"rewind\", {}, 2);\r\n player.getChild(\"ControlBar\").addChild(\"fastForward\", {}, 3);\r\n\r\n player.on(\"keydown\", (e) => {\r\n const playerVolume = player.volume();\r\n const playerCurrentTime = player.currentTime();\r\n switch (e.code) {\r\n case \"Space\":\r\n if (player.paused()) {\r\n player.play();\r\n } else {\r\n player.pause();\r\n }\r\n break;\r\n case \"ArrowRight\":\r\n player.currentTime(playerCurrentTime + 10);\r\n break;\r\n case \"ArrowLeft\":\r\n player.currentTime(playerCurrentTime - 10);\r\n break;\r\n case \"ArrowUp\":\r\n player.volume(playerVolume + 0.1);\r\n break;\r\n case \"ArrowDown\":\r\n player.volume(playerVolume - 0.1);\r\n break;\r\n case \"KeyM\":\r\n player.volume(0);\r\n break;\r\n default:\r\n return;\r\n }\r\n });\r\n\r\n if (dType === 1 || dType === 3) {\r\n if (props?.source?.link?.token) {\r\n player.src({\r\n src: props?.source?.link?.file_url,\r\n type: \"application/dash+xml\",\r\n keySystems: {\r\n [keySystem]:\r\n \"https://license.videocrypt.com/validateLicense?pallyconCustomdataV2=\" +\r\n props?.source?.link?.token,\r\n },\r\n });\r\n }\r\n }\r\n\r\n videoElement.addEventListener(\"loadedmetadata\", handleMetadata);\r\n\r\n function handleMetadata() {\r\n setIsLive(player.liveTracker.isLive());\r\n const videoDuration = videoElement.duration;\r\n }\r\n\r\n return () => {\r\n videoElement.removeEventListener(\"loadedmetadata\", handleMetadata);\r\n };\r\n }\r\n }, [options, onReady, keySystem, props.source?.link, lastPausedTime]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (playerRef.current) {\r\n handleWatchStop(); // Ensure the last interval is captured\r\n const totalWatchTime = calculateTotalWatchTime();\r\n dispatch(setTotalWatchTime(totalWatchTime));\r\n playerRef.current.dispose();\r\n playerRef.current = null;\r\n }\r\n };\r\n }, []);\r\n\r\n const onBackButtonEvent = () => {\r\n if (isAlertDisplayed) return;\r\n const confirmed = window.confirm(\"Are you sure you want to go back\");\r\n\r\n if (confirmed) {\r\n postWatchedVideoDetails();\r\n history.push(\"/topic_component\");\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n return () => {\r\n window.removeEventListener(\"popstate\", onBackButtonEvent);\r\n };\r\n }, [isAlertDisplayed]);\r\n\r\n useEffect(() => {\r\n if (remainingWatchTime <= 0) {\r\n if (playerRef.current) {\r\n playerRef.current.pause(); // Pause the video\r\n }\r\n setIsAlertDisplayed(true);\r\n alert(\r\n \"Your 10hrs free watch time is complete, please purchase the package.\"\r\n );\r\n postWatchedVideoDetails();\r\n\r\n history.push(\"/store\");\r\n }\r\n }, [remainingWatchTime, history]);\r\n\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};\r\n\r\nexport default VideoJsPlayer;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport VideoJsPlayer from \"./VideoPlayer/VideoJsPlayer.component\";\r\nimport axios from \"axios\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\nexport default function VIdeoPlayer({ id_video }) {\r\n const [source, setSource] = useState(null);\r\n const [loading, setLoading] = useState();\r\n const [dType, setdType] = useState();\r\n const [key, setkey] = useState();\r\n\r\n const videoDetailsData = useSelector(\r\n (state) => state.WatchedVideoDetailsSlice.watchedVideoDetails\r\n );\r\n\r\n function getSupportedDRMSystems() {\r\n if (typeof navigator.requestMediaKeySystemAccess === \"function\") {\r\n const supportedConfig = [\r\n {\r\n initDataTypes: [\"cenc\"],\r\n videoCapabilities: [\r\n {\r\n contentType: 'video/mp4;codecs=\"avc1.42E01E\"',\r\n },\r\n ],\r\n },\r\n ];\r\n const drmSystems = [\r\n \"com.microsoft.playready\",\r\n \"com.apple.fps\",\r\n \"com.apple.fps.1_0\",\r\n ];\r\n\r\n const supportedDRM = [];\r\n\r\n return Promise.all(\r\n drmSystems.map((drmSystem) => {\r\n return navigator\r\n .requestMediaKeySystemAccess(drmSystem, supportedConfig)\r\n .then(() => {\r\n supportedDRM.push(drmSystem);\r\n })\r\n .catch((error) => {});\r\n })\r\n ).then(() => {\r\n return supportedDRM; // Return the list of supported DRM systems\r\n });\r\n } else {\r\n return Promise.resolve([]);\r\n }\r\n }\r\n\r\n const DRM = id_video;\r\n const url = \"https://api.videocrypt.com/getVideoDetailsDrm\"; // api url\r\n const token = DRM;\r\n\r\n const formData = new FormData();\r\n formData.append(\"flag\", 1);\r\n formData.append(\"name\", token);\r\n\r\n function axioFun(D_id) {\r\n axios({\r\n url: url,\r\n method: \"POST\",\r\n headers: {\r\n accessKey: \"NUIzQVhZRDFGUkhFOU44UTcwTDI=\",\r\n secretKey: \"NS80OFJ5RUl0dz1CbE5VNmczYVRvTVN4dnVLY1haWW43MkhiVnJlVw==\",\r\n \"user-id\": \"TESTing_10000903_97\",\r\n \"device-type\": D_id,\r\n \"device-id\": \"71d3548555586126ed7071102e663619\",\r\n version: \"2\",\r\n \"device-name\": \"ChromeCDM\",\r\n \"account-id\": \"10000903\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n data: formData,\r\n })\r\n .then((res) => {\r\n setSource(res.data.data); // set video response\r\n\r\n setLoading(false);\r\n })\r\n .catch((err) => console.log(err));\r\n }\r\n useEffect(() => {\r\n setLoading(true);\r\n getSupportedDRMSystems().then(function (supportedDRM) {\r\n if (supportedDRM.length > 0) {\r\n supportedDRM.forEach((system) => {\r\n if (system === \"com.apple.fps\") {\r\n axioFun(2);\r\n setdType(2);\r\n setkey(\"com.apple.fps.1_0\");\r\n return false;\r\n } else if (system === \"com.microsoft.playready\") {\r\n axioFun(3);\r\n setdType(3);\r\n setkey(\"com.microsoft.playready\");\r\n return false;\r\n } else {\r\n }\r\n });\r\n } else {\r\n axioFun(1);\r\n setdType(1);\r\n setkey(\"com.widevine.alpha\");\r\n\r\n setLoading(false);\r\n return false;\r\n }\r\n });\r\n }, []);\r\n\r\n const videoSrc = {\r\n autoplay: false,\r\n controls: true,\r\n responsive: true,\r\n playbackRates: [0.5, 1, 1.5, 2],\r\n aspectRatio: \"21:9\",\r\n controlBar: {\r\n remainingTimeDisplay: true,\r\n },\r\n };\r\n\r\n return (\r\n <>\r\n {loading\r\n ? \"Loading...\"\r\n : source && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React, { useEffect, useRef, useState } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport videojs from \"video.js\";\r\nimport \"./VideoJsPlayer.styles.css\"; // styles\r\nimport \"video.js/dist/video-js.css\"; // videoJs Default Styles\r\nimport \"videojs-contrib-quality-levels\"; // videoJs Quality levels\r\nimport \"videojs-hls-quality-selector\"; // videojs Quality Selector\r\nimport \"videojs-contrib-eme\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\nimport { setCurrentVideoTime } from \"../../../redux/watched_video_details/WatchedVideoDetailsSlice\";\r\n\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nconst VideoJsPlayer = (props) => {\r\n const dispatch = useDispatch();\r\n const videoRef = useRef(null);\r\n const playerRef = useRef(null);\r\n const { options, onReady, source, dType, notesAddedTime } = props;\r\n const { keySystem } = props;\r\n const [isLive, setIsLive] = useState(false);\r\n\r\n const base64DecodeUint8Array = (input) => {\r\n try {\r\n const raw = window.atob(input);\r\n const rawLength = raw.length;\r\n const array = new Uint8Array(new ArrayBuffer(rawLength));\r\n\r\n for (let i = 0; i < rawLength; i++) {\r\n array[i] = raw.charCodeAt(i);\r\n }\r\n\r\n return array;\r\n } catch (error) {\r\n console.error(\"Invalid Base64 string\", error);\r\n return new Uint8Array();\r\n }\r\n };\r\n const base64EncodeUint8Array = (input) => {\r\n const keyStr =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\";\r\n let output = \"\";\r\n let chr1, chr2, chr3, enc1, enc2, enc3, enc4;\r\n let i = 0;\r\n while (i < input.length) {\r\n chr1 = input[i++];\r\n chr2 = i < input.length ? input[i++] : NaN;\r\n chr3 = i < input.length ? input[i++] : NaN;\r\n enc1 = chr1 >> 2;\r\n enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);\r\n enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);\r\n enc4 = chr3 & 63;\r\n if (isNaN(chr2)) enc3 = enc4 = 64;\r\n else if (isNaN(chr3)) enc4 = 64;\r\n output +=\r\n keyStr.charAt(enc1) +\r\n keyStr.charAt(enc2) +\r\n keyStr.charAt(enc3) +\r\n keyStr.charAt(enc4);\r\n }\r\n return output;\r\n };\r\n\r\n const arrayToString = (array) => {\r\n const uint16array = new Uint16Array(array.buffer);\r\n return String.fromCharCode.apply(null, uint16array);\r\n };\r\n\r\n // make sure Video.js player is only initialized once\r\n useEffect(() => {\r\n if (!playerRef.current) {\r\n const videoElement = videoRef.current;\r\n\r\n if (!videoElement) return;\r\n\r\n const player = (playerRef.current = videojs(\r\n videoElement,\r\n {\r\n ...options,\r\n plugins: {\r\n eme: {\r\n keySystems:\r\n keySystem === \"com.apple.fps.1_0\"\r\n ? {\r\n \"com.apple.fps.1_0\": {\r\n getCertificate: (emeOptions, callback) => {\r\n videojs.xhr(\r\n {\r\n url: \"https://license-global.pallycon.com/ri/fpsKeyManager.do?siteId=5VT4\",\r\n method: \"GET\",\r\n },\r\n (err, response, responseBody) => {\r\n if (err) {\r\n callback(err);\r\n return;\r\n }\r\n callback(\r\n null,\r\n base64DecodeUint8Array(responseBody)\r\n );\r\n }\r\n );\r\n },\r\n getContentId: (emeOptions, initData) => {\r\n const contentId = arrayToString(initData);\r\n return contentId.substring(\r\n contentId.indexOf(\"skd://\") + 6\r\n );\r\n },\r\n getLicense: (\r\n emeOptions,\r\n contentId,\r\n keyMessage,\r\n callback\r\n ) => {\r\n videojs.xhr(\r\n {\r\n url: \"https://license.videocrypt.com/validateLicense\",\r\n method: \"POST\",\r\n responseType: \"text\",\r\n body: \"spc=\" + base64EncodeUint8Array(keyMessage),\r\n headers: {\r\n \"Content-type\":\r\n \"application/x-www-form-urlencoded\",\r\n \"pallycon-customdata-v2\": source.link.token,\r\n },\r\n },\r\n (err, response, responseBody) => {\r\n if (err) {\r\n callback(err);\r\n return;\r\n }\r\n callback(\r\n null,\r\n base64DecodeUint8Array(responseBody)\r\n );\r\n }\r\n );\r\n },\r\n },\r\n }\r\n : {\r\n [keySystem]: {\r\n licenseUrl:\r\n \"https://license.videocrypt.com/validateLicense?pallyconCustomdataV2=\" +\r\n source?.link?.token,\r\n },\r\n },\r\n },\r\n },\r\n },\r\n () => {\r\n onReady && onReady(player);\r\n }\r\n ));\r\n\r\n // Handle the quality levels of the video\r\n player.qualityLevels();\r\n player.hlsQualitySelector({\r\n displayCurrentQuality: true,\r\n });\r\n\r\n class RewindButton extends videojs.getComponent(\"Button\") {\r\n constructor(player, options) {\r\n super(player, options);\r\n this.addClass(\"rewindIcon\");\r\n this.controlText(\"Rewind 10 seconds\");\r\n }\r\n\r\n handleClick() {\r\n this.player().currentTime(this.player().currentTime() - 10);\r\n }\r\n }\r\n\r\n class FastForwardButton extends videojs.getComponent(\"Button\") {\r\n constructor(player, options) {\r\n super(player, options);\r\n this.addClass(\"fast-forward-icon\");\r\n this.controlText(\"Fast Forward 10 seconds\");\r\n }\r\n\r\n handleClick() {\r\n this.player().currentTime(this.player().currentTime() + 10);\r\n }\r\n }\r\n\r\n videojs.registerComponent(\"rewind\", RewindButton);\r\n videojs.registerComponent(\"fastForward\", FastForwardButton);\r\n\r\n player.getChild(\"ControlBar\").addChild(\"rewind\", {}, 2);\r\n player.getChild(\"ControlBar\").addChild(\"fastForward\", {}, 3);\r\n\r\n player.on(\"keydown\", (e) => {\r\n const playerVolume = player.volume();\r\n const playerCurrentTime = player.currentTime();\r\n switch (e.code) {\r\n case \"Space\":\r\n player.paused() ? player.play() : player.pause();\r\n break;\r\n case \"ArrowRight\":\r\n player.currentTime(playerCurrentTime + 10);\r\n break;\r\n case \"ArrowLeft\":\r\n player.currentTime(playerCurrentTime - 10);\r\n break;\r\n case \"ArrowUp\":\r\n player.volume(playerVolume + 0.1);\r\n break;\r\n case \"ArrowDown\":\r\n player.volume(playerVolume - 0.1);\r\n break;\r\n case \"KeyM\":\r\n player.volume(0);\r\n break;\r\n default:\r\n return;\r\n }\r\n });\r\n\r\n if (dType === 1 || dType === 3) {\r\n if (props?.source?.link?.token) {\r\n player.src({\r\n src: props?.source?.link?.file_url,\r\n type: \"application/dash+xml\",\r\n keySystems: {\r\n [keySystem]:\r\n \"https://license.videocrypt.com/validateLicense?pallyconCustomdataV2=\" +\r\n props?.source?.link?.token,\r\n },\r\n });\r\n }\r\n }\r\n\r\n // Access metadata on loadedmetadata event\r\n videoElement.addEventListener(\"loadedmetadata\", handleMetadata);\r\n function handleMetadata() {\r\n setIsLive(player.liveTracker.isLive());\r\n }\r\n\r\n player.on(\"timeupdate\", () => {\r\n const currentTime = player.currentTime();\r\n dispatch(setCurrentVideoTime(currentTime));\r\n });\r\n\r\n return () => {\r\n videoElement.removeEventListener(\"loadedmetadata\", handleMetadata);\r\n };\r\n }\r\n }, [options, onReady, keySystem, props.source?.link, notesAddedTime]);\r\n\r\n useEffect(() => {\r\n return () => {\r\n if (playerRef.current) {\r\n playerRef.current.dispose();\r\n playerRef.current = null;\r\n }\r\n };\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (playerRef.current && notesAddedTime !== undefined) {\r\n playerRef.current.currentTime(notesAddedTime);\r\n playerRef.current.play();\r\n }\r\n }, [notesAddedTime]);\r\n\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};\r\n\r\nexport default VideoJsPlayer;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport VideoJsPlayer from \"./VideoPlayer/VideoJsPlayer.component\";\r\nimport { useSelector } from \"react-redux\";\r\nimport axios from \"axios\";\r\n\r\nexport default function VIdeoPlayer({ id_video }) {\r\n const [source, setSource] = useState(null);\r\n const [loading, setLoading] = useState();\r\n const [dType, setdType] = useState();\r\n const [key, setkey] = useState();\r\n\r\n const videoDetailsData = useSelector(\r\n (state) => state.WatchedVideoDetailsSlice\r\n );\r\n\r\n function getSupportedDRMSystems() {\r\n if (typeof navigator.requestMediaKeySystemAccess === \"function\") {\r\n const supportedConfig = [\r\n {\r\n initDataTypes: [\"cenc\"],\r\n videoCapabilities: [\r\n {\r\n contentType: 'video/mp4;codecs=\"avc1.42E01E\"',\r\n },\r\n ],\r\n },\r\n ];\r\n const drmSystems = [\r\n \"com.microsoft.playready\",\r\n \"com.apple.fps\",\r\n \"com.apple.fps.1_0\",\r\n ];\r\n\r\n const supportedDRM = [];\r\n\r\n return Promise.all(\r\n drmSystems.map((drmSystem) => {\r\n return navigator\r\n .requestMediaKeySystemAccess(drmSystem, supportedConfig)\r\n .then(() => {\r\n supportedDRM.push(drmSystem);\r\n })\r\n .catch(() => {});\r\n })\r\n ).then(() => {\r\n return supportedDRM;\r\n });\r\n } else {\r\n return Promise.resolve([]);\r\n }\r\n }\r\n\r\n const DRM = id_video;\r\n const url = \"https://api.videocrypt.com/getVideoDetailsDrm\";\r\n const token = DRM;\r\n\r\n const formData = new FormData();\r\n formData.append(\"flag\", 1);\r\n formData.append(\"name\", token);\r\n\r\n function axioFun(D_id) {\r\n axios({\r\n url: url,\r\n method: \"POST\",\r\n headers: {\r\n accessKey: \"NUIzQVhZRDFGUkhFOU44UTcwTDI=\",\r\n secretKey: \"NS80OFJ5RUl0dz1CbE5VNmczYVRvTVN4dnVLY1haWW43MkhiVnJlVw==\",\r\n \"user-id\": \"TESTing_10000903_97\",\r\n \"device-type\": D_id,\r\n \"device-id\": \"71d3548555586126ed7071102e663619\",\r\n version: \"2\",\r\n \"device-name\": \"ChromeCDM\",\r\n \"account-id\": \"10000903\",\r\n \"Content-Type\": \"multipart/form-data\",\r\n },\r\n data: formData,\r\n })\r\n .then((res) => {\r\n setSource(res.data.data);\r\n setLoading(false);\r\n })\r\n .catch((err) => console.log(err));\r\n }\r\n\r\n useEffect(() => {\r\n setLoading(true);\r\n getSupportedDRMSystems().then(function (supportedDRM) {\r\n if (supportedDRM.length > 0) {\r\n console.log(\"Supported DRM systems:\");\r\n supportedDRM.forEach((system) => {\r\n if (system === \"com.apple.fps\") {\r\n axioFun(2);\r\n setdType(2);\r\n setkey(\"com.apple.fps.1_0\");\r\n return false;\r\n } else if (system === \"com.microsoft.playready\") {\r\n console.log(\"Edge supported DRM\");\r\n axioFun(3);\r\n setdType(3);\r\n setkey(\"com.microsoft.playready\");\r\n return false;\r\n }\r\n console.log(system);\r\n });\r\n } else {\r\n console.log(\"com.widevine.alpha\");\r\n axioFun(1);\r\n setdType(1);\r\n setkey(\"com.widevine.alpha\");\r\n\r\n console.log(\"No supported DRM systems found.\");\r\n setLoading(false);\r\n return false;\r\n }\r\n });\r\n }, []);\r\n\r\n useEffect(() => {}, [videoDetailsData?.noteAddedVideoTime]);\r\n\r\n //video custom option\r\n const videoSrc = {\r\n autoplay: false,\r\n controls: true,\r\n responsive: true,\r\n playbackRates: [0.5, 1, 1.5, 2],\r\n aspectRatio: \"21:9\",\r\n controlBar: {\r\n remainingTimeDisplay: true,\r\n },\r\n };\r\n\r\n return (\r\n <>\r\n {loading\r\n ? \"Loading...\"\r\n : source && (\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from \"react\";\r\nimport VideoJsPlayer1 from \"../../../../../custom_utilities/NewVideoPlayer1/videoshow\";\r\nimport VideoJsPlayer from \"../../../../../custom_utilities/NewVideoPlayer/videoshow\";\r\n\r\nconst VideoDrmPlayer = ({ id_video, data }) => {\r\n return (\r\n
    \r\n {data?.is_free_user ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default VideoDrmPlayer;\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport \"./video_feature_content_component.scss\";\r\n\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_7,\r\n url_23,\r\n url_220,\r\n url_221,\r\n url_222,\r\n url_223,\r\n url_224,\r\n url_225,\r\n url_226,\r\n url_227,\r\n url_228,\r\n url_229,\r\n url_242,\r\n url_39,\r\n} from \"../../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../redux/user_activity/action\";\r\nimport userBookmarkActions from \"../../../../../redux/user_bookmark/action\";\r\nimport VideoDrmPlayer from \"./VideoDrmPlayer\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport { BASE_URL } from \"../../../../../custom_utilities/baseURL\";\r\nimport { setNoteAddedVideoTime } from \"../../../../../redux/watched_video_details/WatchedVideoDetailsSlice\";\r\n\r\nconst VideoFeatureContentComponent = (props) => {\r\n let {\r\n videoData,\r\n userData,\r\n history,\r\n userPreference,\r\n videoCurrentTime,\r\n videoDetailsForTime,\r\n startLoading,\r\n finishLoading,\r\n setNotesData,\r\n setExerciseData,\r\n setVideoComponentTime,\r\n setRelatedVideos,\r\n setVideoDetailsForTime,\r\n topicData,\r\n subjectData,\r\n watchedVideoData,\r\n videoLastPaused,\r\n totalWatchTime,\r\n currentVideoWatchTime,\r\n setNoteAddedVideoTimeAction,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n videoId: null,\r\n videoDetails: {},\r\n relatedVideo: {},\r\n optionFeatureType: 2,\r\n dppCollections: {},\r\n videosDrmUrl: {},\r\n flag: false,\r\n activeTab: 0,\r\n studyMaterialList: {},\r\n rating: null,\r\n hover: null,\r\n comment: \"\",\r\n commentsList: {},\r\n timeline: [],\r\n note: {},\r\n notesList: {},\r\n notesInput: false,\r\n openOptionsIndex: null,\r\n enableNotesEdit: null,\r\n timeElapsed: \"\",\r\n deleteModal: false,\r\n deleteId: null,\r\n reportId: null,\r\n reportModal: false,\r\n report: \"\",\r\n reportCategory: [\r\n \"Incorrect Question\",\r\n \"Incorrect Option\",\r\n \"Incorrect Answer Key\",\r\n \"Incorrect Solution\",\r\n \"Others\",\r\n ],\r\n reportCategoryOption: \"\",\r\n jumpTo: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n window.scrollTo(0, 0);\r\n setVideoId();\r\n setVideoComponentInitialTime();\r\n }, []);\r\n\r\n useEffect(() => {}, [state.likesArray]);\r\n\r\n useEffect(() => {\r\n if (state.videoId) {\r\n getVideoDetails();\r\n getDppList();\r\n getStudyMaterialList();\r\n initialiseLikes();\r\n getCommentsList();\r\n getTimeline();\r\n getNotesList();\r\n getAdditionalVideoDetails();\r\n }\r\n }, [state.videoId]);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(state.videoDetails) && state.videoDetails.last_paused) {\r\n handleJumpToParticularTime();\r\n }\r\n }, [state.videoDetails]);\r\n\r\n const setVideoId = () => {\r\n let { video_id } = videoData;\r\n setState((prevState) => ({ ...prevState, videoId: video_id }));\r\n };\r\n\r\n const setVideoComponentInitialTime = () => {\r\n let d = new Date();\r\n setVideoComponentTime(d.getTime());\r\n };\r\n\r\n const handleTabClick = (index) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n activeTab: index,\r\n }));\r\n };\r\n\r\n const getVideoDetails = async () => {\r\n let { videoId } = state;\r\n try {\r\n const response = await axios.get(`${url_7}?video_id=${videoId}`);\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n videoDetails: response.data.data.VideoDetail,\r\n }));\r\n\r\n setVideoDetailsForTime(response.data.data.VideoDetail);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const getAdditionalVideoDetails = async () => {\r\n let { videoId } = state;\r\n try {\r\n const response = await axios.get(\r\n `${BASE_URL}/api/v1/related_videos?video_id=${videoId}`\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n relatedVideo: response.data.data.data,\r\n }));\r\n\r\n setRelatedVideos(response.data.data.data);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleComment = (e) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n comment: e.target.value,\r\n }));\r\n };\r\n\r\n const handleNotesInput = (e) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n note: e.target.value,\r\n }));\r\n };\r\n\r\n const handleReportInput = (e) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n report: e.target.value,\r\n }));\r\n };\r\n\r\n const getCommentsList = async () => {\r\n let videoId = state?.videoId;\r\n startLoading();\r\n try {\r\n const response = await axios.get(`${url_222}?video_id=${videoId}`);\r\n if (response?.data?.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n commentsList: response?.data?.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const initialiseLikes = async () => {\r\n let videoId = state.videoId;\r\n startLoading();\r\n try {\r\n const response = await axios.get(`${url_222}?video_id=${videoId}`);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n const likesArray = response.data.data.map((item) => item.like_status); // Extracting like_status values\r\n setState((prevState) => ({\r\n ...prevState,\r\n likesArray: likesArray, // Storing like_status values in likesArray\r\n }));\r\n console.log(likesArray);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTimeline = async () => {\r\n let videoId = state.videoId;\r\n startLoading();\r\n try {\r\n const response = await axios.get(`${url_224}?video_id=${videoId}`);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n timeline: response.data.data.timeline,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleReportSubmit = async () => {\r\n if (state.report === \"\" || state.reportCategoryOption === \"\") {\r\n alert(\"please enter a feedback and select an option\");\r\n } else {\r\n let videoId = state.videoId;\r\n let data = {\r\n video_id: videoId,\r\n description: state.report,\r\n id: state.reportId,\r\n option: state.reportCategoryOption,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_229, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n reportId: null,\r\n reportModal: false,\r\n report: \"\",\r\n reportCategoryOption: \"\",\r\n }));\r\n console.log(\"timeline\", response.data.message);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }\r\n };\r\n\r\n const getNotesList = async () => {\r\n let videoId = state.videoId;\r\n startLoading();\r\n try {\r\n const response = await axios.get(`${url_225}?video_id=${videoId}`);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n notesList: response.data.data,\r\n }));\r\n console.log(\"noteslist\", response.data.data);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleCommentSubmit = async () => {\r\n if (state.rating === null && state.comment === \"\") {\r\n alert(\"Please enter a comment or give a rating\");\r\n } else {\r\n let videoId = state.videoId;\r\n let data = {\r\n video_id: videoId,\r\n rate: state.rating,\r\n comments: state.comment,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_221, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n comment: \"\",\r\n likesArray: [...prevState.likesArray, 1],\r\n }));\r\n getCommentsList();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }\r\n };\r\n\r\n const handleNoteSubmit = async () => {\r\n if (state.note === \"\") {\r\n alert(\"Please enter note\");\r\n } else {\r\n let videoId = state.videoId;\r\n let data = {\r\n video_id: videoId,\r\n time: currentVideoWatchTime,\r\n notes: state.note,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_226, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n getNotesList();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n setState((prevState) => ({\r\n ...prevState,\r\n note: \"\",\r\n notesInput: false,\r\n }));\r\n }\r\n };\r\n\r\n const handleNoteEditSubmit = async (id) => {\r\n if (state.note === \"\") {\r\n alert(\"Please enter note\");\r\n } else {\r\n let data = {\r\n id: id,\r\n time: currentVideoWatchTime,\r\n notes: state.note,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_227, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n getNotesList();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n setState((prevState) => ({\r\n ...prevState,\r\n note: \"\",\r\n notesInput: false,\r\n openOptionsIndex: null,\r\n enableNotesEdit: null,\r\n }));\r\n }\r\n };\r\n\r\n const handleNoteDelete = async (id) => {\r\n let data = {\r\n id: state.deleteId,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_228, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n getNotesList();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n setState((prevState) => ({\r\n ...prevState,\r\n deleteId: null,\r\n deleteModal: false,\r\n }));\r\n };\r\n\r\n const handleDeleteModal = (id) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n openOptionsIndex: null,\r\n deleteModal: true,\r\n deleteId: id,\r\n }));\r\n };\r\n\r\n const handleNoteEdit = (note, index) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n note: note,\r\n enableNotesEdit: prevState.enableNotesEdit === index ? null : index,\r\n }));\r\n };\r\n\r\n const handleLikeClick = async (id, status, index) => {\r\n let videoId = state.videoId;\r\n let data = {\r\n id: id,\r\n like: 1,\r\n video_id: videoId,\r\n status: status,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_223, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n getCommentsList();\r\n setState((prevState) => {\r\n const updatedLikesArray = [...prevState.likesArray];\r\n updatedLikesArray[index] = status === 1 ? 0 : 1;\r\n return {\r\n ...prevState,\r\n likesArray: updatedLikesArray,\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleClickOnNotes = (time) => {\r\n console.log(\"clickgin on notes\", time);\r\n setNoteAddedVideoTimeAction(time);\r\n };\r\n\r\n const formattedTime = (currentTime) => {\r\n const hours = Math.floor(currentTime / 3600);\r\n const minutes = Math.floor((currentTime % 3600) / 60);\r\n const seconds = Math.floor(currentTime % 60);\r\n\r\n const Time = `${hours.toString().padStart(2, \"0\")}:${minutes\r\n .toString()\r\n .padStart(2, \"0\")}:${seconds.toString().padStart(2, \"0\")}`;\r\n\r\n return Time;\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userData.user_id}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleJumpToParticularTime = () => {\r\n let videoDetails = { ...state.videoDetails };\r\n if (!isEmpty(videoDetails) && videoDetails.last_paused) {\r\n let frame = document.querySelector(\"#iframe\");\r\n //////jump to particular time///////////////////////\r\n frame.contentWindow.postMessage(\r\n JSON.stringify({ seekTo: videoDetails.last_paused }),\r\n \"*\"\r\n );\r\n }\r\n };\r\n\r\n const handleSeekTo = (jumpTime) => {\r\n let timeSplitArr = jumpTime.split(\":\");\r\n let timeInSeconds =\r\n timeSplitArr[0] * 60 * 60 + timeSplitArr[1] * 60 + timeSplitArr[2];\r\n\r\n let frame = document.querySelector(\"#iframe\");\r\n //////jump to particular time///////////////////////\r\n frame.contentWindow.postMessage(\r\n JSON.stringify({ seekTo: timeInSeconds }),\r\n \"*\"\r\n );\r\n };\r\n\r\n /////////Render Video Frame////////////////////\r\n const renderFrame = (data, videoDetails) => {\r\n const videoCryptId = videoDetails?.video_crypt_id\r\n ? String(videoDetails?.video_crypt_id)\r\n : undefined;\r\n\r\n switch (data.redirectedFrom) {\r\n case \"schedule_class\":\r\n case \"activity\":\r\n case \"free_videos\":\r\n case \"last_paused_video\":\r\n if (videoCryptId) {\r\n return ;\r\n } else {\r\n return (\r\n \r\n );\r\n }\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const handleBookmarkVideo = async (isSaved) => {\r\n let videoDetails = { ...state.videoDetails };\r\n setState((prevState) => ({\r\n ...prevState,\r\n videoDetails: { ...prevState.videoDetails, IsSaved: !isSaved },\r\n }));\r\n\r\n let data = {};\r\n if (isSaved) {\r\n data = {\r\n type: 4, // 4 for video\r\n reference_id: videoDetails.video_id,\r\n status: 0, //1=> save , 0=>unsave\r\n };\r\n } else {\r\n data = {\r\n type: 4, // 4 for video\r\n reference_id: videoDetails.video_id,\r\n status: 1, //1=> save , 0=>unsave\r\n };\r\n }\r\n try {\r\n const response = await axios.post(url_39, data);\r\n // console.log(response);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n ///////////////Render Video Details/////////////////\r\n\r\n const renderVideoDetails = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(state.videoDetails)\r\n ? state.videoDetails.video_title\r\n : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(state.videoDetails)\r\n ? state.videoDetails.UploadBy.name\r\n : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
      \r\n handleTabClick(0)}\r\n >\r\n My Notes\r\n \r\n handleTabClick(1)}\r\n >\r\n Study Material\r\n \r\n handleTabClick(3)}\r\n >\r\n Ratings\r\n \r\n handleTabClick(4)}\r\n >\r\n Timeline\r\n \r\n handleTabClick(5)}\r\n >\r\n Related videos\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n notesInput: true,\r\n }))\r\n }\r\n className={state.notesInput ? `` : `active`}\r\n >\r\n + Add Notes\r\n \r\n
    \r\n {state.notesInput && (\r\n
    \r\n handleNotesInput(e)}\r\n />\r\n
    \r\n

    {state.timeElapsed}

    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n notesInput: false,\r\n note: \"\",\r\n }))\r\n }\r\n >\r\n Cancel\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n {state.notesList.data?.length > 0 ? (\r\n
    \r\n
    \r\n {state.notesList.data?.length > 0 &&\r\n state.notesList.data?.map((element, index) => {\r\n return (\r\n <>\r\n {state.enableNotesEdit === index ? (\r\n
    \r\n handleNotesInput(e)}\r\n value={state.note}\r\n />\r\n
    \r\n

    {state.timeElapsed}

    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n enableNotesEdit: null,\r\n openOptionsIndex: null,\r\n note: \"\",\r\n }))\r\n }\r\n >\r\n Cancel\r\n \r\n \r\n handleNoteEditSubmit(element.id)\r\n }\r\n >\r\n Save\r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \r\n handleClickOnNotes(element.time)\r\n }\r\n >\r\n {element.notes}\r\n

    \r\n
    \r\n

    {formattedTime(element.time)}

    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n openOptionsIndex:\r\n prevState.openOptionsIndex === index\r\n ? null\r\n : index,\r\n }))\r\n }\r\n >\r\n \r\n \r\n
    \r\n {state.openOptionsIndex === index && (\r\n
      \r\n \r\n handleNoteEdit(element.notes, index)\r\n }\r\n >\r\n \r\n

      Edit

      \r\n \r\n \r\n handleDeleteModal(element.id)\r\n }\r\n >\r\n \r\n

      Delete

      \r\n \r\n
    \r\n )}\r\n
    \r\n )}\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n \"warning\"\r\n

    \r\n You have not added any notes yet.\r\n
    Add a notes now by clicking on the\r\n
    “+ Add Notes” .\r\n

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n {state.studyMaterialList.length > 0 ? (\r\n state.studyMaterialList?.map((element) => {\r\n return (\r\n
    \r\n
    \r\n \"pdf\"\r\n

    \r\n {element.notes_title.length > 50\r\n ? `${element.notes_title.slice(0, 50)}...`\r\n : element.notes_title}\r\n

    \r\n
    \r\n \r\n \"download\"\r\n \r\n
    \r\n );\r\n })\r\n ) : (\r\n
    \r\n \"warning\"\r\n

    No study material available at the moment.

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n

    Rate Now

    \r\n
    \r\n
    \r\n {[...Array(5)].map((star, index) => {\r\n const currentRating = index + 1;\r\n return (\r\n \r\n );\r\n })}\r\n
    \r\n
    \r\n Very poor\r\n Excellent\r\n
    \r\n
    \r\n
    \r\n

    Add Comment(If any)

    \r\n
    \r\n handleComment(e)}\r\n />\r\n \r\n
    \r\n {state.commentsList.length\r\n ? state.commentsList?.map((element, index) => {\r\n return (\r\n
    \r\n

    {element.name}

    \r\n\r\n

    {element.comments}

    \r\n
    \r\n \r\n {state?.likesArray?.[index] ? (\r\n {\r\n handleLikeClick(element.id, 1, index);\r\n }}\r\n src={images?.new_likes}\r\n alt=\"likes\"\r\n />\r\n ) : (\r\n {\r\n handleLikeClick(element.id, 0, index);\r\n }}\r\n src={images?.new_liked}\r\n alt=\"liked\"\r\n />\r\n )}\r\n\r\n {element?.like &&

    {element?.like} Likes

    }\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : \"\"}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Content

    \r\n
    \r\n {!state?.videoDetails.IsSaved ? (\r\n handleBookmarkVideo()}\r\n />\r\n ) : (\r\n \r\n handleBookmarkVideo(state.videoDetails)\r\n }\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state?.videoDetails) &&\r\n state?.videoDetails.content.length &&\r\n state?.videoDetails.content.map((item, idx) => (\r\n handleSeekTo(item.content_time)}\r\n >\r\n
    \r\n
    \r\n

    \r\n \r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n
    \r\n
    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n jumpTo: state?.timeline?.map((e) => e?.seconds),\r\n }))\r\n }\r\n >\r\n {state?.timeline?.map((e) => e?.seconds)}\r\n \r\n
    \r\n \r\n \r\n \r\n
    \r\n {state.relatedVideo?.length ? (\r\n \r\n \r\n
    \r\n {state.relatedVideo.map((element, index) => (\r\n
    \r\n \r\n handleStoreDataInStorage(\"videos\", element)\r\n }\r\n >\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreDataInStorage(\"videos\", element)\r\n }\r\n >\r\n

    \r\n {element.video_title}\r\n

    \r\n
    \r\n
    \r\n {element.IsSaved ? (\r\n \r\n handleBookmarkVideo(element)\r\n }\r\n />\r\n ) : (\r\n \r\n handleBookmarkVideo(element)\r\n }\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n by {element.name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreDataInStorage(\r\n \"videos\",\r\n element\r\n )\r\n }\r\n >\r\n Watch Now\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n ))}\r\n \r\n \r\n \r\n ) : (\r\n \r\n \"No\r\n

    There is no video yet!

    \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n ////////////Render Other Related Content////////////\r\n const renderOtherRelatedContent = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {renderDppCollectionView()}\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderDppCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.dppCollections)\r\n ? state.dppCollections.DPPList.length\r\n ? state.dppCollections.DPPList.map((element, index) => {\r\n return (\r\n <>\r\n

    Daily Practice Papers (DPP)

    \r\n \r\n handleStoreDataInStorage(\"dpp\", element)\r\n }\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.excersie_type}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {`${element.total_question} Questions`}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderRelatedVideos = () => {\r\n return (\r\n \r\n
    \r\n {!isEmpty(state.videoDetails) ? (\r\n state.videoDetails.RecommendedVideos.data.length ? (\r\n \r\n
    \r\n

    Related Videos

    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.videoDetails)\r\n ? state.videoDetails.RecommendedVideos.data.length\r\n ? state.videoDetails.RecommendedVideos.data.map(\r\n (element, index) => {\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.video_title}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {element.IsSaved ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n
    \r\n
    \r\n ) : null\r\n ) : null}\r\n \r\n \r\n );\r\n };\r\n\r\n const handleStoreDataInStorage = (type, data) => {\r\n switch (type) {\r\n case \"notes\":\r\n data.redirectedFrom = \"activity\";\r\n setNotesData(data);\r\n history.push(\"/notes\");\r\n break;\r\n case \"dpp\":\r\n data.redirectedFrom = \"activity\";\r\n data.videoId = state.videoId;\r\n data.exerciseType = \"DPP\";\r\n // setExerciseResultData(data);\r\n // history.push(\"/evaluation_result\");\r\n setExerciseData(data);\r\n history.push({\r\n pathname: \"/evaluation\",\r\n state: { type: \"dpp\" },\r\n });\r\n\r\n // if (data.is_attempt) {\r\n // setExerciseResultData(data);\r\n // history.push(\"/evaluation_result\");\r\n // } else {\r\n // setExerciseData(data);\r\n // history.push(\"/evaluation\");\r\n // }\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n function timeStringToSeconds(timeString) {\r\n const [hours, minutes, seconds] = timeString.split(\":\").map(Number);\r\n return hours * 3600 + minutes * 60 + seconds;\r\n }\r\n\r\n const postWatchedVideoDetails = async () => {\r\n const { video_id, subject_id, video_duration } = watchedVideoData;\r\n\r\n const payloadData = {\r\n video_id,\r\n subject_id,\r\n total_duration: timeStringToSeconds(video_duration),\r\n watched_time: Math.round(totalWatchTime),\r\n last_paused: Math.round(videoLastPaused),\r\n };\r\n\r\n const response = await axios.post(url_242, payloadData);\r\n };\r\n\r\n const handleRedirect = () => {\r\n history.goBack();\r\n // postWatchedVideoDetails();\r\n };\r\n\r\n const getDppList = async () => {\r\n let videoId = state.videoId;\r\n if (videoId) {\r\n let data = {\r\n video_id: videoId,\r\n course_id: userPreference.courseDetails[0].course_id,\r\n type: \"DPP\",\r\n topic_id: topicData.topicId,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_23, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n dppCollections: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }\r\n };\r\n\r\n const getStudyMaterialList = async () => {\r\n let videoId = state.videoId;\r\n startLoading();\r\n try {\r\n const response = await axios.get(`${url_220}?video_id=${videoId}`);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n studyMaterialList: response.data.data.study_material,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\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
    \r\n
    \r\n

    {videoData.video_title}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(videoData)\r\n ? renderFrame(videoData, state.videoDetails)\r\n : null}\r\n
    \r\n
    \r\n {renderVideoDetails()}\r\n
    \r\n
    \r\n {renderOtherRelatedContent()}\r\n
    \r\n
    \r\n {renderRelatedVideos()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.deleteModal && (\r\n {\r\n if (e.target.classList.contains(\"modal_outer_package\")) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n deleteModal: !prevState.deleteModal,\r\n }));\r\n }\r\n }}\r\n >\r\n
    \r\n

    Delete Note

    \r\n

    \r\n Are you sure? You want to delete the\r\n
    note permanently\r\n

    \r\n
    \r\n {\r\n setState((prevState) => ({\r\n ...prevState,\r\n deleteModal: !prevState.deleteModal,\r\n }));\r\n }}\r\n >\r\n No\r\n \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n {state.reportModal && (\r\n {\r\n if (e.target.classList.contains(\"modal_outer_package\")) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n reportModal: !prevState.reportModal,\r\n }));\r\n }\r\n }}\r\n >\r\n
    \r\n {\r\n setState((prevState) => ({\r\n ...prevState,\r\n reportModal: !prevState.reportModal,\r\n }));\r\n }}\r\n className=\"close\"\r\n >\r\n \"close\"\r\n \r\n

    Report

    \r\n

    \r\n You can just write to us, If there is any incorrect or error in\r\n question and given options.\r\n

    \r\n
      \r\n {state.reportCategory?.map((element) => {\r\n return (\r\n
    • \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n reportCategoryOption: element,\r\n }))\r\n }\r\n />\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n {\r\n handleReportInput(e);\r\n }}\r\n value={state.report}\r\n rows={2}\r\n placeholder=\"Write to us...\"\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n videoComponentTime: state.userBookmarkData.videoComponentTime,\r\n videoCurrentTime: state.userBookmarkData.videoCurrentTime,\r\n videoDetailsForTime: state.userBookmarkData.videoDetailsForTime,\r\n topicData: state.userActivity.topicData,\r\n subjectData: state.userActivity.subjectData,\r\n watchedVideoData: state.WatchedVideoDetailsSlice.watchedVideoDetails,\r\n videoLastPaused: state.WatchedVideoDetailsSlice.lastPaused,\r\n totalWatchTime: state.WatchedVideoDetailsSlice.totalWatchTime,\r\n currentVideoWatchTime: state.WatchedVideoDetailsSlice.currentvideoTime,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setVideoData: (payload) => {\r\n dispatch(userActivityActions.setVideoData(payload));\r\n },\r\n setNotesData: (payload) => {\r\n dispatch(userActivityActions.setNotesData(payload));\r\n },\r\n setExerciseData: (payload) => {\r\n dispatch(userActivityActions.setExerciseData(payload));\r\n },\r\n setExerciseResultData: (payload) => {\r\n dispatch(userActivityActions.setExerciseResultData(payload));\r\n },\r\n setVideoComponentTime: (payload) => {\r\n dispatch(userBookmarkActions.setVideoComponentTime(payload));\r\n },\r\n setRelatedVideos: (payload) => {\r\n dispatch(userBookmarkActions.setRelatedVideos(payload));\r\n },\r\n setVideoDetailsForTime: (payload) => {\r\n dispatch(userBookmarkActions.setVideoDetailsForTime(payload));\r\n },\r\n setVideoCurrentTime: (payload) => {\r\n dispatch(userBookmarkActions.setVideoCurrentTime(payload));\r\n },\r\n\r\n setNoteAddedVideoTimeAction: (payload) => {\r\n dispatch(setNoteAddedVideoTime(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(VideoFeatureContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./video_feature.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport VideoFeatureContentComponent from \"./video_feature_content_component/video_feature_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst VideoFeature = (props) => {\r\n let { loader, videoData, history, userData, userPreference } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n videoData: state.userActivity.videoData,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(VideoFeature);\r\n","import { Fragment } from \"react\";\r\nimport \"./chat_header.scss\";\r\n\r\nconst ChatHeader = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Live Chat

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ChatHeader;\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./chat_container.scss\";\r\n\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport moment from \"moment\";\r\n\r\nconst ChatContainer = (props) => {\r\n let { accessTokenDetails, messages } = props;\r\n\r\n const renderChats = (messages) => {\r\n return messages.map((element, index) => {\r\n if (\r\n element.state.author.toLowerCase() ===\r\n accessTokenDetails.identity.toLowerCase()\r\n ) {\r\n return renderSenderChat(element, index);\r\n } else {\r\n return renderReceiverChat(element, index);\r\n }\r\n });\r\n };\r\n\r\n const renderSenderChat = (singleChat, index) => {\r\n let { state } = singleChat;\r\n return (\r\n \r\n
    \r\n
    \r\n {renderMessageType(state)}\r\n
    \r\n

    \r\n {moment(state.timestamp).format(\"MMMM Do YYYY, h:mm:ss a\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {renderNameInitials(state.author)}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n const renderReceiverChat = (singleChat, index) => {\r\n let { state } = singleChat;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {renderNameInitials(state.author)}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderMessageType(state)}\r\n
    \r\n

    \r\n {moment(state.timestamp).format(\"MMMM Do YYYY, h:mm:ss a\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderMessageType = (message) => {\r\n let messageType;\r\n if (message.type === \"media\") {\r\n messageType = 1;\r\n } else {\r\n messageType = 2;\r\n }\r\n\r\n switch (messageType) {\r\n case 1:\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n case 2:\r\n return (\r\n \r\n
    \r\n

    {message.body}

    \r\n
    \r\n
    \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderNameInitials = (text) => {\r\n let str = \"\";\r\n let splittedTextArr = text.split(\" \");\r\n\r\n splittedTextArr.slice(0, 2).forEach((element) => {\r\n str = str + element[0].toUpperCase();\r\n });\r\n\r\n return str;\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {renderChats(messages)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ChatContainer;\r\n","import { Fragment } from \"react\";\r\nimport \"./chat_footer.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\n\r\nconst ChatFooter = (props) => {\r\n let {\r\n messageDetails,\r\n handleChangeInputField,\r\n handleChatSubmit,\r\n handleImageUpload,\r\n handleMediaDiscard,\r\n handleMediaAccept,\r\n } = props;\r\n return (\r\n \r\n
    \r\n
    \r\n {messageDetails.localImageURL.length ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    handleChatSubmit(event)}>\r\n
    \r\n handleChangeInputField(event)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ChatFooter;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./chat_components.scss\";\r\n\r\n/////\r\nimport ChatHeader from \"./chat_header/chat_header\";\r\nimport ChatContainer from \"./chat_container/chat_container\";\r\nimport ChatFooter from \"./chat_footer/chat_footer\";\r\n\r\nimport axios from \"axios\";\r\nimport { url_18 } from \"../../../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport twilioChatActions from \"../../../../../../redux/twilio_chat/action\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//it should below all import statements otherwise, it will give error\r\n///////twilio chat client sdk////////\r\nconst Chat = require(\"twilio-chat\");\r\n\r\nconst ChatComponent = (props) => {\r\n const [state, setState] = useState({\r\n channelDescriptor: {},\r\n channel: {},\r\n messages: [],\r\n messageDetails: {\r\n msg: \"\",\r\n imageData: {},\r\n localImageURL: \"\",\r\n },\r\n });\r\n\r\n let {\r\n history,\r\n location,\r\n userData,\r\n accessTokenDetails,\r\n liveStreamData,\r\n startLoading,\r\n finishLoading,\r\n setAccessTokenDetails,\r\n } = props;\r\n\r\n useEffect(() => {\r\n // This method is responsible for network requests, event handling, token acquisition and refresh, and channels and message management.\r\n // Initialize the Twilio Chat SDK\r\n // As soon as you obtain a token, you can initialize the Twilio Chat Client and put a token refresh mechanism in place. Twilio provides two events to help you manage token expiration: tokenAboutToExpire and tokenExpired.\r\n createClient();\r\n // window.addEventListener(\"beforeunload\", function (e) {\r\n // // var confirmationMessage = \"o/\";\r\n // // e.returnValue = confirmationMessage;\r\n // // return confirmationMessage;\r\n // return window.confirm(\"Are you sure?\");\r\n // });\r\n\r\n // return async () => {\r\n // let channel = state.channel;\r\n // // await channel.leave();\r\n // };\r\n }, []);\r\n\r\n const createClient = async () => {\r\n let { identity, accessToken } = accessTokenDetails;\r\n\r\n if (!identity && !accessToken) {\r\n alert(\"You didn't create accessToken for chat, please create it\");\r\n history.replace(\"/subject_component\");\r\n }\r\n\r\n let client;\r\n try {\r\n client = await Chat.Client.create(accessToken);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n ////////////////\r\n tokenAboutToExpireEvent(client);\r\n // ///////////////////\r\n tokenExpiredEvent(client);\r\n // // //////////////////////////\r\n getCreatedChannel(client);\r\n // ///////////////////////\r\n channelJoinedEvent(client);\r\n };\r\n\r\n ////////////Get Access Token/////////////////////////\r\n const getAccessToken = async () => {\r\n let data = {\r\n identity: userData.name,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_18, data);\r\n if (response.status === 200) {\r\n finishLoading();\r\n setAccessTokenDetails({\r\n identity: response.data.identity,\r\n accessToken: response.data.token,\r\n });\r\n return response.data.token;\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n //////////event call when, token about to expire////////////////\r\n const tokenAboutToExpireEvent = (client) => {\r\n client.on(\"tokenAboutToExpire\", async () => {\r\n try {\r\n const token = await getAccessToken();\r\n client.updateToken(token);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n });\r\n };\r\n\r\n //////////event call when, token expired////////////////\r\n const tokenExpiredEvent = (client) => {\r\n client.on(\"tokenExpired\", async () => {\r\n try {\r\n const token = await getAccessToken();\r\n client.updateToken(token);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n });\r\n };\r\n\r\n ////////////event call when,joined a channel////////////////////\r\n const channelJoinedEvent = (client) => {\r\n client.on(\"channelJoined\", async (channel) => {\r\n // getting list of all messages since this is an existing channel\r\n\r\n startLoading();\r\n try {\r\n const messages = await channel.getMessages();\r\n if (!isEmpty(messages)) {\r\n messages.items.forEach(async (element) => {\r\n if (element.state.type === \"media\") {\r\n let url = await element.media.getContentTemporaryUrl();\r\n element.state.mediaURL = url;\r\n } else {\r\n element.state.mediaURL = null;\r\n }\r\n });\r\n finishLoading();\r\n setState((prevState) => ({ ...prevState, messages: messages.items }));\r\n scrollToMessageListBottom();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n });\r\n };\r\n\r\n ///////////////Get the list of already created channel///////////////\r\n const getCreatedChannel = async (client) => {\r\n let { live_stream_id } = liveStreamData;\r\n startLoading();\r\n try {\r\n //////////get all the channelDescriptors////////////////////\r\n const channelsDescriptors = await client.getPublicChannelDescriptors();\r\n /////////////loop all the channelDescriptors and get respective channel and leave all the channels that have already joined otherwise joined event will call for all that channels\r\n await removedFromJoinedChannels(channelsDescriptors);\r\n\r\n let findedChannelDescriptor = channelsDescriptors.state.items.find(\r\n (element) => {\r\n return parseInt(element.uniqueName) === live_stream_id;\r\n }\r\n );\r\n\r\n\r\n if (findedChannelDescriptor) {\r\n //////if you find the channel descriptor now get channel//////\r\n let returnedResponse = await getTheChannel(findedChannelDescriptor);\r\n\r\n if (returnedResponse.result) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n channelDescriptor: findedChannelDescriptor,\r\n channel: returnedResponse.data,\r\n }));\r\n joinChannel(returnedResponse.data);\r\n }\r\n } else {\r\n ///not find the channel descriptor then, create channel////////////\r\n createChannel(client);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getTheChannel = async (channelDescriptor) => {\r\n try {\r\n let channel = await channelDescriptor.getChannel();\r\n return { result: 1, data: channel };\r\n } catch (error) {\r\n console.log(error);\r\n return { result: 0, data: null };\r\n }\r\n };\r\n\r\n const leaveTheChannel = async (channel) => {\r\n try {\r\n let leavedChannel = await channel.leave();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n ///////removed from joined channels////////////////\r\n\r\n const removedFromJoinedChannels = async (channelsDescriptors) => {\r\n channelsDescriptors.state.items.forEach(async (element) => {\r\n let returnedResponse = await getTheChannel(element);\r\n\r\n if (returnedResponse.result) {\r\n let channel = returnedResponse.data;\r\n\r\n if (channel.channelState.status.toLowerCase() === \"joined\") {\r\n await leaveTheChannel(channel);\r\n }\r\n }\r\n });\r\n };\r\n\r\n ////////////join channel/////////////////\r\n const joinChannel = async (channel) => {\r\n try {\r\n let joinedChannel = await channel.join();\r\n if (joinedChannel) {\r\n messageAddedEvent(channel);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n // alert(\"Something went wrong. Click OK for troubleShoot\");\r\n // window.location.reload();\r\n createClient();\r\n }\r\n };\r\n\r\n //////////create channel///////////////////////////\r\n const createChannel = async (client) => {\r\n let { live_stream_id } = liveStreamData;\r\n const channel = await client.createChannel({\r\n uniqueName: `${live_stream_id}`,\r\n friendlyName: `LIVECHAT${live_stream_id}`,\r\n });\r\n setState((prevState) => ({\r\n ...prevState,\r\n channelDescriptor: {},\r\n channel: channel,\r\n }));\r\n joinChannel(channel);\r\n };\r\n\r\n const messageAddedEvent = (channel) => {\r\n channel.on(\"messageAdded\", async (message) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: {\r\n ...prevState.messageDetails,\r\n msg: \"\",\r\n localImageURL: \"\",\r\n imageData: {},\r\n },\r\n }));\r\n handleMessageAdded(message);\r\n });\r\n };\r\n\r\n const handleMessageAdded = async (message) => {\r\n if (message.state.type === \"media\") {\r\n if (message.state.type === \"media\") {\r\n startLoading();\r\n let url = await message.media.getContentTemporaryUrl();\r\n if (url) {\r\n message.state.mediaURL = url;\r\n finishLoading();\r\n }\r\n } else {\r\n message.state.mediaURL = null;\r\n }\r\n }\r\n setState((prevState) => ({\r\n ...prevState,\r\n messages: [...prevState.messages, message],\r\n }));\r\n scrollToMessageListBottom();\r\n };\r\n\r\n const sendMessage = () => {\r\n const { messageDetails, channel } = state;\r\n if (messageDetails.msg) {\r\n channel.sendMessage(String(messageDetails.msg).trim());\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: { ...prevState.messageDetails, msg: \"\" },\r\n }));\r\n }\r\n };\r\n\r\n const handleChatSubmit = (event) => {\r\n event.preventDefault();\r\n sendMessage();\r\n };\r\n\r\n const handleChangeInputField = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: { ...prevState.messageDetails, msg: value },\r\n }));\r\n };\r\n\r\n const handleImageUpload = (event) => {\r\n let { files } = event.target;\r\n let localImageURL = createImageLocalURL(files[0]);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: {\r\n ...prevState.messageDetails,\r\n localImageURL: localImageURL,\r\n imageData: files[0],\r\n msg: \"\",\r\n },\r\n }));\r\n };\r\n\r\n const createImageLocalURL = (imageDetails) => {\r\n let objectURL = URL.createObjectURL(imageDetails);\r\n return objectURL;\r\n };\r\n\r\n const handleMediaDiscard = () => {\r\n let upload_image = document.querySelector(\"#upload_image\");\r\n upload_image.value = \"\"; // resetting the value of input type file\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: {\r\n ...prevState.messageDetails,\r\n msg: \"\",\r\n localImageURL: \"\",\r\n imageData: {},\r\n },\r\n }));\r\n };\r\n\r\n const handleMediaAccept = () => {\r\n let { messageDetails, channel } = state;\r\n if (messageDetails.localImageURL.length) {\r\n let formData = new FormData();\r\n formData.append(\"file\", messageDetails.imageData);\r\n channel.sendMessage(formData);\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: {\r\n ...prevState.messageDetails,\r\n localImageURL: \"\",\r\n imageData: {},\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const scrollToMessageListBottom = () => {\r\n let incoming_chats_wrapper = document.querySelector(\r\n \"#incoming_chats_wrapper\"\r\n );\r\n\r\n incoming_chats_wrapper.scrollTo(0, incoming_chats_wrapper.scrollHeight);\r\n };\r\n\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};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n accessTokenDetails: state.twilioChatData.accessTokenDetails,\r\n liveStreamData: state.userActivity.liveStreamData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setAccessTokenDetails: (payload) => {\r\n dispatch(twilioChatActions.setAccessTokenDetails(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChatComponent);\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./live_stream_feature_content_component.scss\";\r\n\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { url_18 } from \"../../../../../custom_utilities/api_services\";\r\n\r\n///////Chat component///////////\r\nimport ChatComponent from \"./chat_components/chat_components\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport twilioChatActions from \"../../../../../redux/twilio_chat/action\";\r\n\r\nconst LiveStreamFeatureContentComponent = (props) => {\r\n let {\r\n history,\r\n location,\r\n liveStreamData,\r\n userData,\r\n accessTokenDetails,\r\n setAccessTokenDetails,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n isChatWindowVisible: false,\r\n });\r\n\r\n const handleRedirect = () => {\r\n history.goBack();\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userData.user_id}\"}`,\r\n \"*\"\r\n );\r\n };\r\n\r\n const renderFrame = (data) => {\r\n switch (data.redirectedFrom) {\r\n case \"schedule_class\":\r\n return (\r\n \r\n );\r\n case \"activity\":\r\n return (\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const handleCreateTwilioAccessToken = async () => {\r\n let data = {\r\n identity: userData.name,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_18, data);\r\n if (response.status === 200) {\r\n finishLoading();\r\n setAccessTokenDetails({\r\n identity: response.data.identity,\r\n accessToken: response.data.token,\r\n });\r\n setState((prevState) => ({ ...prevState, isChatWindowVisible: true }));\r\n window.scrollTo(0, document.body.scrollHeight);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Live Class

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(liveStreamData) ? renderFrame(liveStreamData) : null}\r\n
    \r\n
    \r\n {state.isChatWindowVisible ? (\r\n
    \r\n
    \r\n
    \r\n

    Live Chat

    \r\n
    \r\n \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n handleCreateTwilioAccessToken()}\r\n >\r\n
    \r\n

    Live Chat

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n accessTokenDetails: state.twilioChatData.accessTokenDetails,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setAccessTokenDetails: (payload) => {\r\n dispatch(twilioChatActions.setAccessTokenDetails(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(LiveStreamFeatureContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./live_stream_feature.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport LiveStreamFeatureContentComponent from \"./live_stream_feature_content_component/live_stream_feature_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LiveStreamFeature = (props) => {\r\n let { liveStreamData, history, location, loader, userData, userPreference } =\r\n props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n liveStreamData: state.userActivity.liveStreamData,\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(LiveStreamFeature);\r\n","import React from 'react';\r\n\r\nconst ControlPanel = ({ scale,zoomIn,zoomOut}) => {\r\n \r\n return (\r\n
    \r\n \r\n {/* {(scale * 100).toFixed()}% */}\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default ControlPanel;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Document, Page, pdfjs } from \"react-pdf/dist/esm/entry.webpack\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport ControlPanel from \"./ControlPanel\";\r\nimport \"./notes_feature_content_component.scss\";\r\n\r\nconst NotesFeatureContentComponent = ({\r\n history,\r\n notesData,\r\n tokenType,\r\n token,\r\n}) => {\r\n pdfjs.GlobalWorkerOptions.workerSrc = `//cdnjs.cloudflare.com/ajax/libs/pdf.js/${pdfjs.version}/pdf.worker.js`;\r\n\r\n const [numPages, setNumPages] = useState(null);\r\n const [pdfData, setPdfData] = useState(null);\r\n const [loading, setLoading] = useState(true);\r\n const [scale, setScale] = useState(1.5);\r\n const [pageWidth, setPageWidth] = useState(null);\r\n\r\n useEffect(() => {\r\n const getPdfData = async () => {\r\n try {\r\n const response = await axios.get(\r\n `https://learning.motion.ac.in/motioneducation/api/notes?file=${\r\n notesData.notes.match(/\\/([^/]+)$/)[1]\r\n }&id=${notesData.notes_id}`,\r\n {\r\n headers: {\r\n Authorization: `${tokenType} ${token}`,\r\n },\r\n responseType: \"arraybuffer\",\r\n }\r\n );\r\n\r\n if (response.status === 200) {\r\n setPdfData(response.data);\r\n setLoading(false);\r\n }\r\n } catch (error) {\r\n console.error(\"Error fetching PDF:\", error);\r\n setLoading(false);\r\n }\r\n };\r\n\r\n getPdfData();\r\n }, [notesData.notes, notesData.notes_id, token, tokenType]);\r\n\r\n useEffect(() => {\r\n const calculatePageWidth = () => {\r\n const maxWidth = Math.min(window.innerWidth - 40, 800);\r\n setPageWidth(maxWidth);\r\n };\r\n\r\n calculatePageWidth();\r\n window.addEventListener(\"resize\", calculatePageWidth);\r\n\r\n return () => window.removeEventListener(\"resize\", calculatePageWidth);\r\n }, []);\r\n\r\n useEffect(() => {\r\n const updateScale = () => {\r\n if (window.innerWidth >= 1024) {\r\n setScale(1.5);\r\n } else if (window.innerWidth >= 768 && window.innerWidth < 1024) {\r\n setScale(1.2);\r\n } else {\r\n setScale(1);\r\n }\r\n };\r\n\r\n window.addEventListener(\"resize\", updateScale);\r\n updateScale();\r\n\r\n return () => window.removeEventListener(\"resize\", updateScale);\r\n }, []);\r\n\r\n const handleRedirect = () => {\r\n history.goBack();\r\n };\r\n\r\n const handleZoomIn = () => {\r\n setScale((prevScale) => prevScale * 1.2);\r\n };\r\n\r\n const handleZoomOut = () => {\r\n setScale((prevScale) => prevScale / 1.2);\r\n };\r\n\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
    {notesData.notes_title}
    \r\n
    \r\n
    \r\n
    \r\n {loading ? (\r\n

    \r\n ) : (\r\n <>\r\n \r\n
    \r\n
    \r\n setNumPages(numPages)}\r\n onContextMenu={(e) => e.preventDefault()}\r\n renderMode=\"canvas\"\r\n >\r\n {Array.from(new Array(numPages), (el, index) => (\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default NotesFeatureContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./notes_feature.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport NotesFeatureContentComponent from \"./notes_feature_content_component/notes_feature_content_component\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst NotesFeature = (props) => {\r\n let { notesData, history, userData, userPreference, token, tokenType } =\r\n props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n notesData: state.userActivity.notesData,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(NotesFeature);\r\n","import { Fragment } from \"react\";\r\nimport \"./chat_header.scss\";\r\n\r\nconst ChatHeader = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Live Chat

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ChatHeader;\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./chat_container.scss\";\r\n\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport moment from \"moment\";\r\n\r\nconst ChatContainer = (props) => {\r\n let { accessTokenDetails, messages } = props;\r\n\r\n const renderChats = (messages) => {\r\n return messages.map((element, index) => {\r\n if (\r\n element.state.author.toLowerCase() ===\r\n accessTokenDetails.identity.toLowerCase()\r\n ) {\r\n return renderSenderChat(element, index);\r\n } else {\r\n return renderReceiverChat(element, index);\r\n }\r\n });\r\n };\r\n\r\n const renderSenderChat = (singleChat, index) => {\r\n let { state } = singleChat;\r\n return (\r\n \r\n
    \r\n
    \r\n {renderMessageType(state)}\r\n
    \r\n

    \r\n {moment(state.timestamp).format(\"MMMM Do YYYY, h:mm:ss a\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {renderNameInitials(state.author)}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n const renderReceiverChat = (singleChat, index) => {\r\n let { state } = singleChat;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {renderNameInitials(state.author)}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderMessageType(state)}\r\n
    \r\n

    \r\n {moment(state.timestamp).format(\"MMMM Do YYYY, h:mm:ss a\")}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderMessageType = (message) => {\r\n let messageType;\r\n if (message.type === \"media\") {\r\n messageType = 1;\r\n } else {\r\n messageType = 2;\r\n }\r\n\r\n switch (messageType) {\r\n case 1:\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n case 2:\r\n return (\r\n \r\n
    \r\n

    {message.body}

    \r\n
    \r\n
    \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderNameInitials = (text) => {\r\n let str = \"\";\r\n let splittedTextArr = text.split(\" \");\r\n\r\n splittedTextArr.slice(0, 2).forEach((element) => {\r\n str = str + element[0].toUpperCase();\r\n });\r\n\r\n return str;\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {renderChats(messages)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ChatContainer;\r\n","import { Fragment } from \"react\";\r\nimport \"./chat_footer.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\n\r\nconst ChatFooter = (props) => {\r\n let {\r\n messageDetails,\r\n handleChangeInputField,\r\n handleChatSubmit,\r\n handleImageUpload,\r\n handleMediaDiscard,\r\n handleMediaAccept,\r\n } = props;\r\n return (\r\n \r\n
    \r\n
    \r\n {messageDetails.localImageURL.length ? (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    handleChatSubmit(event)}>\r\n
    \r\n handleChangeInputField(event)}\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ChatFooter;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./chat_components.scss\";\r\n\r\n/////\r\nimport ChatHeader from \"./chat_header/chat_header\";\r\nimport ChatContainer from \"./chat_container/chat_container\";\r\nimport ChatFooter from \"./chat_footer/chat_footer\";\r\n\r\nimport axios from \"axios\";\r\nimport { url_18 } from \"../../../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport twilioChatActions from \"../../../../../../redux/twilio_chat/action\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//it should below all import statements otherwise, it will give error\r\n///////twilio chat client sdk////////\r\nconst Chat = require(\"twilio-chat\");\r\n\r\nconst ChatComponent = (props) => {\r\n const [state, setState] = useState({\r\n channelDescriptor: {},\r\n channel: {},\r\n messages: [],\r\n messageDetails: {\r\n msg: \"\",\r\n imageData: {},\r\n localImageURL: \"\",\r\n },\r\n });\r\n\r\n let {\r\n history,\r\n location,\r\n userData,\r\n accessTokenDetails,\r\n liveStreamData,\r\n startLoading,\r\n finishLoading,\r\n setAccessTokenDetails,\r\n } = props;\r\n\r\n useEffect(() => {\r\n // This method is responsible for network requests, event handling, token acquisition and refresh, and channels and message management.\r\n // Initialize the Twilio Chat SDK\r\n // As soon as you obtain a token, you can initialize the Twilio Chat Client and put a token refresh mechanism in place. Twilio provides two events to help you manage token expiration: tokenAboutToExpire and tokenExpired.\r\n createClient();\r\n // window.addEventListener(\"beforeunload\", function (e) {\r\n // // var confirmationMessage = \"o/\";\r\n // // e.returnValue = confirmationMessage;\r\n // // return confirmationMessage;\r\n // return window.confirm(\"Are you sure?\");\r\n // });\r\n\r\n // return async () => {\r\n // let channel = state.channel;\r\n // // await channel.leave();\r\n // };\r\n }, []);\r\n\r\n const createClient = async () => {\r\n let { identity, accessToken } = accessTokenDetails;\r\n\r\n if (!identity && !accessToken) {\r\n alert(\"You didn't create accessToken for chat, please create it\");\r\n history.replace(\"/subject_component\");\r\n }\r\n\r\n let client;\r\n try {\r\n client = await Chat.Client.create(accessToken);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n\r\n ////////////////\r\n tokenAboutToExpireEvent(client);\r\n // ///////////////////\r\n tokenExpiredEvent(client);\r\n // // //////////////////////////\r\n getCreatedChannel(client);\r\n // ///////////////////////\r\n channelJoinedEvent(client);\r\n };\r\n\r\n ////////////Get Access Token/////////////////////////\r\n const getAccessToken = async () => {\r\n let data = {\r\n identity: userData.name,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_18, data);\r\n if (response.status === 200) {\r\n finishLoading();\r\n setAccessTokenDetails({\r\n identity: response.data.identity,\r\n accessToken: response.data.token,\r\n });\r\n return response.data.token;\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n //////////event call when, token about to expire////////////////\r\n const tokenAboutToExpireEvent = (client) => {\r\n client.on(\"tokenAboutToExpire\", async () => {\r\n try {\r\n const token = await getAccessToken();\r\n client.updateToken(token);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n });\r\n };\r\n\r\n //////////event call when, token expired////////////////\r\n const tokenExpiredEvent = (client) => {\r\n client.on(\"tokenExpired\", async () => {\r\n try {\r\n const token = await getAccessToken();\r\n client.updateToken(token);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n });\r\n };\r\n\r\n ////////////event call when,joined a channel////////////////////\r\n const channelJoinedEvent = (client) => {\r\n client.on(\"channelJoined\", async (channel) => {\r\n // getting list of all messages since this is an existing channel\r\n\r\n startLoading();\r\n try {\r\n const messages = await channel.getMessages();\r\n if (!isEmpty(messages)) {\r\n messages.items.forEach(async (element) => {\r\n if (element.state.type === \"media\") {\r\n let url = await element.media.getContentTemporaryUrl();\r\n element.state.mediaURL = url;\r\n } else {\r\n element.state.mediaURL = null;\r\n }\r\n });\r\n finishLoading();\r\n setState((prevState) => ({ ...prevState, messages: messages.items }));\r\n scrollToMessageListBottom();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n });\r\n };\r\n\r\n ///////////////Get the list of already created channel///////////////\r\n const getCreatedChannel = async (client) => {\r\n let { live_stream_id } = liveStreamData;\r\n startLoading();\r\n try {\r\n //////////get all the channelDescriptors////////////////////\r\n const channelsDescriptors = await client.getPublicChannelDescriptors();\r\n /////////////loop all the channelDescriptors and get respective channel and leave all the channels that have already joined otherwise joined event will call for all that channels\r\n await removedFromJoinedChannels(channelsDescriptors);\r\n\r\n let findedChannelDescriptor = channelsDescriptors.state.items.find(\r\n (element) => {\r\n return parseInt(element.uniqueName) === live_stream_id;\r\n }\r\n );\r\n\r\n\r\n if (findedChannelDescriptor) {\r\n //////if you find the channel descriptor now get channel//////\r\n let returnedResponse = await getTheChannel(findedChannelDescriptor);\r\n\r\n if (returnedResponse.result) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n channelDescriptor: findedChannelDescriptor,\r\n channel: returnedResponse.data,\r\n }));\r\n joinChannel(returnedResponse.data);\r\n }\r\n } else {\r\n ///not find the channel descriptor then, create channel////////////\r\n createChannel(client);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getTheChannel = async (channelDescriptor) => {\r\n try {\r\n let channel = await channelDescriptor.getChannel();\r\n return { result: 1, data: channel };\r\n } catch (error) {\r\n console.log(error);\r\n return { result: 0, data: null };\r\n }\r\n };\r\n\r\n const leaveTheChannel = async (channel) => {\r\n try {\r\n let leavedChannel = await channel.leave();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n ///////removed from joined channels////////////////\r\n\r\n const removedFromJoinedChannels = async (channelsDescriptors) => {\r\n channelsDescriptors.state.items.forEach(async (element) => {\r\n let returnedResponse = await getTheChannel(element);\r\n\r\n if (returnedResponse.result) {\r\n let channel = returnedResponse.data;\r\n\r\n if (channel.channelState.status.toLowerCase() === \"joined\") {\r\n await leaveTheChannel(channel);\r\n }\r\n }\r\n });\r\n };\r\n\r\n ////////////join channel/////////////////\r\n const joinChannel = async (channel) => {\r\n try {\r\n let joinedChannel = await channel.join();\r\n if (joinedChannel) {\r\n messageAddedEvent(channel);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n window.location.reload();\r\n }\r\n };\r\n\r\n //////////create channel///////////////////////////\r\n const createChannel = async (client) => {\r\n let { live_stream_id } = liveStreamData;\r\n const channel = await client.createChannel({\r\n uniqueName: `${live_stream_id}`,\r\n friendlyName: `LIVECHAT${live_stream_id}`,\r\n });\r\n setState((prevState) => ({\r\n ...prevState,\r\n channelDescriptor: {},\r\n channel: channel,\r\n }));\r\n joinChannel(channel);\r\n };\r\n\r\n const messageAddedEvent = (channel) => {\r\n channel.on(\"messageAdded\", async (message) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: {\r\n ...prevState.messageDetails,\r\n msg: \"\",\r\n localImageURL: \"\",\r\n imageData: {},\r\n },\r\n }));\r\n handleMessageAdded(message);\r\n });\r\n };\r\n\r\n const handleMessageAdded = async (message) => {\r\n if (message.state.type === \"media\") {\r\n if (message.state.type === \"media\") {\r\n startLoading();\r\n let url = await message.media.getContentTemporaryUrl();\r\n if (url) {\r\n message.state.mediaURL = url;\r\n finishLoading();\r\n }\r\n } else {\r\n message.state.mediaURL = null;\r\n }\r\n }\r\n setState((prevState) => ({\r\n ...prevState,\r\n messages: [...prevState.messages, message],\r\n }));\r\n scrollToMessageListBottom();\r\n };\r\n\r\n const sendMessage = () => {\r\n const { messageDetails, channel } = state;\r\n if (messageDetails.msg) {\r\n channel.sendMessage(String(messageDetails.msg).trim());\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: { ...prevState.messageDetails, msg: \"\" },\r\n }));\r\n }\r\n };\r\n\r\n const handleChatSubmit = (event) => {\r\n event.preventDefault();\r\n sendMessage();\r\n };\r\n\r\n const handleChangeInputField = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: { ...prevState.messageDetails, msg: value },\r\n }));\r\n };\r\n\r\n const handleImageUpload = (event) => {\r\n let { files } = event.target;\r\n let localImageURL = createImageLocalURL(files[0]);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: {\r\n ...prevState.messageDetails,\r\n localImageURL: localImageURL,\r\n imageData: files[0],\r\n msg: \"\",\r\n },\r\n }));\r\n };\r\n\r\n const createImageLocalURL = (imageDetails) => {\r\n let objectURL = URL.createObjectURL(imageDetails);\r\n return objectURL;\r\n };\r\n\r\n const handleMediaDiscard = () => {\r\n let upload_image = document.querySelector(\"#upload_image\");\r\n upload_image.value = \"\"; // resetting the value of input type file\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: {\r\n ...prevState.messageDetails,\r\n msg: \"\",\r\n localImageURL: \"\",\r\n imageData: {},\r\n },\r\n }));\r\n };\r\n\r\n const handleMediaAccept = () => {\r\n let { messageDetails, channel } = state;\r\n if (messageDetails.localImageURL.length) {\r\n let formData = new FormData();\r\n formData.append(\"file\", messageDetails.imageData);\r\n channel.sendMessage(formData);\r\n setState((prevState) => ({\r\n ...prevState,\r\n messageDetails: {\r\n ...prevState.messageDetails,\r\n localImageURL: \"\",\r\n imageData: {},\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const scrollToMessageListBottom = () => {\r\n let incoming_chats_wrapper = document.querySelector(\r\n \"#incoming_chats_wrapper\"\r\n );\r\n\r\n incoming_chats_wrapper.scrollTo(0, incoming_chats_wrapper.scrollHeight);\r\n };\r\n\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};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n accessTokenDetails: state.twilioChatData.accessTokenDetails,\r\n liveStreamData: state.userActivity.liveStreamData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setAccessTokenDetails: (payload) => {\r\n dispatch(twilioChatActions.setAccessTokenDetails(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ChatComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./live_web_chat_feature_content_component.scss\";\r\n\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport images from \"../../../../../utilities/images/images\";\r\n\r\n///////Chat component///////////\r\nimport ChatComponent from \"./chat_components/chat_components\";\r\n\r\nconst LiveWebChatFeatureContentComponent = (props) => {\r\n let { history, location } = props;\r\n\r\n const handleBackBtn = () => {\r\n history.push(\"/live_stream\");\r\n };\r\n\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
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default LiveWebChatFeatureContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./live_web_chat_feature.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport LiveWebChatFeatureContentComponent from \"./live_web_chat_feature_content_component/live_web_chat_feature_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LiveWebChatFeature = (props) => {\r\n let { history, location, loader, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(LiveWebChatFeature);\r\n","export const mogioConfig = {\r\n appId: \"5fd349de743c937905523eca\",\r\n appKey: \"d5ttbe1Z5WK4a0Xg9Kv7tc8QusQXpe54\",\r\n};\r\n","import { Fragment } from \"react\";\r\nimport \"./recorded_live_stream_video_list_view.scss\";\r\n\r\nconst RecordedLiveStreamVideoListView = (props) => {\r\n let { recordedVideoCollection, handleClickRecordedVideo } = props;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {recordedVideoCollection.length\r\n ? recordedVideoCollection.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {`Recording ${\r\n index + 1\r\n }`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleClickRecordedVideo(element)}\r\n >\r\n Watch\r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : \"No recordings\"}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default RecordedLiveStreamVideoListView;\r\n","import { Fragment } from \"react\";\r\nimport \"./recorded_live_stream_video_view.scss\";\r\n\r\nimport images from \"../../../../../../utilities/images/images\";\r\n\r\nconst RecordedLiveStreamVideoView = (props) => {\r\n let { selectedVideoId, userId, handleBack } = props;\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n };\r\n\r\n const renderFrame = (videoId) => {\r\n return (\r\n \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Video View

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderFrame(selectedVideoId)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default RecordedLiveStreamVideoView;\r\n","import { useState, Fragment, useEffect } from \"react\";\r\nimport \"./live_stream_video_feature_content_component.scss\";\r\n\r\nimport images from \"../../../../../utilities/images/images\";\r\n\r\nimport { url_53 } from \"../../../../../custom_utilities/api_services\";\r\nimport { mogioConfig } from \"../../../../../custom_utilities/third_party_config\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//////////////////////////////\r\nimport RecordedLiveStreamVideoListView from \"./recorded_live_stream_video_list_view/recorded_live_stream_video_list_view\";\r\nimport RecordedLiveStreamVideoView from \"./recorded_live_stream_video_view/recorded_live_stream_video_view\";\r\n\r\n///////Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LiveStreamVideoFeatureContentComponent = (props) => {\r\n let { liveStreamVideoData, userData } = props;\r\n\r\n const [state, setState] = useState({\r\n step: 1,\r\n recordedVideoCollection: [],\r\n selectedVideoId: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n if (!isEmpty(liveStreamVideoData)) {\r\n getRcordedVideos();\r\n }\r\n }, []);\r\n\r\n const getRcordedVideos = async () => {\r\n let headers = {\r\n \"app-id\": mogioConfig.appId,\r\n \"app-key\": mogioConfig.appKey,\r\n };\r\n\r\n try {\r\n let response = await axios.get(\r\n `${url_53}${liveStreamVideoData.stream_key}`,\r\n {\r\n headers,\r\n }\r\n );\r\n if (response.status.code === 200) {\r\n if (\r\n response.data.hasOwnProperty(\"streamMdtIds\") &&\r\n response.data.streamMdtIds.length\r\n ) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n recordedVideoCollection: response.data.streamMdtIds,\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleClickRecordedVideo = (videoId) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedVideoId: videoId,\r\n step: 2,\r\n }));\r\n };\r\n\r\n const handleBack = () => {\r\n setState((prevState) => ({ ...prevState, step: 1 }));\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {state.step === 1 ? (\r\n
    \r\n
    \r\n
    \r\n handleRedirect()}\r\n >\r\n \r\n \r\n
    \r\n
    \r\n

    Live Previous Class

    \r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n\r\n
    \r\n
    {renderView(state.step)}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n liveStreamVideoData: state.userActivity.liveStreamVideoData,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(LiveStreamVideoFeatureContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./live_stream_video_feature.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport LiveStreamVideoFeatureContentComponent from \"./live_stream_video_feature_content_component/live_stream_video_feature_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst LiveStreamVideoFeature = (props) => {\r\n let { history, location, loader, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(LiveStreamVideoFeature);\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./package_offering_component.scss\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\n\r\nconst PackageOfferingComponent = (props) => {\r\n let { allPackagesCollection, learnMoreBtn } = props;\r\n\r\n const [activeTab, setActiveTab] = useState(0);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \"store\r\n
    \r\n
    \r\n {!isEmpty(allPackagesCollection?.category_list) &&\r\n allPackagesCollection?.category_list.map((element, key) => {\r\n return (\r\n
    \r\n {\r\n setActiveTab(key);\r\n }}\r\n className={activeTab === key && `active`}\r\n key={key}\r\n >\r\n {element.category_name}\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n {!isEmpty(allPackagesCollection?.package)\r\n ? allPackagesCollection?.package\r\n .filter((packageItem) =>\r\n packageItem.category_id.some(\r\n (category) => category.category_id === activeTab + 1\r\n )\r\n )\r\n .map((element, key) => {\r\n return (\r\n
    \r\n
    \r\n \"package\r\n \r\n {element.thumbnail_tag}\r\n

    \r\n

    {element.package_name}

    \r\n
    \r\n

    \r\n {element.description}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n

    {element.duration}

    \r\n
    \r\n {element.course_benefits_count !== 0 && (\r\n
    \r\n \"tick\"\r\n

    {element.course_benefits_count}+ benefits

    \r\n
    \r\n )}\r\n
    \r\n {!(\r\n parseFloat(element.amount) -\r\n parseFloat(element.discount) ===\r\n parseFloat(element.amount)\r\n ) && (\r\n
    \r\n \"offer\"\r\n

    \r\n \r\n {Math.round(\r\n (parseFloat(element.discount) /\r\n parseFloat(element.amount)) *\r\n 100\r\n )}\r\n %\r\n {\" \"}\r\n Off\r\n

    \r\n
    \r\n )}\r\n
    \r\n

    \r\n ₹\r\n {parseFloat(element.amount) -\r\n parseFloat(element.discount)}\r\n

    \r\n {!(\r\n parseFloat(element.amount) -\r\n parseFloat(element.discount) ===\r\n parseFloat(element.amount)\r\n ) && (\r\n

    \r\n ₹\r\n \r\n {parseFloat(element.amount)}\r\n \r\n

    \r\n )}\r\n
    \r\n
    \r\n
    \r\n learnMoreBtn(element)}\r\n >\r\n View Details\r\n \r\n {!element.is_subscribe && (\r\n learnMoreBtn(element)}\r\n className=\"buy\"\r\n >\r\n Buy Now\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n })\r\n : \"No Courses available\"}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default PackageOfferingComponent;\r\n","export const setOrderId = (payload) => {\r\n return {\r\n type: \"SET_ORDER_ID\",\r\n payload,\r\n };\r\n};\r\n\r\nexport const saveTrnsactionDetails = (payload) => {\r\n return {\r\n type: \"SAVE_TRANSACTION_DETAILS\",\r\n payload,\r\n };\r\n};\r\n\r\n\r\nexport const setCcAvenueDataInStore = (payload) => {\r\n return {\r\n \r\n type: \"SET_CC_AVENUE_DATA_IN_STORE\",\r\n payload\r\n }\r\n}\r\n\r\nexport const setPackageDetailsForPayment = (payload) => {\r\n return {\r\n \r\n type: \"SET_PACKAGE_DETAILS_FOR_PAYMENT\",\r\n payload\r\n }\r\n}\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"./EmailUpdateModal.scss\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport authActions from \"../../../../../redux/auth/action\";\r\nimport { BASE_URL } from \"../../../../../custom_utilities/baseURL\";\r\nimport { url_187 } from \"../../../../../custom_utilities/api_services\";\r\n\r\nconst EmailUpdateModal = (props) => {\r\n const { isEmailModalOpen, closeEmailModal, setUser, user } = props;\r\n\r\n const [newEmail, setNewEmail] = useState(\"\");\r\n const [emailErroMsg, setEmailErrorMsg] = useState();\r\n\r\n const handleEmailChange = (e) => {\r\n setNewEmail(e.target.value);\r\n };\r\n\r\n const updateEmailAPI = async () => {\r\n const data = {\r\n email: newEmail,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n url_187,\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n closeEmailModal();\r\n const updateUserData = {\r\n ...user,\r\n email: newEmail,\r\n };\r\n setUser(updateUserData);\r\n } else {\r\n setEmailErrorMsg(response.data.message);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleUpdateEmail = () => {\r\n const email = newEmail.trim();\r\n\r\n if (!validateEmail(email)) {\r\n setEmailErrorMsg(\"Invalid email\");\r\n } else {\r\n setEmailErrorMsg(\"\");\r\n updateEmailAPI();\r\n }\r\n };\r\n\r\n function validateEmail(email) {\r\n const emailRegex = /^[^\\s@]+@[^\\s@]+\\.[^\\s@]+$/;\r\n return emailRegex.test(email);\r\n }\r\n\r\n return (\r\n \r\n \r\n\r\n \r\n
    \r\n

    Please Update your Email ID before
    proceeding to payment.

    \r\n
    \r\n \r\n
    {emailErroMsg}
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user: state.auth.user,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(EmailUpdateModal);\r\n","import axios from \"axios\";\r\nimport React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n setOrderId,\r\n saveTrnsactionDetails,\r\n setCcAvenueDataInStore,\r\n} from \"../../redux/payment_gateway/action\";\r\nimport \"./CcAvenuePayment.scss\";\r\nimport { url_147 } from \"../api_services\";\r\nimport EmailUpdateModal from \"../../containers/logged_user_components/user_edit_profile/user_edit_profile_content_component/update_email/EmailUpdateModal\";\r\nimport AlreadyPurchasedModal from \"./AlreadyPurchasedModal\";\r\n\r\nconst CcAvenuePayment = (props) => {\r\n const {\r\n packageDetails,\r\n amount,\r\n token,\r\n tokenType,\r\n paymentAction,\r\n saveTransactionAction,\r\n setCcAvenueDataInStore,\r\n userData,\r\n buttonText,\r\n buttonClass,\r\n orderId,\r\n is_amrit,\r\n } = props;\r\n\r\n const [emailStatus, setEmailStatus] = useState({\r\n showEmailModal: false,\r\n emailUpdated: false,\r\n });\r\n\r\n const [paymentModal, setPaymentModal] = useState(false);\r\n\r\n const handleOpen = () => {\r\n setEmailStatus((prevState) => ({\r\n ...prevState,\r\n showEmailModal: true,\r\n }));\r\n };\r\n\r\n const handleClose = () => {\r\n setEmailStatus((prevState) => ({\r\n ...prevState,\r\n showEmailModal: false,\r\n }));\r\n };\r\n\r\n const { name, mobile, email, address, batch_id, user_id, UsertargetDetail } =\r\n userData;\r\n\r\n const [ccAvenueData, setCcAvenueData] = useState({});\r\n\r\n useEffect(() => {\r\n getCcAvenueData();\r\n }, []);\r\n\r\n const currentData = new Date();\r\n let date =\r\n currentData.getFullYear() +\r\n \"-\" +\r\n (currentData.getMonth() + 1) +\r\n \"-\" +\r\n currentData.getDate();\r\n let time =\r\n currentData.getHours() +\r\n \":\" +\r\n currentData.getMinutes() +\r\n \":\" +\r\n currentData.getSeconds();\r\n var dateTime = date + \" \" + time;\r\n\r\n const getCcAvenueData = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n try {\r\n const response = await axios.get(\r\n `${url_147}?mode=web&product_id=${\r\n packageDetails.package_id ? packageDetails.package_id : \"\"\r\n }&\r\n product_title=${\r\n packageDetails.package_name ? packageDetails.package_name : \"\"\r\n }&\r\n final_price=${amount ? amount : \"0\"}&\r\n coupon_code=0&\r\n ccapplied_id=0&\r\n email=${email}&\r\n contact_no=${mobile}`,\r\n { headers }\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setCcAvenueData(response.data);\r\n paymentAction(response.data.Order_Id);\r\n setCcAvenueDataInStore(response.data);\r\n saveTransactionAction({\r\n course_id: userData.targets[0].course_id,\r\n batch_id,\r\n package_id: packageDetails?.package_id\r\n ? packageDetails?.package_id\r\n : \"\",\r\n txn_amount: amount,\r\n txn_discount_amount: packageDetails?.discount\r\n ? packageDetails.discount.amount\r\n : \"\",\r\n txn_date: dateTime,\r\n package_duration: packageDetails?.duration\r\n ? packageDetails.duration\r\n : \"\",\r\n txnid: response.data.Order_Id,\r\n });\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n const handleProfileData = (e) => {\r\n if(is_amrit || packageDetails.is_subscribe){\r\n setPaymentModal(true);\r\n e.stopPropagation();\r\n e.preventDefault();\r\n }\r\n else {\r\n const fieldsToCheck = [\r\n {\r\n field: name,\r\n label: \"name\",\r\n },\r\n {\r\n field: mobile,\r\n label: \"mobile number\",\r\n },\r\n {\r\n field: email,\r\n label: \"email\",\r\n },\r\n {\r\n field: address.state,\r\n label: \"state\",\r\n },\r\n {\r\n field: address.city,\r\n label: \"city\",\r\n },\r\n ];\r\n \r\n const updatedfields = fieldsToCheck.filter(\r\n (element) => element.field === \"\" || element.field === null\r\n );\r\n \r\n if (updatedfields.length > 0) {\r\n let missingFields = updatedfields.map((item) => item.label).join(\", \");\r\n \r\n if (missingFields.includes(\"email\")) {\r\n handleOpen();\r\n }\r\n }\r\n window.onbeforeunload = null;\r\n };\r\n };\r\n\r\n const ccAvenueFunction = () => {\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 \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* */}\r\n \r\n\r\n \r\n\r\n {/*
    \r\n \r\n
    */}\r\n\r\n {/* \r\n \r\n
    */}\r\n\r\n \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n // const ccAvenueFunction1 = () => {\r\n // return (\r\n // \r\n // \r\n // \r\n // );\r\n // };\r\n\r\n const ccAvenueFunction1 = () => {\r\n return (\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n {Object.keys(ccAvenueData).length &&\r\n (email.length ? ccAvenueFunction() : ccAvenueFunction1())}\r\n\r\n {emailStatus?.showEmailModal && (\r\n \r\n )}\r\n {/* */}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n console.log(\"stateToProps\", state);\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n userData: state.auth.user,\r\n orderId: state.paymentReducer.orderId,\r\n user_id: state.auth.user.user_id,\r\n is_amrit: state.auth.user.is_amrit,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n paymentAction: (payload) => {\r\n dispatch(setOrderId(payload));\r\n },\r\n saveTransactionAction: (payload) => {\r\n dispatch(saveTrnsactionDetails(payload));\r\n },\r\n setCcAvenueDataInStore: (payload) => {\r\n dispatch(setCcAvenueDataInStore(payload));\r\n },\r\n setCcAvenueDataInStore: (payload) => {\r\n dispatch(setCcAvenueDataInStore(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(CcAvenuePayment);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport \"./CouponList.scss\";\r\n\r\nconst CouponList = ({\r\n package_id,\r\n packageData,\r\n couponCode,\r\n setCouponCode,\r\n applyCoupon,\r\n handleCloseCoupon,\r\n checkApplyCouponBtnDisabled,\r\n handleOnChangeCouponCode,\r\n}) => {\r\n const [couponList, setCouponList] = useState(null);\r\n\r\n useEffect(() => {\r\n getCouponList();\r\n }, []);\r\n\r\n const getCouponList = async () => {\r\n try {\r\n const response = await axios.get(\r\n `https://learning.motion.ac.in/motioneducation/api/v1/coupon/list?package_id=${package_id}`\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setCouponList([...response.data.data.coupon_list]);\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n

    Coupons

    \r\n
    \r\n
    \r\n \"Coupon\r\n Coupon/Referral\r\n
    \r\n
    \r\n
    \r\n handleOnChangeCouponCode(e)}\r\n />\r\n \r\n Apply\r\n \r\n
    \r\n
    \r\n {couponList?.map((coupon) => {\r\n return (\r\n
    \r\n
    \r\n \"Coupon\r\n
    \r\n
    {coupon.coupon_code}
    \r\n
    {coupon.discount_text}
    \r\n
    \r\n
    \r\n\r\n setCouponCode(coupon.coupon_code)}\r\n >\r\n \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default CouponList;\r\n","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"./TermsAndCondition.scss\";\r\n\r\nconst TermsAndCondition = ({ handleClose, terms }) => {\r\n return (\r\n \r\n \r\n \r\n
    Terms and Conditions
    \r\n
    {terms}
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default TermsAndCondition;\r\n","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"./FacultyDetail.scss\";\r\nimport VideoDrmPlayer from \"../../../../../features/video_feature/video_feature_content_component/VideoDrmPlayer\";\r\n\r\nconst FacultyDetail = ({ handleClose, FacultyDetails }) => {\r\n const {\r\n thumnail,\r\n name,\r\n video_crypt_id,\r\n subjects,\r\n description,\r\n } = FacultyDetails;\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n \"img\"\r\n
    \r\n
    By {name}
    \r\n
    {subjects}
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n

    About Faculty

    \r\n {description}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default FacultyDetail;\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport { useHistory, useParams } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport \"./package_details_component.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { Accordion } from \"react-bootstrap\";\r\nimport Slider from \"react-slick\";\r\nimport VideoDrmPlayer from \"../../../../features/video_feature/video_feature_content_component/VideoDrmPlayer\";\r\nimport { Render } from \"../../../../../homepage/Render\";\r\nimport CcAvenuePayment from \"../../../../../../custom_utilities/ccavence_payment/CcAvenuePayment\";\r\nimport { url_177 } from \"../../../../../../custom_utilities/api_services\";\r\nimport { useSelector, useDispatch } from \"react-redux\";\r\nimport CouponList from \"../modal/Coupons/CouponList\";\r\nimport TermsAndCondition from \"../modal/TermsAndCondition/TermsAndCondition\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\nimport FacultyDetail from \"../modal/FacultyDetail/FacultyDetail\";\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\n\r\n// import HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\nimport HeaderComponent from \"../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport { toastifyMessage } from \"../../../../../../custom_utilities/toastify_config\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst PackageDetailsComponent = () => {\r\n // console.log(\"packageDetails----\", packageDetails);\r\n\r\n const dispatch = useDispatch();\r\n\r\n const paymentDetails = useSelector(\r\n (state) => state.paymentReducer.ccAvenueDetails\r\n );\r\n\r\n const startLoading = () => {\r\n dispatch(uiActions.startLoading());\r\n };\r\n\r\n const finishLoading = () => {\r\n dispatch(uiActions.finishLoading());\r\n };\r\n\r\n const setSubjectData = (data) => {\r\n dispatch(\r\n userActivityActions.setSubjectData({\r\n subjectId: data.sub_id,\r\n subjectName: data.sub_name,\r\n subjectIcon: data.icon,\r\n })\r\n );\r\n history.push(\"/subject_component\");\r\n };\r\n\r\n const userId = useSelector((state) => state.auth.user.user_id);\r\n const loader = useSelector((state) => state.ui.loader);\r\n\r\n const packageDetails = useSelector(\r\n (state) => state.PackageSliceReducer.storeCurrentPackageDetails\r\n );\r\n\r\n console.log(\"newPackageDetails----\", packageDetails);\r\n\r\n const calculateTotalPrice = () => {\r\n if (!packageData) return 0;\r\n\r\n const coursePrice =\r\n parseFloat(packageData?.price_details?.course_price) || 0;\r\n const discount = parseFloat(packageData?.price_details?.discount) || 0;\r\n\r\n return (coursePrice - discount).toFixed(2);\r\n };\r\n\r\n const { package_id } = packageDetails;\r\n const [packageData, setPackageData] = useState(null);\r\n const [isExpanded, setIsExpanded] = useState(false);\r\n const [couponCode, setCouponCode] = useState(\"\");\r\n const [couponDiscount, setCouponDiscount] = useState(0);\r\n const [finalAmount, setFinalAmount] = useState();\r\n const [showCouponList, setShowCouponList] = useState(false);\r\n const [isChecked, setIsChecked] = useState(false);\r\n const [showTerms, setShowTerms] = useState(false);\r\n const [showFacultyDetails, setShowFacultyDetails] = useState(false);\r\n const [FacultyDetails, setFacultyDetails] = useState(null);\r\n\r\n const [active, setActive] = useState(\"desc\");\r\n\r\n const history = useHistory();\r\n\r\n const description = packageData?.PackageInstallmentDetails?.description || \"\";\r\n const truncatedDescription =\r\n description.length > 220\r\n ? description.substring(0, 220) + \"...\"\r\n : description;\r\n\r\n //redeem_motion_coins.eligible_coins\r\n useEffect(() => {\r\n const fetchPackageData = async () => {\r\n try {\r\n const response = await axios.get(\r\n `https://learning.motion.ac.in/motioneducation/api/user/package_detail_web?package_id=${package_id}`\r\n );\r\n setPackageData(response.data.data);\r\n setFinalAmount(\r\n parseFloat(response.data.data.price_details?.course_price) -\r\n parseFloat(response.data.data?.price_details?.discount)\r\n );\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n };\r\n\r\n fetchPackageData();\r\n }, [package_id]);\r\n\r\n const applyCoupon = async () => {\r\n if (couponCode.length === 0) {\r\n alert(\"Please Enter the Coupon Code\");\r\n return;\r\n }\r\n\r\n startLoading();\r\n try {\r\n const payloadData = {\r\n user_id: userId,\r\n package_id: package_id,\r\n order_id: paymentDetails.Order_Id,\r\n amount:\r\n parseFloat(packageData?.price_details.course_price) -\r\n parseFloat(packageData?.price_details.discount) || 0,\r\n coupon_code: couponCode,\r\n };\r\n\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/apply_couponweb\",\r\n payloadData\r\n );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n toastifyMessage({\r\n status: response.data.data.status,\r\n message: response.data.data.message,\r\n });\r\n\r\n setFinalAmount(response.data.data.updated_amount);\r\n\r\n setCouponDiscount(finalAmount - response.data.data.updated_amount);\r\n handleCloseCoupon();\r\n }\r\n\r\n console.log(\"response of coupon\", response);\r\n } catch (error) {\r\n console.error(\"Error applying coupon\", error);\r\n handleCloseCoupon();\r\n }\r\n };\r\n\r\n const handleCheckboxChange = (event) => {\r\n const checked = event.target.checked;\r\n setIsChecked(checked);\r\n\r\n if (checked) {\r\n // Call the API if the checkbox is checked\r\n applyCoinsApi();\r\n }\r\n };\r\n\r\n const applyCoinsApi = async () => {\r\n try {\r\n startLoading();\r\n let payloadData = {\r\n cart_amount: finalAmount,\r\n\r\n coins_count: packageData?.redeem_motion_coins?.eligible_coins,\r\n type: \"enquiry\",\r\n order_id: paymentDetails.Order_Id,\r\n checked: true,\r\n };\r\n\r\n const response = await axios.post(url_177, payloadData);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setFinalAmount(response.data.data?.updated_amount);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const settings = {\r\n infinite: false,\r\n slidesToShow: 5,\r\n slidesToScroll: 1,\r\n autoplay: false,\r\n speed: 3000,\r\n autoplaySpeed: 2000,\r\n cssEase: \"linear\",\r\n arrows: true,\r\n responsive: [\r\n {\r\n breakpoint: 1024,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 768,\r\n settings: {\r\n slidesToShow: 3,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n {\r\n breakpoint: 480,\r\n settings: {\r\n slidesToShow: 2,\r\n slidesToScroll: 1,\r\n },\r\n },\r\n ],\r\n };\r\n\r\n console.log(\"packageData\", packageData);\r\n\r\n const openCouponList = () => {\r\n setShowCouponList(true);\r\n };\r\n\r\n const handleCloseCoupon = () => {\r\n setShowCouponList(false);\r\n };\r\n\r\n const openTerms = () => {\r\n setShowTerms(true);\r\n };\r\n\r\n const closeTerms = () => {\r\n setShowTerms(false);\r\n };\r\n\r\n const openFacultyDetails = (data) => {\r\n setFacultyDetails(data);\r\n setShowFacultyDetails(true);\r\n };\r\n const closeFacultyDetails = () => {\r\n setShowFacultyDetails(false);\r\n };\r\n\r\n const checkApplyCouponBtnDisabled = () => {\r\n if (couponCode.length === 0) {\r\n return \"disableapplybtn\";\r\n }\r\n\r\n return \"\";\r\n };\r\n\r\n const handleOnChangeCouponCode = (e) => {\r\n setCouponCode(e.target.value);\r\n };\r\n\r\n const changeTab = (tab) => {\r\n setActive(tab);\r\n };\r\n\r\n const whatsAppMessageSender = () => {\r\n const phoneNumber = parseInt(packageData?.motion_whatsapp_no);\r\n\r\n const url = `https://api.whatsapp.com/send?phone=${phoneNumber}`;\r\n window.open(url, \"_blank\", \"noopener,noreferrer\");\r\n };\r\n\r\n const expiryDate = packageData?.PackageInstallmentDetails?.expiry_date;\r\n\r\n // Check if the expiry date is not \"0000-00-00\"\r\n const shouldShowExpiryDate = expiryDate && expiryDate !== \"0000-00-00\";\r\n\r\n const goBack = () => {\r\n history.goBack();\r\n };\r\n\r\n return (\r\n \r\n \r\n \r\n
    \r\n
    \r\n \"back\"\r\n Back\r\n
    \r\n
    \r\n
    \r\n
    \r\n {packageData?.PackageInstallmentDetails?.course}\r\n
    \r\n \"banner\"\r\n {packageData?.PackageInstallmentDetails?.thumbnail_tag && (\r\n \r\n {packageData?.PackageInstallmentDetails?.thumbnail_tag}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n changeTab(\"desc\")}\r\n >\r\n \r\n Description\r\n
    \r\n changeTab(\"subjects\")}\r\n >\r\n \r\n Subjects\r\n
    \r\n
    \r\n
    \r\n \r\n \"WhatsApp\"\r\n
    \r\n\r\n
    \r\n \r\n \"Call\"\r\n \r\n
    \r\n \r\n \r\n \r\n\r\n {active === \"desc\" && (\r\n <>\r\n \r\n
    \r\n
    \r\n

    Description

    \r\n\r\n
    \r\n
    \r\n
    \r\n {isExpanded ? description : truncatedDescription}\r\n {description.length > 220 && (\r\n setIsExpanded(!isExpanded)}\r\n >\r\n {isExpanded ? \"View Less\" : \"View More\"}\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Orientation Video

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n 0\r\n }\r\n >\r\n
    \r\n

    Course Benefits

    \r\n
    \r\n {packageData?.PackageInstallmentDetails?.course_benefits?.map(\r\n (benefit, index) => (\r\n
    \r\n \r\n \r\n {benefit.name}\r\n \r\n
    \r\n )\r\n )}\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Improve Your Overall Learning Performance\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n 0}>\r\n
    \r\n

    Faculty details

    \r\n \r\n {packageData?.faculty_list?.map((faculty) => (\r\n
    \r\n \r\n
    \r\n {faculty?.name}\r\n
    \r\n
    By {faculty?.name}
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n ))}\r\n \r\n \r\n
    \r\n 0}>\r\n
    \r\n

    Other details

    \r\n
      \r\n {packageData?.other_details?.map((item, index) => (\r\n
    • {item.name}
    • \r\n ))}\r\n
    \r\n
    \r\n
    \r\n 0}>\r\n
    \r\n

    FAQ's (Frequently asked questions)

    \r\n \r\n {packageData?.faq?.map((faq, index) => (\r\n \r\n {faq.name}\r\n {faq.description}\r\n \r\n ))}\r\n \r\n
    \r\n
    \r\n \r\n )}\r\n\r\n {active === \"subjects\" && (\r\n
    \r\n {packageData?.subject?.map((sub) => {\r\n return (\r\n setSubjectData(sub)}\r\n >\r\n
    \r\n \"img\"\r\n
    \r\n
    {sub.subject_name}
    \r\n
    \r\n {sub.total_topics} topics\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n );\r\n })}\r\n \r\n )}\r\n \r\n\r\n \r\n
    \r\n
    \r\n \"Coupon\r\n Coupon/Referral\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n handleOnChangeCouponCode(e)}\r\n />\r\n \r\n Apply\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {/* \"coins\" */}\r\n \"coin\"\r\n
    \r\n
    Redeem Motion Coins
    \r\n
    \r\n Available :\r\n \r\n {packageData?.redeem_motion_coins?.eligible_coins}\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n

    Price details

    \r\n
    \r\n Course Price\r\n \r\n ₹\r\n {parseFloat(packageData?.price_details?.course_price).toFixed(\r\n 2\r\n )}\r\n \r\n
    \r\n
    \r\n Discount\r\n \r\n - ₹{parseFloat(packageData?.price_details?.discount).toFixed(2)}\r\n \r\n
    \r\n
    \r\n Coupon Discount\r\n \r\n - ₹\r\n {couponDiscount?.toFixed(2)}\r\n \r\n
    \r\n
    \r\n Total Price\r\n ₹{finalAmount}\r\n
    \r\n
    \r\n\r\n
    \r\n \"ph-no\"\r\n Terms & Conditions\r\n
    \r\n\r\n {!packageDetails?.is_subscribe && (\r\n \r\n )}\r\n\r\n {shouldShowExpiryDate && (\r\n
    \r\n Valid up to {expiryDate}\r\n
    \r\n )}\r\n \r\n \r\n {showCouponList && (\r\n \r\n )}\r\n\r\n {showTerms && (\r\n \r\n )}\r\n\r\n {showFacultyDetails && (\r\n \r\n )}\r\n\r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nexport default PackageDetailsComponent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./HandBooks.scss\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport images from \"./../../../../../utilities/images/images\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport userProductList from \"../../../../../redux/new_store/action\";\r\nimport {\r\n url_158,\r\n url_159,\r\n url_161,\r\n url_162,\r\n url_164,\r\n} from \"../../../../../custom_utilities/api_services\";\r\n\r\nconst HandBooks = (props) => {\r\n let { startLoading, finishLoading, setProductList, tokenType, token } = props;\r\n const [state, setState] = useState({\r\n productType: [],\r\n productList: [],\r\n selectedType: \"\",\r\n wishListItem: [],\r\n cartDetails: [],\r\n });\r\n\r\n const [wishList, setWishList] = useState(false);\r\n\r\n let history = useHistory();\r\n useEffect(() => {\r\n getProducType();\r\n getWishList();\r\n getCartDetails();\r\n }, []);\r\n\r\n useEffect(() => {\r\n getProductlist(state.selectedType);\r\n }, [state.selectedType]);\r\n\r\n const getProducType = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_158);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n productType: response.data.data,\r\n }));\r\n getProductlist(response.data.data[0].id);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getProductlist = async (id) => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n let data = {\r\n product_id: id,\r\n };\r\n try {\r\n const response = await axios.post(url_159, data, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n productList: response.data.data,\r\n }));\r\n setProductList(response.data.data);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleSelectedType = (event) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedType: event.target.value,\r\n }));\r\n };\r\n\r\n const handlecartDetails = (product) => {\r\n startLoading();\r\n history.push({\r\n pathname: \"/cart_details\",\r\n state: { product: product },\r\n });\r\n finishLoading();\r\n };\r\n\r\n const handleAddWishList = (p_id) => {\r\n setWishList(true);\r\n addWishlist(p_id);\r\n };\r\n\r\n const addWishlist = async (p_id) => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n let data = {\r\n product_id: p_id,\r\n type: 1,\r\n };\r\n try {\r\n const response = await axios.post(url_161, data, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n getWishList();\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleRemoveWishList = (p_id) => {\r\n setWishList(false);\r\n removeWishlist(p_id);\r\n };\r\n\r\n const removeWishlist = async (p_id) => {\r\n startLoading();\r\n let data = {\r\n product_id: p_id,\r\n type: 0,\r\n };\r\n try {\r\n const response = await axios.post(url_161, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n\r\n getWishList();\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleRedirect = () => {\r\n history.push({\r\n pathname: \"/cart_collection\",\r\n state: { cartTotal: state.cartDetails },\r\n });\r\n };\r\n\r\n const handleWishListPage = () => {\r\n history.push(\"/wishList_collection\");\r\n };\r\n\r\n const getCartDetails = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_162);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n cartDetails: response.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getWishList = async () => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n try {\r\n const response = await axios.post(url_164, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n wishListItem: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const check = (p_id) => {\r\n const newArr = state.wishListItem.filter((element) => {\r\n return element.p_id == p_id;\r\n });\r\n return newArr[0];\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \"wish-list\"\r\n
    {state.wishListItem.length}
    \r\n
    Wishlist
    \r\n
    \r\n
    \r\n \"add-cart\"\r\n
    {state.cartDetails.total}
    \r\n
    Cart
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {!isEmpty(state.productType)\r\n ? state.productType.length\r\n ? state.productType.map((element) => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n })\r\n : null\r\n : null}\r\n \r\n
    \r\n\r\n
    \r\n
    Select Product
    \r\n
    \r\n
    \r\n {!isEmpty(state.productList)\r\n ? state.productList.length\r\n ? state.productList.map((element) => {\r\n return (\r\n <>\r\n
    \r\n handlecartDetails(element)}\r\n className=\"card text-bg-dark\"\r\n >\r\n \r\n\r\n
    \r\n

    \r\n {element.product_name}\r\n

    \r\n
    \r\n \r\n ₹{\" \"}\r\n {parseInt(\r\n element.discounted_price\r\n ).toLocaleString(\"en-US\")}\r\n /-\r\n \r\n \r\n ₹ {element.price}/-\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!check(element.p_id) ? (\r\n \r\n handleAddWishList(element.p_id)\r\n }\r\n className=\"wishlist_icon\"\r\n src={images.user_activity_40}\r\n alt=\"wishlist_icon\"\r\n />\r\n ) : (\r\n \r\n handleRemoveWishList(element.p_id)\r\n }\r\n className=\"wishlist_icon_filled\"\r\n src={images.user_activity_44}\r\n alt=\"wishlist_icon\"\r\n />\r\n )}\r\n
    \r\n
    \r\n \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n userId: state.auth.user.user_id,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setProductList: (payload) => {\r\n dispatch(userProductList.setProductList(payload));\r\n },\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(HandBooks);\r\n","import { createSlice } from \"@reduxjs/toolkit\";\r\n\r\nconst initialState = {\r\n storeCurrentPackageDetails: {},\r\n refferalCode: \"\",\r\n};\r\n\r\nconst PackageSlice = createSlice({\r\n name: \"packages\",\r\n initialState,\r\n reducers: {\r\n setStoreCurrentPackageDetails: (state, action) => {\r\n state.storeCurrentPackageDetails = action.payload;\r\n },\r\n\r\n setRefferalCode: (state, action) => {\r\n state.refferalCode = action.payload;\r\n },\r\n },\r\n});\r\n\r\nexport const { setStoreCurrentPackageDetails, setRefferalCode } =\r\n PackageSlice.actions;\r\n\r\nexport default PackageSlice.reducer;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./user_store_content_component.scss\";\r\n\r\n//////Component List//////////\r\nimport PackageOfferingComponent from \"./store_components/package_offering_component/package_offering_component\";\r\nimport PackageDetailsComponent from \"./store_components/package_details_component/package_details_component\";\r\nimport HandBooks from \"./handBooks/HandBooks\";\r\n\r\nimport axios from \"axios\";\r\nimport { sha512 } from \"js-sha512\";\r\n\r\nimport { Analytics } from \"aws-amplify\";\r\nimport {\r\n setStoreCurrentPackageDetails,\r\n setRefferalCode,\r\n} from \"../../../../redux/packages_store/PackageSlice\";\r\nimport { setPackageDetailsForPayment } from \"../../../../redux/payment_gateway/action\";\r\n// import userProductList from \"../../../../redux/new_store/action\";\r\nimport userProductList from \"../../../../redux/new_store/action\";\r\nimport {\r\n url_8,\r\n url_16,\r\n url_19,\r\n url_56,\r\n url_176,\r\n url_217,\r\n} from \"../../../../custom_utilities/api_services\";\r\n\r\nimport jsSHA from \"jssha\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport authActions from \"../../../../redux/auth/action\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { Col, Row } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport { toastifyMessage } from \"../../../../custom_utilities/toastify_config\";\r\n\r\nconst UserStoreContentComponent = (props) => {\r\n let {\r\n history,\r\n userData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n setUser,\r\n setStoreCurrentPackageDetails,\r\n setRefferalCode,\r\n setPackageDetailsForPayment,\r\n orderId,\r\n token,\r\n tokenType,\r\n user_id,\r\n loginType,\r\n // pageEqualToStorecourseDetails,\r\n setLoginType,\r\n } = props;\r\n\r\n console.log(\"testing userData orderId\", orderId);\r\n\r\n const pageEqualToStorecourseDetails1 = {\r\n active: 1,\r\n advantages: null,\r\n allow_installment: \"Yes\",\r\n amount: \"2199.00\",\r\n batch: [],\r\n batch_id: null,\r\n bg_image: \"/storage/package/course_banner/381.png\",\r\n coin_discount_amt: \"1099.00\",\r\n course: \"JEE 12th English\",\r\n course_benifits:\r\n \"Text and video solutions,Topic-wise tests,100+ Practice papers\",\r\n course_id: 13,\r\n created_on: \"2023-12-16 13:39:06\",\r\n description: `Features:\r\n 90+ Past year papers,\r\n 34 Subtopic wise Minor test,\r\n 9 Major test,\r\n 17 Full Syllabus test,\r\n 5 BITSAT test,\r\n 3 WBJEE test,\r\n 2 IAT test,\r\n One-stop solution for all engineering exams,\r\n Video and text solutions of each test,\r\n Detailed report and analysis after every test,\r\n Created and crafted by expert Kota faculties as per latest updated syllabus,\r\n Validity till JEE Advanced 2025,\r\n Use 50% motion coins for an extra discount.`,\r\n discount: \"0.00\",\r\n duration: \"12 months\",\r\n expiry_date: \"2025-07-05\",\r\n final_amount: \"2199\",\r\n icon:\r\n \"https://learning.motion.ac.in/motioneducation//storage/package/app_icon.png\",\r\n is_amirt: 0,\r\n is_delete: 0,\r\n is_referral: null,\r\n is_refundable: null,\r\n is_subscribe: false,\r\n package_id: 381,\r\n package_include_module: [\r\n { module: \"Live Classess\" },\r\n { module: \"Video\" },\r\n { module: \"Zoom Classess\" },\r\n ],\r\n package_name: \"Motion Targeted Abhyas (MAT) - Phase 1.0\",\r\n package_sequence: null,\r\n package_tag: \"2\",\r\n package_thumbnail: \"/storage/package/thumbnail/381.png\",\r\n package_type: 3,\r\n tags: null,\r\n txn_expire_date: \"\",\r\n u_programId: null,\r\n video_url: null,\r\n web_thumbnail: \"/storage/package/web_thumbnail/381.png\",\r\n };\r\n\r\n let location = useLocation();\r\n let tab = location?.state?.tab?.length\r\n ? location.state.tab\r\n : \"online_learning\";\r\n\r\n const [state, setState] = useState({\r\n step: 1,\r\n userPrefernces: {\r\n courseId: \"\",\r\n classId: \"\",\r\n batchId: \"\",\r\n },\r\n packagesCollection: {},\r\n packageDetails: {},\r\n facultyList: {},\r\n subjectList: {},\r\n facultyDetail: {},\r\n freePackagesCollection: {},\r\n couponDetails: {},\r\n isCourseId: false,\r\n selectPackageId: \"\",\r\n selectPackageAmt: \"\",\r\n coinData: {},\r\n coupanApplied: 0, // 0 means not applied, 1 means applied before others\r\n showBanner: true,\r\n allPackagesCollection: {},\r\n });\r\n\r\n useEffect(() => {\r\n // if (loginType === \"store\") {\r\n\r\n if (loginType !== \"dashboard\") learnMoreBtn(pageEqualToStorecourseDetails1);\r\n setLoginType(\"dashboard\");\r\n // }\r\n }, []);\r\n\r\n const getAllPackagesCollection = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(`${url_217}`);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n console.log(response.data.data);\r\n setState((prevState) => ({\r\n ...prevState,\r\n allPackagesCollection: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getUserPreferences();\r\n getAllPackagesCollection();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.isCourseId) {\r\n getPackagesCollection();\r\n getFreePackagesCollection();\r\n }\r\n }, [state.userPrefernces.courseId]);\r\n\r\n const currentData = new Date();\r\n let date =\r\n currentData.getFullYear() +\r\n \"-\" +\r\n (currentData.getMonth() + 1) +\r\n \"-\" +\r\n currentData.getDate();\r\n let time =\r\n currentData.getHours() +\r\n \":\" +\r\n currentData.getMinutes() +\r\n \":\" +\r\n currentData.getSeconds();\r\n var dateTime = date + \" \" + time;\r\n const getUserPreferences = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userPrefernces: {\r\n ...prevState.userPrefernces,\r\n courseId: userPreference.courseDetails[0].course_id,\r\n classId: userPreference.classDetails.class_id,\r\n batchId: userPreference.batchDetails.batch_id,\r\n },\r\n isCourseId: true,\r\n }));\r\n };\r\n\r\n const getPackagesCollection = async () => {\r\n let userPrefernces = { ...state.userPrefernces };\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_16}?course_id=${userPrefernces.courseId}&batch_id=${userPrefernces.batchId}&source=\"Store\"`\r\n );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n packagesCollection: response.data.data,\r\n isCourseId: false,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n const getFreePackagesCollection = async () => {\r\n // let userPrefernces = { ...state.userPrefernces };\r\n startLoading();\r\n let data = {\r\n search: \"\",\r\n target_id: userPreference.targetDetails[0].target_id,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_56, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n freePackagesCollection: response.data.data,\r\n isCourseId: false,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleStepNavigation = (stepValue, showBannerVal = false) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: stepValue,\r\n showBanner: showBannerVal,\r\n }));\r\n };\r\n\r\n const learnMoreBtn = async (packageDetails) => {\r\n setRefferalCode(\" \");\r\n setState((prevState) => ({\r\n ...prevState,\r\n showBanner: false,\r\n }));\r\n Analytics.record({\r\n name: \"web_product_overview_page\",\r\n attributes: {\r\n user_id: userData.user_id,\r\n phone_number: userData.mobile,\r\n course_id: packageDetails?.course_id,\r\n course_name: packageDetails?.course,\r\n package_id: packageDetails?.package_id,\r\n package_name: packageDetails?.package_name,\r\n },\r\n });\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n packageDetails: packageDetails,\r\n }));\r\n\r\n setStoreCurrentPackageDetails(packageDetails);\r\n // handleStepNavigation(3);\r\n history.push(`/package/${packageDetails?.package_id}`);\r\n };\r\n\r\n const HMAC = (message, key) => {\r\n var hmac = \"\";\r\n var shaObj = new jsSHA(\"SHA-256\", \"TEXT\");\r\n shaObj.setHMACKey(key, \"HEX\");\r\n shaObj.update(message);\r\n hmac = shaObj.getHMAC(\"HEX\");\r\n // var hash = sha256.hmac.create(key);\r\n // hash.update(message);\r\n // hash.hex();\r\n // return hash\r\n return hmac;\r\n };\r\n\r\n const activePackage = async (data) => {\r\n let packageDetails = { ...state.packageDetails };\r\n let userPreferences = { ...state.userPrefernces };\r\n let dataDetails = {\r\n course_id: userPreferences.courseId,\r\n batch_id: userPreferences.batchId,\r\n package_id: data.package_id,\r\n txn_amount: packageDetails.final_amount,\r\n //txn_discount_amount: packageDetails.discount,\r\n txn_amount: \"0.00\",\r\n //txn_discount_amount: \"\",\r\n txn_date: dateTime,\r\n package_duration: data.duration,\r\n txnid: state.couponDetails.CouponCode,\r\n };\r\n\r\n // console.log(dataDetails);\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_19, dataDetails);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n // alert(response.data.message);\r\n //let returnedResponse = await updateUser();\r\n history.push(\"/user_dashboard\");\r\n // if (returnedResponse) {\r\n // } else {\r\n // history.push(\"/user_dashboard\");\r\n // }\r\n } else {\r\n alert(response.message);\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const updateUser = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_8);\r\n if (response.data.status === 200) {\r\n setUser(response.data.data);\r\n finishLoading();\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return 0;\r\n }\r\n };\r\n\r\n const renderStepComponent = () => {\r\n let {\r\n step,\r\n\r\n packageDetails,\r\n\r\n allPackagesCollection,\r\n } = state;\r\n\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n\r\n case 3:\r\n return (\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.showBanner && (\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n

    Total Motion coins :

    \r\n \"coin\"\r\n {state.coinData.current_coins}\r\n
    \r\n \r\n \r\n \r\n View Coins History\r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.showBanner && (\r\n
    \r\n \r\n
  • \r\n \r\n Online Learning\r\n \r\n
  • \r\n\r\n
  • \r\n \r\n Hand Books\r\n \r\n
  • \r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {renderStepComponent()}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n orderId: state.paymentReducer.orderId,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n user_id: state.auth.user.user_id,\r\n loginType: state.userStore.loginType,\r\n // pageEqualToStorecourseDetails:\r\n // state.userStore.pageEqualToStorecourseDetails,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n\r\n setStoreCurrentPackageDetails: (payload) => {\r\n dispatch(setStoreCurrentPackageDetails(payload));\r\n },\r\n\r\n setRefferalCode: (payload) => {\r\n dispatch(setRefferalCode(payload));\r\n },\r\n\r\n setPackageDetailsForPayment: (payload) => {\r\n dispatch(setPackageDetailsForPayment(payload));\r\n },\r\n setLoginType: (payload) => {\r\n dispatch(userProductList.setLoginType(payload));\r\n },\r\n\r\n setPackageDetailsForPayment,\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(UserStoreContentComponent);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./user_store.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserStoreContentComponent from \"../user_store/user_store_content_component/user_store_content_component\";\r\n\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst UserStore = (props) => {\r\n let { loader, userData, history, userPreference } = props;\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n return (\r\n \r\n
    \r\n
    \r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserStore);\r\n","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"./TermsAndConditionModal.scss\";\r\n\r\nconst TermsAndConditionModal = ({\r\n termsAndCondition,\r\n termsAndConditionModal,\r\n handleCloseTermsAndConditions,\r\n}) => {\r\n const paragraphs = termsAndCondition?.value\r\n ?.split(\"\\r\\n\")\r\n .map((paragraph, index) =>

    {paragraph}

    );\r\n\r\n return (\r\n \r\n \r\n

    Terms And Conditions

    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {paragraphs}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default TermsAndConditionModal;\r\n","import Spinner from \"react-bootstrap/Spinner\";\r\n\r\nconst CustomSpinner = ({ variant, className }) => {\r\n return ;\r\n};\r\n\r\nexport default CustomSpinner;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./PriceAndPurchase.scss\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport TermsAndConditionModal from \"./TermsAndConditionModal\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_180,\r\n url_181,\r\n url_177,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport CustomSpinner from \"../../../../../../../custom_utilities/spinner/Spinner\";\r\nimport CcAvenuePayment from \"../../../../../../../custom_utilities/ccavence_payment/CcAvenuePayment\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst PriceAndPurchase = ({\r\n package_overview,\r\n setRefferalCodeAction,\r\n tokenType,\r\n token,\r\n}) => {\r\n const { amount, discount, final_amount, expiry_date } = package_overview;\r\n const [loading, setLoading] = useState(false);\r\n const [toastMessage, setToastMessage] = useState(\"\");\r\n\r\n const [state, setState] = useState({\r\n termsAndCondition: {\r\n termsAndCondition: {},\r\n termsAndConditionModal: false,\r\n },\r\n isValidRefferal: false,\r\n refferalCode: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n // Scroll to the top of the page after a short delay\r\n const scrollToTop = () => {\r\n setTimeout(() => {\r\n document.documentElement.scrollTop = 0;\r\n document.body.scrollTop = 0;\r\n }, 0);\r\n };\r\n\r\n // Scroll to the top when the component mounts\r\n scrollToTop();\r\n\r\n // Restore original scroll behavior when the component unmounts\r\n return () => {\r\n document.documentElement.scrollTop = 0;\r\n document.body.scrollTop = 0;\r\n };\r\n }, []);\r\n\r\n const handleOpenTermsAndCondition = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n termsAndCondition: {\r\n ...prevState.termsAndCondition,\r\n termsAndConditionModal: true,\r\n },\r\n }));\r\n\r\n getTermsAndConditions();\r\n };\r\n\r\n const handleCloseTermsAndConditions = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n termsAndCondition: {\r\n ...prevState.termsAndCondition,\r\n termsAndConditionModal: false,\r\n },\r\n }));\r\n };\r\n\r\n const applyReferalCode = async () => {\r\n setLoading(true);\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n const data = {\r\n referral_code: state.refferalCode,\r\n package_id: package_overview?.package_id,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_180, data, { headers });\r\n\r\n if (parseInt(response.data.status) === 200) {\r\n setLoading(false);\r\n setState((prevState) => ({\r\n ...prevState,\r\n isValidRefferal: true,\r\n }));\r\n setRefferalCodeAction(state.refferalCode);\r\n toastifyMessage(response.data);\r\n } else {\r\n setLoading(false);\r\n toastifyMessage(response.data);\r\n }\r\n } catch (e) {\r\n setLoading(false);\r\n console.log(e.message);\r\n }\r\n };\r\n\r\n const handleInputChange = (e) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n refferalCode: e.target.value,\r\n }));\r\n };\r\n\r\n const getTermsAndConditions = async () => {\r\n const data = {\r\n name: \"AMRIT_PACKAGE\",\r\n group: \"TERMS_AND_CONDITIONS\",\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_181, data);\r\n\r\n if (parseInt(parseInt(response.data.status)) === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n termsAndCondition: {\r\n ...prevState.termsAndCondition,\r\n termsAndCondition: response.data.data[0],\r\n },\r\n }));\r\n } else {\r\n }\r\n } catch (e) {\r\n console.log(e.message);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \"referal-link-img\"\r\n
    \r\n

    Have a Referral Code?

    \r\n

    \r\n You can Earn{\" \"}\r\n 500 Motion Coins for this\r\n Purchase\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    \r\n {loading ? (\r\n \r\n ) : state.isValidRefferal ? (\r\n \"referral-applied-img\"\r\n ) : state.refferalCode.length > 0 ? (\r\n APPLY\r\n ) : (\r\n \r\n toastifyMessage({\r\n status: 201,\r\n message: \"Required Refferal Code\",\r\n })\r\n }\r\n >\r\n APPLY\r\n \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n

    Price details

    \r\n
    \r\n

    Course Price

    ₹ {amount}\r\n
    \r\n
    \r\n

    Discount

    ₹ {discount}\r\n
    \r\n
    \r\n

    Final Price

    ₹ {final_amount}\r\n
    \r\n
    \r\n
    \r\n \r\n View{\" \"}\r\n handleOpenTermsAndCondition()}\r\n >\r\n Terms & Condition\r\n \r\n
    \r\n\r\n
    \r\n Valid up to {expiry_date}\r\n
    \r\n\r\n \r\n
    \r\n\r\n {state.termsAndCondition.termsAndConditionModal && (\r\n \r\n )}\r\n\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(PriceAndPurchase);\r\n","import React, { Fragment, useEffect, useState } from \"react\";\r\nimport { connect } from \"react-redux\";\r\nimport \"./PackageOverview.scss\";\r\nimport HeaderComponent from \"../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport PriceAndPurchase from \"./PriceAndPurchase\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { setRefferalCode } from \"../../../../../../../redux/packages_store/PackageSlice\";\r\nimport MobileLeftSideBarComponent from \"../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport Mobile_header_component from \"../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport Mobile__right_sideBar_component from \"../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nconst PackageOverview = ({ package_overview, setRefferalCodeAction,history,userPreference,userData }) => {\r\n const { package_name, description } = package_overview;\r\n\r\n useEffect(() => {\r\n // Scroll to the top of the page after a short delay\r\n const scrollToTop = () => {\r\n setTimeout(() => {\r\n document.documentElement.scrollTop = 0;\r\n document.body.scrollTop = 0;\r\n }, 0);\r\n };\r\n\r\n // Scroll to the top when the component mounts\r\n scrollToTop();\r\n\r\n // Restore original scroll behavior when the component unmounts\r\n return () => {\r\n document.documentElement.scrollTop = 0;\r\n document.body.scrollTop = 0;\r\n };\r\n }, []);\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n\r\n return (\r\n <>\r\n {/* */}\r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n \r\n \r\n )}\r\n\r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n\r\n

    Course Overview

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"heading-icon\"\r\n

    {package_name}

    \r\n
    \r\n\r\n

    {description}

    \r\n\r\n
    \r\n
      \r\n
    • Learn
    • \r\n
    • Practice
    • \r\n
    • Revise
    • \r\n
    • Examine
    • \r\n
    • Analyze
    • \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Course Features

    \r\n
      \r\n
    • \r\n \"traning-icon\"\r\n

      100+ Video Lectures of class 11th

      \r\n
    • \r\n
    • \r\n \"learning-icon\"\r\n

      Daily Practice Papers (DPP’s)

      \r\n
    • \r\n
    • \r\n \"report-icon\"\r\n

      e Study Material (PDF)

      \r\n
    • \r\n
    • \r\n \"elearning-icon\"\r\n

      All India Test Series (AITS)

      \r\n
    • \r\n
    • \r\n \"videosol-icon\"\r\n

      Text & Video Solutions

      \r\n
    • \r\n
    • \r\n \"analytics-icon\"\r\n

      Student Performance Report (SPR)

      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n\r\n return {\r\n package_overview: state.PackageSliceReducer.storeCurrentPackageDetails,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n setRefferalCodeAction: (payload) => {\r\n dispatch(setRefferalCode(payload));\r\n },\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PackageOverview);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nimport \"./user_create_doubt_content_component.scss\";\r\n\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_9,\r\n url_20,\r\n url_58,\r\n} from \"../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport { toastifyMessage } from \"../../../../custom_utilities/toastify_config\";\r\n\r\nconst UserCreateDoubtContentComponent = (props) => {\r\n let {\r\n history,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n slctSubjectId,\r\n handleClose,\r\n getQuestionList,\r\n } = props;\r\n let { courseDetails, classDetails, batchDetails } = userPreference;\r\n const [state, setState] = useState({\r\n doubtData: {\r\n subjectId: \"\",\r\n topicsId: \"\",\r\n topic_name: \"\",\r\n textualData: \"\",\r\n imagesDetails: {\r\n imageData: {},\r\n imagesLocalUrl: [],\r\n },\r\n },\r\n subjectCollection: {},\r\n subjectTopics: {},\r\n });\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n getSubjectTopics();\r\n }, []);\r\n\r\n const getSubjectList = async () => {\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_9, data);\r\n // console.log(response);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectCollection: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n //getsubjectTopic\r\n const getSubjectTopics = async () => {\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n subject_id: slctSubjectId,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_58, data);\r\n console.log(response);\r\n\r\n if (response.data.status === 200) {\r\n console.log(response);\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectTopics: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleFormInputFields = (event) => {\r\n let { name, value } = event.target;\r\n let topicData = state.subjectTopics.topic.find(\r\n (topic) => topic.topic_id == value\r\n );\r\n switch (name) {\r\n case \"topic\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n doubtData: {\r\n ...prevState.doubtData,\r\n topicsId: value,\r\n topic_name: topicData.topic_name,\r\n },\r\n }));\r\n break;\r\n case \"textual_data\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n doubtData: {\r\n ...prevState.doubtData,\r\n textualData: value,\r\n },\r\n }));\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n const handleImageChange = (event) => {\r\n let { files } = event.target;\r\n if (state.doubtData.imagesDetails.imagesLocalUrl.length <= 4) {\r\n let imageURL = createImageLocalURL(files[0]);\r\n // localImageURL.push(imageURL);\r\n //console.log(\"push\", localImageURL);\r\n // for (let i = 0; i < files.length; i++) {\r\n // let imageURL = createImageLocalURL(files[i]);\r\n // localImageURL.push(imageURL);\r\n // }\r\n setState((prevState) => ({\r\n ...prevState,\r\n doubtData: {\r\n ...prevState.doubtData,\r\n imagesDetails: {\r\n ...prevState.doubtData.imagesDetails,\r\n imageData: files,\r\n imagesLocalUrl: [\r\n ...prevState.doubtData.imagesDetails.imagesLocalUrl,\r\n imageURL,\r\n ],\r\n },\r\n },\r\n }));\r\n } else {\r\n alert(\"Maximum 5 images\");\r\n setState((prevState) => ({\r\n ...prevState,\r\n doubtData: {\r\n ...prevState.doubtData,\r\n imagesDetails: {\r\n ...prevState.doubtData.imagesDetails,\r\n imageData: {},\r\n // imagesLocalUrl: [],\r\n },\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const createImageLocalURL = (imageDetails) => {\r\n let objectURL = URL.createObjectURL(imageDetails);\r\n return objectURL;\r\n };\r\n //imgdelete\r\n const deltImg = (element, index) => {\r\n let imgUrl = state.doubtData.imagesDetails.imagesLocalUrl;\r\n let imgInd = imgUrl.indexOf(element);\r\n if (imgInd !== -1) {\r\n imgUrl.splice(imgInd, 1);\r\n }\r\n setState((prevState) => ({\r\n ...prevState,\r\n doubtData: {\r\n ...prevState.doubtData,\r\n imagesDetails: {\r\n ...prevState.doubtData.imagesDetails,\r\n imageData: { ...prevState.doubtData.imageData },\r\n imagesLocalUrl: [...imgUrl],\r\n },\r\n },\r\n }));\r\n };\r\n const handleSubmitForm = async (event) => {\r\n event.preventDefault();\r\n let doubtData = { ...state.doubtData };\r\n console.log(\"doubts\", state.doubtData);\r\n let formData = new FormData();\r\n formData.append(\"course_id\", courseDetails[0].course_id);\r\n formData.append(\"class_id\", classDetails.class_id);\r\n formData.append(\"batch_id\", batchDetails.batch_id);\r\n formData.append(\"subject_id\", parseInt(slctSubjectId.subjectId));\r\n formData.append(\"topic_id\", parseInt(doubtData.topicsId));\r\n formData.append(\"topic_name\", doubtData.topic_name);\r\n formData.append(\"question\", doubtData.textualData);\r\n if (doubtData.imagesDetails.imagesLocalUrl.length) {\r\n for (let i = 0; i < doubtData.imagesDetails.imageData.length; i++) {\r\n formData.append(\"files[]\", doubtData.imagesDetails.imageData[i]);\r\n }\r\n }\r\n\r\n startLoading();\r\n const config = {\r\n headers: { \"content-type\": \"multipart/form-data\" },\r\n };\r\n try {\r\n const response = await axios.post(url_20, formData, config);\r\n console.log(response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleClose();\r\n getQuestionList();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Doubt has Submitted Successfully!\",\r\n });\r\n history.push(\"/doubts\");\r\n } else {\r\n finishLoading();\r\n handleClose();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: response.data.message,\r\n });\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error.response);\r\n // if (error.response.status === 500) {\r\n // alert(error.response.statusText);\r\n // }\r\n }\r\n };\r\n\r\n const renderSubject = () => {\r\n let selectedSubject;\r\n let subject = state.subjectCollection.subject;\r\n subject.map((element) => {\r\n if (element.sub_id == slctSubjectId?.subjectId) {\r\n selectedSubject = element.sub_name;\r\n }\r\n });\r\n return selectedSubject;\r\n };\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
    \r\n

    Create New Doubt

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    handleSubmitForm(event)}>\r\n
    \r\n \r\n {state.subjectCollection.subject && renderSubject()}\r\n \r\n
    \r\n
    \r\n
    \r\n handleFormInputFields(event)}\r\n required\r\n >\r\n \r\n {!isEmpty(state.subjectTopics)\r\n ? state.subjectTopics.topic.length\r\n ? state.subjectTopics.topic.map(\r\n (element, index) => {\r\n return (\r\n \r\n {element.topic_name}\r\n \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleFormInputFields(event)}\r\n required\r\n >\r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.doubtData.imagesDetails.imagesLocalUrl.length\r\n ? state.doubtData.imagesDetails.imagesLocalUrl.map(\r\n (element, index) => {\r\n return (\r\n
    \r\n \r\n deltImg(element)}>\r\n x\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(UserCreateDoubtContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./user_create_doubt.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserCreateDoubtContentComponent from \"./user_create_doubt_content_component/user_create_doubt_content_component\";\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst UserCreateDoubt = (props) => {\r\n let {\r\n loader,\r\n history,\r\n userData,\r\n userPreference,\r\n slctSubjectId,\r\n handleClose,\r\n getQuestionList,\r\n } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n {/* {isMob() ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n )} */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserCreateDoubt);\r\n","import React from \"react\";\r\nimport VIdeoPlayer from \"../NewVideoPlayer/videoshow\";\r\n\r\nconst ShakaSolutionViewVideoPlayer = ({ id_video }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default ShakaSolutionViewVideoPlayer;\r\n","import { useEffect } from \"react\";\r\n\r\nconst useMathjax = (currentQuestionDetails, lang=null, solutionVar=null) => {\r\n useEffect(() => {\r\n const script = document.createElement('script');\r\n \r\n script.src = \"https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js\";\r\n script.async = true;\r\n \r\n script.onload = () => {\r\n window.MathJax.typeset();\r\n };\r\n \r\n document.body.appendChild(script);\r\n \r\n return () => {\r\n document.body.removeChild(script);\r\n };\r\n }, [currentQuestionDetails, lang, solutionVar]);\r\n};\r\n\r\nexport default useMathjax;","import React from \"react\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport \"./CreateNewDoubtBtn.scss\";\r\n\r\nconst CreateNewDoubtBtn = ({ handleShow }) => {\r\n return (\r\n
    \r\n \"plus{\" \"}\r\n Create New Doubt\r\n
    \r\n );\r\n};\r\n\r\nexport default CreateNewDoubtBtn;\r\n","import React from \"react\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport CreateNewDoubtBtn from \"../buttons/CreateNewDoubtBtn\";\r\nimport \"./NoDoubt.scss\";\r\n\r\nconst NoDoubt = ({ handleShow,message }) => {\r\n return (\r\n <>\r\n
    \r\n \"No\r\n

    {message}

    \r\n
    \r\n\r\n \r\n \r\n );\r\n};\r\n\r\nexport default NoDoubt;\r\n","import React from \"react\";\r\nimport \"./AnswerdDoubtItem.scss\";\r\n\r\nconst AnsweredDoubtItem = ({ element, index, handClick,convertDate,renderQuestion }) => {\r\n return (\r\n handClick(element)}\r\n >\r\n
    \r\n
    {`Posted at ${convertDate(element.post_date)}`}
    \r\n
    {renderQuestion(element.question)}
    \r\n\r\n
    \r\n {\" \"}\r\n Answered by\r\n {element.Answer.name}{\" \"}\r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default AnsweredDoubtItem;\r\n","import React from \"react\";\r\nimport \"./UnAnsweredDoubtItem.scss\";\r\n\r\nconst UnAnsweredDoubtItem = ({\r\n index,\r\n element,\r\n handClick,\r\n convertDate,\r\n renderQuestion,\r\n}) => {\r\n return (\r\n handClick(element)}\r\n >\r\n
    \r\n
    \r\n {\" \"}\r\n {`Posted at ${convertDate(element.post_date)}`}\r\n
    \r\n
    {renderQuestion(element.question)}
    \r\n\r\n
    View Doubt...
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default UnAnsweredDoubtItem;\r\n","import React from \"react\";\r\nimport \"./ScannedDoubtItem.scss\";\r\n\r\nconst ScannedDoubtItem = ({\r\n index,\r\n element,\r\n handClick,\r\n convertDate,\r\n renderQuestion,\r\n}) => {\r\n return (\r\n handClick(element)}\r\n >\r\n
    \r\n
    \r\n {\" \"}\r\n {`Posted at ${convertDate(element.post_date)}`}\r\n
    \r\n
    {renderQuestion(element.question)}
    \r\n\r\n
    View Scanned Answer
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default ScannedDoubtItem;\r\n","import React from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"./CreateDoubtModal.scss\";\r\n\r\nconst CreateDoubtModal = ({\r\n show,\r\n handleClose,\r\n Usercreatedoubt,\r\n getQuestionList,\r\n subjectDetails,\r\n}) => {\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\r\nexport default CreateDoubtModal;\r\n","import React from \"react\";\r\nimport ReactPlayer from \"react-player\";\r\nimport \"./AudioPlayer.scss\";\r\n\r\nconst AudioPlayer = ({ audioUrl }) => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default AudioPlayer;\r\n","import { Modal } from \"react-bootstrap\";\r\nimport \"./FullScreenImageModal.scss\";\r\n\r\nconst FullScreenImageModal = ({ show, image, handleCloseFullScreenModal }) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \"doubt-imag\"\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default FullScreenImageModal;\r\n","import React, { useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"./DoubtDetailModal.scss\";\r\nimport AudioPlayer from \"../../../../../../custom_utilities/AudioPlayer/AudioPlayer\";\r\nimport FullScreenImageModal from \"./FullScreenImageModal\";\r\n\r\nconst DoubtDetailModal = ({\r\n showDbtDetail,\r\n handleDtlClose,\r\n\r\n selectedDoubt,\r\n renderQuestion,\r\n convertDate,\r\n}) => {\r\n const [showFullScreenModal, setShowFullScreenModal] = useState(false);\r\n const [imgUrl, setImgUrl] = useState(null);\r\n\r\n const handleOpenFullScreenModal = (imgUrl) => {\r\n setShowFullScreenModal(true);\r\n setImgUrl(imgUrl);\r\n };\r\n\r\n const handleCloseFullScreenModal = () => {\r\n setShowFullScreenModal(false);\r\n };\r\n\r\n const imageWrapper = (image) => {\r\n return image ? (\r\n
    \r\n
    \r\n \"doubt_img\"\r\n\r\n handleOpenFullScreenModal(image)}\r\n >\r\n View Image\r\n \r\n
    \r\n
    \r\n ) : null;\r\n };\r\n\r\n return (\r\n
    \r\n \r\n \r\n {\" \"}\r\n
    \r\n
    \r\n Posted at {convertDate(selectedDoubt?.post_date)}\r\n
    \r\n
    \r\n {renderQuestion(selectedDoubt?.question)}\r\n
    \r\n\r\n {imageWrapper(selectedDoubt?.Questionfiles[0]?.files)}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {selectedDoubt?.Answer?.name}\r\n
    \r\n\r\n
    {selectedDoubt?.Answer?.answer}
    \r\n\r\n
    {imageWrapper(selectedDoubt?.AnswerFile[0]?.files)}
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default DoubtDetailModal;\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./doubtsView.scss\";\r\nimport {\r\n isEmpty,\r\n textColorFromBackend,\r\n} from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport Usercreatedoubt from \"../../../user_create_doubt/user_create_doubt\";\r\nimport ScannedDoubtDetailsView from \"../doubtDetailsView/ScannedDoubtDetailsView\";\r\nimport { backGroundColorFromBackend } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport NoDoubt from \"./no_doubts/NoDoubt\";\r\nimport CreateNewDoubtBtn from \"./buttons/CreateNewDoubtBtn\";\r\nimport AnsweredDoubtItem from \"./answered_doubts/AnsweredDoubtItem\";\r\nimport UnAnsweredDoubtItem from \"./unanswered_doubts/UnAnsweredDoubtItem\";\r\nimport ScannedDoubtItem from \"./scanned_doubts/ScannedDoubtItem\";\r\nimport CreateDoubtModal from \"./modals/CreateDoubtModal\";\r\nimport DoubtDetailModal from \"./modals/DoubtDetailModal\";\r\n\r\nconst DoubtsView = ({\r\n subjectCollection,\r\n answeredDoubts,\r\n scannedDoubts,\r\n unAnsweredDoubts,\r\n subjectDetails,\r\n handleCreateDoubtBtn,\r\n handleChangeSubject,\r\n handleTabChange,\r\n handleSaveDoubtDetails,\r\n selectedDetail,\r\n getQuestionList,\r\n doubtType,\r\n}) => {\r\n //bootstarp modal\r\n const [show, setShow] = useState(false);\r\n const [selected, setSelected] = useState(null);\r\n const handClick = (el) => {\r\n setSelected(el);\r\n setShowDbtDetail(true);\r\n };\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [showDbtDetail, setShowDbtDetail] = useState(false);\r\n const handleDtlClose = () => setShowDbtDetail(false);\r\n\r\n const renderSubjectCollection = (subjectCollection) => {\r\n const newLocal = (\r\n
    \r\n {!isEmpty(subjectCollection)\r\n ? subjectCollection.subject.length\r\n ? subjectCollection.subject.map((element, index) => {\r\n return (\r\n
    \r\n {element.is_show_others === 1 ? (\r\n
    \r\n \r\n \r\n \r\n handleChangeSubject(\r\n null,\r\n element.sub_id,\r\n element.sub_name,\r\n element.icon\r\n )\r\n }\r\n style={textColorFromBackend(element.text_color)}\r\n >\r\n {element.sub_name}\r\n \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n \r\n );\r\n return {newLocal};\r\n };\r\n\r\n const renderQuestion = (question) => {\r\n return

    ;\r\n };\r\n\r\n const convertDate = (inputDate) => {\r\n const date = new Date(inputDate);\r\n const monthNames = [\r\n \"jan\",\r\n \"feb\",\r\n \"mar\",\r\n \"apr\",\r\n \"may\",\r\n \"jun\",\r\n \"jul\",\r\n \"aug\",\r\n \"sep\",\r\n \"oct\",\r\n \"nov\",\r\n \"dec\",\r\n ];\r\n\r\n const day = date.getDate();\r\n const month = monthNames[date.getMonth()];\r\n const year = date.getFullYear();\r\n\r\n return `${day} ${month}, ${year}`;\r\n };\r\n\r\n const renderOverallBtn = () => {\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderOverallCreateNewDoubtBtn = () => {\r\n switch (doubtType) {\r\n case \"answered\":\r\n if (answeredDoubts?.SaveDouteQuestionlist?.data?.length > 0) {\r\n return renderOverallBtn();\r\n } else {\r\n return null;\r\n }\r\n\r\n case \"unanswered\":\r\n if (unAnsweredDoubts?.SaveDouteQuestionlist?.data?.length > 0) {\r\n return renderOverallBtn();\r\n } else {\r\n return null;\r\n }\r\n\r\n case \"scanned\":\r\n if (scannedDoubts?.SaveDouteQuestionlist?.data?.length) {\r\n return renderOverallBtn();\r\n } else {\r\n return null;\r\n }\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderDoubts = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n handleTabChange(1, \"answered\")}\r\n >\r\n Answered\r\n \r\n \r\n \r\n handleTabChange(0, \"unanswered\")}\r\n >\r\n Unanswered\r\n \r\n \r\n \r\n handleTabChange(0, \"scanned\")}\r\n >\r\n Scanned\r\n \r\n \r\n \r\n\r\n {renderOverallCreateNewDoubtBtn()}\r\n
    \r\n
    \r\n \r\n {/* //////////////answered doubts tab//////// */}\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(answeredDoubts) ? (\r\n answeredDoubts.SaveDouteQuestionlist.data\r\n .length ? (\r\n answeredDoubts.SaveDouteQuestionlist.data.map(\r\n (element, index) => {\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 <>\r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* //////////////unanswered doubts tab//////// */}\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(unAnsweredDoubts) ? (\r\n unAnsweredDoubts.SaveDouteQuestionlist.data\r\n .length ? (\r\n unAnsweredDoubts.SaveDouteQuestionlist.data.map(\r\n (element, index) => {\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
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/* ///////////////scanned doubts tab */}\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(scannedDoubts) ? (\r\n scannedDoubts.SaveDouteQuestionlist.data\r\n .length ? (\r\n scannedDoubts.SaveDouteQuestionlist.data.map(\r\n (element, index) => {\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
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n\r\n \r\n
    \r\n );\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderSubjectCollection(subjectCollection)}\r\n
    \r\n
    \r\n {renderDoubts()}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default DoubtsView;\r\n","import { Fragment, useState, useEffect, useCallback } from \"react\";\r\nimport \"./user_doubts_content_component.scss\";\r\n\r\nimport axios from \"axios\";\r\nimport { url_9, url_21 } from \"../../../../custom_utilities/api_services\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\n\r\n////\r\nimport DoubtsView from \"./doubtsView/doubtsView\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\n\r\nconst UserDoubtsContentComponent = (props) => {\r\n let { history, userPreference, startLoading, finishLoading } = props;\r\n let { courseDetails, classDetails, batchDetails } = userPreference;\r\n const [state, setState] = useState({\r\n subjectCollection: {},\r\n answeredDoubts: {},\r\n unAnsweredDoubts: {},\r\n scannedDoubts: {},\r\n subjectDetails: {\r\n subjectId: \"\",\r\n },\r\n isAnswered: 1,\r\n doubtDetails: {},\r\n doubtType: \"answered\",\r\n });\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.subjectDetails.subjectId) {\r\n getQuestionList();\r\n }\r\n }, [state.subjectDetails.subjectId, state.doubtType]);\r\n\r\n const getSubjectList = async () => {\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_9, data);\r\n if (response.data.status === 200) {\r\n if (response.data.data.subject.length) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectCollection: response.data.data,\r\n subjectDetails: {\r\n ...prevState.subjectDetails,\r\n subjectId: response.data.data.subject[0].sub_id,\r\n },\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getQuestionList = async () => {\r\n let subjectDetails = { ...state.subjectDetails };\r\n let { isAnswered, doubtType } = state;\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n batch_id: batchDetails.batch_id,\r\n subject_id: parseInt(subjectDetails.subjectId),\r\n is_answered: isAnswered, //1->answerd, 0 ->unanswered\r\n is_scanned: state.doubtType === \"scanned\" ? \"Y\" : \"N\",\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_21, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n if (doubtType === \"answered\") {\r\n setState((prevState) => ({\r\n ...prevState,\r\n answeredDoubts: response.data.data,\r\n }));\r\n } else if (doubtType === \"unanswered\") {\r\n setState((prevState) => ({\r\n ...prevState,\r\n unAnsweredDoubts: response.data.data,\r\n }));\r\n } else if (doubtType === \"scanned\") {\r\n setState((prevState) => ({\r\n ...prevState,\r\n scannedDoubts: response.data.data,\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleTabChange = (isAnswered, doubtType) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n isAnswered: isAnswered,\r\n doubtType: doubtType,\r\n }));\r\n };\r\n\r\n const handleCreateDoubtBtn = () => {\r\n history.push(\"/create_doubt\");\r\n };\r\n\r\n const handleChangeSubject = (event, sub_id, sub_name, icon) => {\r\n let { value } = event.target;\r\n // console.log(value);\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectDetails: {\r\n ...prevState.subjectDetails,\r\n subjectId: value,\r\n },\r\n }));\r\n };\r\n\r\n const handleSaveDoubtDetails = (doubtDetails) => {\r\n if (!isEmpty(doubtDetails)) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n doubtDetails: doubtDetails,\r\n }));\r\n } else {\r\n alert(\"You don't have doubt details\");\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(UserDoubtsContentComponent);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./user_doubts.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserDoubtsContentComponent from \"../user_doubts/user_doubts_content_component/user_doubts_content_component\";\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst UserDoubts = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth);\r\n };\r\n useEffect(() => {\r\n window.addEventListener(\"resize\", setWidth);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", setWidth);\r\n };\r\n }, [windowWidth]);\r\n return (\r\n \r\n
    \r\n {windowWidth <= 480 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n \r\n
    \r\n\r\n {loader && }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserDoubts);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_instructions_view.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { NavLink, Link,useHistory } from \"react-router-dom\";\r\n\r\nconst TestInstructionsView = (props) => {\r\n let { testDetails, testSectionsDetails, startBtn, handleRedirectBtn } = props;\r\n let history = useHistory();\r\n \r\n function testTime(minutes) {\r\n var h = Math.floor(minutes / 60);\r\n var m = minutes % 60;\r\n h = h < 10 ? \"0\" + h : h;\r\n m = m < 10 ? \"0\" + m : m;\r\n return h + \":\" + m + \" hrs\";\r\n }\r\n\r\n const handleRedirect = () => {\r\n history.goBack();\r\n };\r\n \r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n \r\n
    \r\n {!isEmpty(testDetails)\r\n ? `${testDetails.excersie_type}`\r\n : null}\r\n
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n

    This Section contains a set of questions for practice

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TestInstructionsView;","import { useTimer } from \"react-timer-and-stopwatch\";\r\nimport { useState, useEffect } from \"react\";\r\n\r\nconst useStopwatch = (\r\n currentQuestion,\r\n inputFieldVal,\r\n currentQuestionDetails = currentQuestion\r\n) => {\r\n const [timeElapsedArr, setTimeElapsedArr] = useState([]);\r\n const [solutionClickedArr, setSolutionClickedArr] = useState([]);\r\n const [solDisabled, setSolDisabled] = useState(true);\r\n\r\n useEffect(() => {\r\n subtractTime({\r\n milliseconds: timeElapsed,\r\n });\r\n if (currentQuestion >= 0) {\r\n addTime({\r\n milliseconds: getTime(),\r\n });\r\n }\r\n if (inputFieldVal) {\r\n textInputSolution(inputFieldVal);\r\n } else {\r\n showSolution(currentQuestion);\r\n }\r\n resumeTimer();\r\n }, [currentQuestionDetails]);\r\n\r\n const timer = useTimer({\r\n create: {\r\n stopwatch: {},\r\n },\r\n });\r\n\r\n const { pauseTimer, resumeTimer, addTime, subtractTime, timeElapsed } = timer;\r\n\r\n const updateTime = () => {\r\n const index = timeElapsedArr.findIndex(\r\n (obj) => obj.questionNumber === currentQuestion\r\n );\r\n if (index !== -1) {\r\n const updatedArr = [...timeElapsedArr];\r\n updatedArr[index].timeElapsed = timeElapsed;\r\n setTimeElapsedArr(updatedArr);\r\n } else {\r\n setTimeElapsedArr([\r\n ...timeElapsedArr,\r\n {\r\n questionNumber: currentQuestion,\r\n timeElapsed: timeElapsed,\r\n },\r\n ]);\r\n }\r\n };\r\n\r\n // called when the solution button is clicked (updateSolution(true))\r\n const updateSolution = (solutionClicked = false) => {\r\n const index = solutionClickedArr.findIndex(\r\n (obj) => obj.questionNumber === currentQuestion\r\n );\r\n\r\n if (index !== -1) {\r\n const updatedArr = [...solutionClickedArr];\r\n updatedArr[index].solutionClicked = solutionClicked;\r\n setSolutionClickedArr(updatedArr);\r\n } else {\r\n setSolutionClickedArr((prevArr) => [\r\n ...prevArr,\r\n {\r\n questionNumber: currentQuestion,\r\n solutionClicked: solutionClicked,\r\n },\r\n ]);\r\n }\r\n };\r\n\r\n const showSolution = (current) => {\r\n const checkboxes = document.querySelectorAll(\r\n `input[name=\"current_question_${current}\"]`\r\n );\r\n let isAtLeastOneChecked = false;\r\n for (const checkbox of checkboxes) {\r\n if (checkbox.checked) {\r\n isAtLeastOneChecked = true;\r\n break;\r\n }\r\n }\r\n // Set the solDisabled state based on the conditions and input type\r\n setSolDisabled((prevSolDisabled) => {\r\n if (isAtLeastOneChecked) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n };\r\n\r\n const textInputSolution = (inputFieldVal) => {\r\n setSolDisabled(() => {\r\n if (inputFieldVal) {\r\n return false;\r\n } else {\r\n return true;\r\n }\r\n });\r\n };\r\n\r\n const getTime = () => {\r\n const targetObject = timeElapsedArr.find(\r\n (obj) => obj.questionNumber === currentQuestion\r\n );\r\n let timeElapsedValue;\r\n if (targetObject) {\r\n timeElapsedValue = targetObject.timeElapsed;\r\n }\r\n return timeElapsedValue;\r\n };\r\n\r\n // called for conditional rendering and to disable answer classes\r\n const getClicked = () => {\r\n const solutionClickedObj = solutionClickedArr.find(\r\n (obj) => obj.questionNumber === currentQuestion\r\n );\r\n let solutionClickedValue;\r\n const checkboxes = document.querySelectorAll('input[type=\"checkbox\"]');\r\n const textInputs = document.querySelectorAll(\r\n 'input[placeholder=\"Enter your answer\"]'\r\n );\r\n if (solutionClickedObj) {\r\n solutionClickedValue = solutionClickedObj.solutionClicked;\r\n pauseTimer();\r\n checkboxes.forEach((checkbox) => {\r\n checkbox.disabled = true;\r\n });\r\n textInputs.forEach((textInput) => {\r\n textInput.disabled = true;\r\n });\r\n } else {\r\n solutionClickedValue = false;\r\n checkboxes.forEach((checkbox) => {\r\n checkbox.disabled = false;\r\n });\r\n textInputs.forEach((textInput) => {\r\n textInput.disabled = false;\r\n });\r\n }\r\n return solutionClickedValue;\r\n };\r\n\r\n const removePrefix = (inputString) => {\r\n if (inputString.startsWith(\"00:\")) {\r\n return inputString.substring(3);\r\n } else {\r\n return inputString;\r\n }\r\n };\r\n\r\n let stopwatchText = removePrefix(timer.timerText);\r\n\r\n return {\r\n stopwatchText,\r\n updateTime,\r\n updateSolution,\r\n getClicked,\r\n solDisabled,\r\n showSolution,\r\n textInputSolution,\r\n subtractTime,\r\n timeElapsed,\r\n addTime,\r\n getTime,\r\n resumeTimer,\r\n };\r\n};\r\n\r\nexport default useStopwatch;\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./practiceTest_questions_view.scss\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\nimport images from \"../.././../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport useStopwatch from \"../../../../../../../hooks/useStopwatch\";\r\n\r\nconst TestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n checkQuestion,\r\n userData,\r\n } = props;\r\n\r\n const {\r\n stopwatchText,\r\n updateTime,\r\n updateSolution,\r\n getClicked,\r\n solDisabled,\r\n showSolution,\r\n textInputSolution,\r\n } = useStopwatch(\r\n currentQuestion,\r\n testQuestionsDetails[currentQuestion].integer_answer\r\n );\r\n\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userData.user_id,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n const handleGetReportErrorOptions = () => {\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const handlePostReportErrorData = () => {\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const scrollUp = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const scrollUp2 = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80 - 160}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n const [showError, setShowError] = useState(false);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n // for report error modal\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [disabled1, setDisabled] = useState(false);\r\n\r\n const [isList, setisList] = useState(true);\r\n\r\n useMathjax(isList);\r\n useMathjax(currentQuestion, lang, sol);\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n setDisabled(false);\r\n };\r\n const handleSolution = () => {\r\n setSol(false);\r\n //classEditor();\r\n };\r\n const disableSol = () => {\r\n setDisabled(true);\r\n };\r\n const renderOptions = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n return questionsArr.map((val, i) => {\r\n let step, type;\r\n type = val.answer_type;\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(questionsArr[i], i, lang);\r\n case 2:\r\n return renderInputField(i);\r\n case 3:\r\n return renderMultiSelect(questionsArr[i], i);\r\n default:\r\n return null;\r\n }\r\n });\r\n } else {\r\n return null;\r\n }\r\n };\r\n const classEditor = (s, wc, optionId) => {\r\n if (!sol && s && getClicked()) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!sol && wc && wc.indexOf(optionId) > -1 && getClicked()) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const handlePurticularQuestion = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion - 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion3 = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion + 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion + 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n const renderSingleSelect = (questionData, currentQuestion2) => {\r\n const options = lang ? questionData?.option : questionData.option_hindi;\r\n\r\n return (\r\n \r\n \r\n {options.length\r\n ? options.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n showSolution(currentQuestion);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2) => {\r\n const options = lang ? questionData?.option : questionData.option_hindi;\r\n return (\r\n \r\n \r\n {options.length\r\n ? options.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item.option_id === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n showSolution(currentQuestion);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n {\r\n textInputSolution(event.target.value);\r\n handleInputFieldChange(\r\n event.target.value.replace(/[^0-9.-]/g, \"\").slice(0, 12)\r\n );\r\n disableSol();\r\n }}\r\n disabled={checkQuestion ? false : true}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    \r\n
    {`${index + 1}`}
    \r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userData.user_id}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const renderSingleQuestion = (element) => {\r\n if (lang) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(element?.q_text_hindi)) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n return (\r\n

    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderVideo = (element) => {\r\n const videoId = element.video_id_english;\r\n const hindiVideoId = element.video_id_hindi;\r\n const englishVideoCriptId = element.english_video_cript_id;\r\n const hindiVideoCriptId = element.hindi_video_cript_id;\r\n\r\n const isHindi = !lang && hindiVideoId && hindiVideoCriptId;\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n const selectedVideoCriptId = isHindi\r\n ? hindiVideoCriptId\r\n : englishVideoCriptId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n if (urlPattern.test(selectedVideoId)) {\r\n return null;\r\n }\r\n\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (selectedVideoCriptId && selectedVideoCriptId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n {videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {selectedVideoId && (\r\n \r\n {buttonLabel}\r\n \r\n )}\r\n\r\n {videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n\r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n {stopwatchText}\r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion].q_text_hindi ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Question type:\r\n \r\n {` `}\r\n {testQuestionsDetails[currentQuestion]?.type}\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n Question {currentQuestion + 1}\r\n

    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((elem, index) => {\r\n if (index == currentQuestion) {\r\n return <>{renderSingleQuestion(elem)};\r\n }\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {renderOptions()}\r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any\r\n incorrect or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n {getClicked() && (\r\n
    \r\n {testQuestionsDetails[currentQuestion] ? (\r\n <>\r\n
    \r\n
    Solution:
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map(\r\n (element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n }\r\n )\r\n : null}\r\n
    \r\n\r\n {testQuestionsDetails[currentQuestion]?.video_id\r\n ? renderVideo(\r\n testQuestionsDetails[currentQuestion]\r\n )\r\n : \"\"}\r\n \r\n ) : (\r\n <>\r\n {\r\n <>\r\n
    \r\n
    Solution:
    \r\n\r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map(\r\n (element, index) => {\r\n return (\r\n
    \r\n

    \r\n

    \r\n
    \r\n );\r\n }\r\n )\r\n : null}\r\n
    \r\n\r\n {testQuestionsDetails.map((elem, index) => {\r\n return <>{renderVideo(elem)};\r\n })}\r\n \r\n }\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n \r\n \r\n \"\"\r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n updateTime();\r\n scrollUp2();\r\n handlePreviousQuestionBtn();\r\n handlePurticularQuestion();\r\n showSolution(currentQuestion - 1);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {testQuestionsDetails[\r\n currentQuestion\r\n ]?.answer_type.toLowerCase() === \"subjective\" ? (\r\n <>\r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n handleNextQuestionBtn();\r\n\r\n scrollUp();\r\n handlePurticularQuestion3();\r\n showSolution(currentQuestion + 1);\r\n }}\r\n >\r\n Next\r\n \r\n \r\n ) : (\r\n <>\r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n updateTime();\r\n handleNextQuestionBtn();\r\n\r\n scrollUp();\r\n handlePurticularQuestion3();\r\n showSolution(currentQuestion + 1);\r\n }}\r\n >\r\n Next\r\n \r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default TestQuestionsView;\r\n","import React from \"react\";\r\nimport \"./RewardModal.scss\";\r\nimport Modals from \"../Modal/CustomModal\";\r\nimport images from \"../../utilities/images/images\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst RewardModal = ({\r\n show,\r\n onHide,\r\n earnMoreHandler,\r\n earnedCoins,\r\n reason,\r\n ...rest\r\n}) => {\r\n // console.log(\r\n // \"earnedCoins\",\r\n // earnedCoins,\r\n // \"reason-----------\",\r\n // reason,\r\n // \"coinPopup-show\",\r\n // show\r\n // );\r\n return (\r\n \r\n
    \r\n \"coins\"\r\n

    {earnedCoins}

    \r\n

    Motion Coins

    \r\n
    \r\n

    \r\n Yay! You have earned {earnedCoins} Motion Coins by
    {reason}.\r\n

    \r\n
    \r\n \r\n Use Motion Coins Now\r\n \r\n
    \r\n

    \r\n How to Earn more Motion Coins?{\" \"}\r\n Know More\r\n

    \r\n
    \r\n );\r\n};\r\n\r\nexport default RewardModal;\r\n","import React from \"react\";\r\nimport \"./CoinUsesModal.scss\";\r\nimport Modals from \"../Modal/CustomModal\";\r\n\r\nconst CoinUsesModal = ({ show, onHide, data, ...rest }) => {\r\n const renderContent = (value) => {\r\n return

    ;\r\n };\r\n\r\n return (\r\n \r\n

    How to earn Motion Coins?

    \r\n

    \r\n You can earn Motion Coins by performing various activities on Motion\r\n App.\r\n

    \r\n
      \r\n {data.map((point) => {\r\n return
    • {renderContent(point.value)}
    • ;\r\n })}\r\n
    \r\n

    Earn While You Learn!

    \r\n
    \r\n );\r\n};\r\n\r\nexport default CoinUsesModal;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./test_content_component.scss\";\r\n///////\r\nimport TestInstructionsView from \"./test_instructions_view/test_instructions_view\";\r\nimport TestQuestionsView from \"./test_questions_view/test_questions_view\";\r\n//import Question_paper_solution from \"./Question_paper_solution/Question_paper_solution\";\r\nimport userTestsExercisesAction from \"../../../../../../redux/user_activity/action\";\r\nimport { Analytics } from \"aws-amplify\";\r\nimport {\r\n url_24,\r\n url_26,\r\n url_81,\r\n url_88,\r\n url_76,\r\n url_77,\r\n url_39,\r\n url_174,\r\n url_175,\r\n url_25,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport RewardModal from \"../../../../../../components/RewardModal/RewardModal\";\r\nimport CoinUsesModal from \"../../../../../../components/CoinUsesModal/CoinUsesModal\";\r\n\r\nconst TestContentComponent = (props) => {\r\n let {\r\n history,\r\n userData,\r\n testData,\r\n topicData,\r\n setUserTestsResultData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n subjectData,\r\n test_type,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testQuestionsDetails: [],\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n viewVideo: false,\r\n earnedCoins: 0,\r\n coinPopup: false,\r\n reason: \"RewardModal\",\r\n coinDetailsPopup: false,\r\n coinUsesPoints: [],\r\n textResultData: {},\r\n });\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n //setSubject(subject);\r\n };\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n };\r\n\r\n // useEffect(() => {\r\n // subjectWiseData(state.testQuestionsDetails);\r\n // }, [state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n //handleCheckQuestion()\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n coinUsesApi();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(state.testDetails.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n // duration is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n if (test_type.state.type === \"dpp\") {\r\n let data = {\r\n excersie_type: testDetails.excersie_type,\r\n course_id: userPreference.courseDetails[0].course_id,\r\n topic_id: topicData.topicId,\r\n video_id: testDetails.videoId,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_24, data);\r\n if (response.data.status === 200) {\r\n Analytics.record({\r\n name: \"web_dpp_start_test\",\r\n attributes: {\r\n dpp_type_Name: data.excersie_type,\r\n topic_id: topicData.topicId,\r\n topic_name: topicData.topicName,\r\n subject_id: subjectData?.subjectId,\r\n subject_name: subjectData.subjectName,\r\n video_id: data.video_id,\r\n },\r\n });\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n alert(response.data.message);\r\n history.push(\"/store\");\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n history.push(\"/store\");\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } else if (test_type.state.type === \"exercise\") {\r\n let data = {\r\n excersie_type: testDetails.excersie_type,\r\n course_id: userPreference.courseDetails[0].course_id,\r\n topic_id: topicData.topicId,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_26, data);\r\n if (response.data.status === 200) {\r\n Analytics.record({\r\n name: \"web_exercise_start_test\",\r\n attributes: {\r\n Exercise_type_Name: data.excersie_type,\r\n topic_id: topicData.topicId,\r\n topic_name: topicData.topicName,\r\n subject_id: subjectData?.subjectId,\r\n subject_name: subjectData.subjectName,\r\n // course_id: data.course_id,\r\n },\r\n });\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n alert(response.data.message);\r\n history.push(\"/store\");\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n history.push(\"/store\");\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n }\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n const startBtn = async () => {\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n console.log(\"returnedResponse\", returnedResponse);\r\n if (returnedResponse.result) {\r\n returnedResponse.data.apiData.data.AllQuestionList.forEach(\r\n (element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n // element.q_text = element.q_text.replaceAll(\r\n // \"ckfinder\",\r\n // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n if (element.solution !== null) {\r\n element.q_text = element.q_text\r\n ?.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.solution = element.solution\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n }\r\n element.option.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n //\r\n // \"src=\\\"ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"src=\\\"/ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"/ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"./ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // ).replaceAll(\r\n // \"SRC= \\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n }\r\n );\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails:\r\n returnedResponse.data.apiData.data.AllQuestionList,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n //handleQuestionJump(lastOption);\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n\r\n const handlePreviousQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n //handleSaveQuestion();\r\n handleCheckQuestion();\r\n setViewVideoFalse();\r\n handleSaveQuestion();\r\n // handleCheckQuestion();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n //check question\r\n const handleCheckQuestion = async () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let formatData =\r\n testDetails.format ===\r\n \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n let data = {\r\n paper_id: crntQuestionDetail.paper_id,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n startLoading();\r\n const response = await axios.post(url_76, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n checkQuestion: response.data.data,\r\n }));\r\n finishLoading();\r\n if (!response.data.data) {\r\n testQuestionsDetails[currentQuestion].integer_answer = \"\";\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n alert(response.data.message);\r\n return;\r\n }\r\n handleSaveQuestion();\r\n } else if (response.data.status === 422) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n checkQuestion: response.data.data,\r\n }));\r\n handleSaveQuestion();\r\n }\r\n finishLoading();\r\n };\r\n\r\n //save prticular question\r\n\r\n const handleSaveQuestion = async () => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n testDetails,\r\n } = state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n option_id: crntQuestionDetail.userAnswerCollection[0]\r\n ? crntQuestionDetail.userAnswerCollection[0].option_id\r\n : crntQuestionDetail.answer_type == \"Integer Correct\"\r\n ? crntQuestionDetail.integer_answer\r\n : \"\",\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n course_id: userPreference.courseDetails[0].course_id,\r\n topic_id: topicData.topicId,\r\n\r\n type:\r\n test_type.state.type === \"dpp\" ? \"Attending_DPP\" : \"Attending_EXERCISE\",\r\n paper_type: test_type.state.type === \"dpp\" ? \"DPP\" : \"EXERCISE\",\r\n exercise_type: testDetails.excersie_type,\r\n course_id: userPreference.courseDetails[0].course_id,\r\n topic_id: topicData.topicId,\r\n video_id: testDetails.videoId,\r\n user_id: userData.user_id,\r\n is_saved: 0,\r\n total_time: crntQuestionDetail.totalTimeTaken,\r\n type_id: crntQuestionDetail.type_id,\r\n right_answer: true,\r\n wrong_answer: false,\r\n\r\n // right_answer: testQuestionsDetails[currentQuestion].userAnswerCollection\r\n // .length\r\n // ? testQuestionsDetails[currentQuestion].userAnswerCollection[0]\r\n // .option_id === testQuestionsDetails[currentQuestion].option_id\r\n // : element.is_user_correct_ans === 1\r\n // ? true\r\n // : false,\r\n };\r\n startLoading();\r\n try {\r\n const api = test_type.state.type === \"dpp\" ? url_25 : url_88;\r\n const response = await axios.post(api, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleCheckQuestion();\r\n setViewVideoFalse();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n testQuestionsDetails[currentQuestion].option.filter(\r\n (m) => m.is_user_correct_ans\r\n ).length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = {\r\n option_id: optionId,\r\n };\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].wrongAnswerIdCollection[0] = Number(optionId);\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection[0] = optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element.option_id === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n let Obj = {\r\n option_id: optionId,\r\n };\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n Obj\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n if (\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ),\r\n 1\r\n );\r\n }\r\n } else {\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection\r\n .length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection.indexOf(optionId),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let value = event;\r\n let sanitizedValue = value.replace(/[^\\d.-]/g, \"\");\r\n // Ensure there is at most one '-' at the beginning\r\n sanitizedValue = sanitizedValue\r\n .replace(/^-/, \"$#$\")\r\n .replace(/-/g, \"\")\r\n .replace(\"$#$\", \"-\");\r\n // Ensure there is at most one '.' and only allow up to 2 decimal places\r\n const dotIndex = sanitizedValue.indexOf(\".\");\r\n if (dotIndex !== -1) {\r\n const integerPart = sanitizedValue.substring(0, dotIndex);\r\n const decimalPart = sanitizedValue.substring(dotIndex + 1, dotIndex + 3);\r\n sanitizedValue = integerPart + \".\" + decimalPart;\r\n }\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].integer_answer = sanitizedValue.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n\r\n if (test_type.state.type == \"dpp\") {\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 2,\r\n };\r\n const response = await axios.post(url_39, data);\r\n } else if (test_type.state.type == \"exercise\") {\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 1,\r\n };\r\n const response = await axios.post(url_39, data);\r\n }\r\n };\r\n\r\n // const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n\r\n // if (test_type.state.type == \"dpp\") {\r\n // let data = {\r\n // paper_id,\r\n // reference_id: qid,\r\n // status: isAnswerGuessed ? 1 : 0,\r\n // type: 2,\r\n // };\r\n // const response = await axios.post(url_39, data);\r\n // } else if (test_type.state.type == \"exercise\") {\r\n // let data = {\r\n // paper_id,\r\n // reference_id: qid,\r\n // status: isAnswerGuessed ? 1 : 0,\r\n // type: 1,\r\n // };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].isAnswerGuessed = !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved = !testQuestionsDetails[\r\n currentQuestion\r\n ].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n //bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n //bookmarkApi(data);\r\n }\r\n };\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n //handleSaveQuestion();\r\n handleCheckQuestion();\r\n setViewVideoFalse();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n };\r\n //view video\r\n const handleViewVideo = (videoURL) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n viewVideo: !state.viewVideo,\r\n }));\r\n };\r\n\r\n const setViewVideoFalse = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n viewVideo: false,\r\n }));\r\n };\r\n\r\n const submitExercise = () => {\r\n let testDetails = { ...state.testDetails };\r\n if (test_type.state.type === \"dpp\") {\r\n Analytics.record({\r\n name: \"web_dpp_submit_test\",\r\n attributes: {\r\n dpp_type_Name: testDetails.excersie_type,\r\n topic_id: topicData.topicId,\r\n topic_name: topicData.topicName,\r\n subject_id: subjectData?.subjectId,\r\n subject_name: subjectData.subjectName,\r\n video_id: testDetails.video_id,\r\n },\r\n });\r\n\r\n // handleSaveQuestion();\r\n addCoinsOnSubmission();\r\n\r\n // history.push(\"/topic_component\");\r\n } else if (test_type.state.type === \"exercise\") {\r\n Analytics.record({\r\n name: \"web_exercise_submit_test\",\r\n attributes: {\r\n Exercise_type_Name: testDetails.excersie_type,\r\n topic_id: topicData.topicId,\r\n topic_name: topicData.topicName,\r\n subject_id: subjectData?.subjectId,\r\n subject_name: subjectData.subjectName,\r\n },\r\n });\r\n addCoinsOnSubmission();\r\n\r\n // handleSaveQuestion();\r\n // history.push(\"/topic_component\");\r\n }\r\n };\r\n const handleSubmitTest = async () => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let questionArr = [];\r\n\r\n testQuestionsDetails.forEach((element) => {\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n });\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n //alert(returnedResponse.data.message);\r\n setUserTestsResultData(testDetails);\r\n addCoinsOnSubmission();\r\n\r\n // history.push(\"/test_result\");\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n // history.push(\"/user_exercise_test\");\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n // course_id: userPreference.courseDetails[0].course_id,\r\n // class_id: userPreference.classDetails.class_id,\r\n // batch_id: userPreference.batchDetails.batch_id,\r\n paper_id: testDetails.paper_id,\r\n time: 84,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n };\r\n\r\n // let requestPayload = {\r\n // course_id: 36,\r\n // class_id: 2,\r\n // batch_id: 30,\r\n // paper_id: testDetails.paper_id,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n // };\r\n\r\n try {\r\n const response = await axios.post(url_81, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push(\"/pyq_cps_exam\");\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const addCoinsOnSubmission = async () => {\r\n const { testDetails } = state;\r\n let data = {};\r\n\r\n if (test_type.state.type === \"dpp\") {\r\n data = {\r\n type: \"Attending_DPP\",\r\n paper_type: \"DPP\",\r\n exercise_type: testDetails.excersie_type,\r\n course_id: userPreference.courseDetails[0].course_id,\r\n topic_id: topicData.topicId,\r\n video_id: testDetails.videoId,\r\n user_id: userData.user_id,\r\n };\r\n } else {\r\n data = {\r\n type: \"Attending_EXERCISE\",\r\n paper_type: \"Exercise\",\r\n exercise_type: testDetails.excersie_type,\r\n course_id: userPreference.courseDetails[0].course_id,\r\n topic_id: topicData.topicId,\r\n video_id: testDetails.videoId,\r\n user_id: userData.user_id,\r\n };\r\n }\r\n\r\n try {\r\n const response = await axios.post(url_174, data);\r\n console.log(\"response.data.coints\", response.data);\r\n if (response.data.status === 200) {\r\n if (response.data.data !== \"MCoins Already Credited...!\") {\r\n console.log(\r\n \"------------------------------------\",\r\n response.data.data.coins\r\n );\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n earnedCoins: response.data.data.coins,\r\n coinPopup: response.data.data.coins > 0 ? true : false,\r\n reason: response.data.data.description,\r\n };\r\n });\r\n if (response.data.data.coins === 0) {\r\n console.log(\r\n \"going inside of if response.data.data.coins === 0\",\r\n response.data.data.coins\r\n );\r\n console.log(\"coming inside of coins ===== 0\");\r\n history.push({\r\n pathname: \"/topic_component\",\r\n });\r\n }\r\n } else {\r\n // handleClose();\r\n history.push({\r\n pathname: \"/topic_component\",\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const coinUsesApi = async () => {\r\n try {\r\n const response = await axios.get(url_175);\r\n if (response.data.status === 200) {\r\n console.log(response.data);\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n coinUsesPoints: [...response.data.data],\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n return (\r\n \r\n {\r\n history.push({ pathname: \"/topic_component\" });\r\n }}\r\n earnMoreHandler={() =>\r\n setState((prev) => {\r\n return { ...prev, coinDetailsPopup: true, coinPopup: false };\r\n })\r\n }\r\n earnedCoins={state.earnedCoins}\r\n reason={state.reason}\r\n />\r\n {\r\n history.push({ pathname: \"/topic_component\" });\r\n }}\r\n data={state.coinUsesPoints}\r\n />\r\n\r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.userActivity.exerciseData,\r\n userPreference: state.userPreference,\r\n topicData: state.userActivity.topicData,\r\n subjectData: state.userActivity.subjectData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUserTestsResultData: (payload) => {\r\n dispatch(userTestsExercisesAction.setUserTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport \"./exercise_test_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n////////\r\nimport HeaderComponentTwo from \"../../../structure_components/desktop_screens/header_component/header_top/Header_top\";\r\nimport TestContentComponent from \"./exerciseTest_content_component/test_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst ExerciseTestComponent = (props) => {\r\n const test_type = useLocation();\r\n\r\n \r\n let { history, loader, userData, state } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {/* {isMob() ? null : (\r\n \r\n \r\n \r\n )} */}\r\n \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(ExerciseTestComponent);\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./header_left.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\n\r\nconst HeaderLeft = () => {\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};\r\n\r\nexport default HeaderLeft;\r\n","import { Fragment } from \"react\";\r\nimport \"./header_right.scss\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\n\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport {\r\n isEmpty,\r\n sliceString,\r\n} from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport authActions from \"../../../../../../redux/auth/action\";\r\nimport userPreferenceActions from \"../../../../../../redux/user_preference/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\nimport userTestsExercisesAction from \"../../../../../../redux/user_tests_exercises/action\";\r\nimport userTwilioDetailsAction from \"../../../../../../redux/twilio_chat/action\";\r\nimport userBookmarkAction from \"../../../../../../redux/user_bookmark/action\";\r\n\r\nconst HeaderRight = (props) => {\r\n let {\r\n history,\r\n userData,\r\n logoutUser,\r\n removeAnimation,\r\n removePreferenceData,\r\n removeActivityData,\r\n removeTestsExercisesData,\r\n removeTwilioDetails,\r\n removeBookmarkData,\r\n } = props;\r\n\r\n const handleUserLogout = () => {\r\n logoutUser();\r\n removeAnimation();\r\n removePreferenceData();\r\n removeActivityData();\r\n removeTestsExercisesData();\r\n removeTwilioDetails();\r\n removeBookmarkData();\r\n history.push(\"/\");\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.name : \"User\"}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.mobile : \"987654\"}\r\n

    \r\n
    \r\n
    \r\n

    \r\n {userData.is_subscribe === 1 ? (\r\n \r\n Premium\r\n \r\n ) : null}\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n \r\n {!isEmpty(userData) ? (\r\n userData.image.length ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(userData) ? (\r\n userData.image.length ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n

    \r\n {!isEmpty(userData) ? userData.name : \"User\"}{\" \"}\r\n

    \r\n

    \r\n {!isEmpty(userData)\r\n ? userData.mobile\r\n : \"9876543210\"}\r\n

    \r\n

    \r\n {userData.is_subscribe === 1 ? (\r\n \r\n Premium\r\n \r\n ) : null}\r\n

    \r\n
    \r\n
    \r\n handleUserLogout()}\r\n >\r\n Logout\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n

    \r\n Profile\r\n

    \r\n \r\n \r\n

    \r\n Notifications\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n logoutUser: () => {\r\n dispatch(authActions.logoutUser());\r\n },\r\n removeAnimation: () => {\r\n dispatch(uiActions.removeAnimation());\r\n },\r\n removeActivityData: () => {\r\n dispatch(userActivityActions.removeActivityData());\r\n },\r\n removePreferenceData: () => {\r\n dispatch(userPreferenceActions.removePreferenceData());\r\n },\r\n removeTestsExercisesData: () => {\r\n dispatch(userTestsExercisesAction.removeTestsExercisesData());\r\n },\r\n removeTwilioDetails: () => {\r\n dispatch(userTwilioDetailsAction.removeTwilioDetails());\r\n },\r\n removeBookmarkData: () => {\r\n dispatch(userBookmarkAction.removeBookmarkData());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(HeaderRight);\r\n","import { Fragment } from \"react\";\r\nimport \"./header_component_two.scss\";\r\n\r\nimport HeaderLeft from \"./header_left/header_left\";\r\nimport HeaderRight from \"./header_right/header_right\";\r\n\r\n/////React Toastify\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst HeaderComponentTwo = (props) => {\r\n let { userData, history } = 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
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(HeaderComponentTwo);\r\n","import { Fragment } from \"react\";\r\nimport \"./exercise_result_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n////////\r\nimport HeaderComponentTwo from \"../../../structure_components/desktop_screens/header_component_two/header_component_two\";\r\n// import ExerciseResultContentComponent from \"./exercise_result_content_component/exercise_result_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst ExerciseResultComponent = (props) => {\r\n let { history, loader } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n \r\n \r\n {/* */}\r\n \r\n ) : (\r\n \r\n \r\n {/* */}\r\n \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(ExerciseResultComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_instructions_view.scss\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst TestInstructionsView = (props) => {\r\n let { testDetails, startBtn, testSectionsDetails } = props;\r\n\r\n function testTime(minutes) {\r\n var h = Math.floor(minutes / 60);\r\n var m = minutes % 60;\r\n h = h < 10 ? \"0\" + h : h;\r\n m = m < 10 ? \"0\" + m : m;\r\n return h + \":\" + m + \" hrs\";\r\n }\r\n\r\n const renderButtonType = () => {\r\n return testSectionsDetails?.testlist?.is_resume\r\n ? \"Resume Test\"\r\n : \"Start Test\";\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    {testDetails.paper_name}
    \r\n
    \r\n
    \r\n Duration :{\" \"}\r\n {!isEmpty(testDetails)\r\n ? `${testTime(testDetails.duration_mins)}`\r\n : null}\r\n
    \r\n\r\n {/*
    \r\n Total marks : {testDetails.total_marks}\r\n
    \r\n\r\n
    \r\n Total Questions : {testDetails.total_questions}\r\n
    */}\r\n
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n
    \r\n \r\n
    \r\n

    This Section contains a set of questions for practice

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TestInstructionsView;\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport \"./test_questions_view.scss\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport images from \"../.././../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\n\r\nconst TestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n subjecSectiontWiseTestQuestions,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n currentQuestionDetails,\r\n selectedSubject,\r\n selectedSection,\r\n handleSaveQuestion,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n examFormat,\r\n disableInput,\r\n setDisableInput,\r\n oldanswer,\r\n setState,\r\n lang,\r\n } = props;\r\n\r\n const [isList, setisList] = useState(true);\r\n\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n if (window.MathJax) {\r\n window.MathJax.typeset();\r\n }\r\n }, [currentQuestionDetails]);\r\n\r\n useEffect(() => {\r\n if (window.MathJax) {\r\n window.MathJax.typeset();\r\n }\r\n }, [currentQuestionDetails]);\r\n\r\n useMathjax(currentQuestion, lang);\r\n\r\n const shouldDisableInput = () => {\r\n let formatData =\r\n examFormat == \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : examFormat == \"NEET NEW PATTERN 2021\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n if (formatData == \"MAIN\") {\r\n alert(\"Only Five Questions attempt allowed MAIN Section B\");\r\n } else {\r\n alert(\"Only Ten Questions are allowed in NEET\");\r\n }\r\n const isSubmited = currentQuestionDetails?.integer_answer?.length\r\n ? true\r\n : false;\r\n setDisableInput(!isSubmited);\r\n };\r\n\r\n useEffect(() => {\r\n let formatData =\r\n examFormat == \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : examFormat == \"NEET NEW PATTERN 2021\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n if (formatData === \"MAIN\") {\r\n currentQuestionDetails.attempt_count >= 5 && shouldDisableInput();\r\n currentQuestionDetails.attempt_count < 5 && setDisableInput(false);\r\n } else if (formatData === \"NEET\") {\r\n currentQuestionDetails.attempt_count >= 10 && shouldDisableInput();\r\n currentQuestionDetails.attempt_count < 10 && setDisableInput(false);\r\n }\r\n }, [currentQuestionDetails]);\r\n\r\n // condition for Report Error modal submit button\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n //function for getting options Data from api\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n // for report error modal\r\n const [showError, setShowError] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n // Handle backbutton\r\n const onBackButtonEvent = (e) => {\r\n e.preventDefault();\r\n handleShow();\r\n };\r\n\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n return () => {\r\n window.removeEventListener(\"popstate\", onBackButtonEvent);\r\n };\r\n }, []);\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n }, [show]);\r\n //\r\n\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n if (\r\n currentQuestionDetails !== null ||\r\n currentQuestionDetails !== undefined\r\n ) {\r\n let step;\r\n let type = currentQuestionDetails.answer_type;\r\n\r\n if (type === \"Single Correct\") {\r\n step = 1;\r\n } else if (type === \"Integer Correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 2:\r\n return renderInputField(currentQuestion, lang);\r\n case 3:\r\n return renderMultiSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n default:\r\n return null;\r\n }\r\n } else {\r\n }\r\n };\r\n\r\n const switchLanguage = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n lang: !prevState.lang,\r\n }));\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (\r\n questionData.option_hindi !== undefined &&\r\n questionData.option_hindi !== null &&\r\n questionData?.option_hindi?.length > 0\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option_hindi?.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n disabled={disableInput}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else {\r\n switchLanguage();\r\n\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n // checked={\r\n // testQuestionsDetails[currentQuestion2]\r\n // .userAnswerCollection.length\r\n // ? testQuestionsDetails[\r\n // currentQuestion2\r\n // ].userAnswerCollection.find((item) => {\r\n // return item === element.option_id;\r\n // })\r\n // : oldanswer.split(\",\").find((item) => {\r\n // return item == element.option_id;\r\n // })\r\n // ? true\r\n // : false\r\n // }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(\r\n event,\r\n element.option_id,\r\n event.target.checked\r\n )\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (\r\n questionData.option_hindi !== undefined &&\r\n questionData.option_hindi !== null &&\r\n questionData?.option_hindi?.length > 0\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else {\r\n switchLanguage();\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled={disableInput}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n const { q_text, q_text_hindi } = question;\r\n const isTable = q_text.includes(\"]+>/g, \"\").trim())\r\n ) {\r\n textToDisplay = q_text;\r\n }\r\n\r\n if (currentQuestion === index) {\r\n if (textToDisplay && textToDisplay.length > 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else {\r\n let labelClass = \"\";\r\n let additionalClass = \"\";\r\n\r\n if (question.isAttempted) {\r\n labelClass = \"answered_lbl\";\r\n } else if (question.isAnswerGuessed) {\r\n labelClass = \"isGussedAnswer\";\r\n } else if (question.isReview) {\r\n labelClass = \"review_lbl\";\r\n } else if (question?.is_option == 1) {\r\n additionalClass = \"answered_lbl\";\r\n } else if (question?.is_option == 2) {\r\n additionalClass = \"skip_lbl\";\r\n } else if (question.isSkipped) {\r\n labelClass = \"skip_lbl\";\r\n } else {\r\n labelClass = \"\";\r\n }\r\n\r\n if (question.isReview) {\r\n additionalClass = \"review_lbl\";\r\n }\r\n let guessedAdditionalClass;\r\n if (question.isAnswerGuessed) {\r\n guessedAdditionalClass = \"isGussedAnswer\";\r\n }\r\n\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"right-arrow\"\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderQuestion = () => {\r\n const { q_text, q_text_hindi } = currentQuestionDetails || {}; // Destructure with default empty object\r\n const isImage = q_text && q_text.includes(\" tags\r\n const mfencedRegex = /]>(.?)<\\/mfenced>/g;\r\n\r\n // Function to replace with brackets\r\n const replaceMfenced = (match, content) => {\r\n return `[${content}]`;\r\n };\r\n\r\n let content = q_text;\r\n\r\n if (hasMfenced) {\r\n // Replace tags with brackets\r\n content = content.replace(mfencedRegex, replaceMfenced);\r\n }\r\n\r\n if (isImage) {\r\n const imgTagRegex = /]+src=\"?([^\"\\s]+)\"?\\s*\\/>/g;\r\n const match = imgTagRegex.exec(q_text);\r\n if (match && match[1]) {\r\n imageSrc = match[1];\r\n }\r\n }\r\n\r\n if (lang) {\r\n return (\r\n
    \r\n {/* {content && (\r\n

    \r\n )} */}\r\n\r\n {q_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n if (q_text_hindi && q_text_hindi.trim().length > 0) {\r\n return (\r\n
    \r\n {q_text_hindi && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {q_text && (\r\n

    \r\n )}\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderParagraphQuestion = () => {\r\n const { p_text, p_text_hindi } = currentQuestionDetails || {};\r\n const isImage = p_text && p_text.includes(\" tags\r\n const mfencedRegex = /]>(.?)<\\/mfenced>/g;\r\n\r\n // Function to replace with brackets\r\n const replaceMfenced = (match, content) => {\r\n return `[${content}]`;\r\n };\r\n\r\n let content = p_text;\r\n\r\n if (hasMfenced) {\r\n // Replace tags with brackets\r\n content = content.replace(mfencedRegex, replaceMfenced);\r\n }\r\n\r\n if (lang) {\r\n return (\r\n
    \r\n {/* {content && (\r\n

    \r\n )} */}\r\n\r\n {p_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n if (p_text_hindi && p_text_hindi.trim().length > 0) {\r\n return (\r\n
    \r\n {p_text_hindi && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {p_text && (\r\n

    \r\n )}\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n // const renderParagraphQuestion = () => {\r\n // const { p_text, p_text_hindi } = currentQuestionDetails || {}; // Destructure with default empty object\r\n // const isImage = p_text && p_text.includes(\"<img\");\r\n // const isTable = p_text && p_text.includes(\"<table\");\r\n // const isMTable = p_text && p_text.includes(\"<mtable\");\r\n\r\n // let imageSrc = \"\";\r\n\r\n // if (isImage) {\r\n // const imgTagRegex = /]+src=\"?([^\"\\s]+)\"?\\s*\\/>/g;\r\n // const match = imgTagRegex.exec(p_text);\r\n // if (match && match[1]) {\r\n // imageSrc = match[1];\r\n // }\r\n // }\r\n\r\n // if (lang) {\r\n // return (\r\n //
    \r\n // {p_text && (\r\n //

    \r\n // )}\r\n\r\n // {isTable &&
    }\r\n // {isMTable && }\r\n //
    \r\n // );\r\n // } else {\r\n // if (p_text_hindi && p_text_hindi.trim().length > 0) {\r\n // return (\r\n //
    \r\n // {p_text_hindi && (\r\n //

    \r\n // )}\r\n\r\n // {isTable &&
    }\r\n // {isMTable && }\r\n //
    \r\n // );\r\n // } else {\r\n // return (\r\n //
    \r\n // {p_text && (\r\n //

    \r\n // )}\r\n // {isTable &&
    }\r\n // {isMTable && }\r\n //
    \r\n // );\r\n // }\r\n // }\r\n // };\r\n\r\n const renderColumMatchQuestion = () => {\r\n const { m_p_text, m_p_text_hindi } = currentQuestionDetails || {}; // Destructure with default empty object\r\n\r\n const contentToDisplay = lang\r\n ? m_p_text\r\n : m_p_text_hindi\r\n ? m_p_text_hindi\r\n : m_p_text;\r\n\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n };\r\n\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n // const config = {\r\n // loader: {\r\n // load: [\r\n // \"input/asciimath\",\r\n // \"output/chtml\",\r\n // \"ui/menu\",\r\n // \"[mml]/mml3\",\r\n // \"[tex]/html\",\r\n // ],\r\n // },\r\n // };\r\n\r\n const config = {\r\n \"fast-preview\": {\r\n disabled: true,\r\n },\r\n tex2jax: {\r\n inlineMath: [\r\n [\"$\", \"$\"],\r\n [\"\\\\(\", \"\\\\)\"],\r\n ],\r\n displayMath: [\r\n [\"$$\", \"$$\"],\r\n [\"\\\\[\", \"\\\\]\"],\r\n ],\r\n },\r\n messageStyle: \"none\",\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n {/*
    \r\n

    {testDetails?.paper_name}

    \r\n
    */}\r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n {\r\n handleSubmitTest(currentQuestionDetails);\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {/*

    Exam Test

    */}\r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n alt=\"img\"\r\n />\r\n ) : (\r\n handleReview()}\r\n alt=\"img\"\r\n />\r\n )}\r\n
    \r\n {/*
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    */}\r\n\r\n {/* \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {Object.keys(subjecSectiontWiseTestQuestions).map(\r\n (subjectName, index) => {\r\n return (\r\n
    \r\n \r\n handleSubjectChange(subjectName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n\r\n
    \r\n {selectedSubject &&\r\n Object.keys(\r\n subjecSectiontWiseTestQuestions[selectedSubject]\r\n ).map((sectionName, index) => {\r\n return (\r\n
    \r\n \r\n handleSectionChange(sectionName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n

    {testDetails?.paper_name}

    \r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n Question type:{\" \"}\r\n {testQuestionsDetails[currentQuestion]?.type}\r\n \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n\r\n {currentQuestionDetails?.answer_type?.toLowerCase() ===\r\n \"integer correct\" ? (\r\n <>\r\n {ConvertStringToHTML(\r\n currentQuestionDetails?.q_text_hindi\r\n ) ? (\r\n handleChangeLanguage()}\r\n >\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ) : (\r\n <>\r\n {ConvertStringToHTML(\r\n currentQuestionDetails?.q_text_hindi\r\n ) &&\r\n currentQuestionDetails?.option_hindi?.length >\r\n 0 ? (\r\n handleChangeLanguage()}\r\n >\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n
    \r\n
    */}\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n\r\n
    \r\n {renderColumMatchQuestion()}\r\n\r\n {renderParagraphQuestion()}\r\n
    {renderQuestion()}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestionDetails !== null &&\r\n currentQuestionDetails !== undefined &&\r\n renderOptions(currentQuestionDetails, lang)}\r\n
    \r\n
    \r\n\r\n {/* toaster for successfull submission of Report error */}\r\n\r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect\r\n or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(\r\n currentQuestion - 1\r\n );\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length ===\r\n currentQuestion + 1 ? (\r\n
    \r\n {\r\n // handleLastQuestionSave();\r\n handleSaveQuestion(currentQuestionDetails);\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(\r\n currentQuestion + 1,\r\n currentQuestionDetails\r\n );\r\n scrollUp();\r\n }}\r\n >\r\n Save & Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n {/* \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n {/* \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {renderQuestionLabel(element, index, lang)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    */}\r\n \r\n {/* {\r\n handleSaveQuestion(currentQuestionDetails);\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default TestQuestionsView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./test_content_component.scss\";\r\n\r\n///////\r\nimport TestInstructionsView from \"./test_instructions_view/test_instructions_view\";\r\nimport TestQuestionsView from \"./test_questions_view/test_questions_view\";\r\nimport userTestsExercisesAction from \"../../../../../../redux/user_tests_exercises/action\";\r\nimport {\r\n url_29,\r\n url_39,\r\n url_77,\r\n url_188,\r\n url_189,\r\n url_190,\r\n url_191,\r\n url_192,\r\n url_202,\r\n url_174,\r\n url_175,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport RewardModal from \"../../../../../../components/RewardModal/RewardModal\";\r\nimport CoinUsesModal from \"../../../../../../components/CoinUsesModal/CoinUsesModal\";\r\n\r\nconst TestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n setUserTestsResultData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: true,\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n currentQuestionDetails: {},\r\n disableQuestion: false,\r\n oldanswer: \"\",\r\n lang: true,\r\n earnedCoins: 0,\r\n coinPopup: false,\r\n reason: \"RewardModal\",\r\n coinDetailsPopup: false,\r\n coinUsesPoints: [],\r\n textResultData: {},\r\n });\r\n\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n const [disableInput, setDisableInput] = useState(false);\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n getTestSectionsDetails();\r\n coinUsesApi();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(state.testDetails.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n const formatData =\r\n state.testDetails.format ==\r\n \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : state.testDetails.format == \"NEET NEW PATTERN 2021\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n const handleSubjectChange = (subject) => {\r\n let { testQuestionsDetails } = state;\r\n\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n let cq = currentQuestion;\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n scrollUp(currentQuestion);\r\n };\r\n\r\n const scrollUp = (currentQuestion) => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const handleSectionChange = (section) => {\r\n let { testQuestionsDetails } = state;\r\n\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n let cq = currentQuestion;\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n };\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime;\r\n useTime = useTime * 1000;\r\n\r\n //duration is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n alert(\"Time is up. Your test will be auto submitted\");\r\n handleSubmitTest(state.currentQuestionDetails);\r\n handleLastQuestionSave();\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestSectionsDetails = async () => {\r\n let data = {\r\n paper_id: testData.paper_id,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_29, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testSectionsDetails: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_188, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (\r\n paper_id,\r\n qid,\r\n subject,\r\n section,\r\n format\r\n ) => {\r\n const data = {\r\n paper_id,\r\n qid,\r\n subject,\r\n section,\r\n format,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_189, data);\r\n\r\n // setTimeout(() => {\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data[0],\r\n oldanswer: response.data.data[0].oldanswer,\r\n }));\r\n } else {\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const subjectWiseData = (questions) => {\r\n const subjectSectionWiseData = {};\r\n for (let i = 0; i < questions.length; i++) {\r\n questions[i][\"matchIndex\"] = i;\r\n if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n [questions[i][\"section_name\"]]: [questions[i]],\r\n };\r\n } else if (\r\n subjectSectionWiseData?.[questions?.[i]?.[\"subject\"]] &&\r\n !subjectSectionWiseData?.[questions?.[i]?.[\"subject\"]]?.[\r\n questions?.[i]?.[\"section_name\"]\r\n ]\r\n ) {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ] = [questions[i]];\r\n } else {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ].push(questions[i]);\r\n }\r\n }\r\n return subjectSectionWiseData;\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n\r\n const deleteOldDateBeforeStartingTest = async () => {\r\n try {\r\n const data = {\r\n user_id: userData.user_id,\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n\r\n const response = await axios.post(url_202, data);\r\n\r\n if (response.data.status !== 200) {\r\n alert(\"Error Occured, Please try again\");\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n //exitTimeCurrentOption\r\n const startBtn = async () => {\r\n let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n\r\n if (!testSectionsDetails?.testlist?.is_resume) {\r\n await deleteOldDateBeforeStartingTest();\r\n }\r\n\r\n if (!isEmpty(testSectionsDetails) && !isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n returnedResponse.data.apiData.data\r\n );\r\n\r\n const response = await checkIsResumeTest(returnedResponse.data.apiData);\r\n\r\n if (returnedResponse.result) {\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n // element.q_text = element.q_text.replaceAll(\r\n // \"ckfinder\",\r\n // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n //\r\n // \"src=\\\"ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"src=\\\"/ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"/ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"./ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // ).replaceAll(\r\n // \"SRC= \\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n });\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n currentQuestion: response,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n returnedResponse?.data?.apiData?.data[response]?.paper_id,\r\n returnedResponse?.data?.apiData?.data[response]?.qid,\r\n returnedResponse?.data?.apiData?.data[response]?.subject,\r\n returnedResponse?.data?.apiData?.data[response]?.section_name,\r\n formatData\r\n );\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const checkIsResumeTest = async (test) => {\r\n if (test.userGivenLastQuestionId !== 0) {\r\n const indexOfLastAttemptedQue = test.data.findIndex(\r\n (element) => element.qid == test.userGivenLastQuestionId\r\n );\r\n\r\n if (indexOfLastAttemptedQue == test.data.length - 1) {\r\n return indexOfLastAttemptedQue;\r\n }\r\n\r\n return indexOfLastAttemptedQue + 1;\r\n } else {\r\n return 0;\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n const handlePreviousQuestionBtn = (cq) => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n //save prticular question\r\n const handleSaveQuestion = async (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n testDetails,\r\n currentQuestionDetails,\r\n oldanswer,\r\n } = state;\r\n\r\n console.log(\"old answer in handleSaveQuesiton\", oldanswer);\r\n\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n\r\n let data = {};\r\n\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n option_int: oldanswer?.length ? oldanswer : \"\",\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n lang_id: state.lang ? 1 : 2,\r\n };\r\n } else {\r\n data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n lang_id: state.lang ? 1 : 2,\r\n option_id: crntQuestionDetail.userAnswerCollection.length\r\n ? crntQuestionDetail.userAnswerCollection\r\n : oldanswer.length\r\n ? [oldanswer]\r\n : [],\r\n };\r\n }\r\n\r\n startLoading();\r\n const response = await axios.post(url_190, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n if (currentQuestion !== 89) {\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq]?.paper_id,\r\n testQuestionsDetails[cq]?.qid,\r\n testQuestionsDetails[cq]?.subject,\r\n testQuestionsDetails[cq]?.section_name,\r\n formatData\r\n );\r\n }\r\n } else {\r\n finishLoading();\r\n alert(\"Your Previous Question hasn't been Saved!\");\r\n if (currentQuestion !== 89) {\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n }\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = (cq, currentQuestionDetails) => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length > 0) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n\r\n let type = currentQuestionDetails?.answer_type?.toLowerCase();\r\n\r\n if (type === \"integer correct\") {\r\n if (state.oldanswer?.length > 0) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n }\r\n\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n handleSaveQuestion(cq);\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n // const handleSingleSelectAnswer = (event, optionId) => {\r\n // let { checked, value } = event.target;\r\n\r\n // let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n // if (checked) {\r\n // testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n // testQuestionsDetails[currentQuestion][0] = optionId;\r\n\r\n // if (\r\n // testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n // optionId\r\n // ) === -1\r\n // ) {\r\n // //if you not find the answer in backendCorrect answer array\r\n // testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n // optionId;\r\n // testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n // testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n // } else {\r\n // testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n // optionId;\r\n // testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n // testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n // }\r\n // } else {\r\n // testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n // testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n // testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n // testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n // }\r\n\r\n // setState((prevState) => ({\r\n // ...prevState,\r\n // testQuestionsDetails,\r\n // }));\r\n // };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked, value } = event.target;\r\n\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n if (checked) {\r\n // testQuestionsDetails[currentQuestion].isAttempted = true;\r\n\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n testQuestionsDetails[currentQuestion][0] = optionId;\r\n\r\n testQuestionsDetails[currentQuestion].is_option = 1;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n // testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n testQuestionsDetails[currentQuestion].is_option = 2;\r\n }\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails,\r\n oldanswer: \"\",\r\n }));\r\n };\r\n\r\n // const handleMultiSelectAnswer = (_event, optionId, checked) => {\r\n // let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n // let findedIndex = testQuestionsDetails[\r\n // currentQuestion\r\n // ].userAnswerCollection.findIndex((element) => {\r\n // return element === optionId;\r\n // });\r\n\r\n // if (findedIndex === -1) {\r\n // testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n // testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n // 0,\r\n // optionId\r\n // );\r\n // } else {\r\n // testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n // findedIndex,\r\n // 1\r\n // );\r\n // }\r\n\r\n // setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n // };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId, checked) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n // if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n // testQuestionsDetails[currentQuestion].isAttempted = true;\r\n // } else {\r\n // testQuestionsDetails[currentQuestion].isAttempted = false;\r\n // }\r\n\r\n // if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n // testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n // }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n value = value.replace(/[^-\\d._e]/g, \"\");\r\n let {\r\n currentQuestion,\r\n testQuestionsDetails,\r\n checkQuestion,\r\n currentQuestionDetails,\r\n } = state;\r\n\r\n state.oldanswer = value.trim();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n ...prevState.countDownTimer,\r\n testQuestionsDetails,\r\n oldanswer: value,\r\n }));\r\n };\r\n\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 3,\r\n };\r\n const response = await axios.post(url_77, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n bookmarkApi(data);\r\n }\r\n };\r\n\r\n const bookmarkApi = async (data) => {\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n // const getNewAnalyticsApi = async (testDetails) => {\r\n // const { paper_id, test_id } = testDetails;\r\n // const data = {\r\n // paper_id,\r\n // };\r\n\r\n // const response = await axios.post(url_192, data);\r\n // if (response.data.status === 200) {\r\n // return 1;\r\n // } else return 0;\r\n // };\r\n\r\n const getNewAnalyticsApi = async (testDetails) => {\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_192, data);\r\n if (response.data.status === 200) {\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n textResultData: response.data.data1,\r\n };\r\n });\r\n console.log(\"resultData\", response.data.data);\r\n addCoinsOnSubmission(\r\n response.data.data1.correct_answer,\r\n response.data.data1.incorrect_answer\r\n );\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const addCoinsOnSubmission = async (correct_ans, wrong_ans) => {\r\n const data = {\r\n type: \"Attending_EXAMS\",\r\n wrong_ans: wrong_ans,\r\n correct_ans: correct_ans,\r\n paper_type: \"EXAMS\",\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_174, data);\r\n console.log(\"response.data.coints\", response.data);\r\n if (response.data.status === 200) {\r\n if (response.data.data !== \"MCoins Already Credited...!\") {\r\n console.log(\r\n \"------------------------------------\",\r\n response.data.data.coins\r\n );\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n earnedCoins: response.data.data.coins,\r\n coinPopup: response.data.data.coins > 0 ? true : false,\r\n reason: response.data.data.description,\r\n };\r\n });\r\n if (response.data.data.coins === 0) {\r\n console.log(\r\n \"going inside of if response.data.data.coins === 0\",\r\n response.data.data.coins\r\n );\r\n console.log(\"coming inside of coins ===== 0\");\r\n history.push({\r\n pathname: \"/exam_summary\",\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const coinUsesApi = async () => {\r\n try {\r\n const response = await axios.get(url_175);\r\n if (response.data.status === 200) {\r\n console.log(response.data);\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n coinUsesPoints: [...response.data.data],\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n let { testQuestionsDetails } = state;\r\n\r\n const { testDetails, currentQuestion, currentQuestionDetails } = state;\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length > 0) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n\r\n let type = currentQuestionDetails?.answer_type?.toLowerCase();\r\n\r\n if (type === \"integer correct\") {\r\n if (state.oldanswer?.length > 0) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n }\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[questionNumber].paper_id,\r\n testQuestionsDetails[questionNumber].qid,\r\n testQuestionsDetails[questionNumber].subject,\r\n testQuestionsDetails[questionNumber].section_name,\r\n formatData\r\n );\r\n };\r\n\r\n const handleSubmitTest = async () => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let questionArr = [];\r\n\r\n testQuestionsDetails.forEach((element) => {\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n });\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n // const response = await getNewAnalyticsApi(testDetails);\r\n getNewAnalyticsApi(testDetails);\r\n // if (response) {\r\n // setUserTestsResultData(testDetails);\r\n // history.push({\r\n // pathname: \"/exam_summary\",\r\n // state: { tab: \"exam\" },\r\n // });\r\n // finishLoading();\r\n // }\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n paper_id: testDetails.paper_id,\r\n time: state.countDownTimer.minutes,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_191, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleLastQuestionSave = async () => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n testDetails,\r\n oldanswer,\r\n } = state;\r\n\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n\r\n let formatData =\r\n state.testDetails.target_type == \"JEE (M)\"\r\n ? \"MAIN\"\r\n : state.testDetails?.target_type == \"NEET\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let data = {};\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n option_int: oldanswer?.length ? oldanswer : \"\",\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n\r\n test_id: testDetails.test_id,\r\n };\r\n } else {\r\n data = {\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n option_id: crntQuestionDetail?.userAnswerCollection\r\n ? crntQuestionDetail.userAnswerCollection\r\n : state.oldanswer.length\r\n ? [state.oldanswer]\r\n : [],\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n\r\n test_id: testDetails.test_id,\r\n };\r\n }\r\n\r\n startLoading();\r\n\r\n const response = await axios.post(url_190, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n } else {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n };\r\n\r\n const handleChangeLanguage = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n lang: !prevState.lang,\r\n }));\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n {\r\n history.push({ pathname: \"/exam_summary\" });\r\n }}\r\n earnMoreHandler={() =>\r\n setState((prev) => {\r\n return { ...prev, coinDetailsPopup: true, coinPopup: false };\r\n })\r\n }\r\n earnedCoins={state.earnedCoins}\r\n reason={state.reason}\r\n />\r\n {\r\n history.push({ pathname: \"/exam_summary\" });\r\n }}\r\n data={state.coinUsesPoints}\r\n />\r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.userTestsExercisesData.testData,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUserTestsResultData: (payload) => {\r\n dispatch(userTestsExercisesAction.setUserTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../.././../components/loader/loader\";\r\n\r\n////////\r\nimport HeaderComponentTwo from \"../../../structure_components/desktop_screens/header_component/header_top/Header_top\";\r\nimport TestContentComponent from \"./test_content_component/test_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst TestComponent = (props) => {\r\n let { history, loader,userData } = props;\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TestComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_result_questions_view.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst TestResultQuestionsView = (props) => {\r\n let {\r\n testResultDetails,\r\n testResultQuestionsDetails,\r\n currentQuestion,\r\n handleNextBtn,\r\n viewReport,\r\n handleSaved,\r\n } = props;\r\n\r\n\r\n const renderOptions = () => {\r\n if (testResultQuestionsDetails.length) {\r\n let questionsArr = testResultQuestionsDetails,\r\n step,\r\n type = questionsArr[currentQuestion].answer_type;\r\n\r\n if (type === \"Single Correct\") {\r\n step = 1;\r\n } else if (type === \"Integer Correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(questionsArr[currentQuestion]);\r\n case 2:\r\n return renderInputField(questionsArr[currentQuestion]);\r\n case 3:\r\n return renderMultiSelect(questionsArr[currentQuestion]);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData) => {\r\n return (\r\n \r\n
    \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {`${renderOptionInitial(index)}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData) => {\r\n return (\r\n \r\n
    \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n {`${renderOptionInitial(index)}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = (questionData) => {\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 const renderCurrentProgressValue = () => {\r\n let progressValue = currentQuestion + 1;\r\n return progressValue.toString();\r\n };\r\n\r\n const renderMaxValue = () => {\r\n let totalQuestions = 0;\r\n if (testResultQuestionsDetails.length) {\r\n totalQuestions = testResultQuestionsDetails.length;\r\n }\r\n return totalQuestions.toString();\r\n };\r\n\r\n const renderCurrentQuestionNumber = () => {\r\n return currentQuestion + 1;\r\n };\r\n\r\n const renderTotalQuestionsNumber = () => {\r\n let totalQuestions;\r\n if (testResultQuestionsDetails.length) {\r\n totalQuestions = testResultQuestionsDetails.length;\r\n }\r\n return totalQuestions;\r\n };\r\n\r\n const renderQuestionText = () => {\r\n if (testResultQuestionsDetails.length) {\r\n let questionsArr = testResultQuestionsDetails;\r\n return { __html: questionsArr[currentQuestion].q_text };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderSolutionText = () => {\r\n if (testResultQuestionsDetails.length) {\r\n let questionsArr = testResultQuestionsDetails;\r\n return { __html: questionsArr[currentQuestion].solution };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleWrapperColor = (element) => {\r\n if (element.is_correct && element.is_user_correct_ans) {\r\n return {\r\n backgroundColor: \"#edfeed\",\r\n border: \"2px solid #48ef4c\",\r\n };\r\n } else if (element.is_correct) {\r\n return {\r\n backgroundColor: \"#edfeed\",\r\n border: \"2px solid #48ef4c\",\r\n };\r\n } else if (!element.is_correct && element.is_user_correct_ans) {\r\n return {\r\n backgroundColor: \"#d4b9ba\",\r\n border: \"2px solid #a02b2d\",\r\n };\r\n }\r\n };\r\n\r\n const handleOptionInitialColor = (element) => {\r\n if (element.is_correct && element.is_user_correct_ans) {\r\n return {\r\n color: \"#48ef4c\",\r\n };\r\n } else if (element.is_correct) {\r\n return {\r\n color: \"#48ef4c\",\r\n };\r\n } else if (!element.is_correct && element.is_user_correct_ans) {\r\n return {\r\n color: \"#a02b2d\",\r\n };\r\n }\r\n };\r\n const handleOptionFinalColor = (element) => {\r\n if (element.is_correct && element.is_user_correct_ans) {\r\n return {\r\n color: \"#48ef4c\",\r\n };\r\n } else if (element.is_correct) {\r\n return {\r\n color: \"#48ef4c\",\r\n };\r\n } else if (!element.is_correct && element.is_user_correct_ans) {\r\n return {\r\n color: \"#a02b2d\",\r\n };\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testResultQuestionsDetails.length) {\r\n let questionsArr = testResultQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testResultQuestionsDetails.length) {\r\n let questionsArr = testResultQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Test Result

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Questions

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {testResultQuestionsDetails.length ? (\r\n testResultQuestionsDetails[currentQuestion].is_saved ? (\r\n handleSaved()}\r\n />\r\n ) : (\r\n handleSaved()}\r\n />\r\n )\r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {`Sub-Topic: ${handleSubTopicText()}`}

    \r\n
    \r\n
    \r\n

    {`Question Type: ${handleQuestionType()}`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n
    {renderOptions()}
    \r\n\r\n
    \r\n
    \r\n

    Explanation:

    \r\n
    \r\n
    \r\n
    \r\n

    \r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TestResultQuestionsView;\r\n","import { Fragment } from \"react\";\r\n\r\n///////Canvas Chart//////////////////\r\nimport { CanvasJSChart } from \"canvasjs-react-charts\";\r\n\r\nconst CanvasDoughnutChart3 = (props) => {\r\n let { dataPoints } = props;\r\n const options = {\r\n animationEnabled: true,\r\n exportEnabled: true,\r\n theme: \"light2\", //\"light1\", \"dark1\", \"dark2\"\r\n backgroundColor: \"#F5F4F8\",\r\n height: 300,\r\n title: {\r\n text: \"\",\r\n },\r\n axisY: {\r\n includeZero: true,\r\n },\r\n axisX: {},\r\n data: [\r\n {\r\n type: \"column\", //change type to bar, line, area, pie, etc\r\n //indexLabel: \"{y}\", //Shows y value on all Data Points\r\n indexLabelFontColor: \"#5A5757\",\r\n indexLabelPlacement: \"outside\",\r\n dataPoints: [\r\n {\r\n label: \"Cut Off\",\r\n color: \"#668DE1\",\r\n y: Number(dataPoints.Cut_Off),\r\n },\r\n {\r\n label: \"You\",\r\n color: \"#31D680\",\r\n y: Number(dataPoints.User_Marks),\r\n },\r\n {\r\n label: \"Topper\",\r\n color: \"#FF933A\",\r\n y: Number(dataPoints.Topper_Marks),\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default CanvasDoughnutChart3;\r\n","import { React, useEffect, useState } from \"react\";\r\nimport \"./Test_summary_page.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport CanvasDoughnutChart from \"../../../../../../../components/canvas_charts/canvas_doughnut_chart/CanvasDoughnutChart3\";\r\n//\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport \"react-circular-progressbar/dist/styles.css\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { NavLink, Link } from \"react-router-dom\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\n\r\nconst Test_summary_page = (props) => {\r\n\r\n const [loader, setLoader] = useState(true);\r\n let history = useHistory();\r\n const location = useLocation();\r\n let sm = location?.state?.tab;\r\n let { reportDataDetails, handleBackBtn, start } = props;\r\n let paperId = reportDataDetails.PaperData;\r\n let totalMarkPr =\r\n (reportDataDetails.Marks / reportDataDetails.Total_Paper_Marks) * 100;\r\n let totalMark = totalMarkPr.toFixed(2);\r\n //\r\n const redirect = () => {\r\n history.push({\r\n pathname: \"/SubjectTopicWise\",\r\n state: {\r\n reportDataDetails,\r\n },\r\n });\r\n };\r\n const redirect2 = () => {\r\n history.push({\r\n pathname: \"/Attemted_Accuracy\",\r\n state: {\r\n reportDataDetails,\r\n },\r\n });\r\n };\r\n const redirect3 = () => {\r\n history.push({\r\n pathname: \"/DifficultyLevels\",\r\n state: {\r\n reportDataDetails,\r\n },\r\n });\r\n };\r\n const redirect4 = () => {\r\n history.push({\r\n pathname: \"/Behaviour\",\r\n state: {\r\n reportDataDetails,\r\n },\r\n });\r\n };\r\n const redirect5 = () => {\r\n // location.state ? (\r\n // history.push({\r\n // pathname: \"/Question_paper_solution\",\r\n // state: {\r\n // paperId,\r\n // },\r\n // })\r\n // ): (\r\n // alert(\"You can view the solution after 24 hrs. Please check that later.\")\r\n // )\r\n\r\n history.push({\r\n pathname: \"/Question_paper_solution\",\r\n state: {\r\n paperId,\r\n },\r\n });\r\n };\r\n \r\n \r\n useEffect(() => {\r\n setTimeout(() => {\r\n setLoader(false);\r\n }, 1500);\r\n }, []);\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n history.goBack()}\r\n // to={{\r\n // pathname:sm === \"pyq\" ? \"/pyq\" : \"/exam\",\r\n // state: { tab: sm === \"pyq\" ? \"pyq\" : \"exam\" },\r\n // }}\r\n >\r\n \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \"\"\r\n
    {reportDataDetails.Rank}
    \r\n Rank\r\n
    \r\n
    \r\n \"\"\r\n
    {reportDataDetails.Marks}
    \r\n Marks\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Score Percentage in all Subjects

    \r\n
    \r\n 100%\r\n
    \r\n
    \r\n \r\n {`${totalMark}%`}\r\n
    \r\n
    \r\n
    */}\r\n {/*
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Score Percentage in all Subjects

    \r\n
    \r\n 100%\r\n
    \r\n
    \r\n \r\n {`${totalMark}%`}\r\n
    \r\n
    \r\n
    */}\r\n \r\n
    \r\n
    \r\n
    \r\n
    Marks
    \r\n
    \r\n
    \r\n \r\n {reportDataDetails.Cut_Off}\r\n
    \r\n
    \r\n \r\n {reportDataDetails.User_Marks}\r\n
    \r\n
    \r\n \r\n {reportDataDetails.Topper_Marks}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n Subject & Topic Wise Marks\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    \r\n Attempt and Accuracy\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    \r\n Difficulty Levels\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    \r\n Behavior\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    \r\n Question Paper Sol.\r\n \r\n \"arrow\"\r\n \r\n
    \r\n {/*
    \r\n Detailed Report\r\n \r\n \"arrow\"\r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nexport default Test_summary_page;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./test_result_content_component.scss\";\r\n\r\n////\r\nimport TestResultReportView from \"./test_result_report_view/test_result_report_view\";\r\nimport TestResultQuestionsView from \"./test_result_questions_view/test_result_questions_view\";\r\nimport Test_summary_page from \"./test_summary_page/Test_summary_page\";\r\n\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_30,\r\n url_69,\r\n url_39,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst TestResultContentComponent = (props) => {\r\n let { history, testResultData, startLoading, finishLoading } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testResultDetails: {},\r\n reportDataDetails: {},\r\n testResultQuestionsDetails: [],\r\n currentQuestion: 0,\r\n });\r\n useEffect(() => {\r\n getTestResultDetails();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (\r\n !isEmpty(state.testResultDetails) &&\r\n isEmpty(state.reportDataDetails) &&\r\n state.step === 1\r\n ) {\r\n getReport();\r\n }\r\n }, [state.testResultDetails]);\r\n\r\n useEffect(() => {\r\n if (!isEmpty(state.testResultDetails) && state.step === 2) {\r\n getTestResultQuestionsDetails();\r\n }\r\n }, [state.step]);\r\n\r\n const getTestResultDetails = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testResultDetails: testResultData,\r\n }));\r\n };\r\n\r\n const getReport = async () => {\r\n let testResultDetails = { ...state.testResultDetails };\r\n let data = {\r\n paper_id: testResultDetails.paper_id,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_69, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n reportDataDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestResultQuestionsDetails = async () => {\r\n let testResultDetails = { ...state.testResultDetails };\r\n\r\n let data = {\r\n paper_id: testResultDetails.paper_id,\r\n paper_format_id: testResultDetails.paper_format_id,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_30, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testResultQuestionsDetails: response.data.data,\r\n }));\r\n finishLoading();\r\n } else {\r\n finishLoading();\r\n alert(response.data.message);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n alert(\"Something went wrong!!!\");\r\n }\r\n };\r\n\r\n const handleNextBtn = () => {\r\n let currentQuestion = state.currentQuestion;\r\n let testResultQuestionsDetails = [...state.testResultQuestionsDetails];\r\n\r\n if (testResultQuestionsDetails.length === currentQuestion + 1) {\r\n history.goBack();\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const viewSolutions = () => {\r\n setState((prevState) => ({ ...prevState, step: 2 }));\r\n };\r\n\r\n const viewReport = () => {\r\n setState((prevState) => ({ ...prevState, step: 1 }));\r\n };\r\n\r\n const handleBackBtn = () => {\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n };\r\n\r\n const handleSaved = () => {\r\n let { currentQuestion, testResultQuestionsDetails } = state;\r\n\r\n testResultQuestionsDetails[currentQuestion].is_saved =\r\n !testResultQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testResultQuestionsDetails }));\r\n if (testResultQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testResultQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testResultQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n bookmarkApi(data);\r\n }\r\n };\r\n\r\n const bookmarkApi = async (data) => {\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testResultData: state.userTestsExercisesData.testResultData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TestResultContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_result_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n////////\r\nimport HeaderComponent from \"../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport TestResultContentComponent from \"./test_result_content_component/test_result_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst TestResultComponent = (props) => {\r\n let { history, loader,userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TestResultComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_instructions_view.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty} from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { NavLink, Link } from \"react-router-dom\";\r\n\r\nconst TestInstructionsView = (props) => {\r\n let { testDetails, testSectionsDetails, startBtn, handleRedirectBtn } = props;\r\n console.log(testDetails.paper_name)\r\n function testTime(minutes) {\r\n var h = Math.floor(minutes / 60);\r\n var m = minutes % 60;\r\n h = h < 10 ? \"0\" + h : h;\r\n m = m < 10 ? \"0\" + m : m;\r\n return h + \":\" + m + \" hrs\";\r\n }\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    {testDetails.paper_name}
    \r\n {/*
    Exam Topic
    */}\r\n
    \r\n Duration :\r\n {!isEmpty(testDetails)\r\n ? `${testTime(testDetails.duration_mins)}`\r\n : null}\r\n
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n
    \r\n \r\n
    \r\n

    This Section contains a set of questions for practice

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TestInstructionsView;\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport \"./test_questions_view.scss\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport images from \"../.././../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\n\r\nconst TestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentQuestionDetails,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n subjecSectiontWiseTestQuestions,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n selectedSubject,\r\n selectedSection,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n handleShow,\r\n handleClose,\r\n show,\r\n setState,\r\n } = props;\r\n\r\n useEffect(() => {\r\n if (\r\n countDownTimer.hours == 0 &&\r\n countDownTimer.minutes == 0 &&\r\n countDownTimer.seconds == 0\r\n ) {\r\n alert(\"Time is up. Your test will be auto submitted\");\r\n handleSubmitTest(currentQuestionDetails);\r\n }\r\n }, [countDownTimer.seconds]);\r\n\r\n const [isList, setisList] = useState(true);\r\n\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n const [lang, setLang] = useState(true);\r\n\r\n useMathjax(currentQuestionDetails, lang);\r\n useMathjax(currentQuestionDetails, isList);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n // condition for Report Error modal submit button\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n //function for getting options Data from api\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n console.log(\"response in pyq test\", response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n // for report error modal\r\n const [showError, setShowError] = useState(false);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n const switchLanguage = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n lang: !prevState.lang,\r\n }));\r\n };\r\n\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n let step;\r\n let type = currentQuestionDetails?.answer_type.toLowerCase();\r\n\r\n if (type === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 2:\r\n return renderInputField(currentQuestion, lang);\r\n case 3:\r\n return renderMultiSelect(currentQuestionDetails, currentQuestion, lang);\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (\r\n questionData.option_hindi !== undefined &&\r\n questionData.option_hindi !== null &&\r\n questionData?.option_hindi?.length > 0\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option_hindi?.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else {\r\n switchLanguage();\r\n questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n });\r\n }\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 1) {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (\r\n lang == false &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 2) {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    \r\n {`${renderOptionInitial(index)}.`}\r\n

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n handleInputFieldChange(event)}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestion = () => {\r\n if (lang) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(currentQuestionDetails?.q_text_hindi)) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n return (\r\n

    \r\n );\r\n }\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}`}
    \r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n\r\n {\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n handleSubmitTest(currentQuestionDetails)\r\n }\r\n >\r\n Submit\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n alt=\"bookmarkbtn\"\r\n />\r\n ) : (\r\n handleReview()}\r\n alt=\"bookmarkbtn\"\r\n />\r\n )}\r\n
    \r\n\r\n {currentQuestionDetails.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Select Subject:\r\n

    \r\n
    \r\n {Object.keys(subjecSectiontWiseTestQuestions).map(\r\n (subjectName, index) => {\r\n return (\r\n \r\n \r\n handleSubjectChange(subjectName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Change Section:\r\n

    \r\n
    \r\n {selectedSubject &&\r\n Object.keys(\r\n subjecSectiontWiseTestQuestions[selectedSubject]\r\n ).map((sectionName, index) => {\r\n return (\r\n \r\n \r\n handleSectionChange(sectionName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n

    \r\n Question type:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion].answer_type}\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {`Question ${Number(currentQuestion) + 1}.`}\r\n \r\n\r\n
    {renderQuestion()}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestionDetails !== null &&\r\n currentQuestionDetails.option !== undefined\r\n ? renderOptions(currentQuestionDetails, lang)\r\n : \"\"}\r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect\r\n or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(\r\n currentQuestion - 1\r\n );\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length ===\r\n currentQuestion + 1 ? (\r\n
    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n handleReview()}\r\n >\r\n Mark for review\r\n \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n scrollUp();\r\n }}\r\n >\r\n Save & Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n\r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default TestQuestionsView;\r\n","export const SET_PYQ_TESTS_DATA = \"SET_PYQ_TESTS_DATA\";\r\nexport const SET_PYQ_TESTS_RESULT_DATA = \"SET_PYQ_TESTS_RESULT_DATA\";\r\nexport const SET_PYQ_JEE_MAINS_OR_ADVANCED = \"SET_PYQ_JEE_MAINS_OR_ADVANCED\"\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setPyqTestsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_PYQ_TESTS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setPyqTestsResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_PYQ_TESTS_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setPyqJeeOrAdvance = (payload) => {\r\n return {\r\n type: actionTypes.SET_PYQ_JEE_MAINS_OR_ADVANCED,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n setPyqTestsData,\r\n setPyqJeeOrAdvance,\r\n setPyqTestsResultData,\r\n};\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./PYQ_test_content_component.scss\";\r\n///////\r\nimport TestInstructionsView from \"./test_instructions_view/test_instructions_view\";\r\nimport TestQuestionsView from \"./test_questions_view/test_questions_view\";\r\n//import Question_paper_solution from \"./Question_paper_solution/Question_paper_solution\";\r\nimport pyqActions from \"../../../../../../redux/pyq_test_exercises/action\";\r\nimport {\r\n url_29,\r\n url_80,\r\n url_81,\r\n url_39,\r\n url_82,\r\n url_76,\r\n url_77,\r\n url_142,\r\n url_175,\r\n url_174,\r\n url_143,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport CoinUsesModal from \"../../../../../../components/CoinUsesModal/CoinUsesModal\";\r\nimport RewardModal from \"../../../../../../components/RewardModal/RewardModal\";\r\n\r\nconst TestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n setPyqTestsResultData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testSectionsDetails: {},\r\n\r\n testQuestionsDetails: [],\r\n currentQuestionDetails: {},\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 3,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n earnedCoins: 0,\r\n coinPopup: false,\r\n reason: \"RewardModal\",\r\n coinDetailsPopup: false,\r\n coinUsesPoints: [],\r\n textResultData: {},\r\n });\r\n\r\n // console.log(\"state in pyyq test\", state);\r\n\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n\r\n //setSubject(subject);\r\n };\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n };\r\n\r\n // useEffect(() => {\r\n // subjectWiseData(state.testQuestionsDetails);\r\n // }, [state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n getTestSectionsDetails();\r\n coinUsesApi();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(state.testDetails.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n //duration is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestSectionsDetails = async () => {\r\n let data = {\r\n paper_id: testData.paper_id,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_29, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testSectionsDetails: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_80, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (paper_id, qid) => {\r\n // const headers = {\r\n // Authorization: `${tokenType} ${token}`,\r\n // };\r\n\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_142, data);\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data[0],\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n const subjectWiseData = (questions) => {\r\n const subjectSectionWiseData = {};\r\n for (let i = 0; i < questions.length; i++) {\r\n questions[i][\"matchIndex\"] = i;\r\n if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n [questions[i][\"section_name\"]]: [questions[i]],\r\n };\r\n } else if (\r\n subjectSectionWiseData[questions[i][\"subject\"]] &&\r\n !subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ]\r\n ) {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ] = [questions[i]];\r\n } else {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ].push(questions[i]);\r\n }\r\n }\r\n return subjectSectionWiseData;\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n //exitTimeCurrentOption\r\n const startBtn = async () => {\r\n //let lastOption = Number(localStorage.getItem(\"current\"));\r\n let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testSectionsDetails) && !isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n returnedResponse.data.apiData.data\r\n );\r\n if (returnedResponse.result) {\r\n getCurrentQuestionDetails(\r\n returnedResponse?.data?.apiData?.data?.[0]?.paper_id,\r\n returnedResponse.data.apiData.data?.[0]?.qid\r\n );\r\n\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n // element.q_text = element.q_text.replaceAll(\r\n // \"ckfinder\",\r\n // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n //\r\n // \"src=\\\"ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"src=\\\"/ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"/ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"./ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // ).replaceAll(\r\n // \"SRC= \\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n });\r\n let time = getNowTime();\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n //handleQuestionJump(lastOption);\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n const handlePreviousQuestionBtn = (cq) => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n handleSaveQuestion();\r\n\r\n window.scrollTo(0, 0);\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n }\r\n };\r\n\r\n const scrollUp = (currentQuestion) => {\r\n const questionElements = document.getElementsByClassName(\r\n \"single_question_number_wrapper\"\r\n );\r\n const spaceAtTop = 30; // Adjust the value as needed\r\n\r\n if (\r\n questionElements.length > 0 &&\r\n currentQuestion > 0 &&\r\n currentQuestion < questionElements.length\r\n ) {\r\n const targetElement = questionElements[currentQuestion - 1];\r\n const offsetTop = targetElement.offsetTop - spaceAtTop;\r\n const containerElement = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n containerElement.scrollTo({\r\n top: offsetTop,\r\n behavior: \"smooth\",\r\n });\r\n } else if (questionElements.length > 0 && currentQuestion === 0) {\r\n const containerElement = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n containerElement.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n };\r\n\r\n //save prticular question\r\n // const handleSaveQuestion = async () => {\r\n // let { currentQuestion, initialTime, testQuestionsDetails, testDetails } =\r\n // state;\r\n // let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n // let formatData =\r\n // testDetails.format ===\r\n // \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n // ? \"MAIN\"\r\n // : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n // ? \"NEET\"\r\n // : \"OTHER\";\r\n\r\n // let data = {};\r\n\r\n // if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n // data = {\r\n // negative_marks: crntQuestionDetail.negative_marks,\r\n // option_int: testQuestionsDetails[currentQuestion]?.integer_answer\r\n // ?.length\r\n // ? testQuestionsDetails[currentQuestion].integer_answer\r\n // : \"\",\r\n // paper_id: crntQuestionDetail.paper_id,\r\n // partial_marks: crntQuestionDetail.partial_marks,\r\n // positive_marks: crntQuestionDetail.positive_marks,\r\n // qid: crntQuestionDetail.qid,\r\n // subject: crntQuestionDetail.subject,\r\n // time: crntQuestionDetail.totalTimeTaken,\r\n // topic_name: crntQuestionDetail.topic_name,\r\n // toughness: crntQuestionDetail.toughness,\r\n // format: formatData,\r\n // section: crntQuestionDetail.section_name,\r\n // };\r\n // } else {\r\n // data = {\r\n // negative_marks: Number(crntQuestionDetail.negative_marks),\r\n\r\n // option_id: crntQuestionDetail.userAnswerCollection.length\r\n // ? crntQuestionDetail.userAnswerCollection\r\n // : [],\r\n // paper_id: crntQuestionDetail.paper_id,\r\n // partial_marks: Number(crntQuestionDetail.partial_marks),\r\n // positive_marks: Number(crntQuestionDetail.positive_marks),\r\n // qid: crntQuestionDetail.qid,\r\n // subject: crntQuestionDetail.subject,\r\n // time: crntQuestionDetail.totalTimeTaken,\r\n // topic_name: crntQuestionDetail.topic_name,\r\n // toughness: crntQuestionDetail.toughness,\r\n // format: formatData,\r\n // section: crntQuestionDetail.section_name,\r\n // };\r\n // }\r\n\r\n // console.log(\"dataaaaaa\", data);\r\n // startLoading();\r\n // const response = await axios.post(\r\n // \"https://learningtest.motion.ac.in/motioneducation/api/user/UserPYQDetails\",\r\n // data\r\n // );\r\n // console.log(\"handleSave\", response);\r\n // if (response.data.status === 200) {\r\n // finishLoading();\r\n // }\r\n // };\r\n\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails, testDetails } =\r\n state;\r\n console.log(\"testQuestionsDetails tesing\", testQuestionsDetails);\r\n\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n console.log(\"crntQuestionDetail tesing\", crntQuestionDetail);\r\n let formatData =\r\n testDetails.format ===\r\n \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let data = {};\r\n\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n option_int: testQuestionsDetails[currentQuestion]?.integer_answer\r\n ?.length\r\n ? testQuestionsDetails[currentQuestion].integer_answer\r\n : \"\",\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n } else {\r\n data = {\r\n // negative_marks: Number(crntQuestionDetail.negative_marks),\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n // option_int: testQuestionsDetails[currentQuestion]?.integer_answer\r\n // ?.length\r\n // ? testQuestionsDetails[currentQuestion].integer_answer\r\n // : \"\",\r\n option_id: crntQuestionDetail.userAnswerCollection.length\r\n ? crntQuestionDetail.userAnswerCollection\r\n : [],\r\n paper_id: crntQuestionDetail.paper_id,\r\n // partial_marks: Number(crntQuestionDetail.partial_marks),\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n // positive_marks: Number(crntQuestionDetail.positive_marks),\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n }\r\n\r\n console.log(\"dataaaaaa\", data);\r\n startLoading();\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserPYQDetailsNew\",\r\n data\r\n );\r\n console.log(\"handleSave\", response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n // const handleSaveQuestion = async () => {\r\n // // let data = {\r\n // // format: \"MAIN\",\r\n // // negative_marks: 1,\r\n // // option_id: 2485641,\r\n // // paper_id: 12482,\r\n // // qid: crntQuestionDetail.qid,\r\n // // subject: Mathst,\r\n // // time: 47,\r\n // // topic_name: \"JEE Main Extra Topic\",\r\n // // toughness: \"Medium\",\r\n // // partial_marks: 0,\r\n // // positive_marks: 4,\r\n // // section: \"Section A\",\r\n // // };\r\n\r\n // startLoading();\r\n // const response = await axios.post(url_82, data);\r\n // // const response = await axios.post(\r\n // // \"https://learningtest.motion.ac.in/motioneducation/api/user/UserPYQDetails?format=MAIN&negative_marks=1&option_id=[2485641]&paper_id=12482&qid=605203&time=47&positive_marks=4§ion=Section A&subject=Maths&topic_name=JEE Main Extra Topic&toughness=Medium&partial_marks=0\"\r\n // // );\r\n\r\n // // const response = await axios.post(\r\n // // \"https://learningtest.motion.ac.in/motioneducation/api/user/UserPYQDetails?format=MAIN&negative_marks=1&option_id=2487297&paper_id=12486&qid=605533&time=44&positive_marks=4§ion=Section A&subject=Maths&topic_name=DETERMINANT&toughness=Medium&partial_marks=0\"\r\n // // );\r\n\r\n // if (response.data.status === 200) {\r\n // finishLoading();\r\n // }\r\n // };\r\n\r\n const handleNextQuestionBtn = (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n ?.length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n // const reviewQuestion = async (currentQuestion) => {\r\n // const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n // let data = {\r\n // paper_id: paper_id,\r\n // reference_id: qid,\r\n // status: isAnswerGuessed ? 1 : 0,\r\n // type: 3,\r\n // };\r\n // const response = await axios.post(url_77, data);\r\n // };\r\n\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 6,\r\n };\r\n const response = await axios.post(url_39, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n bookmarkApi(data);\r\n }\r\n };\r\n\r\n const bookmarkApi = async (data) => {\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n const { testQuestionsDetails } = state;\r\n\r\n //handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[questionNumber].paper_id,\r\n testQuestionsDetails[questionNumber].qid\r\n );\r\n };\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const handleSubmitTest = async (currentQuestionDetails) => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let element = currentQuestionDetails;\r\n\r\n let questionArr = [];\r\n\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n setPyqTestsResultData(testDetails);\r\n handleClose();\r\n getPyqSummaryAndAddCoins();\r\n // history.push({\r\n // pathname: \"/pyq-summary\",\r\n // });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n // history.push(\"/user_exercise_test\");\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n // course_id: userPreference.courseDetails[0].course_id,\r\n // class_id: userPreference.classDetails.class_id,\r\n // batch_id: userPreference.batchDetails.batch_id,\r\n paper_id: testDetails.paper_id,\r\n // time: state.countDownTimer?.minutes,\r\n time: 84,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n };\r\n\r\n // let requestPayload = {\r\n // course_id: 36,\r\n // class_id: 2,\r\n // batch_id: 30,\r\n // paper_id: testDetails.paper_id,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n // };\r\n\r\n try {\r\n const response = await axios.post(url_81, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n const getPyqSummaryAndAddCoins = async () => {\r\n let data = {\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_143, data);\r\n if (response.data.status === 200) {\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n textResultData: response.data.data,\r\n };\r\n });\r\n console.log(\"resultData\", response.data.data);\r\n addCoinsOnSubmission(\r\n response.data.data.correct_answer,\r\n response.data.data.incorrect_answer\r\n );\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n const addCoinsOnSubmission = async (correct_ans, wrong_ans) => {\r\n const data = {\r\n type: \"Attending_PYQ\",\r\n wrong_ans: wrong_ans,\r\n correct_ans: correct_ans,\r\n paper_type: \"PYQ\",\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_174, data);\r\n console.log(\"response.data.coints\", response.data);\r\n if (response.data.status === 200) {\r\n if (response.data.data !== \"MCoins Already Credited...!\") {\r\n console.log(\r\n \"------------------------------------\",\r\n response.data.data.coins\r\n );\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n earnedCoins: response.data.data.coins,\r\n coinPopup: response.data.data.coins > 0 ? true : false,\r\n reason: response.data.data.description,\r\n };\r\n });\r\n if (response.data.data.coins === 0) {\r\n console.log(\r\n \"going inside of if response.data.data.coins === 0\",\r\n response.data.data.coins\r\n );\r\n console.log(\"coming inside of coins ===== 0\");\r\n history.push({\r\n pathname: \"/pyq-summary\",\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const coinUsesApi = async () => {\r\n try {\r\n const response = await axios.get(url_175);\r\n if (response.data.status === 200) {\r\n console.log(response.data);\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n coinUsesPoints: [...response.data.data],\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n // const closeRewardPopup = () => {\r\n // setState(prev => {\r\n // return {\r\n // ...prev,\r\n // coinPopup: false,\r\n // coinDetailsPopup: false,\r\n // }\r\n // })\r\n // }\r\n\r\n return (\r\n \r\n {\r\n history.push({ pathname: \"/pyq-summary\" });\r\n }}\r\n earnMoreHandler={() =>\r\n setState((prev) => {\r\n return { ...prev, coinDetailsPopup: true, coinPopup: false };\r\n })\r\n }\r\n earnedCoins={state.earnedCoins}\r\n reason={state.reason}\r\n />\r\n {\r\n history.push({ pathname: \"/pyq-summary\" });\r\n }}\r\n data={state.coinUsesPoints}\r\n />\r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.pyqTestsData.pyqTestData,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n\r\n setPyqTestsResultData: (payload) => {\r\n dispatch(pyqActions.setPyqTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./pyq_test_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n////////\r\nimport HeaderComponentTwo from \"../../../structure_components/desktop_screens/header_component/header_top/Header_top\";\r\nimport TestContentComponent from \"./test_content_component/test_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst TestComponent = (props) => {\r\n let { history, loader,userData } = props;\r\n \r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TestComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_instructions_view.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst TestInstructionsView = (props) => {\r\n let { testDetails, testSectionsDetails, startBtn, handleRedirectBtn, testInstructionData } = props; \r\n\r\n function testTime(minutes) {\r\n var h = Math.floor(minutes / 60);\r\n var m = minutes % 60;\r\n h = h < 10 ? \"0\" + h : h;\r\n m = m < 10 ? \"0\" + m : m;\r\n return h + \":\" + m + \" hrs\";\r\n }\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    {testDetails.topic_name}
    \r\n \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n

    {testInstructionData.Instructions}

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TestInstructionsView;\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport \"./test_questions_view.scss\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport images from \"../.././../../../../../utilities/images/images\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport useStopwatch from \"../../../../../../../hooks/useStopwatch\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\n\r\nconst TestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n currentQuestion,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleSaved,\r\n handleGuessedAnswer,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n subjecSectiontWiseTestQuestions,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n selectedSubject,\r\n selectedSection,\r\n checkQuestion,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n\r\n const {\r\n stopwatchText,\r\n updateTime,\r\n updateSolution,\r\n getClicked,\r\n solDisabled,\r\n showSolution,\r\n textInputSolution,\r\n } = useStopwatch(\r\n currentQuestion,\r\n testQuestionsDetails[currentQuestion].integer_answer\r\n );\r\n const [isList, setisList] = useState(true);\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n // condition for Report Error modal submit button\r\n\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n //function for getting options Data from api\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n // const scrollUp = () => {\r\n // var element = document.getElementsByClassName(\r\n // \"questions_serial_number_collection\"\r\n // )[0];\r\n // element.scrollTo({\r\n // top: `${(currentQuestion + 1) * 80}`,\r\n // behavior: \"smooth\",\r\n // });\r\n // };\r\n // const scrollUp2 = () => {\r\n // var element = document.getElementsByClassName(\r\n // \"questions_serial_number_collection\"\r\n // )[0];\r\n // element.scrollTo({\r\n // top: `${(currentQuestion + 1) * 80 - 160}`,\r\n // behavior: \"smooth\",\r\n // });\r\n // };\r\n\r\n // for submit modal\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n // for report error modal\r\n const [showError, setShowError] = useState(false);\r\n const handleCloseReportError = () => setShowError(false);\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [disabled1, setDisabled] = useState(false);\r\n\r\n useMathjax(currentQuestion, lang, getClicked());\r\n useMathjax(currentQuestion, isList, getClicked());\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n setDisabled(false);\r\n };\r\n const handleSolution = () => {\r\n setSol(false);\r\n //classEditor();\r\n };\r\n const disableSol = () => {\r\n setDisabled(true);\r\n };\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n if (currentQuestionDetails) {\r\n let step,\r\n type = currentQuestionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 2:\r\n return renderInputField(currentQuestionDetails, currentQuestion);\r\n case 3:\r\n return renderMultiSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, wc, optionId) => {\r\n if (!sol && Number(s) && getClicked()) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (\r\n !sol &&\r\n wc &&\r\n getClicked() &&\r\n wc.indexOf(Number(optionId)) > -1\r\n ) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n // const handlePurticularQuestion = () => {\r\n // scrollUp();\r\n // if (testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length) {\r\n // handleSolution();\r\n // }\r\n // };\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n const renderOptionInitial = (index) => {\r\n const alphabetArr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n return alphabetArr[index];\r\n };\r\n\r\n return (\r\n \r\n \r\n {questionData.option && questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n let optionText = element.option;\r\n\r\n if (\r\n !lang &&\r\n questionData.option_hindi &&\r\n questionData.option_hindi[index]\r\n ) {\r\n optionText =\r\n questionData.option_hindi[index].option || element.option;\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n // handleCurrentOption(element.option_id);\r\n // disableSol();\r\n showSolution(currentQuestion);\r\n }}\r\n />\r\n \r\n
    \r\n

    \r\n {`${renderOptionInitial(index)}.`}\r\n

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2, lang) => {\r\n const renderOptionInitial = (index) => {\r\n const alphabetArr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n return (\r\n \r\n \r\n {questionData.option && questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n let optionText = element.option;\r\n\r\n if (\r\n !lang &&\r\n questionData.option_hindi &&\r\n questionData.option_hindi.length > 0\r\n ) {\r\n const hindiOption = questionData.option_hindi[index];\r\n if (hindiOption && hindiOption.option) {\r\n optionText = hindiOption.option;\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n item.option_id === element.option_id\r\n )\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n // disableSol();\r\n showSolution(currentQuestion);\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = (currentQuestionDetails, currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n {\r\n handleInputFieldChange(event);\r\n textInputSolution(event.target.value);\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return {\r\n __html: lang\r\n ? questionsArr[currentQuestion].q_text\r\n : questionsArr[currentQuestion].q_text_hindi !== null\r\n ? questionsArr[currentQuestion].q_text_hindi\r\n : questionsArr[currentQuestion].q_text,\r\n };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n // const config = {\r\n // //loader: { load: [\"[tex]/html\"] },\r\n // loader: {\r\n // load: [\r\n // \"input/asciimath\",\r\n // \"output/chtml\",\r\n // \"ui/menu\",\r\n // \"[mml]/mml3\",\r\n // \"[tex]/html\",\r\n // ],\r\n // },\r\n // };\r\n\r\n const config = {\r\n \"fast-preview\": {\r\n disabled: true,\r\n },\r\n tex2jax: {\r\n inlineMath: [\r\n [\"$\", \"$\"],\r\n [\"\\\\(\", \"\\\\)\"],\r\n ],\r\n displayMath: [\r\n [\"$$\", \"$$\"],\r\n [\"\\\\[\", \"\\\\]\"],\r\n ],\r\n },\r\n messageStyle: \"none\",\r\n };\r\n\r\n const renderSolutions = (currentQuestionDetails) => {\r\n let solutionText = currentQuestionDetails.sol_text;\r\n let solutionHeading = \"Solution :\";\r\n\r\n if (!lang && currentQuestionDetails.sol_text_hindi) {\r\n const hindiSolutionText = currentQuestionDetails.sol_text_hindi;\r\n const hindiSolutionHeading = \"समाधान :\";\r\n\r\n const isHindiSolutionEmpty =\r\n !hindiSolutionText.trim() || hindiSolutionText.includes(\"\");\r\n\r\n if (!isHindiSolutionEmpty) {\r\n solutionText = hindiSolutionText;\r\n solutionHeading = hindiSolutionHeading;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {getClicked() && (\r\n <>\r\n

    {solutionHeading}

    \r\n

    \r\n {renderVideo(currentQuestionDetails)}\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true, \"userId\": \"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // Jump to a particular time\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n // Handle message event for receiving video timing details\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimingDetails\",\r\n JSON.stringify(videoTimingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const renderVideo = (currentQuestionDetails) => {\r\n const videoId = currentQuestionDetails?.video_id_english;\r\n const hindiVideoId = currentQuestionDetails?.video_id_hindi;\r\n\r\n const isHindi = !lang && hindiVideoId;\r\n\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n\r\n // const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n // const isIframe = urlPattern.test(selectedVideoId);\r\n\r\n // const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (selectedVideoId && selectedVideoId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n {/* \r\n {videoShow && isIframe ? (\r\n \r\n ) : null} */}\r\n {videoShow && (\r\n \r\n )}\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderParagraphQuestion = () => {\r\n const { p_text, p_text_hindi } = currentQuestionDetails || {};\r\n const isImage = p_text && p_text.includes(\" tags\r\n const mfencedRegex = /]>(.?)<\\/mfenced>/g;\r\n\r\n // Function to replace with brackets\r\n const replaceMfenced = (match, content) => {\r\n return `[${content}]`;\r\n };\r\n\r\n let content = p_text;\r\n\r\n if (hasMfenced) {\r\n // Replace tags with brackets\r\n content = content.replace(mfencedRegex, replaceMfenced);\r\n }\r\n\r\n if (lang) {\r\n return (\r\n
    \r\n {/* {content && (\r\n

    \r\n )} */}\r\n\r\n {p_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n if (p_text_hindi && p_text_hindi.trim().length > 0) {\r\n return (\r\n
    \r\n {p_text_hindi && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {p_text && (\r\n

    \r\n )}\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderSingleQuestion = () => {\r\n const { q_text, q_text_hindi } = currentQuestionDetails || {}; // Destructure with default empty object\r\n const isImage = q_text && q_text.includes(\"]+src=\"?([^\"\\s]+)\"?\\s*\\/>/g;\r\n const match = imgTagRegex.exec(q_text);\r\n if (match && match[1]) {\r\n imageSrc = match[1];\r\n }\r\n }\r\n\r\n if (lang) {\r\n return (\r\n
    \r\n {q_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(q_text_hindi)) {\r\n return (\r\n
    \r\n {q_text_hindi && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {q_text && (\r\n

    \r\n )}\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n\r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n

    {`Sub-Topic: ${handleSubTopicText()}`}

    \r\n
    \r\n
    \r\n

    {`Question Type: ${handleQuestionType()}`}

    \r\n
    \r\n
    */}\r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit. \r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    */}\r\n
    \r\n {/*

    Exam Test

    */}\r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n \r\n {stopwatchText}\r\n \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n {/*
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    */}\r\n\r\n {currentQuestionDetails.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {/* */}\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Select Subject:\r\n

    \r\n
    \r\n {Object.keys(subjecSectiontWiseTestQuestions).map(\r\n (subjectName, index) => {\r\n return (\r\n
    \r\n \r\n handleSubjectChange(subjectName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n Select Section:\r\n

    \r\n
    \r\n {selectedSubject &&\r\n Object.keys(\r\n subjecSectiontWiseTestQuestions[selectedSubject]\r\n ).map((sectionName, index) => {\r\n return (\r\n
    \r\n \r\n handleSectionChange(sectionName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n Question type:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion].answer_type}\r\n \r\n

    \r\n {!isEmpty(\r\n testQuestionsDetails[currentQuestion].exam_year\r\n ) && (\r\n
    \r\n {testQuestionsDetails[currentQuestion].exam_year}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n Question type:{\" \"}\r\n {testQuestionsDetails[currentQuestion].answer_type}\r\n \r\n \r\n {stopwatchText}\r\n \r\n
    \r\n \r\n Year: \r\n \r\n {\" \"}\r\n {\r\n testQuestionsDetails[currentQuestion]\r\n .exam_year\r\n }\r\n \r\n
    \r\n
    \r\n Mark For Review\r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .q_text_hindi ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    */}\r\n
    \r\n \r\n {`Question ${Number(currentQuestion) + 1}.`}\r\n \r\n
    \r\n {renderParagraphQuestion()}\r\n {renderSingleQuestion()}\r\n
    \r\n\r\n {/* {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null} */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestionDetails !== null &&\r\n currentQuestionDetails.option !== undefined\r\n ? renderOptions(currentQuestionDetails, lang)\r\n : \"\"}\r\n {renderSolutions(currentQuestionDetails)}\r\n
    \r\n
    \r\n\r\n {/* toaster for successfull submission of Report error */}\r\n\r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect\r\n or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n
    \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n updateTime();\r\n handlePreviousQuestionBtn(\r\n currentQuestion - 1\r\n );\r\n // handlePurticularQuestion();\r\n scrollUp2();\r\n setVideoShow(false);\r\n showSolution(currentQuestion - 1);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length ===\r\n currentQuestion + 1 ? (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n updateTime();\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n // handleSol();\r\n scrollUp();\r\n setVideoShow(false);\r\n showSolution(currentQuestion + 1);\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n {/* \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    */}\r\n\r\n {/*
    \r\n {!sol ? (\r\n
    \r\n

    \r\n

    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    */}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {/*

    All Questions

    */}\r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {/*
    \r\n \r\n \r\n
    */}\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {/* {renderQuestionLabel(element, index)} */}\r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n {/*
    \r\n {subjecSectiontWiseTestQuestions[selectedSubject][\r\n selectedSection\r\n ]\r\n ? subjecSectiontWiseTestQuestions[selectedSubject][\r\n selectedSection\r\n ].map((element, index) => {\r\n return (\r\n \r\n {renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default TestQuestionsView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./test_content_component.scss\";\r\n\r\n///////\r\nimport TestInstructionsView from \"./test_instructions_view/test_instructions_view\";\r\nimport TestQuestionsView from \"./test_questions_view/test_questions_view\";\r\n//import Question_paper_solution from \"./Question_paper_solution/Question_paper_solution\";\r\nimport userTestsExercisesAction from \"../../../../../../redux/user_tests_exercises/action\";\r\nimport {\r\n url_85,\r\n url_29,\r\n url_86,\r\n url_81,\r\n url_87,\r\n url_77,\r\n url_39,\r\n url_212,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst TestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n setUserTestsResultData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n jeeMainOrAdvance,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testInstructionData: {},\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n currentQuestionDetails: {},\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n });\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n //setSubject(subject);\r\n };\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n };\r\n\r\n // useEffect(() => {\r\n // subjectWiseData(state.testQuestionsDetails);\r\n // }, [state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n getTestSectionsDetails();\r\n getinstructionDetail();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(testData.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n //duration is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n //getinstructionDetail\r\n const getinstructionDetail = async () => {\r\n const data = {\r\n topic_name: testData.topic_name,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_85, data);\r\n setState((preState) => ({\r\n ...preState,\r\n testInstructionData: response.data.data,\r\n }));\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (paper_id, qid) => {\r\n // const headers = {\r\n // Authorization: `${tokenType} ${token}`,\r\n // };\r\n\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_212, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestSectionsDetails = async () => {\r\n let data = {\r\n paper_id: testData.paper_id,\r\n };\r\n\r\n //startLoading();\r\n try {\r\n const response = await axios.post(url_29, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testSectionsDetails: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n topic: testDetails.topic_name,\r\n format: userPreference?.targetDetails[0].target_id == 3 ? \r\n \"neet\" : jeeMainOrAdvance === \"jee-mains\" ? \"main\" : \"adv\",\r\n\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_86, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const subjectWiseData = (questions) => {\r\n const subjectSectionWiseData = {};\r\n for (let i = 0; i < questions.length; i++) {\r\n questions[i][\"matchIndex\"] = i;\r\n if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n [questions[i][\"section_name\"]]: [questions[i]],\r\n };\r\n } else if (\r\n subjectSectionWiseData[questions[i][\"subject\"]] &&\r\n !subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ]\r\n ) {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ] = [questions[i]];\r\n } else {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ].push(questions[i]);\r\n }\r\n }\r\n return subjectSectionWiseData;\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n //exitTimeCurrentOption\r\n const startBtn = async () => {\r\n //let lastOption = Number(localStorage.getItem(\"current\"));\r\n let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n returnedResponse.data.apiData.data\r\n );\r\n if (returnedResponse.result) {\r\n getCurrentQuestionDetails(\r\n returnedResponse.data.apiData.data[0].paper_id,\r\n returnedResponse.data.apiData.data[0].qid\r\n );\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n // element.q_text = element.q_text.replaceAll(\r\n // \"ckfinder\",\r\n // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.sol_text = element.sol_text\r\n ?.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n ?.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n });\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n //handleQuestionJump(lastOption);\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n const handlePreviousQuestionBtn = (cq) => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n handleSaveQuestion();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n }\r\n };\r\n //save prticular question\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails, testDetails } =\r\n state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n option_id: crntQuestionDetail.userAnswerCollection[0]\r\n ? crntQuestionDetail.userAnswerCollection[0].option_id\r\n : crntQuestionDetail.answer_type == \"Integer Correct\"\r\n ? crntQuestionDetail.integer_answer\r\n : \"\",\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_87, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n currentQuestionDetails,\r\n testQuestionsDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n currentQuestionDetails.option.filter((m) => m.is_user_correct_ans).length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = {\r\n option_id: optionId,\r\n };\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element.option_id === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n let Obj = {\r\n option_id: optionId,\r\n };\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n Obj\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n if (\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ),\r\n 1\r\n );\r\n }\r\n } else {\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection\r\n .length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection.indexOf(optionId),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n // const reviewQuestion = async (currentQuestion) => {\r\n // const { paper_id,qid,isAnswerGuessed}=currentQuestion\r\n // let data = {\r\n // paper_id:paper_id,\r\n // reference_id:qid,\r\n // status:isAnswerGuessed?1:0,\r\n // type:3,\r\n // }\r\n // const response = await axios.post(url_77, data);\r\n\r\n // }\r\n\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 6,\r\n };\r\n const response = await axios.post(url_39, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 6, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n // bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 6, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n // bookmarkApi(data);\r\n }\r\n };\r\n\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n let { testQuestionsDetails } = state;\r\n\r\n handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[questionNumber].paper_id,\r\n testQuestionsDetails[questionNumber].qid\r\n );\r\n };\r\n\r\n const handleSubmitTest = async () => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let questionArr = [];\r\n\r\n testQuestionsDetails.forEach((element) => {\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n });\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n const { testQuestionsDetails, currentQuestion, countDownTimer } = state;\r\n\r\n let requestPayload = {\r\n // course_id: userPreference.courseDetails[0].course_id,\r\n // class_id: userPreference.classDetails.class_id,\r\n // batch_id: userPreference.batchDetails.batch_id,\r\n paper_id: testQuestionsDetails[currentQuestion].paper_id,\r\n // time: countDownTimer?.minutes,\r\n time: 84,\r\n\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n };\r\n\r\n // let requestPayload = {\r\n // course_id: 36,\r\n // class_id: 2,\r\n // batch_id: 30,\r\n // paper_id: testDetails.paper_id,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n // };\r\n\r\n try {\r\n const response = await axios.post(url_81, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.pyqTestsData.pyqTestData,\r\n userPreference: state.userPreference,\r\n jeeMainOrAdvance: state.pyqTestsData.jeeMainsOrAdvance,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUserTestsResultData: (payload) => {\r\n dispatch(userTestsExercisesAction.setUserTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./pyq_test_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n////////\r\nimport HeaderComponentTwo from \"../../../structure_components/desktop_screens/header_component/header_top/Header_top\";\r\nimport TestContentComponent from \"./test_content_component/test_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst TestComponent = (props) => {\r\n let { history, loader ,userData} = props;\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TestComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_instructions_view.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { NavLink, Link } from \"react-router-dom\";\r\n\r\nconst TestInstructionsView = (props) => {\r\n let { testDetails, testSectionsDetails, startBtn, handleRedirectBtn } = props;\r\n\r\n\r\n // function testTime(minutes) {\r\n // var h = Math.floor(minutes / 60);\r\n // var m = minutes % 60;\r\n // h = h < 10 ? \"0\" + h : h;\r\n // m = m < 10 ? \"0\" + m : m;\r\n // return h + \":\" + m + \" hrs\";\r\n // }\r\n\r\n \r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    {testDetails?.paper_name}
    \r\n \r\n {/*
    \r\n Duration :\r\n {!isEmpty(testDetails)\r\n ? `${testTime(testDetails.duration_mins)}`\r\n : null}\r\n
    */}\r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n
    \r\n \r\n
    \r\n

    This Section contains a set of questions for practice

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TestInstructionsView;\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import React, { Fragment, useState, useRef } from \"react\";\r\nimport \"./test_questions_view.scss\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport useStopwatch from \"../../../../../../../hooks/useStopwatch\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport axios from \"axios\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\n\r\nconst TestQuestionView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n selectedSubject,\r\n selectedSection,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n handleCurrentOption,\r\n subjecSectiontWiseTestQuestions,\r\n } = props;\r\n\r\n const {\r\n stopwatchText,\r\n updateTime,\r\n updateSolution,\r\n getClicked,\r\n solDisabled,\r\n showSolution,\r\n textInputSolution,\r\n } = useStopwatch(\r\n currentQuestion,\r\n testQuestionsDetails[currentQuestion].integer_answer,\r\n currentQuestionDetails\r\n );\r\n\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [showError, setShowError] = useState(false);\r\n const [isList, setisList] = useState(true);\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n useMathjax(currentQuestionDetails, lang, getClicked());\r\n useMathjax(currentQuestionDetails, isList, getClicked());\r\n\r\n const isDisable = saveReportErrorData.option_id.length === \"\" ? true : false;\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage(\"Your Report has Submitted Successfully\");\r\n setSaveReportErrorData({ option_id: \"\" });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n };\r\n const handleSolution = () => {\r\n setSol(false);\r\n setVideoShow(false);\r\n };\r\n\r\n const renderSolutionss = () => {\r\n let solutionText = currentQuestionDetails.sol_text;\r\n let solutionHeading = \"Solution :\";\r\n\r\n if (!lang && currentQuestionDetails.sol_text_hindi) {\r\n const hindiSolutionText = currentQuestionDetails.sol_text_hindi;\r\n const hindiSolutionHeading = \"समाधान :\";\r\n\r\n const isHindiSolutionEmpty =\r\n !hindiSolutionText.trim() || hindiSolutionText.includes(\"\");\r\n\r\n if (!isHindiSolutionEmpty) {\r\n solutionText = hindiSolutionText;\r\n solutionHeading = hindiSolutionHeading;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n {getClicked() && (\r\n <>\r\n

    {solutionHeading}

    \r\n

    \r\n {renderVideo(currentQuestionDetails)}\r\n \r\n )}\r\n \r\n );\r\n };\r\n\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n if (currentQuestionDetails) {\r\n let step,\r\n type = currentQuestionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 2:\r\n return renderInputField(currentQuestionDetails, currentQuestion);\r\n case 3:\r\n return renderMultiSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, wc, optionId) => {\r\n if (Number(s) && getClicked()) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (wc && getClicked() && wc.indexOf(Number(optionId)) > -1) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const handlePurticularQuestion3 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSol();\r\n } else {\r\n handleSolution();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n const renderOptionInitial = (index) => {\r\n const alphabetArr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n return alphabetArr[index];\r\n };\r\n\r\n return (\r\n \r\n \r\n {questionData.option && questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n let optionText = element.option;\r\n\r\n if (\r\n !lang &&\r\n questionData.option_hindi &&\r\n questionData.option_hindi[index]\r\n ) {\r\n optionText =\r\n questionData.option_hindi[index].option || element.option;\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n handleCurrentOption(element.option_id);\r\n showSolution(currentQuestion);\r\n }}\r\n />\r\n \r\n
    \r\n

    \r\n {`${renderOptionInitial(index)}.`}\r\n

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2, lang) => {\r\n const renderOptionInitial = (index) => {\r\n const alphabetArr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n return (\r\n \r\n \r\n {questionData.option && questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n let optionText = element.option;\r\n\r\n if (\r\n !lang &&\r\n questionData.option_hindi &&\r\n questionData.option_hindi.length > 0\r\n ) {\r\n const hindiOption = questionData.option_hindi[index];\r\n if (hindiOption && hindiOption.option) {\r\n optionText = hindiOption.option;\r\n }\r\n }\r\n\r\n return (\r\n
    \r\n item.option_id === element.option_id\r\n )\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n showSolution(currentQuestion);\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = (currentQuestionDetails, currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n {\r\n handleInputFieldChange(event);\r\n textInputSolution(event.target.value);\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion3(index);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else if (question.isAttempted) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n const { q_text, q_text_hindi } = question;\r\n const isTable = q_text.includes(\" {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion3(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else if (question.isAttempted) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n }\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true, \"userId\": \"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // Handle message event for receiving video timing details\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimingDetails\",\r\n JSON.stringify(videoTimingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const renderVideo = () => {\r\n const videoId = currentQuestionDetails?.video_id_english;\r\n const hindiVideoId = currentQuestionDetails?.video_id_hindi;\r\n\r\n const isHindi = !lang && hindiVideoId;\r\n\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const isIframe = urlPattern.test(selectedVideoId);\r\n\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (selectedVideoId && selectedVideoId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n\r\n {videoShow && isIframe ? (\r\n \r\n ) : null}\r\n {videoShow && !isIframe ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderSingleQuestion = () => {\r\n const { q_text, q_text_hindi } = currentQuestionDetails || {}; // Destructure with default empty object\r\n const isImage = q_text && q_text.includes(\"\r\n {q_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n \r\n );\r\n } else {\r\n if (ConvertStringToHTML(q_text_hindi)) {\r\n return (\r\n
    \r\n {q_text_hindi && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {q_text && (\r\n

    \r\n )}\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n\r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n \r\n {stopwatchText}\r\n \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n {currentQuestionDetails.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    \r\n Select Subject:\r\n

    \r\n
    \r\n {Object.keys(subjecSectiontWiseTestQuestions).map(\r\n (subjectName, index) => {\r\n return (\r\n
    \r\n {\r\n updateTime();\r\n handleSubjectChange(subjectName);\r\n handlePurticularQuestion2(index);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n Select Section:\r\n

    \r\n
    \r\n {selectedSubject &&\r\n Object.keys(\r\n subjecSectiontWiseTestQuestions[selectedSubject]\r\n ).map((sectionName, index) => {\r\n return (\r\n
    \r\n {\r\n updateTime();\r\n handleSectionChange(sectionName);\r\n handlePurticularQuestion2(index);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n

    \r\n Question type:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion].answer_type}\r\n \r\n

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {`Question ${Number(currentQuestion) + 1}.`}\r\n \r\n
    {renderSingleQuestion()}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestionDetails !== null &&\r\n currentQuestionDetails.option !== undefined\r\n ? renderOptions(currentQuestionDetails, lang)\r\n : \"\"}\r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n \r\n handleSubmitTest(currentQuestionDetails)\r\n }\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect\r\n or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n updateTime();\r\n handlePreviousQuestionBtn(\r\n currentQuestion - 1\r\n );\r\n showSolution(currentQuestion - 1);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {testQuestionsDetails.length ===\r\n currentQuestion + 1 ? (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n updateTime();\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n showSolution(currentQuestion + 1);\r\n scrollUp();\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n {renderSolutionss()}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {/* {renderQuestionLabel(element, index)}*/}\r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\nexport default TestQuestionView;\r\n","import { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport \"./PYQ_test_content_component.scss\";\r\n///////\r\nimport TestInstructionsView from \"./test_instructions_view/test_instructions_view\";\r\nimport TestQuestionsView from \"./test_questions_view/test_questions_view\";\r\nimport pyqActions from \"../../../../../../redux/pyq_test_exercises/action\";\r\nimport {\r\n url_81,\r\n url_39,\r\n url_77,\r\n url_174,\r\n url_175,\r\n url_143,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport RewardModal from \"../../../../../../components/RewardModal/RewardModal\";\r\nimport CoinUsesModal from \"../../../../../../components/CoinUsesModal/CoinUsesModal\";\r\n\r\nconst TestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n setPyqTestsResultData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testSectionsDetails: {},\r\n currentOptionId: null,\r\n testQuestionsDetails: [],\r\n currentQuestionDetails: {},\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n earnedCoins: 0,\r\n coinPopup: false,\r\n reason: \"RewardModal\",\r\n coinDetailsPopup: false,\r\n coinUsesPoints: [],\r\n textResultData: {},\r\n });\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n\r\n const questionsRef = useRef([]);\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n // setTimeout(() => {\r\n // scrollUp(currentQuestion);\r\n // }, 0);\r\n\r\n setTimeout(() => {\r\n scrollUp(currentQuestion, subject);\r\n }, 100);\r\n };\r\n\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n scrollUp(currentQuestion, section);\r\n };\r\n\r\n // useEffect(() => {\r\n // subjectWiseData(state.testQuestionsDetails);\r\n // }, [state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n getTestSectionsDetails();\r\n coinUsesApi();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(state.testDetails.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n //duration is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestSectionsDetails = async () => {\r\n let data = {\r\n paper_id: testData.paper_id,\r\n };\r\n\r\n startLoading();\r\n try {\r\n // const response = await axios.post(url_29, data);\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/pyqPaperInstructions\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testSectionsDetails: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n // const response = await axios.post(url_80, data);\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/pyqquestionlist\",\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (paper_id, qid) => {\r\n // const headers = {\r\n // Authorization: `${tokenType} ${token}`,\r\n // };\r\n\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/pyqsinglequestion\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleCurrentOption = (optionId) => {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n currentOptionId: optionId,\r\n };\r\n });\r\n };\r\n\r\n const subjectWiseData = (questions) => {\r\n const subjectSectionWiseData = {};\r\n for (let i = 0; i < questions.length; i++) {\r\n questions[i][\"matchIndex\"] = i;\r\n if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n [questions[i][\"section_name\"]]: [questions[i]],\r\n };\r\n } else if (\r\n subjectSectionWiseData[questions[i][\"subject\"]] &&\r\n !subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ]\r\n ) {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ] = [questions[i]];\r\n } else {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ].push(questions[i]);\r\n }\r\n }\r\n return subjectSectionWiseData;\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n\r\n const startBtn = async () => {\r\n //let lastOption = Number(localStorage.getItem(\"current\"));\r\n let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testSectionsDetails) && !isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n returnedResponse.data.apiData.data\r\n );\r\n if (returnedResponse.result) {\r\n getCurrentQuestionDetails(\r\n returnedResponse.data.apiData.data[0].paper_id,\r\n returnedResponse.data.apiData.data[0].qid\r\n );\r\n\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n // element.q_text = element.q_text.replaceAll(\r\n // \"ckfinder\",\r\n // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n //\r\n // \"src=\\\"ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"src=\\\"/ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"/ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"./ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // ).replaceAll(\r\n // \"SRC= \\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n });\r\n let time = getNowTime();\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n //handleQuestionJump(lastOption);\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n\r\n const handlePreviousQuestionBtn = (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].isAttempted ||\r\n currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n ?.length\r\n ) {\r\n testQuestionsDetails[currentQuestion - 1].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion - 1].isReview = true;\r\n }\r\n\r\n // let time = getNowTime();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n // initialTime: time,\r\n }));\r\n\r\n handleSaveQuestion();\r\n window.scrollTo(0, 0);\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n }\r\n };\r\n\r\n const scrollUp = (currentQuestion) => {\r\n const questionElements = document.getElementsByClassName(\r\n \"single_question_number_wrapper\"\r\n );\r\n const spaceAtTop = 30; // Adjust the value as needed\r\n\r\n if (\r\n questionElements.length > 0 &&\r\n currentQuestion > 0 &&\r\n currentQuestion < questionElements.length\r\n ) {\r\n const targetElement = questionElements[currentQuestion - 1];\r\n const offsetTop = targetElement.offsetTop - spaceAtTop;\r\n const containerElement = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n containerElement.scrollTo({\r\n top: offsetTop,\r\n behavior: \"smooth\",\r\n });\r\n } else if (questionElements.length > 0 && currentQuestion === 0) {\r\n const containerElement = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n containerElement.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n };\r\n\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails, testDetails } =\r\n state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let formatData =\r\n testDetails.format ===\r\n \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let data = {};\r\n\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n option_int: testQuestionsDetails[currentQuestion]?.integer_answer\r\n ?.length\r\n ? testQuestionsDetails[currentQuestion].integer_answer\r\n : \"\",\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n } else if (crntQuestionDetail.answer_type == \"Multiple Correct\") {\r\n data = {\r\n negative_marks: Number(crntQuestionDetail.negative_marks),\r\n option_id: crntQuestionDetail?.userAnswerCollection?.length\r\n ? crntQuestionDetail.userAnswerCollection.map((item) => ({\r\n option_id: item.option_id,\r\n }))\r\n : [],\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: Number(crntQuestionDetail.partial_marks),\r\n positive_marks: Number(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n } else {\r\n data = {\r\n negative_marks: Number(crntQuestionDetail.negative_marks),\r\n option_id: [state.currentOptionId],\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: Number(crntQuestionDetail.partial_marks),\r\n positive_marks: Number(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n }\r\n startLoading();\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserPYQDetailsNew\",\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n ?.length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = {\r\n option_id: optionId,\r\n };\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n Number(optionId);\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element.option_id === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n let Obj = {\r\n option_id: optionId,\r\n };\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n Obj\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n if (\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ),\r\n 1\r\n );\r\n }\r\n } else {\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection\r\n .length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection.indexOf(optionId),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n\r\n // Filter out any non-numeric characters\r\n value = value.replace(/[^0-9]/g, \"\");\r\n\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n // Update the integer_answer with the cleaned value\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 3,\r\n };\r\n const response = await axios.post(url_77, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n bookmarkApi(data);\r\n }\r\n };\r\n\r\n const bookmarkApi = async (data) => {\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n const { testQuestionsDetails } = state;\r\n\r\n //handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[questionNumber].paper_id,\r\n testQuestionsDetails[questionNumber].qid\r\n );\r\n };\r\n\r\n const handleSubmitTest = async (currentQuestionDetails) => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let element = currentQuestionDetails;\r\n\r\n let questionArr = [];\r\n\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n setPyqTestsResultData(testDetails);\r\n getPyqPracticeSummaryAndAddCoins();\r\n // history.push({\r\n // pathname: \"/pyq-summary\",\r\n // });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n // history.push(\"/user_exercise_test\");\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n // course_id: userPreference.courseDetails[0].course_id,\r\n // class_id: userPreference.classDetails.class_id,\r\n // batch_id: userPreference.batchDetails.batch_id,\r\n paper_id: testDetails.paper_id,\r\n // time: state.countDownTimer.minutes,\r\n time: 84,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n };\r\n\r\n // let requestPayload = {\r\n // course_id: 36,\r\n // class_id: 2,\r\n // batch_id: 30,\r\n // paper_id: testDetails.paper_id,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n // };\r\n\r\n try {\r\n const response = await axios.post(url_81, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n };\r\n\r\n const getPyqPracticeSummaryAndAddCoins = async () => {\r\n let data = {\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_143, data);\r\n if (response.data.status === 200) {\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n textResultData: response.data.data,\r\n };\r\n });\r\n console.log(\"resultData\", response.data.data);\r\n addCoinsOnSubmission(\r\n response.data.data.correct_answer,\r\n response.data.data.incorrect_answer\r\n );\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n const addCoinsOnSubmission = async (correct_ans, wrong_ans) => {\r\n const data = {\r\n type: \"Attending_PYQ\",\r\n wrong_ans: wrong_ans,\r\n correct_ans: correct_ans,\r\n paper_type: \"PYQ\",\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_174, data);\r\n if (response.data.status === 200) {\r\n if (response.data.data !== \"MCoins Already Credited...!\") {\r\n console.log(response.data);\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n earnedCoins: response.data.coins,\r\n coinPopup: response.data.coins > 0 ? true : false,\r\n reason: response.data.data.description,\r\n };\r\n });\r\n if (response.data.coins === 0) {\r\n history.push({\r\n pathname: \"/pyq-summary\",\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const coinUsesApi = async () => {\r\n try {\r\n const response = await axios.get(url_175);\r\n if (response.data.status === 200) {\r\n console.log(response.data.Uses);\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n coinUsesPoints: response.data.data,\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n {\r\n history.push({ pathname: \"/pyq-summary\" });\r\n }}\r\n earnMoreHandler={() =>\r\n setState((prev) => {\r\n return { ...prev, coinDetailsPopup: true, coinPopup: false };\r\n })\r\n }\r\n earnedCoins={state.earnedCoins}\r\n reason={state.reason}\r\n />\r\n {\r\n history.push({ pathname: \"/pyq-summary\" });\r\n }}\r\n data={state.coinUsesPoints}\r\n />\r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.pyqTestsData.pyqTestData,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n\r\n setPyqTestsResultData: (payload) => {\r\n dispatch(pyqActions.setPyqTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./pyq_test_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n////////\r\nimport HeaderComponentTwo from \"../../../structure_components/desktop_screens/header_component/header_top/Header_top\";\r\nimport TestContentComponent from \"./test_content_component/test_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst TestComponent = (props) => {\r\n let { history, loader, userData } = props;\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TestComponent);\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState } from \"react\";\r\n// import \"./Question_paper_solution.scss\";\r\nimport \"./PyqQuestionPaperSolutionContent.scss\";\r\n\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../.././../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport useMathjax from \"../../../../../../hooks/useMathjax\";\r\nimport { ReactComponent as List } from './list.svg'\r\nimport { ReactComponent as Grid } from './grid.svg'\r\nimport { ReactComponent as List1 } from './list1.svg'\r\nimport { ReactComponent as Grid1 } from './grid1.svg'\r\n\r\nconst PyqQuestionPaperSolutionContent = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentSolutionDetails,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userId,\r\n } = props;\r\n\r\n const [lang, setLang] = useState(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n const [isList,setisList] = useState(true);\r\n \r\n useMathjax(currentSolutionDetails, lang)\r\n useMathjax(currentSolutionDetails, isList)\r\n\r\n const renderOptions = (currentSolutionDetails, lang) => {\r\n if (currentSolutionDetails) {\r\n let step,\r\n type = currentSolutionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(currentSolutionDetails, lang);\r\n case 2:\r\n return renderInputField(currentSolutionDetails, lang);\r\n case 3:\r\n return renderMultiSelect(currentSolutionDetails, lang);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n } else if (lang == false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.q_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.q_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n const renderSolution = (currentSolutionDetails, lang) => {\r\n if (lang === true) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n } else if (lang === false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.sol_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true, \"userId\": \"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // Jump to a particular time\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n // Handle message event for receiving video timing details\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimingDetails\",\r\n JSON.stringify(videoTimingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const renderVideo = () => {\r\n const videoId = currentSolutionDetails?.video_id_english;\r\n const hindiVideoId = currentSolutionDetails?.video_id_hindi;\r\n\r\n const isHindi = !lang && hindiVideoId;\r\n\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const isIframe = urlPattern.test(selectedVideoId);\r\n\r\n // const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (selectedVideoId && selectedVideoId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n\r\n {videoShow && isIframe ? (\r\n \r\n ) : null}\r\n {videoShow && !isIframe ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n \r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n // const renderQuestionLabel = (question, index) => {\r\n // if (currentQuestion === index) {\r\n // return (\r\n // {\r\n // handleQuestionJump(index);\r\n // setVideoShow(false);\r\n // }}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // if (question.is_attempted === 1) {\r\n // return (\r\n // {\r\n // handleQuestionJump(index);\r\n // setVideoShow(false);\r\n // }}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else if (question.is_attempted === 0) {\r\n // return (\r\n // {\r\n // handleQuestionJump(index);\r\n // setVideoShow(false);\r\n // }}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // }\r\n // }\r\n // };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {handleQuestionJump(index); setVideoShow(false)}}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n
    \r\n
    \r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails?.length}\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n
    \r\n {currentSolutionDetails.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {/* */}\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*

    Test

    */}\r\n \r\n
    \r\n

    \r\n Question type:{\" \"}\r\n \r\n {currentSolutionDetails?.answer_type}\r\n \r\n

    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n Question type: {currentSolutionDetails?.answer_type}\r\n \r\n
    \r\n {ConvertStringToHTML(\r\n currentSolutionDetails?.q_text_hindi\r\n ) ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    */}\r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n\r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails !== undefined ? (\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails.option !== undefined\r\n ? renderOptions(currentSolutionDetails, lang)\r\n : \"\"}\r\n
    \r\n\r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n setVideoShow(false);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n setVideoShow(false);\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    Solution :
    \r\n
    \r\n

    \r\n {renderVideo()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails?.length\r\n ? testQuestionsDetails?.map((element, index) => {\r\n return (\r\n \r\n {isList ? renderQuestionLabel1(element, index) : renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default PyqQuestionPaperSolutionContent;\r\n","import { React, useState } from \"react\";\r\nimport PyqQuestionPaperSolutionContent from \"./PyqQuestionPaperSolutionContent\";\r\n\r\nimport {\r\n url_80,\r\n url_142,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\n\r\nimport { useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst PyqQuestionPaperSolution = (props) => {\r\n let { startLoading, finishLoading, loader, userData } = props;\r\n const [state, setState] = useState({\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n currentSolutionDetails: {},\r\n });\r\n useEffect(() => {\r\n getQuestionList();\r\n }, []);\r\n\r\n const location = useLocation();\r\n\r\n const getQuestionList = async () => {\r\n startLoading();\r\n let data = {\r\n //paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n paper_id: location.state.paperId.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_80, data);\r\n if (response.data.status === 200) {\r\n getCurrentSolutionDetails(\r\n response.data.data[state.currentQuestion].paper_id,\r\n response.data.data[state.currentQuestion].qid\r\n );\r\n\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n } finally {\r\n finishLoading();\r\n\r\n }\r\n };\r\n\r\n const getCurrentSolutionDetails = async (paper_id, qid) => {\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_142, data);\r\n\r\n if (response.data.status == 200) {\r\n finishLoading();\r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSolutionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n } finally{\r\n finishLoading();\r\n }\r\n };\r\n\r\n //nextBtn\r\n const handleNextQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n //previous btn\r\n const handlePreviousQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n //handleJump\r\n const handleQuestionJump = (questionNumber) => {\r\n const { paper_id, qid } = state.testQuestionsDetails[questionNumber];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n return (\r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(PyqQuestionPaperSolution);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./user_exercise_test_content_component.scss\";\r\n\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_61 } from \"../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport moment from \"moment\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport userTestsExercisesAction from \"../../../../redux/user_tests_exercises/action\";\r\nimport userActivityActions from \"../../../../redux/user_activity/action\";\r\n\r\nconst UserExerciseTestContentComponent = (props) => {\r\n let {\r\n history,\r\n userData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n setUserTestsData,\r\n setUserTestsResultData,\r\n setExerciseData,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n testType: 1,\r\n testsList: {},\r\n questionBankList: {},\r\n });\r\n useEffect(() => {\r\n getTestsList();\r\n }, [state.testType]);\r\n\r\n const getTestsList = async () => {\r\n let testType = state.testType;\r\n if (testType === 1) {\r\n getCompletedTestsList();\r\n } else if (testType === 2) {\r\n getUpcomingTestsList();\r\n } else if (testType === 3) {\r\n getAllTestsList();\r\n }\r\n };\r\n\r\n const getCompletedTestsList = async () => {\r\n let { courseDetails, classDetails, batchDetails } = userPreference;\r\n\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n batch_id: batchDetails.batch_id,\r\n test_type: 1,\r\n page: 1,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_61, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testsList: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getUpcomingTestsList = async () => {\r\n let { courseDetails, classDetails, batchDetails } = userPreference;\r\n\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n batch_id: batchDetails.batch_id,\r\n test_type: 2,\r\n page: 1,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_61, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testsList: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getAllTestsList = async () => {\r\n let { courseDetails, classDetails, batchDetails } = userPreference;\r\n\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n batch_id: batchDetails.batch_id,\r\n test_type: 3,\r\n page: 1,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_61, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testsList: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n const handleChangeTestType = (event) => {\r\n let { value } = event.target;\r\n\r\n switch (value) {\r\n case \"completed_tests\":\r\n setState((prevState) => ({ ...prevState, testType: 1 }));\r\n break;\r\n case \"upcoming_tests\":\r\n setState((prevState) => ({ ...prevState, testType: 2 }));\r\n break;\r\n case \"all_tests\":\r\n setState((prevState) => ({ ...prevState, testType: 3 }));\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n const handleStoreData = (testData) => {\r\n if (testData.is_attempt) {\r\n if (testData.view_sol_time) {\r\n setUserTestsResultData(testData);\r\n history.push(\"/Question_paper_solution\");\r\n // history.push(\"/test_result\");\r\n } else {\r\n alert(`Solutions will be shown after ${testData.view_solution}`);\r\n }\r\n } else {\r\n if (testData.paper_type.toLowerCase() === \"paid\") {\r\n alert(\"You have to purchase a plan from store\");\r\n history.push(\"/store\");\r\n } else {\r\n setUserTestsData(testData);\r\n history.push({\r\n pathname: \"/test\",\r\n state: testData,\r\n });\r\n }\r\n }\r\n };\r\n const renderTestType = () => {\r\n let testType = state.testType;\r\n // 1 for all tests\r\n // 2 for completed\r\n // 3 for upcoming\r\n\r\n switch (testType) {\r\n case 1:\r\n return renderCompletedTestsView();\r\n case 2:\r\n return renderUpcomingTestsView();\r\n case 3:\r\n return renderAllTestsView();\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderCompletedTestsView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.testsList)\r\n ? state.testsList.testlist.length\r\n ? state.testsList.testlist.map((element, index) => {\r\n //console.log(\"194\", element);\r\n return (\r\n handleStoreData(element)}\r\n >\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.paper_name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {element.paper_type.toLowerCase() === \"paid\" ? (\r\n \r\n ) : (\r\n
    \r\n {element.is_resume ? (\r\n \r\n ) : element.is_attempt ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderUpcomingTestsView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.testsList)\r\n ? state.testsList.testlist.length\r\n ? state.testsList.testlist.map((element, index) => {\r\n return (\r\n handleStoreData(element)}\r\n >\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.paper_name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {element.paper_type.toLowerCase() === \"paid\" ? (\r\n \r\n ) : (\r\n
    \r\n {element.is_resume ? (\r\n \r\n ) : element.is_attempt ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderAllTestsView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.testsList)\r\n ? state.testsList.testlist.length\r\n ? state.testsList.testlist.map((element, index) => {\r\n return (\r\n handleStoreData(element)}\r\n >\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.paper_name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {element.paper_type.toLowerCase() === \"paid\" ? (\r\n \r\n ) : (\r\n
    \r\n {element.is_resume ? (\r\n \r\n ) : element.is_attempt ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n const handleMoveForward = (details) => {\r\n // console.log(details);\r\n switch (details.qb_type) {\r\n case 1:\r\n details.redirectedFrom = \"question_bank\";\r\n details.exerciseType = \"Test\";\r\n setExerciseData(details);\r\n history.push(\"/evaluation\");\r\n break;\r\n case 2:\r\n details.redirectedFrom = \"question_bank\";\r\n details.exerciseType = \"Exercise\";\r\n setExerciseData(details);\r\n history.push(\"/evaluation\");\r\n break;\r\n case 3:\r\n details.redirectedFrom = \"question_bank\";\r\n details.exerciseType = \"DPP\";\r\n setExerciseData(details);\r\n history.push(\"/evaluation\");\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleChangeTestType(event)}\r\n checked={state.testType === 3}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeTestType(event)}\r\n checked={state.testType === 2}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeTestType(event)}\r\n checked={state.testType === 1}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderTestType()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUserTestsData: (payload) => {\r\n dispatch(userTestsExercisesAction.setUserTestsData(payload));\r\n },\r\n setUserTestsResultData: (payload) => {\r\n dispatch(userTestsExercisesAction.setUserTestsResultData(payload));\r\n },\r\n setExerciseData: (payload) => {\r\n dispatch(userActivityActions.setExerciseData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(UserExerciseTestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./user_exercise_test.scss\";\r\n\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserExerciseTestContentComponent from \"./user_exercise_test_content_component/user_exercise_test_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst UserExerciseTest = (props) => {\r\n let { history, loader, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserExerciseTest);\r\n","export const SET_DAY = \"SET_DAY\";\r\nexport const SET_SUBJECT = \"SET_SUBJECT\";\r\nexport const SET_QUESTIONS_LIST = \"SET_QUESTIONS_LIST\";\r\nexport const SET_PYQ_TESTS_RESULT_DATA = \"SET_PYQ_TESTS_RESULT_DATA\";","import * as actionTypes from \"./action_type\";\r\n\r\n const setDay = (payload) => {\r\n return { type: actionTypes.SET_DAY, payload};\r\n};\r\n\r\nconst setSubject = (payload) => {\r\n console.log(\"setSubject action calling >>>>>>>>\", payload)\r\n return { type: actionTypes.SET_SUBJECT, payload};\r\n};\r\n\r\nconst setQuestionsList = (payload) => {\r\n return {\r\n type: actionTypes.SET_QUESTIONS_LIST,\r\n payload,\r\n };\r\n};\r\n\r\nconst setPyqTestsResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_PYQ_TESTS_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n setDay,\r\n setSubject,\r\n setQuestionsList,\r\n setPyqTestsResultData,\r\n}\r\n","import { useCallback, useEffect, useState } from \"react\";\r\nimport \"./Previous_question_paper.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_79,\r\n url_83,\r\n url_105,\r\n url_205,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport userPyqTestsAction from \"../../../../../../redux/pyq_test_exercises/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\nimport PyqDailyChallengeActions from \"../../../../../../redux/pyq_daily_challenge/action\";\r\n\r\nconst Previous_question_paper = (props) => {\r\n let {\r\n userPreference,\r\n setPyqTopicData,\r\n setPyqTestsData,\r\n setPyqTestsResultData,\r\n setPyqJeeOrAdvance,\r\n startLoading,\r\n finishLoading,\r\n token,\r\n tokenType,\r\n setDay,\r\n } = props;\r\n\r\n let { targetDetails } = userPreference;\r\n let history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n pyqPaperList: {},\r\n topicSubjectList: {},\r\n yearList: [],\r\n selectedYear: null,\r\n filterFlag: true,\r\n mainsAdvFlag: \"jee-mains\",\r\n daysListArr: [],\r\n });\r\n\r\n const pyqSubjectTopics = (elem) => {\r\n setPyqTopicData({ subId: elem.sub_id, subName: elem.sub_name });\r\n setPyqJeeOrAdvance(state.mainsAdvFlag);\r\n history.push(\"/Pyq_subjectTopic\");\r\n };\r\n\r\n const pyqDailyChallenge = (day) => {\r\n setDay(day);\r\n history.push(\"/Pyq_dailyChallenge\");\r\n };\r\n\r\n const onHandleTakeTest = (testData) => {\r\n if (!testData.is_attempt) {\r\n if (testData.paper_type.toLowerCase() === \"paid\") {\r\n alert(\"You have to purchase a plan from store\");\r\n history.push(\"/store\");\r\n } else {\r\n setPyqTestsData(testData);\r\n history.push(\"/PYQ_Test\");\r\n }\r\n }\r\n };\r\n\r\n const onHandleTakeTest2 = (testData) => {\r\n if (!testData.is_attempt) {\r\n if (testData.paper_type.toLowerCase() === \"paid\") {\r\n alert(\"You have to purchase a plan from store\");\r\n history.push(\"/store\");\r\n } else {\r\n setPyqTestsData(testData);\r\n history.push(\"/PYQ_Practice_Test\");\r\n }\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n const scrollToTop = () => {\r\n window.scrollTo(10, 10);\r\n };\r\n\r\n requestAnimationFrame(scrollToTop);\r\n }, []);\r\n\r\n const onHandleSummary = (testData) => {\r\n setPyqTestsResultData(testData);\r\n history.push(\"/pyq-summary\");\r\n };\r\n\r\n const getResponse = () => {\r\n getTopicSubjectList();\r\n setState((prevState) => ({\r\n ...prevState,\r\n filterFlag: false,\r\n }));\r\n };\r\n\r\n const getPyqDaysList = useCallback(async () => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n try {\r\n const response = await axios.post(url_205, {}, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n daysListArr: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }, [tokenType, token, finishLoading, startLoading]);\r\n\r\n const getPyqPaperList = useCallback(\r\n async (year) => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_79, { year });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n if (targetDetails[0].target_id === \"2\") {\r\n let filteredArray = [];\r\n\r\n for (let i = 0; i < response.data.data.length; i++) {\r\n if (\r\n state.mainsAdvFlag === \"jee-mains\" &&\r\n response.data.data[i].format.toLowerCase().includes(\"main\")\r\n ) {\r\n filteredArray.push(response.data.data[i]);\r\n } else if (\r\n state.mainsAdvFlag === \"jee-adv\" &&\r\n response.data.data[i].format.toLowerCase().includes(\"adv\")\r\n ) {\r\n filteredArray.push(response.data.data[i]);\r\n }\r\n }\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n pyqPaperList: filteredArray,\r\n }));\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n pyqPaperList: response.data.data,\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n },\r\n [state.mainsAdvFlag, targetDetails, finishLoading, startLoading]\r\n );\r\n\r\n const getTopicSubjectList = useCallback(async () => {\r\n let { courseDetails, classDetails } = userPreference;\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_83, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicSubjectList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }, [userPreference, finishLoading, startLoading]);\r\n\r\n const getYearList = useCallback(async () => {\r\n try {\r\n const response = await axios.post(url_105);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n yearList: [...response.data.data.reverse()],\r\n selectedYear: response.data.data[0]?.year,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n }, [finishLoading]);\r\n\r\n const handleSelectedYear = (event) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedYear: event.target.value,\r\n }));\r\n };\r\n useEffect(() => {\r\n const fetchData = async () => {\r\n await getPyqPaperList(state.selectedYear);\r\n };\r\n\r\n fetchData();\r\n }, [getPyqPaperList, state.selectedYear]);\r\n\r\n const renderPyqFilter = () => {\r\n if (state.filterFlag === true) {\r\n return (\r\n
    \r\n \r\n {!isEmpty(state.yearList)\r\n ? state.yearList.length\r\n ? state.yearList.map((element) => (\r\n \r\n ))\r\n : null\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const handleFilterFlag = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n filterFlag: true,\r\n }));\r\n };\r\n\r\n const jeeMainsAndAdv = () => {\r\n return (\r\n
    \r\n
    \r\n \r\n setState((prev) => ({\r\n ...prev,\r\n mainsAdvFlag: \"jee-mains\",\r\n }))\r\n }\r\n >\r\n JEE Mains\r\n \r\n \r\n setState((prev) => ({\r\n ...prev,\r\n mainsAdvFlag: \"jee-adv\",\r\n }))\r\n }\r\n >\r\n JEE Advanced\r\n \r\n
    \r\n
    \r\n );\r\n };\r\n useEffect(() => {\r\n getPyqDaysList();\r\n getYearList();\r\n getTopicSubjectList();\r\n }, [getPyqDaysList, getTopicSubjectList, getYearList]);\r\n\r\n useEffect(() => {\r\n if (state.selectedYear) {\r\n getPyqPaperList(state.selectedYear);\r\n }\r\n }, [state.selectedYear, getPyqPaperList]);\r\n\r\n useEffect(() => {\r\n getPyqPaperList(state.selectedYear);\r\n }, [state.mainsAdvFlag, getPyqPaperList, state.selectedYear]);\r\n\r\n return (\r\n <>\r\n
    \r\n {targetDetails[0]?.target_id == \"2\" && jeeMainsAndAdv()}\r\n\r\n
    \r\n
      \r\n
    • \r\n \r\n Paper Wise\r\n \r\n
    • \r\n
    • \r\n \r\n Topic Wise\r\n \r\n
    • \r\n {targetDetails[0]?.target_id == \"2\" &&\r\n state.mainsAdvFlag == \"jee-mains\" && (\r\n
    • \r\n \r\n Daywise Challenge\r\n \r\n
    • \r\n )}\r\n
    \r\n\r\n {renderPyqFilter()}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {!isEmpty(state.pyqPaperList) && state.pyqPaperList.length\r\n ? state.pyqPaperList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {element.paper_name}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {element.format}

    \r\n
    \r\n
    \r\n\r\n
    \r\n {!element.is_attempted ? (\r\n onHandleTakeTest(element)}\r\n >\r\n Take Test\r\n \r\n ) : (\r\n <>\r\n onHandleSummary(element)}\r\n >\r\n Summary\r\n \r\n\r\n onHandleTakeTest(element)}\r\n >\r\n Try Again\r\n \r\n \r\n )}\r\n onHandleTakeTest2(element)}\r\n >\r\n Practice\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n {!isEmpty(state.topicSubjectList)\r\n ? state.topicSubjectList.subject.length\r\n ? state.topicSubjectList.subject.map((elem, index) => {\r\n return (\r\n pyqSubjectTopics(elem)}\r\n >\r\n
    \r\n
    \r\n \"img\"\r\n
    \r\n
    {elem.sub_name}
    \r\n
    \r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n {!isEmpty(state.daysListArr)\r\n ? state.daysListArr.length\r\n ? state.daysListArr.map((elem, index) => {\r\n return (\r\n {\r\n !elem.lock\r\n ? pyqDailyChallenge(elem.schedule)\r\n : alert(\"Please Wait to Unlock\");\r\n }}\r\n >\r\n
    \r\n
    {elem.schedule}
    \r\n
    \r\n
    \r\n {elem.lock ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setPyqTopicData: (payload) => {\r\n dispatch(userActivityActions.setPyqTopicData(payload));\r\n },\r\n setPyqTestsData: (payload) => {\r\n dispatch(userPyqTestsAction.setPyqTestsData(payload));\r\n },\r\n setPyqTestsResultData: (payload) => {\r\n dispatch(userPyqTestsAction.setPyqTestsResultData(payload));\r\n },\r\n setPyqJeeOrAdvance: (payload) => {\r\n dispatch(userPyqTestsAction.setPyqJeeOrAdvance(payload));\r\n },\r\n\r\n setDay: (payload) => {\r\n dispatch(PyqDailyChallengeActions.setDay(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDipatchToProps\r\n)(Previous_question_paper);\r\n","import { React, useEffect, useState } from \"react\";\r\nimport \"./Customized_practise_sheet.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_83 } from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\n\r\nconst Customized_practise_sheet = (props) => {\r\n let { userPreference, setPyqTopicData, setPyqTestsData } = props;\r\n let history = useHistory();\r\n const [state, setState] = useState({\r\n pyqPaperList: {},\r\n topicSubjectList: {},\r\n });\r\n\r\n const pyqSubjectTopics = (sub_id) => {\r\n setPyqTopicData({ subId: sub_id });\r\n history.push(\"/Cps_subjectTopic\");\r\n };\r\n\r\n useEffect(() => {\r\n getTopicSubjectList();\r\n }, []);\r\n\r\n //subjectList\r\n const getTopicSubjectList = async () => {\r\n let { courseDetails, classDetails } = userPreference;\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n };\r\n // startLoading();\r\n try {\r\n const response = await axios.post(url_83, data);\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicSubjectList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n // finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const backGroundColorFromBackend = (color_code) => {\r\n\r\n const colorCode = color_code ? color_code.split(\",\") : null;\r\n\r\n if (colorCode !== null) {\r\n return {\r\n background: `linear-gradient(277deg,${colorCode[0]}, ${colorCode[1]} 101.46% )`,\r\n };\r\n } else {\r\n return {\r\n background: \"#ffffff\",\r\n };\r\n }\r\n };\r\n\r\n let { subject: subjectList } = state.topicSubjectList;\r\n return (\r\n <>\r\n
    \r\n {!isEmpty(subjectList)\r\n ? subjectList.length\r\n ? subjectList.map((elem, index) => {\r\n return (\r\n pyqSubjectTopics(elem.sub_name)}\r\n >\r\n
    \r\n
    \r\n \"icon\"\r\n
    \r\n
    {elem.sub_name}
    \r\n
    \r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setPyqTopicData: (payload) => {\r\n dispatch(userActivityActions.setPyqTopicData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDipatchToProps\r\n)(Customized_practise_sheet);\r\n","export const SET_OTS_TESTS_DATA = \"SET_OTS_TESTS_DATA\";\r\nexport const SET_OTS_TESTS_RESULT_DATA = \"SET_OTS_TESTS_RESULT_DATA\";\r\nexport const SET_OTS_PLANNER_DATA = \"SET_OTS_PLANNER_DATA\";\r\nexport const SET_OTS_PAGE_NUM = \"SET_OTS_PAGE_NUM\";\r\nexport const SET_OTS_PREMIUM_DATA = \"SET_OTS_PREMIUM_DATA\";\r\nexport const SET_OTS_FREE_DATA = \"SET_OTS_FREE_DATA\";\r\nexport const SET_OTS_TESTS_PAPER_RESULT_DATA =\r\n \"SET_OTS_TESTS_PAPER_RESULT_DATA\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setOtsTestsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_OTS_TESTS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setOtsTestsResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_OTS_TESTS_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setOtsTestsPaperResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_OTS_TESTS_PAPER_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setOtsPlannerData = (payload) => {\r\n return {\r\n type: actionTypes.SET_OTS_PLANNER_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setOtsPremiumData = (payload) => {\r\n return {\r\n type: actionTypes.SET_OTS_PREMIUM_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setOtsFreeData = (payload) => {\r\n return {\r\n type: actionTypes.SET_OTS_FREE_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n setOtsTestsData,\r\n setOtsTestsResultData,\r\n setOtsTestsPaperResultData,\r\n setOtsPlannerData,\r\n setOtsPremiumData,\r\n setOtsFreeData,\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport \"./InstructionModal.scss\";\r\nimport { url_121 } from \"../../../../../../../../custom_utilities/api_services\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst InstructionModal = (props) => {\r\n const { test, token, tokenType, startLoading, finishLoading } = props;\r\n\r\n const [lang, setLang] = useState(\"English\");\r\n\r\n useEffect(() => {\r\n getInstructionsData();\r\n }, []);\r\n\r\n const [modalInstructionData, setModalInstructionData] = useState({\r\n showInstructionModal: false,\r\n instructionPara: \"\",\r\n });\r\n\r\n const handleCloseInstructionModal = () => {\r\n setModalInstructionData((prevState) => ({\r\n ...prevState,\r\n showInstructionModal: false,\r\n }));\r\n\r\n props.setInstructionModalFlag(false);\r\n };\r\n\r\n const handleShowInstructionModal = () =>\r\n setModalInstructionData((prevState) => ({\r\n ...prevState,\r\n showInstructionModal: true,\r\n }));\r\n\r\n //for changing instruction language\r\n\r\n const handleChangeLanguage = (event) => {\r\n setLang(event.target.value);\r\n };\r\n\r\n const getInstructionsData = () => {\r\n startLoading();\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n test_id: test.test_id,\r\n planner_id: test.planner_id,\r\n };\r\n try {\r\n axios.post(url_121, data).then((response) => {\r\n setModalInstructionData((prevState) => ({\r\n ...prevState,\r\n instructionPara: response.data.data.instructions,\r\n }));\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowInstructionModal();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n // function for removing html tags from api paragraph data\r\n const StripHtml = (htmlString) => {\r\n let tmp = document.createElement(\"p\");\r\n tmp.innerHTML = htmlString;\r\n\r\n return tmp.textContent || tmp.innerText || \"\";\r\n };\r\n\r\n return (\r\n \r\n \r\n {\" \"}\r\n

    Test Instructions

    \r\n
    \r\n\r\n \r\n
    \r\n {/* view in */}\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Please read the instructions carefully

    \r\n

    General Instructions:

    \r\n
    \r\n {lang == \"English\"\r\n ? !isEmpty(modalInstructionData)\r\n ? !isEmpty(modalInstructionData.instructionPara)\r\n ? StripHtml(\r\n modalInstructionData.instructionPara.test_instruction_eng\r\n )\r\n : null\r\n : null\r\n : StripHtml(\r\n modalInstructionData.instructionPara.test_instruction_hindi\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n authType: state.auth.authType,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(InstructionModal);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport \"./SyllabusModal.scss\";\r\nimport { url_122 } from \"../../../../../../../../custom_utilities/api_services\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst SyllabusModal = (props) => {\r\n const {\r\n test,\r\n token,\r\n tokenType,\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n target_id,\r\n } = props;\r\n useEffect(() => {\r\n getSyllabusData();\r\n }, []);\r\n\r\n const [modalSyllabusData, setModalSyllabusData] = useState({\r\n showSyllabusModal: false,\r\n syllabusData: {},\r\n });\r\n\r\n const handleCloseSyllabusModal = () => {\r\n setModalSyllabusData((prevState) => {\r\n return {\r\n ...prevState,\r\n showSyllabusModal: false,\r\n };\r\n });\r\n\r\n props.setSyllabusModalFlag(false);\r\n };\r\n\r\n const handleShowSyllabusModal = () =>\r\n setModalSyllabusData((prevState) => ({\r\n ...prevState,\r\n showSyllabusModal: true,\r\n }));\r\n\r\n const getSyllabusData = () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n paper_id: test.paper_id,\r\n test_id: test.test_id,\r\n planner_id: test.planner_id,\r\n };\r\n\r\n startLoading();\r\n try {\r\n axios.post(url_122, data, { headers }).then((response) => {\r\n if (response.status === 200) {\r\n finishLoading();\r\n setModalSyllabusData((prevState) => ({\r\n ...prevState,\r\n syllabusData: response.data.data.paper,\r\n }));\r\n handleShowSyllabusModal();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n \r\n \r\n {\" \"}\r\n

    Test Syllabus

    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {modalSyllabusData?.syllabusData?.test_name}\r\n
    \r\n\r\n
      \r\n
      \r\n
      \r\n
    • \r\n Date & Time :{\" \"}\r\n {modalSyllabusData?.syllabusData?.test_date}\r\n
    • \r\n
    • \r\n Test Duration :{\" \"}\r\n \r\n {modalSyllabusData?.syllabusData?.test_duration_min} Mins\r\n \r\n
    • \r\n
      \r\n
      \r\n
    • \r\n Total Questions :{\" \"}\r\n \r\n {modalSyllabusData?.syllabusData?.total_questions}\r\n \r\n
    • \r\n
    • \r\n Total Marks :{\" \"}\r\n {modalSyllabusData?.syllabusData?.max_marks}\r\n
    • \r\n
      \r\n
      \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n {target_id == 3 ? (\r\n <>\r\n \r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n )}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n {target_id == 3 ? (\r\n <>\r\n \r\n\r\n \r\n \r\n ) : (\r\n <>\r\n \r\n \r\n )}\r\n\r\n \r\n \r\n \r\n
    PhysicsChemistryZoologyBotanyMaths
    \r\n {modalSyllabusData.syllabusData\r\n ? modalSyllabusData?.syllabusData?.subjects\r\n ? modalSyllabusData?.syllabusData?.subjects.Physics\r\n : null\r\n : null}\r\n \r\n {modalSyllabusData.syllabusData\r\n ? modalSyllabusData?.syllabusData?.subjects\r\n ? modalSyllabusData?.syllabusData?.subjects?.Chemistry\r\n : null\r\n : null}\r\n \r\n {modalSyllabusData.syllabusData\r\n ? modalSyllabusData?.syllabusData?.subjects\r\n ? modalSyllabusData?.syllabusData?.subjects.Zoology\r\n : null\r\n : null}\r\n \r\n {modalSyllabusData.syllabusData\r\n ? modalSyllabusData?.syllabusData?.subjects\r\n ? modalSyllabusData?.syllabusData?.subjects.Botany\r\n : null\r\n : null}\r\n \r\n {modalSyllabusData.syllabusData\r\n ? modalSyllabusData?.syllabusData?.subjects\r\n ? modalSyllabusData?.syllabusData?.subjects.Maths\r\n : null\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n authType: state.auth.authType,\r\n target_id: state.userPreference?.targetDetails[0].target_id,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(SyllabusModal);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport HeaderComponent from \"../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport { connect } from \"react-redux\";\r\nimport actions from \"../../../../../redux/ui/action\";\r\nimport actions2 from \"../../../../../redux/online-test_series/action\";\r\nimport InstructionModal from \"../ots_tests/ots_test_content_component/ots_test_sps/modals/InstructionModal\";\r\nimport SyllabusModal from \"../ots_tests/ots_test_content_component/ots_test_sps/modals/SyllabusModal\";\r\nimport { url_128 } from \"../../../../../custom_utilities/api_services\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\nimport { Button } from \"react-bootstrap\";\r\n\r\nimport \"./OtsAnalytics.scss\";\r\n\r\nconst OtsAnalytics = (props) => {\r\n const {\r\n token,\r\n tokenType,\r\n class_id,\r\n target_id,\r\n setOtsTestsResultData,\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n } = props;\r\n const history = useHistory();\r\n const [viewAnalyticsTests, setViewAnalyticsTests] = useState([]);\r\n const [test, setTest] = useState({});\r\n\r\n const [instructionModalFlag, setInstructionModalFlag] = useState(false);\r\n const [syllabusModalFlag, setSyllabusModalFlag] = useState(false);\r\n\r\n const [hasMore, setHasMore] = useState(true); // Track if there is more data to load\r\n const [pageNo, setPageNo] = useState(1); // Track the current page number\r\n\r\n useEffect(() => {\r\n getAnalyticsTests();\r\n }, []);\r\n\r\n const getAnalyticsTests = async () => {\r\n let page_limit = 5;\r\n\r\n let pageNo = Math.ceil(viewAnalyticsTests?.length / page_limit) + 1;\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n target: target_id,\r\n class: class_id,\r\n page: pageNo,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_128, data, { headers });\r\n\r\n console.log(\"response\", response);\r\n if (response.data.status == 200) {\r\n finishLoading();\r\n setHasMore(response.data.data.paper.data.length === page_limit);\r\n setViewAnalyticsTests([\r\n ...viewAnalyticsTests,\r\n ...response.data.data.paper.data,\r\n ]);\r\n\r\n setPageNo(pageNo + 1);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleRedirect = async (test) => {\r\n const { solution_visible_at, is_show_solution, target_type, papers } = test;\r\n\r\n if (!solution_visible_at || solution_visible_at.length === 0) {\r\n alert(\"Analytics or Solutions will be shown after Some Time\");\r\n return;\r\n }\r\n\r\n if (is_show_solution > 0) {\r\n if (target_type === \"JEE (A)\" && papers === null) {\r\n alert(\"Analytics or Solutions will be shown after Some Time\");\r\n return;\r\n }\r\n\r\n setOtsTestsResultData(test);\r\n history.push({\r\n pathname: \"/ots_test_result\",\r\n });\r\n } else {\r\n alert(\r\n `Analytics or Solutions will be shown after ${solution_visible_at}`\r\n );\r\n }\r\n };\r\n\r\n const handleInstructionModal = (test) => {\r\n setTest(test);\r\n\r\n setInstructionModalFlag(true);\r\n };\r\n\r\n const handleSyllabusModal = (test) => {\r\n setTest(test);\r\n\r\n setSyllabusModalFlag(true);\r\n };\r\n\r\n const fetchMoreData = () => {\r\n if (hasMore) {\r\n getAnalyticsTests();\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {instructionModalFlag && (\r\n \r\n )}\r\n\r\n {syllabusModalFlag && (\r\n \r\n )}\r\n\r\n \r\n \r\n
    \r\n {!isEmpty(viewAnalyticsTests) ? (\r\n viewAnalyticsTests.length ? (\r\n viewAnalyticsTests.map((test, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {test.test_name}\r\n
    \r\n\r\n
    \r\n handleInstructionModal(test)}\r\n >\r\n \r\n
    \r\n\r\n handleSyllabusModal(test)}\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
      \r\n
    • {test.total_questions} Questions,
    • \r\n
    • {test.test_duration_min} mins,
    • \r\n
    • {test.max_marks} marks
    • \r\n
    \r\n
    \r\n\r\n
    \r\n

    Attempted on- {test.attempted_on}

    \r\n
    \r\n\r\n
    \r\n 0 &&\r\n (test.target_type == \"JEE (A)\"\r\n ? test.papers !== null\r\n : true)\r\n ? \"custom\"\r\n : \"secondary\"\r\n }\r\n className={`${\r\n test.is_show_solution > 0 &&\r\n (test.target_type == \"JEE (A)\"\r\n ? test.papers !== null\r\n : true)\r\n ? \"OtsAnalytics_test_ViewAnalytics_button\"\r\n : \"OtsAnalytics_test_ViewAnalytics_button_fade\"\r\n }`}\r\n onClick={() => handleRedirect(test)}\r\n >\r\n View Analytics\r\n \r\n
    \r\n \r\n );\r\n })\r\n ) : (\r\n
    \r\n \r\n

    There is no Analytics yet!

    \r\n
    \r\n )\r\n ) : null}\r\n \r\n \r\n \r\n\r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n class_id: state.auth.user.class_id,\r\n target_id: state.userPreference.targetDetails[0].target_id,\r\n loader: state.ui.loader,\r\n user_id: state.auth.user.user_id,\r\n otsTestsData: state.otsTestsData.otsTestsData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n startLoading: () => {\r\n dispatch(actions.startLoading());\r\n },\r\n\r\n finishLoading: () => {\r\n dispatch(actions.finishLoading());\r\n },\r\n\r\n setOtsTestsResultData: (payload) => {\r\n dispatch(actions2.setOtsTestsResultData(payload));\r\n },\r\n});\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OtsAnalytics);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport \"./OtsTestComponent.scss\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport { connect } from \"react-redux\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport { BASE_URL } from \"../../../../../custom_utilities/baseURL\";\r\nimport { url_118, url_119 } from \"../../../../../custom_utilities/api_services\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport OtsAnalytics from \"../ots_analytics/OtsAnalytics\";\r\nimport otsActions from \"../../../../../redux/online-test_series/action\";\r\nimport { setStoreCurrentPackageDetails } from \"../../../../../redux/packages_store/PackageSlice\";\r\n\r\nconst OtsTestComponent = (props) => {\r\n let {\r\n class_id,\r\n target_id,\r\n token,\r\n tokenType,\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n setOtsPlannerData,\r\n setOtsPremiumData,\r\n setOtsFreeData,\r\n setStoreCurrentPackageDetails,\r\n } = props;\r\n\r\n const history = useHistory();\r\n\r\n const [plannerModal, setPlannerModal] = useState(false);\r\n const [state, setState] = useState({\r\n otsOngoingTestsList: [],\r\n });\r\n\r\n let { otsOngoingTestsList } = state;\r\n const [otsPlanner, setOtsPlanner] = useState({});\r\n\r\n useEffect(() => {\r\n fetchTopicSubjectList();\r\n }, []);\r\n\r\n const getOtsPlannerData = async (planner) => {\r\n startLoading();\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n planner_id: planner.planner_id,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_119, data, { headers });\r\n if (response.data.status == 200) {\r\n finishLoading();\r\n setOtsPlanner(response.data.data);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleRedirect = (test) => {\r\n setOtsPlannerData(test);\r\n setOtsPremiumData([]);\r\n setOtsFreeData([]);\r\n props.history.push({\r\n pathname: \"/ots_tests\",\r\n });\r\n };\r\n\r\n const handleShowPlanner = (planner) => {\r\n getOtsPlannerData(planner);\r\n setPlannerModal(true);\r\n };\r\n\r\n const handleClosePlanner = () => {\r\n setPlannerModal(false);\r\n };\r\n\r\n let page_limit = 5;\r\n\r\n const fetchTopicSubjectList = async () => {\r\n // let pageNo = Math.ceil(otsOngoingTestsList.length / page_limit) + 1;\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n startLoading();\r\n const data = {\r\n target: target_id,\r\n class: class_id,\r\n page: 1,\r\n };\r\n try {\r\n const response = await axios.post(url_118, data, { headers });\r\n // if (response.data.status === 200 || response.data.data.last_page) {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n otsOngoingTestsList: [\r\n ...otsOngoingTestsList,\r\n ...response.data.data.planner.data,\r\n ],\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const fetchData = () => {\r\n fetchTopicSubjectList();\r\n };\r\n\r\n const handleClickPayNow = (packageDetails) => {\r\n // history.push(\"/\")\r\n setStoreCurrentPackageDetails(packageDetails);\r\n history.push(`/package/${packageDetails?.package_id}`);\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n Planners\r\n \r\n
    • \r\n
    • \r\n \r\n Analytics\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n {!isEmpty(otsOngoingTestsList) ? (\r\n otsOngoingTestsList.length ? (\r\n otsOngoingTestsList.map((elem) => {\r\n return (\r\n \r\n
    \r\n
    \r\n {/* {elem.planner_img ? (\r\n \r\n ) : ( */}\r\n \r\n {/* )} */}\r\n
    \r\n
    \r\n handleRedirect(elem)}\r\n >\r\n
    \r\n {elem.planner_type}\r\n
    \r\n\r\n
    \r\n {elem.planner_name}\r\n
    \r\n
    \r\n

    {elem.planner_desc}

    \r\n
    \r\n
    \r\n\r\n
    \r\n handleShowPlanner(elem)}\r\n >\r\n {/* */}\r\n
    \r\n\r\n
    \r\n {elem.is_paid_planner == 0 ? (\r\n
    \r\n {\" \"}\r\n Free\r\n
    \r\n ) : elem.is_purchased == 0 ? (\r\n <>\r\n
    \r\n \r\n {`₹${elem.planner_price}`}\r\n \r\n\r\n \r\n {` ₹${\r\n parseInt(elem.planner_price) -\r\n parseInt(elem.planner_discount)\r\n }`}\r\n \r\n
    \r\n\r\n handleClickPayNow(elem)}\r\n style={{ cursor: \"pointer\" }}\r\n >\r\n Pay Now\r\n
    \r\n \r\n ) : (\r\n <>\r\n
    \r\n Paid\r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n
    \r\n \r\n

    There is no planners yet!

    \r\n
    \r\n )\r\n ) : null}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Planner Overview

    \r\n
    \r\n\r\n \r\n {!isEmpty(otsPlanner) ? (\r\n otsPlanner.planner.length ? (\r\n otsPlanner.planner.map((elem) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    {elem.planner_name}

    \r\n\r\n
    \r\n {elem.planer_test_paid_free == 0 ? (\r\n Free!\r\n ) : (\r\n Paid!\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
      \r\n
      \r\n
      \r\n
    • Target:
    • \r\n
    • \r\n Test Duration :\r\n {elem.test_duration_min}\r\n
    • \r\n
      \r\n
      \r\n
    • \r\n Total Questions :{\" \"}\r\n {elem.total_questions}\r\n
    • \r\n
    • \r\n Total Marks : {elem.max_marks}\r\n
    • \r\n
      \r\n
      \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    DateTest namePhysicsChemistryMaths
    {elem.test_date}{elem.test_name}{elem.subjects.Physics}{elem.subjects.Chemistry}{elem.subjects.Maths}
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n
    \r\n

    Data Not Available

    \r\n
    \r\n )\r\n ) : null}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n\r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n authType: state.auth.tokenType,\r\n class_id: state.auth.user.class_id,\r\n target_id: state.userPreference.targetDetails[0].target_id,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setOtsPlannerData: (payload) => {\r\n dispatch(otsActions.setOtsPlannerData(payload));\r\n },\r\n\r\n setOtsPremiumData: (payload) => {\r\n dispatch(otsActions.setOtsPremiumData(payload));\r\n },\r\n\r\n setOtsFreeData: (payload) => {\r\n dispatch(otsActions.setOtsFreeData(payload));\r\n },\r\n\r\n setStoreCurrentPackageDetails: (payload) => {\r\n dispatch(setStoreCurrentPackageDetails(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OtsTestComponent);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./exam_cracker.scss\";\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_112 } from \"../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport images from \"./../../../../utilities/images/images\";\r\nimport { setStoreCurrentPackageDetails } from \"../../../../redux/packages_store/PackageSlice\";\r\n\r\nconst ExamCracker = (props) => {\r\n let {\r\n loader,\r\n userData,\r\n userPreference,\r\n targetDetails,\r\n userId,\r\n setStoreCurrentPackageDetails,\r\n } = props;\r\n let history = useHistory();\r\n\r\n const [state, setState] = useState({\r\n courseList: [],\r\n });\r\n\r\n useEffect(() => {\r\n getCourseList();\r\n }, []);\r\n\r\n const getCourseList = async () => {\r\n let { targetDetails } = userPreference;\r\n let data = {\r\n target_id: targetDetails[0].target_id,\r\n user_id: userId,\r\n };\r\n try {\r\n const response = await axios.post(url_112, data);\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n courseList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const examCrackerSubjectTopics = (elem) => {\r\n // if (elem.is_purchased == 0) {\r\n // history.push({\r\n // pathname: \"/exam_cracker_payment_page\",\r\n // state: {\r\n // packageData: elem,\r\n // },\r\n // });\r\n // } else if (elem.is_purchased > 0) {\r\n // history.push({\r\n // pathname: \"/exam_cracker_subject_topic\",\r\n // state: {\r\n // package_name: elem.package_name,\r\n // },\r\n // });\r\n // }\r\n\r\n setStoreCurrentPackageDetails(elem);\r\n\r\n history.push({\r\n pathname: \"/exam_cracker_subject_topic\",\r\n state: {\r\n package_name: elem.package_name,\r\n },\r\n });\r\n };\r\n\r\n const imgData = (elem) => {\r\n if (elem.package_name === \"Exam Cracker - JEE Advanced\") {\r\n return (\r\n
    \r\n \"jee-Advanced\"\r\n
    \r\n );\r\n } else if (elem.package_name === \"Exam Cracker - JEE Mains\") {\r\n return (\r\n
    \r\n \"jee-main\"\r\n
    \r\n );\r\n } else if (elem.package_name === \"Exam Cracker - NEET\") {\r\n return (\r\n
    \r\n \"neet\"\r\n
    \r\n );\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.courseList)\r\n ? state.courseList.length\r\n ? state.courseList.map((elem, index) => {\r\n return (\r\n examCrackerSubjectTopics(elem)}\r\n >\r\n
    \r\n {imgData(elem)}\r\n
    \r\n
    {elem.package_name}
    \r\n

    {elem.description}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n userId: state.auth.user.user_id,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setStoreCurrentPackageDetails: (payload) => {\r\n dispatch(setStoreCurrentPackageDetails(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ExamCracker);\r\n","export const SET_MOCK_TESTS_DATA = \"SET_MOCK_TESTS_DATA\";\r\nexport const SET_MOCK_TESTS_RESULT_DATA = \"SET_MOCK_TESTS_RESULT_DATA\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setMockTestsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_MOCK_TESTS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setMockTestsResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_MOCK_TESTS_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n setMockTestsData,\r\n setMockTestsResultData,\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nimport axios from \"axios\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport { url_146 } from \"../../../../../custom_utilities/api_services\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport userMockTestsAction from \"../../../../../redux/mock_test_exercise/action\";\r\n\r\nconst MockTestAdvance = (props) => {\r\n let {\r\n setMockTestData,\r\n startLoading,\r\n finishLoading,\r\n userPreference,\r\n setMockTestsResultData,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n mockAdvanceTestPaperList: [],\r\n advanceFlag: \"jee-advance\",\r\n });\r\n\r\n let history = useHistory();\r\n\r\n let { targetDetails } = userPreference;\r\n\r\n useEffect(() => {\r\n getAdvancedTest();\r\n }, [state.advanceFlag]);\r\n\r\n const getAdvancedTest = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_146);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n if (targetDetails[0].target_id == \"2\") {\r\n let filteredArray = [];\r\n for (let i = 0; i < response.data.data.length; i++) {\r\n if (\r\n state.advanceFlag == \"jee-advance\" &&\r\n response.data.data[i].format.toLowerCase().includes(\"adv\")\r\n ) {\r\n filteredArray[i] = response.data.data[i];\r\n }\r\n }\r\n setState((preState) => ({\r\n ...preState,\r\n mockAdvanceTestPaperList: filteredArray,\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const onHandleTakeTest = (testData) => {\r\n setMockTestData(testData);\r\n history.push(\"/mock_test_component\");\r\n };\r\n\r\n const onHandleSummary = (testData) => {\r\n setMockTestsResultData(testData);\r\n history.push(\"/mock_test_summary\");\r\n };\r\n\r\n const onHandleTakeTest2 = (testData) => {\r\n setMockTestData(testData);\r\n history.push(\"/mock_practice_test\");\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n {!isEmpty(state.mockAdvanceTestPaperList)\r\n ? state.mockAdvanceTestPaperList.length\r\n ? state.mockAdvanceTestPaperList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {element.icon ? (\r\n \"img\"\r\n ) : null}\r\n {element.paper_name}\r\n
    \r\n
    \r\n Exam Date : {element.to_be_held_on}\r\n
    \r\n
    \r\n\r\n
    \r\n

    {element.format}

    \r\n
    \r\n\r\n
    \r\n {!element.is_attempted ? (\r\n onHandleTakeTest(element)}\r\n >\r\n Take Test\r\n \r\n ) : (\r\n <>\r\n onHandleSummary(element)}\r\n >\r\n Summary\r\n \r\n\r\n onHandleTakeTest(element)}\r\n >\r\n Try Again\r\n \r\n \r\n )}\r\n onHandleTakeTest2(element)}\r\n >\r\n Practice\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setMockTestData: (payload) => {\r\n dispatch(userMockTestsAction.setMockTestsData(payload));\r\n },\r\n\r\n setMockTestsResultData: (payload) => {\r\n dispatch(userMockTestsAction.setMockTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(MockTestAdvance);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport userMockTestsAction from \"../../../../../redux/mock_test_exercise/action\";\r\n\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport { url_146 } from \"../../../../../custom_utilities/api_services\";\r\n\r\nconst MockTestMain = (props) => {\r\n let {\r\n setMockTestData,\r\n startLoading,\r\n finishLoading,\r\n userPreference,\r\n setMockTestsResultData,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n mockMainTestPaperList: [],\r\n mainsFlag: \"jee-mains\",\r\n });\r\n\r\n let history = useHistory();\r\n\r\n let { targetDetails } = userPreference;\r\n\r\n useEffect(() => {\r\n getMainTest();\r\n }, [state.mainsFlag]);\r\n\r\n const onHandleTakeTest = (testData) => {\r\n history.push(\"/mock_test_component\");\r\n setMockTestData(testData);\r\n };\r\n\r\n const onHandleSummary = (testData) => {\r\n setMockTestsResultData(testData);\r\n history.push(\"/mock_test_summary\");\r\n };\r\n\r\n const onHandleTakeTest2 = (testData) => {\r\n setMockTestData(testData);\r\n history.push(\"/mock_practice_test\");\r\n };\r\n\r\n const getMainTest = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_146);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n if (targetDetails[0].target_id == \"2\") {\r\n let filteredArray = [];\r\n for (let i = 0; i < response.data.data.length; i++) {\r\n if (\r\n state.mainsFlag == \"jee-mains\" &&\r\n response.data.data[i].format.toLowerCase().includes(\"main\")\r\n ) {\r\n filteredArray[i] = response.data.data[i];\r\n }\r\n }\r\n setState((preState) => ({\r\n ...preState,\r\n mockMainTestPaperList: filteredArray,\r\n }));\r\n }\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n {!isEmpty(state.mockMainTestPaperList)\r\n ? state.mockMainTestPaperList.length\r\n ? state.mockMainTestPaperList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {element.icon ? (\r\n \"img\"\r\n ) : null}\r\n {element.paper_name}\r\n
    \r\n
    \r\n Exam Date : {element.to_be_held_on}\r\n
    \r\n
    \r\n\r\n
    \r\n

    {element.format}

    \r\n
    \r\n\r\n
    \r\n {!element.is_attempted ? (\r\n onHandleTakeTest(element)}\r\n >\r\n Take Test\r\n \r\n ) : (\r\n <>\r\n onHandleSummary(element)}\r\n >\r\n Summary\r\n \r\n\r\n onHandleTakeTest(element)}\r\n >\r\n Try Again\r\n \r\n \r\n )}\r\n onHandleTakeTest2(element)}\r\n >\r\n Practice\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setMockTestData: (payload) => {\r\n dispatch(userMockTestsAction.setMockTestsData(payload));\r\n },\r\n\r\n setMockTestsResultData: (payload) => {\r\n dispatch(userMockTestsAction.setMockTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(MockTestMain);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport userMockTestsAction from \"../../../../../redux/mock_test_exercise/action\";\r\n\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { url_146 } from \"../../../../../custom_utilities/api_services\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\n\r\nconst MockTestNeet = (props) => {\r\n let { setMockTestData, startLoading, finishLoading, setMockTestsResultData } =\r\n props;\r\n\r\n const [state, setState] = useState({\r\n mockNeetTestPaperList: [],\r\n mainsFlag: \"jee-mains\",\r\n });\r\n\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n getNeetTest();\r\n }, [state.mainsFlag]);\r\n\r\n const onHandleTakeTest = (testData) => {\r\n history.push(\"/mock_test_component\");\r\n setMockTestData(testData);\r\n };\r\n\r\n const onHandleSummary = (testData) => {\r\n setMockTestsResultData(testData);\r\n history.push(\"/mock_test_summary\");\r\n };\r\n\r\n const onHandleTakeTest2 = (testData) => {\r\n setMockTestData(testData);\r\n history.push(\"/mock_practice_test\");\r\n };\r\n\r\n const getNeetTest = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_146);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n mockNeetTestPaperList: response.data.data,\r\n course: response.data.data[0].format,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n {!isEmpty(state.mockNeetTestPaperList)\r\n ? state.mockNeetTestPaperList.length\r\n ? state.mockNeetTestPaperList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n {element.icon ? (\r\n \"img\"\r\n ) : null}\r\n {element.paper_name}\r\n
    \r\n
    \r\n Exam Date : {element.to_be_held_on}\r\n
    \r\n
    \r\n\r\n
    \r\n

    {element.format}

    \r\n
    \r\n\r\n
    \r\n {!element.is_attempted ? (\r\n onHandleTakeTest(element)}\r\n >\r\n Take Test\r\n \r\n ) : (\r\n <>\r\n onHandleSummary(element)}\r\n >\r\n Summary\r\n \r\n\r\n onHandleTakeTest(element)}\r\n >\r\n Try Again\r\n \r\n \r\n )}\r\n onHandleTakeTest2(element)}\r\n >\r\n Practice\r\n \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setMockTestData: (payload) => {\r\n dispatch(userMockTestsAction.setMockTestsData(payload));\r\n },\r\n\r\n setMockTestsResultData: (payload) => {\r\n dispatch(userMockTestsAction.setMockTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(MockTestNeet);\r\n","import React from \"react\";\r\nimport \"./mock_test.scss\";\r\nimport { connect } from \"react-redux\";\r\nimport MockTestAdvance from \"./mockMain&Adv&NeetComponent/mockTestAdvance\";\r\nimport MockTestMain from \"./mockMain&Adv&NeetComponent/mockTestMain\";\r\nimport MockTestNeet from \"./mockMain&Adv&NeetComponent/mockTestNeet\";\r\n\r\nconst Mock_test = (props) => {\r\n let { userPreference } = props;\r\n\r\n let tab = \"mains\";\r\n\r\n let { targetDetails } = userPreference;\r\n\r\n const renderMainAdv = () => {\r\n return (\r\n <>\r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n Jee Mains\r\n \r\n
    • \r\n
    • \r\n \r\n Jee Advance\r\n \r\n
    • \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n };\r\n\r\n const renderNeet = () => {\r\n return (\r\n <>\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n {targetDetails[0]?.target_id == \"2\" && renderMainAdv()}\r\n {targetDetails[0]?.target_id != \"2\" && renderNeet()}\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Mock_test);\r\n","export const SET_BIT_SAT_TESTS_DATA = \"SET_BIT_SAT_TESTS_DATA\";\r\nexport const SET_BIT_SAT_TESTS_RESULT_DATA = \"SET_BIT_SAT_TESTS_RESULT_DATA\";\r\n\r\n","\r\nimport * as actionTypes from \"./action_type\";\r\n\r\nconst setBitSatTestsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_BIT_SAT_TESTS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setBitSatTestsResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_BIT_SAT_TESTS_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n setBitSatTestsData,\r\n setBitSatTestsResultData,\r\n};\r\n\r\n","import React, { useState, useEffect } from \"react\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport \"./bit_sat.scss\";\r\nimport axios from \"axios\";\r\nimport { url_145 } from \"../../../../custom_utilities/api_services\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport bitSatActions from \"../../../../redux/bit_sat_test_exercises/action\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst BitSat = (props) => {\r\n let { startLoading, finishLoading, loader, setBitSatTestsData } = props;\r\n const [state, setState] = useState({\r\n mockTest: [],\r\n });\r\n\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n getMockTests();\r\n }, []);\r\n\r\n const getMockTests = async () => {\r\n try {\r\n const response = await axios.post(url_145);\r\n if (response.data.status == 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n mockTest: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(\"error\");\r\n }\r\n };\r\n\r\n const handleTest = (testData) => {\r\n setBitSatTestsData(testData);\r\n history.push({\r\n pathname: \"/bit_sat_test_component\",\r\n state: { testData: testData },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n {/* {!isEmpty(state.mockTest) ? (\r\n

    Select Test

    \r\n ) : null} */}\r\n
    \r\n
    \r\n {!isEmpty(state.mockTest) ? (\r\n state.mockTest.length ? (\r\n state.mockTest.map((elem, index) => {\r\n return (\r\n handleTest(elem)}\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {elem.paper_name}\r\n
    \r\n
    \r\n
    \r\n {/* \r\n {\" \"}\r\n \r\n */}\r\n {elem.total_questions}\r\n Questions\r\n
    \r\n
    \r\n {/* \r\n {\" \"}\r\n \r\n */}\r\n {elem.duration_mins}\r\n Mins\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : null\r\n ) : (\r\n
    \r\n \r\n

    There is no tests yet!

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n subjectData: state.userActivity.subjectData,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setBitSatTestsData: (payload) => {\r\n dispatch(bitSatActions.setBitSatTestsData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(BitSat);\r\n","import React from \"react\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport \"./AdaptiveCpsCreatePaper.scss\";\r\n\r\nconst AdaptiveCpsCreatePaper = ({ handleStep }) => {\r\n return (\r\n
    \r\n
    \r\n \"banner\"\r\n
    \r\n
    \r\n

    Adaptive CPS

    \r\n

    \r\n Create your Own Customized Test & Practice unlimited\r\n times with FREE access\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AdaptiveCpsCreatePaper;\r\n","// SubjectSelection.js\r\nimport React from \"react\";\r\nimport \"./SubjectSelection.scss\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst SubjectSelection = ({\r\n topicSubjectList,\r\n currentSubject,\r\n handleChangeSubject,\r\n}) => {\r\n\r\n const backGroundColorFromBackend = (color_code) => {\r\n\r\n const colorCode = color_code ? color_code.split(\",\") : null;\r\n\r\n if (colorCode !== null) {\r\n return {\r\n background: `linear-gradient(277deg,${colorCode[0]}, ${colorCode[1]} 101.46% )`,\r\n };\r\n } else {\r\n return {\r\n background: \"#ffffff\",\r\n };\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {!isEmpty(topicSubjectList) &&\r\n topicSubjectList.map((element, index) => {\r\n const isChecked = topicSubjectList.length === 1;\r\n\r\n return (\r\n
    \r\n \r\n \r\n \r\n \"icon\"\r\n
    \r\n {element.subject}\r\n \r\n
    \r\n );\r\n })}\r\n \r\n );\r\n};\r\n\r\nexport default SubjectSelection;\r\n","// CustomPaperBox.js\r\nimport React, { useEffect } from \"react\";\r\nimport \"./CustomPaperBox.scss\";\r\n\r\nconst CustomPaperBox = ({ qBank, handleViewSolution, handleTakeTest }) => {\r\n useEffect(() => {\r\n console.log(qBank);\r\n });\r\n return (\r\n
    \r\n
    \r\n
    {qBank.subject}
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n {qBank.unattempt + qBank.incorrect + qBank.correct}{\" \"}\r\n Ques\r\n
    • {\" \"}\r\n
    • \r\n {qBank.correct} Correct\r\n
    • {\" \"}\r\n
    • \r\n {qBank.incorrect} Incorrect\r\n
    • {\" \"}\r\n
    • \r\n {qBank.unattempt} Unattempt\r\n
    • {\" \"}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Attempted on: {qBank.created_on}\r\n
    \r\n
    \r\n handleViewSolution(qBank.acps_id)\r\n : () => handleTakeTest(qBank.subject)\r\n }\r\n className=\"view_sol_btn\"\r\n >\r\n {qBank.is_submit === 0 ? \"View Solution\" : \"Take Test\"}\r\n
    {\" \"}\r\n {\">\"}\r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nexport default CustomPaperBox;\r\n","const SET_CPS_SUBJECT = \"SET_CPS_SUBJECT\";\r\nconst SET_ADAPTIVE_CPS_ID = \"SET_ADAPTIVE_CPS_ID\";\r\n\r\nconst actionTypes = {\r\n SET_CPS_SUBJECT,\r\n SET_ADAPTIVE_CPS_ID,\r\n};\r\n\r\nexport default actionTypes;\r\n","import actionTypes from \"./actionTypes\";\r\n\r\nconst setAdaptiveCpsSubject = (subject) => {\r\n return {\r\n type: actionTypes.SET_CPS_SUBJECT,\r\n payload: subject,\r\n };\r\n};\r\n\r\nconst setAdaptiveCpsId = (cps_id) => {\r\n console.log(\"in action\", cps_id);\r\n return {\r\n type: actionTypes.SET_ADAPTIVE_CPS_ID,\r\n payload: cps_id,\r\n };\r\n};\r\n\r\nconst action = {\r\n setAdaptiveCpsSubject: setAdaptiveCpsSubject,\r\n setAdaptiveCpsId: setAdaptiveCpsId,\r\n};\r\n\r\nexport default action;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport \"./AdaptiveCpsCustomPapers.scss\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { connect } from \"react-redux\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport SubjectSelection from \"./subjectSelection/SubjectSelection\";\r\nimport CustomPaperBox from \"./customPaperBox/CustomPaperBox\";\r\nimport DateRangeModal from \"./dateRangeModal/DateRangeModal\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport adaptiveCpsActions from \"../../../../../../../redux/adaptive_cps/action\";\r\n\r\nconst AdaptiveCpsCustomPapers = (props) => {\r\n const {\r\n startLoading,\r\n finishLoading,\r\n token,\r\n tokenType,\r\n userPreference,\r\n setAdaptiveCpsId,\r\n setAdaptiveCpsSubjectAction,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n questionBankTestList: [],\r\n topicSubjectList: [],\r\n currentSubject: \"\",\r\n open: false,\r\n });\r\n\r\n const history = useHistory();\r\n const [range, setRange] = useState([\r\n {\r\n startDate: new Date(),\r\n endDate: new Date(),\r\n key: \"selection\",\r\n },\r\n ]);\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.currentSubject && range[0].startDate && range[0].endDate) {\r\n getAdaptiveCpsTestList();\r\n }\r\n }, [state.currentSubject, range[0].startDate, range[0].endDate]);\r\n\r\n const getSubjectList = async () => {\r\n let { courseDetails, classDetails } = userPreference;\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSSubjectData\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n console.log(\"getSubjectList\", response);\r\n const subjectList = response.data.data;\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicSubjectList: subjectList,\r\n currentSubject: subjectList[0]?.subject,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getAdaptiveCpsTestList = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const fromDate = range[0].startDate;\r\n const from_date = `${fromDate.getFullYear()}-${\r\n fromDate.getMonth() + 1\r\n }-${fromDate.getDate()}`;\r\n\r\n const endDate = range[0].endDate;\r\n const end_date = `${endDate.getFullYear()}-${\r\n endDate.getMonth() + 1\r\n }-${endDate.getDate()}`;\r\n\r\n const data = {\r\n subject: state.currentSubject,\r\n // from_date: from_date,\r\n // to_date: end_date,\r\n };\r\n\r\n try {\r\n startLoading();\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSListData\",\r\n data,\r\n { headers }\r\n );\r\n\r\n console.log(\"getAdaptiveCpsTestList\", response);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankTestList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleViewSolution = (questionBankId) => {\r\n setAdaptiveCpsId(questionBankId);\r\n history.push(\"/adaptive_cps_solution\");\r\n };\r\n\r\n const handleTakeTest = (sub_name) => {\r\n setAdaptiveCpsSubjectAction(sub_name);\r\n history.push({\r\n pathname: \"/adaptive_cps_test\",\r\n // state: { attemptCount: attemptCount },\r\n });\r\n };\r\n\r\n const handleChangeSubject = (event, sub_id, sub_name, icon) => {\r\n const selectedSubject = event.target.value;\r\n console.log(\"slectedSubject testing\", selectedSubject);\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSubject: selectedSubject,\r\n }));\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n open: false,\r\n }));\r\n };\r\n\r\n const handleShowModal = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n open: true,\r\n }));\r\n };\r\n\r\n const handleDateRangeSubmit = () => {\r\n // Update the question bank tests when the date range is selected\r\n getAdaptiveCpsTestList();\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {/*
    Your Adaptive CPS
    */}\r\n\r\n {/*
    \r\n \"date-img\"\r\n
    */}\r\n
    \r\n\r\n
    \r\n {!isEmpty(state.questionBankTestList) ? (\r\n state.questionBankTestList.map((qBank) => (\r\n \r\n ))\r\n ) : (\r\n
    \r\n \"\"\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/* */}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n // mapStateToProps implementation\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n class_id: state.auth.user.class_id,\r\n target_id: state.userPreference.targetDetails[0].target_id,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n setAdaptiveCpsSubjectAction: (payload) => {\r\n dispatch(adaptiveCpsActions.setAdaptiveCpsSubject(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDipatchToProps\r\n)(AdaptiveCpsCustomPapers);\r\n","import React, { useState } from \"react\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport \"./ZeroAttemptsAlert.scss\";\r\n\r\nconst ZeroAttemptsAlert = ({ show, handleClose, handleRedirectToStore }) => {\r\n return (\r\n \r\n
    \r\n \r\n \r\n
    Ooops!!!
    \r\n
    \r\n
    \r\n \r\n

    All your free attempts have been completed!

    \r\n

    \r\n Please click on “Get Now” button to purchase Adaptive\r\n CPS package for attempting further tests.\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ZeroAttemptsAlert;\r\n","import { React, useEffect, useState } from \"react\";\r\nimport \"./AdaptiveCpsSubjects.scss\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_83 ,url_213 } from \"../../../../../../../../custom_utilities/api_services\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\n\r\n// import adaptiveCpsActions from \"../../../../../../redux/adaptive_cps/action\";\r\n\r\nimport adaptiveCpsActions from \"../../../../../../../../redux/adaptive_cps/action\";\r\nimport { Modal } from \"react-bootstrap\";\r\n\r\nconst AdaptiveCpsSubjects = (props) => {\r\n let {\r\n userPreference,\r\n handleSubjectClick,\r\n handleSubjectClick2,\r\n is_subscribe,\r\n startLoading,\r\n finishLoading,\r\n CommonBannerData,\r\n } = props;\r\n let history = useHistory();\r\n const [state, setState] = useState({\r\n topicSubjectList: {},\r\n showModal: false,\r\n });\r\n\r\n useEffect(() => {\r\n getTopicSubjectList();\r\n }, []);\r\n\r\n //subjectList\r\n const getTopicSubjectList = async () => {\r\n let { courseDetails, classDetails } = userPreference;\r\n\r\n let data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n url_213,\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicSubjectList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n let { subject: subjectList } = state.topicSubjectList;\r\n\r\n const handleSubjectClickBoth = (sub_name) => {\r\n if(false) {\r\n // history.push({\r\n // pathname: \"/store\", state: { tab: \"online_learning\" }\r\n // })\r\n setState((prevState) => ({\r\n ...prevState,\r\n showModal: true,\r\n }));\r\n } else {\r\n if (is_subscribe === true) {\r\n console.log(\"subscribe\");\r\n handleSubjectClick2(sub_name);\r\n } else {\r\n handleSubjectClick(sub_name);\r\n }}\r\n };\r\n\r\n const backGroundColorFromBackend = (color_code) => {\r\n const colorCode = color_code ? color_code.split(\",\") : null;\r\n \r\n if (colorCode !== null) {\r\n return {\r\n background: `linear-gradient(277deg,${colorCode[0]}, ${colorCode[1]} 101.46%)`,\r\n };\r\n } else {\r\n return {\r\n background: \"\",\r\n };\r\n }\r\n };\r\n \r\n\r\n return (\r\n <>\r\n
    \r\n {/*
    Choose a Subject
    */}\r\n {!isEmpty(subjectList)\r\n ? subjectList.length\r\n ? subjectList.map((elem, index) => {\r\n return (\r\n handleSubjectClickBoth(elem.sub_name)}\r\n style={backGroundColorFromBackend(\r\n elem.color_code\r\n )}\r\n >\r\n
    \r\n
    \r\n \"icon\"\r\n
    \r\n
    {elem.sub_name}
    \r\n
    \r\n\r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n showModal: false,\r\n }))\r\n }\r\n animation={false}\r\n centered\r\n >\r\n \r\n

    Adaptive CPS

    \r\n

    \r\n \r\n All your free attempts have been completed!\r\n \r\n

    \r\n

    \r\n Please click on “Buy Now” button to purchase Adaptive CPS package for attempting further tests.\r\n

    \r\n
    \r\n {\r\n history.push({\r\n pathname: \"/store\",\r\n state: { tab: \"online_learning\" },\r\n });\r\n }}\r\n >\r\n Buy Now\r\n \r\n
    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n showModal: false,\r\n }))\r\n }\r\n >\r\n \"close\"\r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n CommonBannerData: state.userActivity.commonBannerData,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n\r\n setAdaptiveCpsSubjectAction: (payload) => {\r\n dispatch(adaptiveCpsActions.setAdaptiveCpsSubject(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(AdaptiveCpsSubjects);\r\n","import { useHistory } from \"react-router-dom\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport \"./CommonBannerComponent.scss\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport axios from \"axios\";\r\nimport { url_213 } from \"../../../../../custom_utilities/api_services\";\r\nimport { useEffect, useState } from \"react\";\r\nimport userActivityActions from \"../../../../../redux/user_activity/action\";\r\n\r\nconst CommonBannerComponent = (props) => {\r\n let { tab, startLoading, finishLoading, setCommonBannerData } = props;\r\n\r\n const [state, setState] = useState({\r\n data: {},\r\n });\r\n useEffect(() => {\r\n getAttemptDetails();\r\n }, []);\r\n\r\n const getPaperType = () => {\r\n const tabToPaperType = {\r\n adaptive_cps: 4,\r\n cps: 2,\r\n \"Exam Cracker - JEE Mains\": 9,\r\n \"Exam Cracker - JEE Advanced\": 8,\r\n \"Exam Cracker - NEET\": 6,\r\n };\r\n return tabToPaperType[tab];\r\n };\r\n\r\n const getAttemptDetails = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(\r\n `${url_213}/?paper_type=${getPaperType()}`\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState(() => ({\r\n ...state,\r\n data: response.data.data,\r\n }));\r\n setCommonBannerData({\r\n ...state,\r\n data: response.data.data,\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const history = useHistory();\r\n\r\n const width = tab.includes(\"Exam Cracker\") ? \"68%\" : \"100%\";\r\n\r\n const handleButtonClick = () => {\r\n history.push({ pathname: \"/store\", state: { tab: \"online_learning\" } });\r\n // if (tab === \"adaptive_cps\") {\r\n // } else if (tab === \"cps\") {\r\n // } else if (tab.includes(\"Exam Cracker\")) {\r\n // }\r\n };\r\n\r\n return (\r\n <>\r\n {tab.includes(\"Exam Cracker\") && !state.data.package_active && (\r\n \r\n
    \r\n

    Exam Mastery

    \r\n

    \r\n Your path to exam success begins with ‘Exam Cracker’.
    \r\n Subscribe now!\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n {(tab === \"cps\" || tab === \"adaptive_cps\") &&\r\n !state.data.package_active && (\r\n
    \r\n
    \r\n {state.data.is_attempt > 0 ? (\r\n <>\r\n

    Enjoy your Free Trial attempts

    \r\n {state.data.is_attempt} Left\r\n \r\n ) : (\r\n

    No free attempts left

    \r\n )}\r\n {tab === \"cps\" ? (\r\n

    \r\n Upgrade now for unlimited access and unlock the full potential\r\n of Conceptual Problem Sheets.\r\n

    \r\n ) : (\r\n

    \r\n Upgrade now for unlimited access and unlock the full potential\r\n of Adaptive CPS.\r\n

    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setCommonBannerData: (payload) => {\r\n dispatch(userActivityActions.setCommonBannerData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(0, mapDispatchToProps)(CommonBannerComponent);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./AdaptiveCpsContent.scss\";\r\nimport { useHistory } from \"react-router\";\r\n\r\nimport AdaptiveCpsBanner from \"./adaptiveCpsBanner/AdaptiveCpsBanner\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport { connect } from \"react-redux\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport ZeroAttemptsAlert from \"./zeroAttemptsAlert/ZeroAttemptsAlert\";\r\nimport adaptiveCpsActions from \"../../../../../../../redux/adaptive_cps/action\";\r\nimport AdaptiveCpsSubjects from \"./adaptiveCpsSubjects/AdaptiveCpsSubjects\";\r\nimport CommonBannerComponent from \"../../../../../PYQ_CPS_Exam/pyqCpsExamComponent/PyqCpsExamContentComponent/CommonBannerComponent\";\r\n\r\nconst AdaptiveCpsContent = ({\r\n loader,\r\n handleStep,\r\n packageList,\r\n token,\r\n tokenType,\r\n setAdaptiveCpsSubjectAction,\r\n startLoading,\r\n finishLoading,\r\n}) => {\r\n const history = useHistory();\r\n const [attemptCount, setAttemptCount] = useState(\"\");\r\n const [alertShow, setAlertShow] = useState(false);\r\n\r\n useEffect(() => {\r\n getAttemptCount();\r\n }, []);\r\n\r\n const getAttemptCount = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSInstructions\",\r\n { headers }\r\n );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setAttemptCount(response?.data?.TotalAttempt);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleSubjectClick = (sub_name) => {\r\n if (attemptCount === 0) {\r\n // Show the custom modal\r\n setAlertShow(true);\r\n } else {\r\n setAdaptiveCpsSubjectAction(sub_name);\r\n // history.push(\"/adaptive_cps_test\");\r\n\r\n history.push({\r\n pathname: \"/adaptive_cps_test\",\r\n state: { attemptCount: attemptCount },\r\n });\r\n }\r\n };\r\n\r\n // const handleSubjectClick2 = (sub_name) => {\r\n // setAdaptiveCpsSubjectAction(sub_name);\r\n // history.push(\"/adaptive_cps_test\");\r\n // };\r\n\r\n const handleSubjectClick2 = (sub_name) => {\r\n setAdaptiveCpsSubjectAction(sub_name);\r\n history.push({\r\n pathname: \"/adaptive_cps_test\",\r\n state: { attemptCount: attemptCount },\r\n });\r\n };\r\n\r\n const handleClose = () => {\r\n setAlertShow(false);\r\n };\r\n\r\n const handleRedirectToStore = () => {\r\n setAlertShow(false);\r\n history.push(\"/store\");\r\n };\r\n\r\n return (\r\n <>\r\n
    handleStep(1)}>\r\n \"backBtn\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*
    Adaptive CPS
    */}\r\n

    \r\n Based on the exams & practice test performances we suggested\r\n you to keep focus on week topics.\r\n

    \r\n
    \r\n \r\n
    \r\n {packageList.map((packageItem) => {\r\n if (\r\n packageItem.package_id === 228 ||\r\n packageItem.package_id === 229\r\n ) {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n })}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n packageList: state.auth.packageList.paidCoursePackages,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n setAdaptiveCpsSubjectAction: (payload) => {\r\n dispatch(adaptiveCpsActions.setAdaptiveCpsSubject(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(AdaptiveCpsContent);\r\n\r\n// export default AdaptiveCpsContent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./AdaptiveCps.scss\";\r\n\r\nimport axios from \"axios\";\r\nimport AdaptiveCpsCreatePaper from \"./components/home-components/adaptive-cps-create/AdaptiveCpsCreatePaper\";\r\nimport AdaptiveCpsCustomPapers from \"./components/home-components/adaptive-cps-custom-papers/AdaptiveCpsCustomPapers\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport { connect } from \"react-redux\";\r\nimport AdaptiveCpsContent from \"./components/home-components/adaptiveCpsContent/AdaptiveCpsContent\";\r\nimport AdaptiveCpsAction from \"../../../../redux/adaptive_cps/action\";\r\n\r\nconst AdaptiveCps = ({\r\n startLoading,\r\n finishLoading,\r\n handleStep,\r\n step,\r\n setAdaptiveCpsId,\r\n}) => {\r\n const [state, setState] = useState({\r\n topicSubjectList: [], // Initialize topicSubjectList as an empty array\r\n // step: 1,\r\n });\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n\r\n // Function to fetch subject list from the API\r\n const getSubjectList = async () => {\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSSubjectData\"\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicSubjectList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n // Function to handle the step change\r\n // const handleStep = (newStep) => {\r\n // setState((prevState) => ({\r\n // ...prevState,\r\n // step: newStep,\r\n // }));\r\n // };\r\n\r\n // Customized rendering logic\r\n const renderAdaptiveCpsContent = () => {\r\n // const { step } = state;\r\n\r\n if (step === 1) {\r\n return (\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n } else if (step === 2) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n // If step is neither 1 nor 2, return null (no content rendered)\r\n return null;\r\n };\r\n\r\n return renderAdaptiveCpsContent(); // Call the customized rendering function\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setAdaptiveCpsId: (acps_id) => {\r\n dispatch(AdaptiveCpsAction.setAdaptiveCpsId(acps_id));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(AdaptiveCps);\r\n","import { React, useState, useEffect } from \"react\";\r\nimport \"./PyqCpsExamContentComponent.scss\";\r\n//\r\n\r\n//\r\nimport Previous_question_paper from \"./previous_question_paper/Previous_question_paper\";\r\nimport Customized_practise_sheet from \"./customized_practice_sheet/Customized_practise_sheet\";\r\nimport User_Exercise_Test from \"../../../user_exercise_test/user_exercise_test\";\r\n\r\nimport User_ots_component from \"../../../user_exercise_test/user_ots_test_series/ots_tests/OtsTestComponent\";\r\nimport images from \"../../../../../utilities/images/images\";\r\n\r\nimport ExamCracker from \"../../../user_exercise_test/user_exam_cracker/exam_cracker\";\r\nimport Mock_test from \"../../../user_exercise_test/user_mock_test/mock_test\";\r\nimport BitSat from \"../../../user_exercise_test/user_bit_sat/bit_sat\";\r\n// Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport AdaptiveCps from \"../../../user_exercise_test/user_adaptive_cps/AdaptiveCps\";\r\nimport CommonBannerComponent from \"./CommonBannerComponent\";\r\nimport AdaptiveCpsCreatePaper from \"../../../user_exercise_test/user_adaptive_cps/components/home-components/adaptive-cps-create/AdaptiveCpsCreatePaper\";\r\nconst PyqCpsExamComponent = (props) => {\r\n let { history } = props;\r\n\r\n const {\r\n state: { tab },\r\n } = props.location;\r\n\r\n const [state, setState] = useState({ step: 1 });\r\n\r\n const handleStep = (newStep) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: newStep,\r\n }));\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {tab === \"create-adaptive-cps\" && state.step === 1 && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {tab == \"pyq\" && \"Previous Year Questions Paper\"}\r\n {tab == \"cps\" && \"Conceptual Problem Sheet\"}\r\n {tab == \"exam\" && \"Exams\"}\r\n {tab == \"ots\" && \"Test Series\"}\r\n {tab == \"exam_cracker\" && \"Exam Cracker\"}\r\n {tab == \"bit_sat\" && \"BITSAT\"}\r\n {tab == \"mock_test\" && \"Mock tests\"}\r\n {tab == \"create-adaptive-cps\" && \"Your Adaptive CPS\"}\r\n
    \r\n\r\n
    \r\n
    \r\n {tab === \"pyq\" && (\r\n \r\n \r\n
    \r\n )}\r\n\r\n {tab === \"cps\" && (\r\n \r\n \r\n \r\n
    \r\n )}\r\n\r\n {tab === \"exam\" && (\r\n \r\n \r\n
    \r\n )}\r\n\r\n {tab === \"ots\" && (\r\n \r\n \r\n
    \r\n )}\r\n\r\n {tab === \"exam_cracker\" && (\r\n \r\n \r\n
    \r\n )}\r\n\r\n {tab === \"bit_sat\" && (\r\n \r\n \r\n
    \r\n )}\r\n\r\n {tab === \"mock_test\" && (\r\n \r\n \r\n
    \r\n )}\r\n\r\n {tab === \"create-adaptive-cps\" && (\r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(null, mapDispatchToProps)(PyqCpsExamComponent);\r\n","import React, { useEffect, useState } from \"react\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\nimport PyqCpsExamComponent from \"../pyqCpsExamComponent/PyqCpsExamContentComponent/PyqCpsExamContentComponent\";\r\n//////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst PyqCpsExam = (props) => {\r\n let { history, loader, userData, userPreference, location } = props;\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n return (\r\n <>\r\n
    \r\n
    \r\n {windowWidth <= 480 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nexport default connect(mapStateToProps)(PyqCpsExam);\r\n","import { React, useEffect, useState } from \"react\";\r\nimport \"./PyqSubjectTopicContent.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_84 } from \"../../../../../../custom_utilities/api_services\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\nimport userPyqTestsAction from \"../../../../../../redux/pyq_test_exercises/action\";\r\n\r\nconst PyqSubjectTopicContent = (props) => {\r\n let {\r\n pyqtopicData,\r\n startLoading,\r\n finishLoading,\r\n setPyqTestsData,\r\n headingName,\r\n } = props;\r\n const [state, setState] = useState({\r\n topicItemList: {},\r\n });\r\n\r\n let history = useHistory();\r\n useEffect(() => {\r\n getTopicList();\r\n }, []);\r\n\r\n const getTopicList = async () => {\r\n let data = {\r\n subject: headingName?.subName,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_84, data);\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicItemList: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const testModule = () => {\r\n history.push(\"/PyqCpsExamTest\");\r\n };\r\n //...sendData\r\n const onHandleTakeTest = (testData) => {\r\n setPyqTestsData(testData);\r\n history.push(\"/PYQ_TopicWise_Test\");\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {state ? (\r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    {headingName?.subName}
    \r\n
    \r\n {!isEmpty(state.topicItemList)\r\n ? state.topicItemList.length\r\n ? state.topicItemList.map((elem, index) => {\r\n return (\r\n onHandleTakeTest(elem)}\r\n >\r\n
    \r\n \"icons\"\r\n
    \r\n
    \r\n {elem.topic_name}\r\n
    \r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \"backBtn\"\r\n
    \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    Exam Topic
    \r\n
    Duration : 3:00:00
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n

    \r\n This Section contains a set of questions for practice\r\n

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n pyqtopicData: state.userActivity.subjectData,\r\n headingName: state.userActivity.pyqtopicData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setPyqTopicData: (payload) => {\r\n dispatch(userActivityActions.setPyqTopicData(payload));\r\n },\r\n setPyqTestsData: (payload) => {\r\n dispatch(userPyqTestsAction.setPyqTestsData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(PyqSubjectTopicContent);\r\n","import React from \"react\";\r\nimport \"./Pyq_subject_topic.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport PyqSubjectTopicContent from \"./pyqSubjectTopicContent/PyqSubjectTopicContent\";\r\n//////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst Pyq_subject_topic = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n <>\r\n
    \r\n
    \r\n {isMob() ? <>\r\n \r\n \r\n \r\n \r\n :}\r\n \r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nexport default connect(mapStateToProps)(Pyq_subject_topic);\r\n","import { React, useEffect, useState } from \"react\";\r\nimport \"./CpsSubjectTopicContent.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_84,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\nimport userPyqTestsAction from \"../../../../../../redux/pyq_test_exercises/action\";\r\n\r\nconst CpsSubjectTopicContent = (props) => {\r\n let { userPreference, pyqtopicData, startLoading,finishLoading,setPyqTestsData\r\n } = props;\r\n const [state, setState] = useState({\r\ntopicItemList:{}\r\n });\r\n let history = useHistory();\r\n useEffect(() => {\r\n getTopicList();\r\n }, []);\r\n\r\n const getTopicList = async() => {\r\n let data = {\r\n subject: pyqtopicData.subId,\r\n }\r\n startLoading();\r\n try { \r\n const response = await axios.post(url_84, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState, topicItemList: response.data.data,\r\n }))\r\n finishLoading();\r\n }\r\n finishLoading();\r\n }\r\n catch (error) {\r\n console.log(error);\r\n }\r\n}\r\n \r\n const testModule = () => {\r\n history.push(\"/PyqCpsExamTest\");\r\n };\r\n //...sendData\r\n const onHandleTakeTest = (testData) => {\r\n //setPyqTestsData(testData);\r\n //history.push(\"/PYQ_TopicWise_Test\");\r\n history.push({\r\n pathname: '/CpsSubjectSubTopic',\r\n state: { subTopic: testData },\r\n });\r\n // else {\r\n // setUserTestsResultData(testData);\r\n // history.push(\"/test_result\");\r\n // }\r\n // setUserTestsResultData(testData);\r\n // history.push(\"/test_result\");\r\n };\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {state ? (\r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    {pyqtopicData.subId}

    \r\n
    \r\n
    \r\n {!isEmpty(state.topicItemList)\r\n ? state.topicItemList.length\r\n ? state.topicItemList.map((elem, index) => {\r\n return (\r\n onHandleTakeTest(elem)}\r\n >\r\n
    \r\n {elem.topic_name}\r\n
    \r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \"backBtn\"\r\n
    \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    Exam Topic
    \r\n
    Duration : 3:00:00
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n

    \r\n This Section contains a set of questions for practice\r\n

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n pyqtopicData: state.userActivity.pyqtopicData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setPyqTopicData: (payload) => {\r\n dispatch(userActivityActions.setPyqTopicData(payload));\r\n },\r\n setPyqTestsData: (payload) => {\r\n dispatch(userPyqTestsAction.setPyqTestsData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CpsSubjectTopicContent);","import React from \"react\";\r\nimport \"./Cps_subject_topic.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport CpsSubjectTopicContent from \"./cpsSubjectTopicContent/CpsSubjectTopicContent\";\r\n//////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst Cps_subject_topic = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n <>\r\n
    \r\n
    \r\n {isMob()?<>\r\n \r\n \r\n \r\n \r\n : }\r\n \r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nexport default connect(mapStateToProps)(Cps_subject_topic);\r\n","import { React, useEffect, useState } from \"react\";\r\nimport \"./CpsSubjectSubTopicContent.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_91 } from \"../../../../../../custom_utilities/api_services\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../../redux/user_activity/action\";\r\nimport userPyqTestsAction from \"../../../../../../redux/pyq_test_exercises/action\";\r\nimport { Modal, ModalBody } from \"react-bootstrap\";\r\n\r\nconst CpsSubjectSubTopicContent = (props) => {\r\n let {\r\n userPreference,\r\n pyqtopicData,\r\n startLoading,\r\n finishLoading,\r\n setPyqTestsData,\r\n CommonBannerData,\r\n } = props;\r\n const location = useLocation();\r\n let subTopic = location.state.subTopic;\r\n const [state, setState] = useState({\r\n topicItemList: {},\r\n topicName: location.state.subTopic,\r\n showModal: false,\r\n });\r\n let history = useHistory();\r\n useEffect(() => {\r\n getTopicList();\r\n }, []);\r\n\r\n const getTopicList = async () => {\r\n let data = {\r\n topic_name: subTopic,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_91, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicItemList: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const testModule = () => {\r\n history.push(\"/PyqCpsExamTest\");\r\n };\r\n //...sendData\r\n const onHandleTakeTest = (testData) => {\r\n setPyqTestsData(testData);\r\n // if (!CommonBannerData.data.packageActive) {\r\n // // history.push({\r\n // // pathname: \"/store\", state: { tab: \"online_learning\" }\r\n // // })\r\n // setState((prevState) => ({\r\n // ...prevState,\r\n // showModal: true,\r\n // }));\r\n // } else {\r\n history.push({\r\n pathname: \"/CpsTestComponent\",\r\n state: { subTopic: subTopic },\r\n });\r\n // }\r\n };\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {state ? (\r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    \r\n {state.topicName.topic_name}\r\n

    \r\n
    \r\n
    \r\n {!isEmpty(state.topicItemList)\r\n ? state.topicItemList.length\r\n ? state.topicItemList.map((elem, index) => {\r\n return (\r\n onHandleTakeTest(elem)}\r\n >\r\n {elem.is_attempt ? (\r\n
    \r\n {`${elem.sub_topic_name} `}\r\n \r\n (Attempted)\r\n \r\n
    \r\n ) : (\r\n
    \r\n {elem.sub_topic_name}\r\n
    \r\n )}\r\n
    \r\n \"arrow\"\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n \"backBtn\"\r\n
    \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    Exam Topic
    \r\n
    Duration : 3:00:00
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n

    \r\n This Section contains a set of questions for practice\r\n

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n showModal: false,\r\n }))\r\n }\r\n animation={false}\r\n centered\r\n >\r\n \r\n

    Conceptual Problem Sheets

    \r\n

    All your free attempts have been completed!

    \r\n

    \r\n Please click on “\r\n \r\n Buy Now\r\n \r\n ” button to purchase Conceptual Problem Sheets package for\r\n attempting further tests.\r\n

    \r\n
    \r\n {\r\n history.push({\r\n pathname: \"/store\",\r\n state: { tab: \"online_learning\" },\r\n });\r\n }}\r\n >\r\n Buy Now\r\n \r\n
    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n showModal: false,\r\n }))\r\n }\r\n >\r\n \"close\"\r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n pyqtopicData: state.userActivity.pyqtopicData,\r\n CommonBannerData: state.userActivity.commonBannerData,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setPyqTopicData: (payload) => {\r\n dispatch(userActivityActions.setPyqTopicData(payload));\r\n },\r\n setPyqTestsData: (payload) => {\r\n dispatch(userPyqTestsAction.setPyqTestsData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CpsSubjectSubTopicContent);","import React from \"react\";\r\nimport \"./Cps_subject_SubTopic.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport CpsSubjectTopicContent from \"./cpsSubjectTopicContent/CpsSubjectSubTopicContent\";\r\n//////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst Cps_subject_SubTopic = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n <>\r\n
    \r\n
    \r\n {isMob()?<>\r\n \r\n \r\n \r\n \r\n : }\r\n \r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nexport default connect(mapStateToProps)(Cps_subject_SubTopic);\r\n","import React from \"react\";\r\nimport \"./PyqCpsExamTestComponent.scss\";\r\n//\r\nimport TestInstructionView from \"./test_Instruction_view/Test_Instruction_view\";\r\nimport TestQuestionView from \"./test_Question_View/Test_Question_View\";\r\n\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\n\r\nconst PyqCpsExamTestComponent = () => {\r\n return
    ;\r\n};\r\n\r\nexport default PyqCpsExamTestComponent;\r\n","import React from \"react\";\r\nimport \"./PyqCpsExamTest.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\nimport PyqCpsExamTestComponent from \"./pyqCpsExamTestComponent/PyqCpsExamTestComponent\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst PyqCpsExamTest = (props) => {\r\n let { history, loader, userData, userPreference } = props;\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nexport default connect(mapStateToProps)(PyqCpsExamTest);\r\n","import { Fragment } from \"react\";\r\nimport \"./test_instructions_view.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst TestInstructionsView = (props) => {\r\n let {\r\n testDetails,\r\n testSectionsDetails,\r\n startBtn,\r\n handleRedirectBtn,\r\n testInstructionData,\r\n total_attempts,\r\n is_paid,\r\n time_left,\r\n history,\r\n } = props;\r\n\r\n function testTime(minutes) {\r\n var h = Math.floor(minutes / 60);\r\n var m = minutes % 60;\r\n h = h < 10 ? \"0\" + h : h;\r\n m = m < 10 ? \"0\" + m : m;\r\n return h + \":\" + m + \" hrs\";\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n\r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    \r\n
    {testDetails?.paper_name}
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n
    \r\n
      \r\n
    • This Section contains a set of questions for practice
    • \r\n
    • Users can go to previous question by clicking on the\r\n previous button
    • \r\n
    • Users can go to next question by clicking on the next\r\n button
    • \r\n
    \r\n
    Best of luck
    \r\n \r\n
    \r\n
    \r\n
    \r\n {is_paid === 0 ? (\r\n
    \r\n
    \r\n {\" \"}\r\n Attempts Left : {total_attempts}\r\n
    \r\n
    \r\n Time Left to Attempt : {time_left}\r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default TestInstructionsView;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./test_questions_view.scss\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\nimport images from \"../.././../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\n\r\nconst TestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n checkQuestion,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n // condition for Report Error modal submit button\r\n\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const scrollUp = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const scrollUp2 = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80 - 160}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n const [showError, setShowError] = useState(false);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n const [solText, setSolText] = useState(true);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n // for report error modal\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [disabled1, setDisabled] = useState(false);\r\n const [isList, setisList] = useState(true);\r\n\r\n useEffect(() => {\r\n if (\r\n countDownTimer.hours == 0 &&\r\n countDownTimer.minutes == 0 &&\r\n countDownTimer.seconds == 0\r\n ) {\r\n alert(\"Time is up. Test will be submitted.\");\r\n handleSubmitTest(currentQuestion);\r\n // handleLastQuestionSave();\r\n }\r\n }, [countDownTimer.seconds]);\r\n\r\n useMathjax(isList);\r\n useMathjax(currentQuestion, lang, sol);\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n setDisabled(false);\r\n };\r\n const handleSolution = () => {\r\n setSol(false);\r\n //classEditor();\r\n };\r\n const disableSol = () => {\r\n setDisabled(true);\r\n };\r\n\r\n useEffect(() => {\r\n const handlePopState = () => {\r\n handleShow();\r\n };\r\n\r\n window.addEventListener(\"popstate\", handlePopState);\r\n\r\n return () => {\r\n window.removeEventListener(\"popstate\", handlePopState);\r\n };\r\n }, []);\r\n\r\n const renderOptions = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr.map((val, i) => {\r\n let step, type;\r\n type = val.answer_type;\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(questionsArr[i], i, lang);\r\n case 2:\r\n return renderInputField(i);\r\n case 3:\r\n return renderMultiSelect(questionsArr[i], i);\r\n default:\r\n return null;\r\n }\r\n });\r\n } else {\r\n return null;\r\n }\r\n };\r\n const classEditor = (s, wc, optionId) => {\r\n if (!sol && Number(s)) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!sol && wc && wc.indexOf(Number(optionId)) > -1) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const handlePurticularQuestion = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion - 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion3 = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion + 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion + 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n const renderSingleSelect = (questionData, currentQuestion2) => {\r\n return (\r\n \r\n \r\n {lang\r\n ? questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null\r\n : questionData.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2) => {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item.option_id === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n {\r\n handleInputFieldChange(event);\r\n disableSol();\r\n }}\r\n disabled={checkQuestion ? false : true}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return {\r\n __html: lang\r\n ? questionsArr[currentQuestion].q_text\r\n : questionsArr[currentQuestion].q_text_hindi !== null\r\n ? questionsArr[currentQuestion].q_text_hindi\r\n : questionsArr[currentQuestion].q_text,\r\n };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index),\r\n setVideoShow(false),\r\n setToggleMenu(false))\r\n }\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n // const config = {\r\n // //loader: { load: [\"[tex]/html\"] },\r\n // loader: {\r\n // load: [\r\n // \"input/asciimath\",\r\n // \"output/chtml\",\r\n // \"ui/menu\",\r\n // \"[mml]/mml3\",\r\n // \"[tex]/html\",\r\n // ],\r\n // },\r\n // };\r\n\r\n const config = {\r\n \"fast-preview\": {\r\n disabled: true,\r\n },\r\n tex2jax: {\r\n inlineMath: [\r\n [\"$\", \"$\"],\r\n [\"\\\\(\", \"\\\\)\"],\r\n ],\r\n displayMath: [\r\n [\"$$\", \"$$\"],\r\n [\"\\\\[\", \"\\\\]\"],\r\n ],\r\n },\r\n messageStyle: \"none\",\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const renderSingleQuestion = (element) => {\r\n if (lang) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(element?.q_text_hindi)) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n return (\r\n

    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderVideo = (element) => {\r\n const videoId = element.video_id_english;\r\n const hindiVideoId = element.video_id_hindi;\r\n const englishVideoCriptId = element.english_video_cript_id;\r\n const hindiVideoCriptId = element.hindi_video_cript_id;\r\n\r\n const isHindi = !lang && hindiVideoId && hindiVideoCriptId;\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n const selectedVideoCriptId = isHindi\r\n ? hindiVideoCriptId\r\n : englishVideoCriptId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n if (!urlPattern.test(selectedVideoId)) {\r\n return null;\r\n }\r\n\r\n // const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (selectedVideoCriptId && selectedVideoCriptId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n {videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {selectedVideoId && (\r\n \r\n {buttonLabel}\r\n \r\n )}\r\n\r\n {videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n\r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion].q_text_hindi ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n Question type:\r\n \r\n {` `}\r\n {testQuestionsDetails[currentQuestion]?.type}\r\n \r\n

    \r\n
    \r\n
    \r\n

    \r\n Question {currentQuestion + 1}\r\n

    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((elem, index) => {\r\n if (index == currentQuestion) {\r\n return <>{renderSingleQuestion(elem)};\r\n }\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {renderOptions()}\r\n
    \r\n\r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any\r\n incorrect or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n {!sol ? (\r\n
    \r\n
    \r\n
    Solution :
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n
    \r\n {true\r\n ? testQuestionsDetails.map((elem, index) => {\r\n // if (index === currentQuestion) {\r\n return <>{renderVideo(elem)};\r\n // }\r\n })\r\n : null}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n\r\n \r\n \r\n \"\"\r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn();\r\n scrollUp2();\r\n handlePurticularQuestion();\r\n setVideoShow(false);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n {sol ? (\r\n handleSolution()}\r\n >\r\n Solution\r\n \r\n ) : (\r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n )}\r\n
    \r\n ) : (\r\n
    \r\n {sol ? (\r\n handleSolution()}\r\n >\r\n Solution\r\n \r\n ) : (\r\n {\r\n handleNextQuestionBtn();\r\n // handleSol();\r\n scrollUp();\r\n handlePurticularQuestion3();\r\n setVideoShow(false);\r\n // setLang(true);\r\n }}\r\n >\r\n Next\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default TestQuestionsView;\r\n","export const SET_CPS_TESTS_DATA = \"SET_CPS_TESTS_DATA\";\r\nexport const SET_CPS_TESTS_RESULT_DATA = \"SET_CPS_TESTS_RESULT_DATA\";","import * as actionTypes from \"./action_type\";\r\n\r\nconst setCpsTestsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_CPS_TESTS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setCpsTestsResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_CPS_TESTS_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n setCpsTestsData,\r\n setCpsTestsResultData,\r\n};\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./cps_test_content_component.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\n///////\r\nimport TestInstructionsView from \"./test_instructions_view/test_instructions_view\";\r\nimport TestQuestionsView from \"./test_questions_view/test_questions_view\";\r\n//import Question_paper_solution from \"./Question_paper_solution/Question_paper_solution\";\r\nimport userTestsExercisesAction from \"../../../../../../redux/user_tests_exercises/action\";\r\nimport {\r\n url_93,\r\n url_29,\r\n url_94,\r\n url_95,\r\n url_96,\r\n url_77,\r\n url_175,\r\n url_174,\r\n url_143,\r\n url_97,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport cpsUiActions from \"../../../../../../redux/cps_test_exercises/action\";\r\nimport RewardModal from \"../../../../../../components/RewardModal/RewardModal\";\r\nimport CoinUsesModal from \"../../../../../../components/CoinUsesModal/CoinUsesModal\";\r\n\r\nconst CpsTestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n pyqtopicData,\r\n setUserTestsResultData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n setCpsTestsResultData,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testInstructionData: {},\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 1,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n left: 0,\r\n is_paid: 0,\r\n hours: 72,\r\n minutes: 0,\r\n seconds: 0,\r\n earnedCoins: 0,\r\n coinPopup: false,\r\n reason: \"RewardModal\",\r\n coinDetailsPopup: false,\r\n coinUsesPoints: [],\r\n textResultData: {},\r\n });\r\n let is_cps_jee = userData.is_cps_jee;\r\n let is_cps_neet = userData.is_cps_neet;\r\n let is_paid = userData.is_subscribe;\r\n\r\n let total_attempts = 0;\r\n const location = useLocation();\r\n let topic_name = location?.state?.subTopic;\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n //setSubject(subject);\r\n };\r\n\r\n const onBackButtonEvent = (e) => {\r\n e.preventDefault();\r\n handleShow();\r\n };\r\n\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n return () => {\r\n window.removeEventListener(\"popstate\", onBackButtonEvent);\r\n };\r\n }, []);\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n });\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n };\r\n\r\n // useEffect(() => {\r\n // subjectWiseData(state.testQuestionsDetails);\r\n // }, [state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n //handleCheckQuestion()\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n // getTestDetails();\r\n getTestSectionsDetails();\r\n getinstructionDetail();\r\n coinUsesApi();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(state.testDetails.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n //duration is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n //getinstructionDetail\r\n const getinstructionDetail = async () => {\r\n const data = {\r\n subject: pyqtopicData.subId,\r\n sub_topic_name: testData.sub_topic_name,\r\n topic_name: topic_name,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_93, data);\r\n total_attempts =\r\n is_cps_jee == 1 || is_cps_neet == 1\r\n ? 2\r\n : 2 - response.data.TotalAttempt;\r\n //alert(total_attempts)\r\n setState((preState) => ({\r\n ...preState,\r\n testDetails: response.data.data,\r\n left: total_attempts,\r\n is_paid: userData.is_subscribe,\r\n }));\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n // const getTestDetails = () => {\r\n // setState((prevState) => ({ ...prevState, testDetails: state.testDetails }));\r\n // };\r\n\r\n const getTestSectionsDetails = async () => {\r\n let data = {\r\n paper_id: testData.paper_id,\r\n };\r\n\r\n //startLoading();\r\n try {\r\n const response = await axios.post(url_29, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testSectionsDetails: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_94, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const subjectWiseData = (questions) => {\r\n const subjectSectionWiseData = {};\r\n for (let i = 0; i < questions.length; i++) {\r\n questions[i][\"matchIndex\"] = i;\r\n if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n [questions[i][\"section_name\"]]: [questions[i]],\r\n };\r\n } else if (\r\n subjectSectionWiseData[questions[i][\"subject\"]] &&\r\n !subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ]\r\n ) {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ] = [questions[i]];\r\n } else {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ].push(questions[i]);\r\n }\r\n }\r\n return subjectSectionWiseData;\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n //3 days from the time created\r\n const date_created = new Date(userData.created_on);\r\n const numOfHours = 72;\r\n date_created.setTime(date_created.getTime() + numOfHours * 60 * 60 * 1000);\r\n let diffInMilliseconds = Math.abs(Math.abs(date_created - d) / 1000);\r\n\r\n // let diffInMilliSeconds = Math.abs(dateFuture - dateNow) / 1000;\r\n\r\n // calculate days\r\n const days = Math.floor(diffInMilliseconds / 86400);\r\n\r\n // calculate hours\r\n const hours = 24 * days + (Math.floor(diffInMilliseconds / 3600) % 24);\r\n diffInMilliseconds -= hours * 3600;\r\n\r\n // calculate minutes\r\n const minutes = Math.floor(diffInMilliseconds / 60) % 60;\r\n // diffInMilliseconds -= minutes * 60;\r\n\r\n return d.getTime();\r\n };\r\n\r\n const get_time_diff = () => {\r\n let d = new Date();\r\n //3 days from the time created\r\n const date_created = new Date(userData.created_on);\r\n const numOfHours = 72;\r\n date_created.setTime(date_created.getTime() + numOfHours * 60 * 60 * 1000);\r\n let diffInMilliseconds = Math.abs(Math.abs(date_created - d) / 1000);\r\n\r\n // let diffInMilliSeconds = Math.abs(dateFuture - dateNow) / 1000;\r\n\r\n // calculate days\r\n const days = Math.floor(diffInMilliseconds / 86400);\r\n\r\n // calculate hours\r\n const hours = 24 * days + (Math.floor(diffInMilliseconds / 3600) % 24);\r\n diffInMilliseconds -= hours * 3600;\r\n\r\n // calculate minutes\r\n const minutes = Math.floor(diffInMilliseconds / 60) % 60;\r\n // diffInMilliseconds -= minutes * 60;\r\n return hours + \" hrs and \" + minutes + \" minutes\";\r\n };\r\n\r\n //exitTimeCurrentOption\r\n const startBtn = async () => {\r\n //let lastOption = Number(localStorage.getItem(\"current\"));\r\n if (state.left == 0 && state.is_paid == 0) {\r\n // history.push(\"/store\");\r\n let my_data = [{ is_coupon: false }];\r\n props.history.push({\r\n pathname: \"/store\",\r\n my_state: my_data,\r\n });\r\n }\r\n\r\n let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n // const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n // returnedResponse.data.apiData.data\r\n // );\r\n if (returnedResponse.result) {\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n // element.q_text = element.q_text.replaceAll(\r\n // \"ckfinder\",\r\n // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.sol_text = element.sol_text\r\n ?.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n });\r\n let time = getNowTime();\r\n\r\n //handleQuestionJump(lastOption);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n //subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n const handlePreviousQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n\r\n handleSaveQuestion();\r\n //handleCheckQuestion();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n // if (state.testQuestionsDetails[state.currentQuestion].option.filter((opt) => {\r\n // opt.\r\n // }))\r\n };\r\n //save prticular question\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails, testDetails } =\r\n state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n option_id: crntQuestionDetail.userAnswerCollection[0]\r\n ? crntQuestionDetail.userAnswerCollection[0].option_id\r\n : crntQuestionDetail.answer_type == \"Integer Correct\"\r\n ? crntQuestionDetail.integer_answer\r\n : \"\",\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_96, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n testQuestionsDetails[currentQuestion].option.filter(\r\n (m) => m.is_user_correct_ans\r\n ).length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = {\r\n option_id: optionId,\r\n };\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n Number(optionId);\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element.option_id === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n let Obj = {\r\n option_id: optionId,\r\n };\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n Obj\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n if (\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ),\r\n 1\r\n );\r\n }\r\n } else {\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection\r\n .length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection.indexOf(optionId),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 3,\r\n };\r\n const response = await axios.post(url_77, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n // bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n // bookmarkApi(data);\r\n }\r\n };\r\n\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n // handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n };\r\n\r\n const handleSubmitTest = async () => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let questionArr = [];\r\n\r\n testQuestionsDetails.forEach((element) => {\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n });\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n //alert(returnedResponse.data.message);\r\n // setUserTestsResultData(testDetails);\r\n\r\n setCpsTestsResultData(testDetails);\r\n\r\n // history.push(\"/cps-summary\");\r\n handleClose();\r\n getCpsSummaryAndAddCoins();\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n // course_id: userPreference.courseDetails[0].course_id,\r\n // class_id: userPreference.classDetails.class_id,\r\n // batch_id: userPreference.batchDetails.batch_id,\r\n paper_id: testDetails.paper_id,\r\n time: 84,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n };\r\n\r\n // let requestPayload = {\r\n // course_id: 36,\r\n // class_id: 2,\r\n // batch_id: 30,\r\n // paper_id: testDetails.paper_id,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n // };\r\n\r\n try {\r\n const response = await axios.post(url_95, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push({\r\n pathname: \"/pyq\",\r\n state: { tab: \"pyq\" },\r\n });\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const getCpsSummaryAndAddCoins = async () => {\r\n let data = {\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_97, data);\r\n if (response.data.status === 200) {\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n textResultData: response.data.data,\r\n };\r\n });\r\n console.log(\"resultData\", response.data.data);\r\n addCoinsOnSubmission(\r\n response.data.data.correct_answer,\r\n response.data.data.incorrect_answer\r\n );\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n const addCoinsOnSubmission = async (correct_ans, wrong_ans) => {\r\n const data = {\r\n type: \"Attending_CPS\",\r\n wrong_ans: wrong_ans,\r\n correct_ans: correct_ans,\r\n paper_type: \"CPS\",\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_174, data);\r\n if (response.data.status === 200) {\r\n if (response.data.data !== \"MCoins Already Credited...!\") {\r\n console.log(response.data);\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n earnedCoins: response.data.coins,\r\n coinPopup: response.data.coins > 0 ? true : false,\r\n reason: response.data.data.description,\r\n };\r\n });\r\n if (response.data.coins === 0) {\r\n history.push({\r\n pathname: \"/cps-summary\",\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const coinUsesApi = async () => {\r\n try {\r\n const response = await axios.get(url_175);\r\n if (response.data.status === 200) {\r\n console.log(response.data.Uses);\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n coinUsesPoints: response.data.data,\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n // const closeRewardPopup = () => {\r\n // setState(prev => {\r\n // return {\r\n // ...prev,\r\n // coinPopup: false,\r\n // coinDetailsPopup: false,\r\n // }\r\n // })\r\n // }\r\n\r\n return (\r\n \r\n {\r\n history.push({ pathname: \"/cps-summary\" });\r\n }}\r\n earnMoreHandler={() =>\r\n setState((prev) => {\r\n return { ...prev, coinDetailsPopup: true, coinPopup: false };\r\n })\r\n }\r\n earnedCoins={state.earnedCoins}\r\n reason={state.reason}\r\n />\r\n {\r\n history.push({ pathname: \"/cps-summary\" });\r\n }}\r\n data={state.coinUsesPoints}\r\n />\r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.pyqTestsData.pyqTestData,\r\n pyqtopicData: state.userActivity.pyqtopicData,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n\r\n setCpsTestsResultData: (payload) => {\r\n dispatch(cpsUiActions.setCpsTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CpsTestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./cps_test_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n////////\r\nimport HeaderComponentTwo from \"../../../structure_components/desktop_screens/header_component/header_top/Header_top\";\r\nimport TestContentComponent from \"./test_content_component/cps_test_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst CpsTestComponent = (props) => {\r\n let { history, loader, userData} = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {/* {isMob() ? null : (\r\n */}\r\n \r\n {/* \r\n )} */}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(CpsTestComponent);\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState } from \"react\";\r\n// import \"./Question_paper_solution.scss\";\r\nimport \"./CpsQuestionPaperSolutionContent.scss\";\r\n\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../.././../../../../utilities/images/images\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport useMathjax from \"../../../../../../hooks/useMathjax\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\n\r\nconst CpsQuestionPaperSolutionContent = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userId,\r\n } = props;\r\n\r\n const [lang, setLang] = useState(true);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n const [disabled1, setDisabled] = useState(false);\r\n const [sol, setSol] = useState(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n const [isList, setisList] = useState(true);\r\n\r\n useMathjax(testQuestionsDetails, lang);\r\n useMathjax(testQuestionsDetails, isList);\r\n\r\n const renderOptions = (testQuestionsDetails) => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr.map((val, i) => {\r\n let step, type;\r\n type = val.answer_type;\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(questionsArr[i], i);\r\n case 2:\r\n return renderInputField(i);\r\n case 3:\r\n return renderMultiSelect(questionsArr[i], i);\r\n default:\r\n return null;\r\n }\r\n });\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\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\r\n const renderQuestionText = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n } else if (lang == false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.q_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.q_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n const renderSolution = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n } else if (lang == false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.sol_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true, \"userId\": \"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // Jump to a particular time\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n // Handle message event for receiving video timing details\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimingDetails\",\r\n JSON.stringify(videoTimingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n };\r\n\r\n const renderVideo = (currentQuestionDetails) => {\r\n const videoId = currentQuestionDetails?.video_id_english;\r\n const hindiVideoId = currentQuestionDetails?.video_id_hindi;\r\n\r\n const isHindi = !lang && hindiVideoId;\r\n\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const isIframe = urlPattern.test(selectedVideoId);\r\n\r\n const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n\r\n if (selectedVideoId && selectedVideoId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n\r\n {videoShow && isIframe ? (\r\n \r\n ) : null}\r\n {videoShow && !isIframe ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {Number(currentQuestion) + 1}/\r\n {testQuestionsDetails.length}\r\n

    \r\n
    \r\n {testQuestionsDetails[currentQuestion]\r\n ?.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {/* */}\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails?.length}\r\n
    \r\n
    */}\r\n
    \r\n {/*

    Exam

    */}\r\n
    \r\n

    \r\n Question type:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion]?.answer_type}\r\n \r\n

    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n Question type:{\" \"}\r\n {testQuestionsDetails[currentQuestion]?.answer_type}\r\n \r\n
    \r\n
    */}\r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n\r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {testQuestionsDetails.length > 0 &&\r\n renderOptions(testQuestionsDetails, lang)}\r\n
    \r\n\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n setVideoShow(false);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n setVideoShow(false);\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    Solution :
    \r\n
    \r\n

    \r\n {testQuestionsDetails.map((item, index) => {\r\n if (index === currentQuestion) {\r\n return renderVideo(item);\r\n }\r\n })}\r\n
    \r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {/*
    \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails?.length\r\n ? testQuestionsDetails?.map((element, index) => {\r\n return (\r\n \r\n {isList\r\n ? renderQuestionLabel1(element, index)\r\n : renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default CpsQuestionPaperSolutionContent;\r\n","import { React, useState } from \"react\";\r\nimport CpsQuestionPaperSolutionContent from \"./CpsQuestionPaperSolutionContent\";\r\n\r\nimport { url_94 } from \"../../../../../../custom_utilities/api_services\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst CpsQuestionPaperSolution = (props) => {\r\n let { startLoading, finishLoading, loader, testResultData, userData } = props;\r\n const [state, setState] = useState({\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n currentSolutionDetails: {},\r\n });\r\n useEffect(() => {\r\n getQuestionList();\r\n }, []);\r\n\r\n const getQuestionList = async () => {\r\n startLoading();\r\n let data = {\r\n paper_id: testResultData.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_94, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n //nextBtn\r\n const handleNextQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n // getCurrentSolutionDetails(paper_id, qid);\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n //previous btn\r\n const handlePreviousQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n // getCurrentSolutionDetails(paper_id, qid);\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n //handleJump\r\n const handleQuestionJump = (questionNumber) => {\r\n const { paper_id, qid } = state.testQuestionsDetails[questionNumber];\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n return (\r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n testResultData: state.cpsTestsReducer.cpsResultData,\r\n userData: state.auth.user,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(CpsQuestionPaperSolution);\r\n","import { React, useEffect, useState } from \"react\";\r\nimport \"./PyqDailyChallengeContent.scss\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport { Link, useHistory } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { url_206 } from \"../../../custom_utilities/api_services\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../redux/ui/action\";\r\nimport pyqDailyChallengeAction from \"../../../redux/pyq_daily_challenge/action\";\r\n\r\nconst PyqDailyChallengeContent = (props) => {\r\n let {\r\n startLoading,\r\n finishLoading,\r\n day,\r\n setSubject,\r\n token,\r\n tokenType,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n topicItemList: {},\r\n testList: [],\r\n currentTest: [],\r\n modalOpen: false,\r\n });\r\n\r\n let history = useHistory();\r\n\r\n useEffect(() => {\r\n getTestList();\r\n }, []);\r\n\r\n const getTestList = async () => {\r\n startLoading();\r\n const data = {\r\n schedule: day,\r\n };\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n try {\r\n const response = await axios.post(url_206, data, { headers });\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n testList: response.data.data,\r\n }));\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleModal = (card= state.currentTest) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n modalOpen: !prevState.modalOpen,\r\n currentTest: card,\r\n }));\r\n }\r\n\r\n const handleStart = (card= state.currentTest) => {\r\n setSubject(card);\r\n history.push(\"/Pyq_daily_test_component\");\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    Day - {day.slice(3)} Challenge
    \r\n
    \r\n {state.testList.map((card) => {\r\n return (\r\n
    \r\n

    {card.subject}

    \r\n

    {card.title}

    \r\n
    \r\n \r\n {card.is_attempt ? : }\r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Test Syllabus

    \r\n \r\n
    \r\n
    \r\n

    {state.currentTest.subject}

    \r\n
    \r\n
      \r\n {state.currentTest.topic?.map((topic) => {\r\n return (
    • {topic}
    • )\r\n })}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n day: state.PyqDailyChallengeReducer.day,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n \r\n setSubject: (payload) => {\r\n dispatch(pyqDailyChallengeAction.setSubject(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(PyqDailyChallengeContent);\r\n","import React from \"react\";\r\n\r\n// Desktop\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\nimport PyqDailyChallengeContent from \"../Pyq_daily_challenge/PyqDailyChallengeContent\";\r\n\r\n// Mobile\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n// Redux\r\nimport { connect } from \"react-redux\";\r\nimport FooterComponent from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst PyqDailyChallenge = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n return window.innerWidth <= 480;\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {isMob() ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n \r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(PyqDailyChallenge);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport './PyqDailyTestInstructionView.scss';\r\n\r\nimport images from \"../../../utilities/images/images\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../redux/ui/action\"\r\nimport { url_207 } from \"../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport PyqDailyChallengeActions from \"../../../redux/pyq_daily_challenge/action\"\r\n\r\nconst PyqDailyTestInstructionView = (props) => {\r\n let { \r\n startBtn,\r\n subject,\r\n startLoading,\r\n finishLoading,\r\n setQuestionsList,\r\n tokenType,\r\n token,\r\n } = props;\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n },[]);\r\n\r\n const [state , setState] = useState({\r\n testQuestionsList: [],\r\n });\r\n\r\n const handleBackBtn = () => {\r\n history.push({\r\n pathname: \"/Pyq_dailyChallenge\",\r\n });\r\n };\r\n\r\n const getTestDetails = async() => {\r\n startLoading();\r\n const data = {\r\n schedule: subject.schedule,\r\n subject: subject.subject,\r\n };\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n }\r\n try {\r\n const response = await axios.post(url_207, data, headers);\r\n finishLoading();\r\n setQuestionsList(response.data);\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsList: response.data,\r\n }));\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    Test Instructions
    \r\n {/*
    {state.testQuestionsList.instruction_title}
    */}\r\n\r\n
    \r\n
    \r\n

    {state.testQuestionsList.instruction_title}

    \r\n
    \r\n
    Set of Instructions:
    \r\n
      \r\n
    • This Section contains a set of questions for practice
    • \r\n
    • \r\n Users can go to previous question by clicking on the\r\n previous button\r\n
    • \r\n
    • \r\n Users can go to next question by clicking on the next\r\n button\r\n
    • \r\n
    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n subject: state.PyqDailyChallengeReducer.subject,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setQuestionsList: (payload) => {\r\n dispatch(PyqDailyChallengeActions.setQuestionsList(payload));\r\n }\r\n }\r\n}\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(PyqDailyTestInstructionView);\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./PyqDailyTestQuestionsView.scss\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../custom_utilities/custom_useful_functions\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport useStopwatch from \"../../../hooks/useStopwatch\";\r\nimport uiActions from \"../../../redux/ui/action\";\r\nimport { connect } from \"react-redux\";\r\nimport axios from \"axios\";\r\nimport { url_101, url_102 } from \"../../../custom_utilities/api_services\";\r\nimport { toastifyMessage } from \"../../../custom_utilities/toastify_config\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport useMathjax from \"../../../hooks/useMathjax\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\n\r\nconst PyqDailyTestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleSaved,\r\n handleGuessedAnswer,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n subjecSectiontWiseTestQuestions,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n selectedSubject,\r\n selectedSection,\r\n checkQuestion,\r\n userData,\r\n viewVideo,\r\n handleViewVideo,\r\n setViewVideoFalse,\r\n startLoading,\r\n finishLoading,\r\n user_id,\r\n } = props;\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n const [isList, setisList] = useState(true);\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n const [showError, setShowError] = useState(false);\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: user_id,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n const isDisable = saveReportErrorData.option_id.length == \"\" ? true : false;\r\n\r\n const {\r\n stopwatchText,\r\n updateTime,\r\n updateSolution,\r\n getClicked,\r\n solDisabled,\r\n showSolution,\r\n textInputSolution,\r\n } = useStopwatch(\r\n currentQuestion,\r\n testQuestionsDetails[currentQuestion].integer_answer\r\n );\r\n\r\n const scrollUp = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const scrollUp2 = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80 - 160}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [disabled1, setDisabled] = useState(false);\r\n\r\n const onBackButtonEvent = (e) => {\r\n e.preventDefault();\r\n handleShow();\r\n };\r\n\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n return () => {\r\n window.removeEventListener(\"popstate\", onBackButtonEvent);\r\n };\r\n }, []);\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n }, [show]);\r\n\r\n useMathjax(currentQuestion, lang, getClicked());\r\n useMathjax(currentQuestion, isList, getClicked());\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n setDisabled(false);\r\n };\r\n const handleSolution = () => {\r\n setSol(false);\r\n //classEditor();\r\n };\r\n const disableSol = () => {\r\n setDisabled(true);\r\n };\r\n const renderOptions = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n return questionsArr.map((val, i) => {\r\n let step, type;\r\n type = val.answer_type;\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(questionsArr[i], i);\r\n case 2:\r\n return renderInputField(i);\r\n case 3:\r\n return renderMultiSelect(questionsArr[i], i);\r\n default:\r\n return null;\r\n }\r\n });\r\n } else {\r\n return null;\r\n }\r\n };\r\n const classEditor = (s, wc, optionId) => {\r\n if (!sol && s && getClicked()) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!sol && wc && wc.indexOf(optionId) > -1 && getClicked()) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n // const handlePurticularQuestion = () => {\r\n // if (testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length) {\r\n // handleSolution();\r\n // }\r\n // };\r\n\r\n const handlePurticularQuestion = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion - 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion3 = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion + 1]?.userAnswerCollection?.length ||\r\n testQuestionsDetails[currentQuestion + 1]?.isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n // const renderSingleSelect = (questionData, currentQuestion2) => {\r\n // console.log(\"renderSingleSelect option\", questionData);\r\n // return (\r\n // \r\n // \r\n // {questionData.option.length\r\n // ? questionData.option.map((element, index) => {\r\n // return (\r\n //
    \r\n // {\r\n // handleSingleSelectAnswer(event, element.option_id);\r\n // disableSol();\r\n // }}\r\n // />\r\n // \r\n //
    \r\n //

    {`${renderOptionInitial(\r\n // index\r\n // )}.`}

    \r\n //
    \r\n //
    \r\n //

    \r\n //
    \r\n // \r\n //
    \r\n // );\r\n // })\r\n // : null}\r\n // \r\n //
    \r\n // );\r\n // };\r\n\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage(\"Your Report has Submitted Successfully\");\r\n setSaveReportErrorData({ option_id: \"\" });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleInput = (event) => {\r\n let sanitizedValue = event.target.value.replace(/[^\\d.-]/g, \"\");\r\n // Ensure there is at most one '-' at the beginning\r\n sanitizedValue = sanitizedValue\r\n .replace(/^-/, \"$#$\")\r\n .replace(/-/g, \"\")\r\n .replace(\"$#$\", \"-\");\r\n // Ensure there is at most one '.' and only allow up to 2 decimal places\r\n const dotIndex = sanitizedValue.indexOf(\".\");\r\n if (dotIndex !== -1) {\r\n const integerPart = sanitizedValue.substring(0, dotIndex);\r\n const decimalPart = sanitizedValue.substring(dotIndex + 1, dotIndex + 3);\r\n sanitizedValue = integerPart + \".\" + decimalPart;\r\n }\r\n return sanitizedValue;\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2) => {\r\n const options = lang ? questionData?.option : questionData.option_hindi;\r\n // console.log(\"renderSingleSelect options\", options);\r\n\r\n return (\r\n \r\n \r\n {options?.length\r\n ? options?.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n showSolution(currentQuestion);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2) => {\r\n const options = lang ? questionData?.option : questionData.option_hindi;\r\n return (\r\n \r\n \r\n {options.length\r\n ? options.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item.option_id === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n showSolution(currentQuestion);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n {\r\n textInputSolution(event.target.value);\r\n handleInputFieldChange(handleInput(event));\r\n disableSol();\r\n }}\r\n disabled={checkQuestion ? false : true}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return {\r\n __html: lang\r\n ? questionsArr[currentQuestion].q_text\r\n : questionsArr[currentQuestion].q_text_hindi !== null\r\n ? questionsArr[currentQuestion].q_text_hindi\r\n : questionsArr[currentQuestion].q_text,\r\n };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handleSol();\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n updateTime();\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n // const config = {\r\n // //loader: { load: [\"[tex]/html\"] },\r\n // loader: {\r\n // load: [\r\n // \"input/asciimath\",\r\n // \"output/chtml\",\r\n // \"ui/menu\",\r\n // \"[mml]/mml3\",\r\n // \"[tex]/html\",\r\n // ],\r\n // },\r\n // };\r\n\r\n const config = {\r\n \"fast-preview\": {\r\n disabled: true,\r\n },\r\n tex2jax: {\r\n inlineMath: [\r\n [\"$\", \"$\"],\r\n [\"\\\\(\", \"\\\\)\"],\r\n ],\r\n displayMath: [\r\n [\"$$\", \"$$\"],\r\n [\"\\\\[\", \"\\\\]\"],\r\n ],\r\n },\r\n messageStyle: \"none\",\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userData.user_id}\"}`,\r\n \"*\"\r\n );\r\n };\r\n\r\n const renderFrame = (videoIdEnglish) => {\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const buttonLabel =\r\n viewVideo && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : viewVideo && lang\r\n ? \"Close Video Solution\"\r\n : !viewVideo && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (videoIdEnglish && urlPattern.test(videoIdEnglish)) {\r\n // Render iframe with selectedVideoId\r\n return (\r\n
    \r\n \r\n {viewVideo && (\r\n \r\n )}{\" \"}\r\n
    \r\n );\r\n } else {\r\n // Render ShakaSolutionViewVideoPlayer\r\n return (\r\n
    \r\n \r\n {viewVideo && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n\r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n \r\n {stopwatchText}\r\n \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n {/*
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    */}\r\n\r\n {/* {currentQuestionDetails.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )} */}\r\n
    \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n

    {`Sub-Topic: ${handleSubTopicText()}`}

    \r\n
    \r\n
    \r\n

    {`Question Type: ${handleQuestionType()}`}

    \r\n
    \r\n
    */}\r\n \r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect\r\n or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {/*

    Practice Test

    */}\r\n
    \r\n {/*
    \r\n \r\n Question type:{\" \"}\r\n {testQuestionsDetails[currentQuestion]?.answer_type}\r\n \r\n {stopwatchText}\r\n
    \r\n
    \r\n Mark For Review\r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n alt=\"\"\r\n />\r\n ) : (\r\n handleReview()}\r\n alt=\"\"\r\n />\r\n )}\r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .q_text_hindi ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    */}\r\n
    \r\n \r\n {`Question ${Number(currentQuestion) + 1}.`}\r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderOptions()}\r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n
    \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n updateTime();\r\n scrollUp2();\r\n handlePreviousQuestionBtn();\r\n handlePurticularQuestion();\r\n showSolution(currentQuestion - 1);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length ===\r\n currentQuestion + 1 ? (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n // handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {testQuestionsDetails[\r\n currentQuestion\r\n ]?.answer_type.toLowerCase() === \"subjective\" ? (\r\n <>\r\n {\r\n handleNextQuestionBtn();\r\n\r\n scrollUp();\r\n handlePurticularQuestion3();\r\n showSolution(currentQuestion + 1);\r\n }}\r\n >\r\n Next\r\n \r\n \r\n ) : (\r\n <>\r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n updateTime();\r\n handleNextQuestionBtn();\r\n\r\n scrollUp();\r\n handlePurticularQuestion3();\r\n showSolution(currentQuestion + 1);\r\n }}\r\n >\r\n Next\r\n \r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {/* \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    */}\r\n {getClicked() && (\r\n
    \r\n {testQuestionsDetails[currentQuestion]?.answer_type ===\r\n \"Subjective\" ? (\r\n <>\r\n
    \r\n
    Solution:
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n if (element.answer_type === \"Subjective\") {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n } else {\r\n return <>;\r\n }\r\n })\r\n : null}\r\n\r\n {/*

    \r\n

    */}\r\n
    \r\n\r\n {testQuestionsDetails[currentQuestion]\r\n ?.video_id_english?.length\r\n ? renderFrame(\r\n testQuestionsDetails[currentQuestion]\r\n ?.video_id_english\r\n )\r\n : \"\"}\r\n \r\n ) : (\r\n <>\r\n {\r\n <>\r\n
    \r\n
    Solution:
    \r\n\r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map(\r\n (element, index) => {\r\n // console.log(\"elementelement\", element);\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 : null}\r\n
    \r\n\r\n {testQuestionsDetails[currentQuestion]\r\n ?.video_id_english?.length\r\n ? renderFrame(\r\n testQuestionsDetails[currentQuestion]\r\n ?.video_id_english\r\n )\r\n : \"\"}\r\n \r\n }\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {/* {renderQuestionLabel(element, index)} */}\r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n {/*
    \r\n {subjecSectiontWiseTestQuestions[selectedSubject][\r\n selectedSection\r\n ]\r\n ? subjecSectiontWiseTestQuestions[selectedSubject][\r\n selectedSection\r\n ].map((element, index) => {\r\n return (\r\n \r\n {renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    */}\r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n user_id: state.auth.user.user_id,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(PyqDailyTestQuestionsView);\r\n\r\n// export default PyqDailyTestQuestionsView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./PyqDailyTestContentComponent.scss\";\r\n///////\r\nimport PyqDailyTestInstructionView from \"./PyqDailyTestInstructionView\";\r\nimport PyqDailyTestQuestionsView from \"./PyqDailyTestQuestionsView\";\r\nimport userTestsExercisesAction from \"../../../redux/user_activity/action\";\r\nimport PyqDailyChallengeAction from \"../../../redux/pyq_daily_challenge/action\";\r\nimport { Analytics } from \"aws-amplify\";\r\nimport {\r\n url_76,\r\n url_39,\r\n url_208,\r\n} from \"../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../redux/ui/action\";\r\n\r\nconst PyqDailyTestContentComponent = (props) => {\r\n let {\r\n history,\r\n userData,\r\n topicData,\r\n startLoading,\r\n finishLoading,\r\n subjectData,\r\n questionsList,\r\n subject,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testQuestionsDetails: [],\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n viewVideo: false,\r\n });\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n }, []);\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: questionsList }));\r\n };\r\n\r\n const startBtn = async () => {\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testDetails.data.AllQuestionList)) {\r\n if (testDetails.data.AllQuestionList) {\r\n const updatedTestDetails = {\r\n ...testDetails,\r\n data: {\r\n ...testDetails.data,\r\n AllQuestionList: testDetails.data.AllQuestionList.map(\r\n (element) => ({\r\n ...element,\r\n isReview: false,\r\n isAttempted: false,\r\n isAnswerGuessed: false,\r\n totalTimeTaken: 0,\r\n isAnswerCorrect: 0,\r\n correctAnswerIdCollection: [],\r\n wrongAnswerIdCollection: [],\r\n userAnswerCollection: [],\r\n\r\n q_text: element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n solution: element.solution\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n option: element.option.map((opt) => ({\r\n ...opt,\r\n option: opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n })),\r\n })\r\n ),\r\n },\r\n };\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: [...updatedTestDetails.data.AllQuestionList],\r\n }));\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const handlePreviousQuestionBtn = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n handleCheckQuestion();\r\n setViewVideoFalse();\r\n handleSaveQuestion();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n //check question\r\n const handleCheckQuestion = async () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let formatData =\r\n testDetails.format ===\r\n \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n let data = {\r\n paper_id: crntQuestionDetail.paper_id,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n startLoading();\r\n const response = await axios.post(url_76, data);\r\n console.log(response);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n checkQuestion: response.data.data,\r\n }));\r\n finishLoading();\r\n if (!response.data.data) {\r\n testQuestionsDetails[currentQuestion].integer_answer = \"\";\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n alert(response.data.message);\r\n return;\r\n }\r\n handleSaveQuestion();\r\n } else if (response.data.status === 422) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n checkQuestion: response.data.data,\r\n }));\r\n handleSaveQuestion();\r\n }\r\n finishLoading();\r\n };\r\n\r\n //save prticular question\r\n\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n console.log(crntQuestionDetail);\r\n let data = {\r\n schedule: subject.schedule,\r\n subject: crntQuestionDetail.subject,\r\n qid: crntQuestionDetail.qid,\r\n option_id: crntQuestionDetail.userAnswerCollection[0]\r\n ? crntQuestionDetail.userAnswerCollection[0].option_id\r\n : crntQuestionDetail.answer_type == \"Integer Correct\"\r\n ? crntQuestionDetail.integer_answer\r\n : \"\",\r\n time: 5,\r\n toughness: crntQuestionDetail.toughness,\r\n topic: crntQuestionDetail.topic,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_208, data);\r\n console.log(response);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n\r\n handleCheckQuestion();\r\n setViewVideoFalse();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n // initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = {\r\n option_id: optionId,\r\n };\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n Number(optionId);\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element.option_id === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n let Obj = {\r\n option_id: optionId,\r\n };\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n Obj\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n if (\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ),\r\n 1\r\n );\r\n }\r\n } else {\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection\r\n .length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection.indexOf(optionId),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let value = event;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 2,\r\n };\r\n const response = await axios.post(url_39, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n //bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n //bookmarkApi(data);\r\n }\r\n };\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n //handleSaveQuestion();\r\n handleCheckQuestion();\r\n setViewVideoFalse();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n };\r\n //view video\r\n const handleViewVideo = (videoURL) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n viewVideo: !state.viewVideo,\r\n }));\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const setViewVideoFalse = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n viewVideo: false,\r\n }));\r\n };\r\n\r\n const submitExercise = () => {\r\n let testDetails = { ...state.testDetails };\r\n\r\n Analytics.record({\r\n name: \"pyq_daily_challenge_submit_test\",\r\n attributes: {\r\n Exercise_type_Name: testDetails.excersie_type,\r\n topic_id: topicData.topicId,\r\n topic_name: topicData.topicName,\r\n subject_id: subjectData?.subjectId,\r\n subject_name: subjectData.subjectName,\r\n },\r\n });\r\n handleSaveQuestion();\r\n history.push(\"/Pyq_dailyChallenge\");\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push(\"/pyq_cps_exam\");\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.userActivity.exerciseData,\r\n userPreference: state.userPreference,\r\n topicData: state.userActivity.topicData,\r\n subjectData: state.userActivity.subjectData,\r\n questionsList: state.PyqDailyChallengeReducer.questionsList,\r\n subject: state.PyqDailyChallengeReducer.subject,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUserTestsResultData: (payload) => {\r\n dispatch(userTestsExercisesAction.setUserTestsResultData(payload));\r\n },\r\n setQuestionsList: (payload) => {\r\n dispatch(PyqDailyChallengeAction.setQuestionsList(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(PyqDailyTestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport \"./PyqDailyTestComponent.scss\";\r\n\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n\r\n////////\r\n// import HeaderComponentTwo from \"../../../structure_components/desktop_screens/header_component/header_top/Header_top\";\r\nimport PyqDailyTestContentComponent from \"./PyqDailyTestContentComponent\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst PyqDailyTestComponent = (props) => {\r\n const test_type = useLocation();\r\n\r\n \r\n let { history, loader, userData, state } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {/* {isMob() ? null : (\r\n \r\n \r\n \r\n )} */}\r\n \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(PyqDailyTestComponent);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport \"./FreeOtsTest.scss\";\r\nimport InstructionModal from \"../modals/InstructionModal\";\r\nimport SyllabusModal from \"../modals/SyllabusModal\";\r\nimport { connect } from \"react-redux\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport otsActions from \"../../../../../../../../redux/online-test_series/action\";\r\nimport {\r\n url_120,\r\n url_171,\r\n url_178,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\n\r\nconst FreeOtsTest = (props) => {\r\n const {\r\n tokenType,\r\n token,\r\n startLoading,\r\n finishLoading,\r\n history,\r\n setOtsTestsData,\r\n loader,\r\n userPreference,\r\n otsTestsData,\r\n plannerTestType,\r\n otsPlannerData,\r\n otsFreeData,\r\n setOtsFreeData,\r\n user_id,\r\n upcomingAndpreviousTestTypes,\r\n } = props;\r\n\r\n const [spsOtsTestList, setSpsOtsTestList] = useState({\r\n test: {},\r\n });\r\n\r\n const [instructionModalFlag, setInstructionModalFlag] = useState(false);\r\n const [syllabusModalFlag, setSyllabusModalFlag] = useState(false);\r\n const [currentPage, setCurrentPage] = useState(1);\r\n\r\n useEffect(() => {\r\n getSpsTestsList(plannerTestType);\r\n }, [plannerTestType, upcomingAndpreviousTestTypes]);\r\n\r\n const getSpsTestsList = async (plannerTestType) => {\r\n let page_limit = 5;\r\n\r\n const filterType = upcomingAndpreviousTestTypes == \"Upcoming Tests\" ? 1 : 0;\r\n\r\n let pageNo = Math.ceil(otsFreeData.length / page_limit) + 1;\r\n\r\n let data = {};\r\n\r\n data = {\r\n planner_id: otsPlannerData.planner_id,\r\n free_paid: 0,\r\n page: pageNo,\r\n planner_test_type: plannerTestType.planner_test_type,\r\n test_filter: filterType,\r\n };\r\n\r\n // if (otsPlannerData.planner_type == \"Self Practice Test(SPT)\") {\r\n // data = {\r\n // planner_id: otsPlannerData.planner_id,\r\n // free_paid: 0,\r\n // page: pageNo,\r\n // planner_test_type: plannerTestType.planner_test_type,\r\n // test_filter: filterType,\r\n // };\r\n // } else if (otsPlannerData.planner_type == \"All India Test\") {\r\n // data = {\r\n // planner_id: otsPlannerData.planner_id,\r\n // free_paid: 0,\r\n // page: pageNo,\r\n // planner_test_type: plannerTestType.planner_test_type,\r\n // test_filter: filterType,\r\n // };\r\n // }\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_120, data, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n setOtsFreeData([...otsFreeData, ...response.data.data.paper.data]);\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleInstructionModal = (test) => {\r\n setSpsOtsTestList((prevState) => ({\r\n ...prevState,\r\n test: test,\r\n }));\r\n\r\n setInstructionModalFlag(true);\r\n };\r\n\r\n const handleSyllabusModal = (test) => {\r\n setSpsOtsTestList((prevState) => ({\r\n ...prevState,\r\n test: test,\r\n }));\r\n\r\n if (test?.paper_id == null || test?.paper_id.length == 0) {\r\n alert(\"Syllabus will come before Test Date\");\r\n } else {\r\n setSyllabusModalFlag(true);\r\n }\r\n };\r\n\r\n const fetchMoreData = () => {\r\n getSpsTestsList(plannerTestType);\r\n };\r\n\r\n const deletePreviousWholeTestData = (testData) => {\r\n const data = {\r\n user_id,\r\n paper_id: testData.paper_id,\r\n test_id: testData.test_id,\r\n };\r\n try {\r\n axios.post(url_178, data).then((response) => {\r\n if (response.status === 200) {\r\n setOtsTestsData(testData);\r\n history.push(\"/ots_test\");\r\n finishLoading();\r\n }\r\n });\r\n } catch (error) {\r\n console.log(error?.message);\r\n }\r\n };\r\n\r\n const onHandleTakeTest = (testData) => {\r\n if (testData.is_start_test > 0) {\r\n if (testData.is_submited == 0) {\r\n // this is for Resume Test\r\n setOtsTestsData(testData);\r\n history.push(\"/ots_test\");\r\n } else {\r\n deletePreviousWholeTestData(testData); // this is for Start Test\r\n }\r\n } else {\r\n alert(`Test will be available at: ${testData.test_date_newformat}`);\r\n }\r\n };\r\n\r\n const renderButtonText = (test) => {\r\n let buttonText;\r\n if (test.is_submited == 0) {\r\n buttonText = \"Resume Test\";\r\n } else {\r\n buttonText = \"Start Test\";\r\n }\r\n\r\n return buttonText;\r\n };\r\n\r\n return (\r\n <>\r\n {instructionModalFlag && (\r\n \r\n )}\r\n\r\n {syllabusModalFlag && (\r\n \r\n )}\r\n\r\n \r\n
    \r\n \r\n
    \r\n {!isEmpty(otsFreeData) ? (\r\n otsFreeData.length ? (\r\n otsFreeData.map((test) => {\r\n return (\r\n
    \r\n
    \r\n
    {test.test_name}
    \r\n\r\n
    \r\n handleInstructionModal(test)}\r\n >\r\n \r\n
    \r\n\r\n handleSyllabusModal(test)}\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {test.target_type === \"JEE (A)\"\r\n ? test.target\r\n : test.target_type}\r\n
    \r\n\r\n
    \r\n {test.description}\r\n
    \r\n\r\n
    \r\n
      \r\n
    • \r\n {test.total_questions} Questions\r\n
    • \r\n
    • \r\n {test.test_duration_min} mins\r\n
    • \r\n
    • \r\n {test.max_marks} marks\r\n
    • \r\n
    \r\n
    \r\n
    \r\n {test.test_date_newformat}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n handleSyllabusModal(test)}\r\n >\r\n {\" \"}\r\n \r\n
    \r\n onHandleTakeTest(test)}\r\n >\r\n \r\n
    \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n
    \r\n \r\n

    There is no tests yet!

    \r\n
    \r\n )\r\n ) : (\r\n
    \r\n \r\n

    There is no tests yet!

    \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n userPreference: state.userPreference,\r\n otsTestsData: state.otsTestsData.otsTestsData,\r\n otsFreeData: state.otsTestsData.otsFreeData,\r\n user_id: state.auth.user.user_id,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setOtsTestsData: (payload) => {\r\n dispatch(otsActions.setOtsTestsData(payload));\r\n },\r\n setOtsFreeData: (payload) => {\r\n dispatch(otsActions.setOtsFreeData(payload));\r\n },\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(FreeOtsTest);\r\n","// import { useState, useEffect } from \"react\";\r\n// import { Alert } from \"react-bootstrap\";\r\n\r\n// function useAlertHook(initialValue) {\r\n// const [showAlert, setShowAlert] = useState(initialValue);\r\n\r\n// const handleShowAlert = () => {\r\n// setShowAlert(true);\r\n// };\r\n\r\n// const handleCloseAlert = () => {\r\n// setShowAlert(false);\r\n// };\r\n\r\n// return (\r\n// setShowAlert(false)}\r\n// dismissible\r\n// >\r\n// ( `Test will available at: $\r\n// {changeTestDateAndTimeFormat(testData.test_date)}` );\r\n// \r\n// );\r\n// }\r\n\r\n// export default useAlertHook;\r\n\r\nimport { useState } from \"react\";\r\nimport { Alert } from \"react-bootstrap\";\r\nimport \"bootstrap/dist/css/bootstrap.min.css\";\r\n\r\nfunction useAlertHook(initialValue) {\r\n const [showAlert, setShowAlert] = useState(initialValue);\r\n\r\n const handleShowAlert = () => {\r\n setShowAlert(true);\r\n };\r\n\r\n const handleCloseAlert = () => {\r\n setShowAlert(false);\r\n };\r\n\r\n return { showAlert, handleShowAlert, handleCloseAlert };\r\n}\r\n\r\nexport const CustomAlert = ({ message, variant, showAlert }) => {\r\n if (showAlert) {\r\n return {message};\r\n }\r\n};\r\n\r\nexport default useAlertHook;\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport \"./PremiumOtsTest.scss\";\r\nimport InstructionModal from \"../modals/InstructionModal\";\r\nimport SyllabusModal from \"../modals/SyllabusModal\";\r\nimport { connect } from \"react-redux\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\nimport otsActions from \"../../../../../../../../redux/online-test_series/action\";\r\nimport {\r\n url_120,\r\n url_171,\r\n url_178,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nimport useAlertHook, {\r\n CustomAlert,\r\n} from \"../../../../ots_custom_utilities/Alert/Alert\";\r\n\r\nconst PremiumOtsTest = (props) => {\r\n const {\r\n tokenType,\r\n token,\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n setOtsTestsData,\r\n setOtsPremiumData,\r\n otsPremiumData,\r\n history,\r\n userPreference,\r\n otsTestsData,\r\n plannerTestType,\r\n otsPlannerData,\r\n upcomingAndpreviousTestTypes,\r\n user_id,\r\n } = props;\r\n\r\n const [instructionModalFlag, setInstructionModalFlag] = useState(false);\r\n\r\n const [spsPremiumTestList, setSpsPremiumTestList] = useState({\r\n test: {},\r\n // page: 1,\r\n });\r\n\r\n const [syllabusModalFlag, setSyllabusModalFlag] = useState(false);\r\n\r\n const { showAlert, handleCloseAlert, handleShowAlert } = useAlertHook();\r\n\r\n useEffect(() => {\r\n getSpsTestsList(plannerTestType);\r\n }, [plannerTestType, upcomingAndpreviousTestTypes]);\r\n\r\n const getSpsTestsList = async (plannerTestType) => {\r\n const filterType = upcomingAndpreviousTestTypes == \"Upcoming Tests\" ? 1 : 0;\r\n let page_limit = 5;\r\n\r\n let pageNo = Math.ceil(otsPremiumData.length / page_limit) + 1;\r\n\r\n let data = {};\r\n\r\n data = {\r\n planner_id: otsPlannerData.planner_id,\r\n free_paid: 1,\r\n page: pageNo,\r\n planner_test_type: plannerTestType.planner_test_type,\r\n test_filter: filterType,\r\n };\r\n\r\n // if (otsPlannerData.planner_type == \"Self Practice Test(SPT)\") {\r\n // data = {\r\n // planner_id: otsPlannerData.planner_id,\r\n // free_paid: 1,\r\n // page: pageNo,\r\n // planner_test_type: plannerTestType.planner_test_type,\r\n // test_filter: filterType,\r\n // };\r\n // } else if (otsPlannerData.planner_type == \"All India Test\") {\r\n // data = {\r\n // planner_id: otsPlannerData.planner_id,\r\n // free_paid: 1,\r\n // page: pageNo,\r\n // planner_test_type: plannerTestType.planner_test_type,\r\n // test_filter: filterType,\r\n // };\r\n // }\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_120, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n setOtsPremiumData([\r\n ...otsPremiumData,\r\n ...response.data.data.paper.data,\r\n ]);\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleInstructionModal = (test) => {\r\n setSpsPremiumTestList((prevState) => ({\r\n ...prevState,\r\n test: test,\r\n }));\r\n\r\n setInstructionModalFlag(true);\r\n };\r\n\r\n const handleSyllabusModal = (test) => {\r\n setSpsPremiumTestList((prevState) => ({\r\n ...prevState,\r\n test: test,\r\n }));\r\n\r\n if (test?.paper_id == null || test?.paper_id.length == 0) {\r\n alert(\"Syllabus will come before Test Date\");\r\n } else {\r\n setSyllabusModalFlag(true);\r\n }\r\n };\r\n\r\n const RedirectToPaymentPage = (test) => {\r\n props.history.push(`/package/${test.package_id}`);\r\n };\r\n\r\n const onHandleTakeTest = async (testData) => {\r\n if (testData.is_start_test > 0) {\r\n if (testData.is_submited == 0) {\r\n setOtsTestsData(testData);\r\n history.push(\"/ots_test\");\r\n } else {\r\n deletePreviousWholeTestData(testData);\r\n }\r\n } else {\r\n alert(`Test will be available at: ${testData.test_date_newformat}`);\r\n }\r\n };\r\n\r\n const deletePreviousWholeTestData = (testData) => {\r\n const data = {\r\n user_id,\r\n paper_id: testData.paper_id,\r\n test_id: testData.test_id,\r\n };\r\n try {\r\n axios.post(url_178, data).then((response) => {\r\n if (response.status === 200) {\r\n setOtsTestsData(testData);\r\n history.push(\"/ots_test\");\r\n finishLoading();\r\n }\r\n });\r\n } catch (error) {\r\n console.log(error?.message);\r\n }\r\n };\r\n\r\n const fetchMoreData = () => {\r\n getSpsTestsList(plannerTestType);\r\n };\r\n\r\n const renderButtonText = (test) => {\r\n let buttonText;\r\n if (test.is_submited == 0) {\r\n buttonText = \"Resume Test\";\r\n } else {\r\n buttonText = \"Start Test\";\r\n }\r\n\r\n return buttonText;\r\n };\r\n\r\n return (\r\n <>\r\n {instructionModalFlag && (\r\n \r\n )}\r\n {syllabusModalFlag && (\r\n \r\n )}\r\n\r\n
    \r\n \r\n \r\n
    \r\n {!isEmpty(otsPremiumData) ? (\r\n otsPremiumData.length ? (\r\n otsPremiumData.map((test, index) => {\r\n return (\r\n
    \r\n
    \r\n
    {test.test_name}
    \r\n\r\n
    \r\n handleInstructionModal(test)}\r\n >\r\n \r\n
    \r\n\r\n handleSyllabusModal(test)}\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {test.target_type === \"JEE (A)\"\r\n ? test.target\r\n : test.target_type}\r\n
    \r\n
    \r\n {test.description}\r\n
    \r\n\r\n
    \r\n
      \r\n
    • \r\n {\" \"}\r\n {test.total_questions} Questions\r\n
    • \r\n
    • \r\n {test.test_duration_min} mins\r\n
    • \r\n
    • \r\n {test.max_marks} marks\r\n
    • \r\n
    \r\n
    \r\n
    \r\n {test.test_date_newformat}\r\n
    \r\n
    \r\n
    \r\n\r\n {/* {test.is_purchased == 0 ? (\r\n
    \r\n handleSyllabusModal(test)}\r\n >\r\n {\" \"}\r\n \r\n
    \r\n RedirectToPaymentPage(test)}\r\n >\r\n \r\n
    \r\n \r\n ) : test.is_start_test > 0 ? (\r\n
    \r\n handleSyllabusModal(test)}\r\n >\r\n {\" \"}\r\n \r\n
    \r\n onHandleTakeTest(test)}\r\n >\r\n \r\n \r\n \r\n ) : (\r\n
    \r\n handleSyllabusModal(test)}\r\n >\r\n {\" \"}\r\n \r\n
    \r\n onHandleTakeTest(test)}\r\n >\r\n \r\n \r\n \r\n )} */}\r\n\r\n \r\n handleSyllabusModal(test)}\r\n >\r\n \r\n \r\n RedirectToPaymentPage(test)\r\n : () => onHandleTakeTest(test)\r\n }\r\n >\r\n \r\n \r\n \r\n \r\n );\r\n })\r\n ) : (\r\n
    \r\n \r\n

    No Tests Found!

    \r\n
    \r\n )\r\n ) : (\r\n
    \r\n \r\n

    No Tests Found!

    \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n userPreference: state.userPreference,\r\n otsTestsData: state.otsTestsData.otsTestsData,\r\n otsPremiumData: state.otsTestsData.otsPremiumData,\r\n pageNumber: state.otsTestsData.page,\r\n user_id: state.auth.user.user_id,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n setOtsTestsData: (payload) => {\r\n dispatch(otsActions.setOtsTestsData(payload));\r\n },\r\n\r\n setOtsPremiumData: (payload) => {\r\n dispatch(otsActions.setOtsPremiumData(payload));\r\n },\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PremiumOtsTest);\r\n","import React, { useState, useEffect, Fragment } from \"react\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport HeaderComponent from \"../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport FreeOtsTest from \"./free_ots/FreeOtsTest\";\r\nimport PremiumOtsTest from \"./premium_ots/PremiumOtsTest\";\r\nimport \"./OtsTestListComponent.scss\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport otsActions from \"../../../../../../../redux/online-test_series/action\";\r\nimport Footer_component from \"../../../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\nimport Mobile__right_sideBar_component from \"../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Mobile_header_component from \"../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileLeftSideBarComponent from \"../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\n\r\nconst OtsTestListComponent = (props) => {\r\n const {\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n otsPlannerData,\r\n setOtsPremiumData,\r\n setOtsFreeData,\r\n target_id,\r\n userData, \r\n userPreference\r\n } = props;\r\n\r\n let data;\r\n\r\n if (target_id == 2) {\r\n data = [\r\n {\r\n id: \"one\",\r\n category: \"All Tests\",\r\n planner_test_type: 0,\r\n },\r\n {\r\n id: \"two\",\r\n category: \"Unit Test\",\r\n planner_test_type: 1,\r\n },\r\n {\r\n id: \"three\",\r\n category: \"Major Test\",\r\n planner_test_type: 2,\r\n },\r\n {\r\n id: \"four\",\r\n category: \"Full Syllabus Test\",\r\n planner_test_type: 3,\r\n },\r\n ];\r\n } else if (target_id == 3) {\r\n data = [\r\n {\r\n id: \"one\",\r\n category: \"All Tests\",\r\n planner_test_type: 0,\r\n },\r\n\r\n {\r\n id: \"two\",\r\n category: \"Minor Test\",\r\n planner_test_type: 5,\r\n },\r\n\r\n {\r\n id: \"three\",\r\n category: \"Semi Major Test\",\r\n planner_test_type: 4,\r\n },\r\n\r\n {\r\n id: \"four\",\r\n category: \"Major Test\",\r\n planner_test_type: 2,\r\n },\r\n ];\r\n }\r\n\r\n const history = useHistory();\r\n\r\n const [testCategories, setTestCategories] = useState(data);\r\n const [plannerTestType, setPlannerTestType] = useState(data[0]);\r\n const [upcomingAndpreviousTestTypes, setUpcomingPreviousTestTypes] =\r\n useState(\"Upcoming Tests\");\r\n\r\n const [isModalOpen, setIsModalOpen] = useState(false);\r\n\r\n const [activeTab, setActiveTab] = useState(\r\n otsPlannerData?.is_paid_planner == 0 ? \"spsFree\" : \"spsPremium\"\r\n );\r\n\r\n const handleTabClick = (tabId) => {\r\n setActiveTab(tabId);\r\n };\r\n\r\n const handleButtonClick = () => {\r\n setIsModalOpen(true);\r\n };\r\n\r\n const handleCloseModal = () => {\r\n setIsModalOpen(false);\r\n };\r\n\r\n const renderHeaderText = (planner) => {\r\n return

    {planner}

    ;\r\n };\r\n\r\n const handleChangeCategory = (event, testCategory) => {\r\n setPlannerTestType(testCategory);\r\n setOtsPremiumData([]);\r\n setOtsFreeData([]);\r\n };\r\n\r\n const handleChangeTestType = (e) => {\r\n setOtsPremiumData([]);\r\n setOtsFreeData([]);\r\n\r\n setUpcomingPreviousTestTypes(e.target.value);\r\n handleCloseModal();\r\n };\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n\r\n
    \r\n {renderHeaderText(otsPlannerData?.planner_type)}\r\n
    \r\n
    \r\n
    \r\n {testCategories.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n handleChangeCategory(event, element);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n handleTabClick(\"spsFree\")}\r\n >\r\n Free Test\r\n \r\n
    • \r\n
    • \r\n handleTabClick(\"spsPremium\")}\r\n >\r\n Premium Test\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    */}\r\n {/* {activeTab !== \"spsFree\" ? (\r\n \r\n \r\n \r\n \r\n {upcomingAndpreviousTestTypes}\r\n \r\n ) : (\r\n \"\"\r\n )} */}\r\n\r\n {/*
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n handleChangeTestType(e)}\r\n Upcoming Tests\"\r\n } checked={\r\n upcomingAndpreviousTestTypes ==\r\n \"\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n handleChangeTestType(e)}\r\n checked={\r\n upcomingAndpreviousTestTypes ==\r\n \"Previous Tests\"\r\n }\r\n />\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n\r\n {/*
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n handleChangeTestType(event)}\r\n checked={\r\n upcomingAndpreviousTestTypes == \"Upcoming Tests\"\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeTestType(event)}\r\n checked={\r\n upcomingAndpreviousTestTypes == \"Completed Tests\"\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n {activeTab === \"spsFree\" && (\r\n \r\n )}\r\n
    \r\n \r\n {activeTab === \"spsPremium\" && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n otsPlannerData: state.otsTestsData.otsPlannerData,\r\n target_id: state.userPreference.targetDetails[0].target_id,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setOtsPremiumData: (payload) => {\r\n dispatch(otsActions.setOtsPremiumData(payload));\r\n },\r\n setOtsFreeData: (payload) => {\r\n dispatch(otsActions.setOtsFreeData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(OtsTestListComponent);\r\n","import { React } from \"react\";\r\nimport \"./OtsTestSummaryPage.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\n//\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport \"react-circular-progressbar/dist/styles.css\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst OtsTestSummaryPage = (props) => {\r\n let { testPaperResultData, currentPaper } = props;\r\n\r\n console.log(\"testPaperResultData in OtsTestSummaryPage\", testPaperResultData);\r\n\r\n let history = useHistory();\r\n\r\n const redirect = (step) => {\r\n if (Object.keys(testPaperResultData).length) {\r\n switch (step) {\r\n case 1:\r\n history.push({\r\n pathname: \"/ots_subject_topic_wise\",\r\n });\r\n break;\r\n\r\n case 2:\r\n history.push({\r\n pathname: \"/ots_accuracy_attempted\",\r\n });\r\n break;\r\n\r\n case 3:\r\n history.push({\r\n pathname: \"/ots_difficultylevel\",\r\n });\r\n break;\r\n\r\n case 4:\r\n history.push({\r\n pathname: \"/ots_behaviour\",\r\n });\r\n break;\r\n\r\n case 5:\r\n history.push({\r\n pathname: \"/ots_question_paper_solution\",\r\n });\r\n break;\r\n\r\n default:\r\n break;\r\n }\r\n } else {\r\n alert(\"Analytics or Solutions will be shown after Some Time\");\r\n }\r\n };\r\n\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
    \r\n\r\n
    \r\n
    Expected Rank
    \r\n
    \r\n {testPaperResultData?.Expected_Rank || null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    All India Rank
    \r\n
    {testPaperResultData?.AIR || null}
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    Marks
    \r\n
    \r\n {testPaperResultData?.Marks || null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n {/*
    */}\r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    Attempt (in %)
    \r\n\r\n \r\n {`${testPaperResultData?.Attempt || 0}`}\r\n
    \r\n
    \r\n
    Accuracy (in %)
    \r\n \r\n {`${testPaperResultData?.Accuracy || 0}`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {currentPaper?.paper !== \"P1+P2\" ? (\r\n
    \r\n
    redirect(1)}>\r\n Subject & Topic Wise Marks\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    redirect(2)}>\r\n Attempt and Accuracy\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    redirect(3)}>\r\n Difficulty Levels\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    redirect(4)}>\r\n Behavior\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    redirect(5)}>\r\n Question Paper Sol.\r\n \r\n \"arrow\"\r\n \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n {/* {loader && } */}\r\n \r\n );\r\n};\r\n\r\nexport default OtsTestSummaryPage;\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./OtsTestResultContentComponent.scss\";\r\nimport OtsTestSummaryPage from \"./ots_result_components/OtsTestSummaryPage\";\r\nimport { url_129 } from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\n\r\n// Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport otsActions from \"../../../../../../redux/online-test_series/action\";\r\n\r\nconst OtsTestResultContentComponent = (props) => {\r\n let {\r\n testResultData,\r\n testPaperResultData,\r\n startLoading,\r\n finishLoading,\r\n token,\r\n tokenType,\r\n setOtsPaperResultData,\r\n } = props;\r\n\r\n const checkPaperType = (testResultData) => {\r\n if (testResultData.target_type === \"JEE (A)\") {\r\n if (testResultData?.papers?.length > 1) {\r\n if (testResultData.paper_type === \"Paper 1\") {\r\n return 0;\r\n } else if (testResultData.paper_type === \"Paper 2\") {\r\n return 1;\r\n }\r\n } else {\r\n return 0;\r\n }\r\n }\r\n\r\n return 0;\r\n };\r\n\r\n const [paperCategories, setPaperCategories] = useState(testResultData.papers);\r\n const [currentPaper, setCurrentPaper] = useState(\r\n testResultData?.papers[checkPaperType(testResultData)]\r\n );\r\n\r\n useEffect(() => {\r\n getReport();\r\n }, [currentPaper]);\r\n\r\n const handleChangePaper = (paper) => {\r\n setCurrentPaper(paper);\r\n };\r\n\r\n const getReport = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n paper_id: currentPaper?.paper_id,\r\n test_id: currentPaper?.test_id,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_129, data, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setOtsPaperResultData(response.data.data);\r\n } else {\r\n finishLoading();\r\n setOtsPaperResultData({});\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const checkTarget = (testResultData) =>\r\n testResultData?.target_type === \"JEE (A)\";\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"user-activity\"\r\n \r\n

    {currentPaper?.paper_name}

    \r\n
    \r\n\r\n {checkTarget(testResultData) && paperCategories?.length > 1 && (\r\n
    \r\n
    \r\n {paperCategories.map((element) => (\r\n \r\n handleChangePaper(element)}\r\n />\r\n \r\n
    \r\n ))}\r\n
    \r\n
    \r\n )}\r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testResultData: state.otsTestsData.otsResultData,\r\n testPaperResultData: state?.otsTestsData?.otsPaperResultData,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setOtsPaperResultData: (payload) => {\r\n dispatch(otsActions.setOtsTestsPaperResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(OtsTestResultContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\nimport \"./OtsTestResultContentComponent.scss\";\r\n\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport HeaderComponent from \"../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport OtsTestResultContentComponent from \"./OtsTestResultContentComponent\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst OtsTestResultComponent = (props) => {\r\n const history = useHistory();\r\n let { loader, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(OtsTestResultComponent);\r\n","import { Bar } from \"react-chartjs-2\";\r\n// import { CategoryScale } from \"chart.js\";\r\n// import Chart from \"chart.js/auto\";\r\n// Chart.register(CategoryScale);\r\n\r\nfunction SubjectWiseMarks(props) {\r\n let { dataPoints, target_id } = props;\r\n\r\n const labels = [\"\"];\r\n\r\n // this is for adding margin to the label( header)\r\n const legendMargin = [\r\n {\r\n id: \"legendMargin\",\r\n beforeInit(chart, legend, options) {\r\n const fitValue = chart.legend.fit;\r\n chart.legend.fit = function fit() {\r\n fitValue.bind(chart.legend)();\r\n return (this.height += 20);\r\n };\r\n },\r\n },\r\n ];\r\n\r\n const datasets = dataPoints\r\n ?.slice(0, target_id === 3 ? dataPoints.length : 3)\r\n .map((dataPoint, index) => ({\r\n label: dataPoint.symbol,\r\n backgroundColor: getBackgroundColor(index),\r\n data: [Number(dataPoint.Total)],\r\n barThickness: 70,\r\n }));\r\n\r\n function getBackgroundColor(index) {\r\n const colors = [\"#FFAFCA\",\"#819CFF\",\"#FFC557\",\"#00A9B3\"];\r\n return colors[index] || \"\";\r\n }\r\n\r\n const data = {\r\n // labels,\r\n datasets,\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default SubjectWiseMarks;\r\n","import React, { useEffect, useState, useLocation } from \"react\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { connect } from \"react-redux\";\r\nimport SubjectWiseMarkChart from \"./ots_subject_wise_charts/OtsSubjectChart\";\r\nimport { url_130 } from \"../../../../../../../../../custom_utilities/api_services\";\r\nimport LoaderPopUp from \"../../../../../../../../../components/loader/loader\";\r\nimport \"./OtsSubjectWise.scss\";\r\n\r\nconst OtsSubjectWise = (props) => {\r\n const {\r\n startLoading,\r\n finishLoading,\r\n testPaperResultData,\r\n token,\r\n tokenType,\r\n loader,\r\n target_id,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n subjectWiseMarks: {},\r\n });\r\n\r\n useEffect(() => {\r\n getSbjctWiseMarks();\r\n }, []);\r\n\r\n const formatTime = (time) => {\r\n time = time.replace(\"minutes\", \"min\");\r\n time = time.replace(\"seconds\", \"sec\");\r\n return time;\r\n };\r\n\r\n const getSbjctWiseMarks = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData.paper_id,\r\n test_id: testPaperResultData?.PaperData.testid,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_130, data, { headers });\r\n // debugger;\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectWiseMarks: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectWiseMarks) ? (\r\n state.subjectWiseMarks.UserSubjectMarksAnalysis.length ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n
    Summary
    \r\n
      \r\n {state.subjectWiseMarks.Summary &&\r\n state.subjectWiseMarks.Summary.map((element, index) => {\r\n return (\r\n
    • \r\n {element.label}\r\n \r\n {element.label === \"Time Spent\"\r\n ? formatTime(element.value)\r\n : element.label === \"Average Score\"\r\n ? element.value.toFixed(2)\r\n : element.value}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n // loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n target_id: state.userPreference?.targetDetails[0].target_id,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(OtsSubjectWise);\r\n","import React, { useState, useEffect, Fragment } from \"react\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport LoaderPopUp from \"../../../../../../../../../components/loader/loader\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n url_137,\r\n url_132,\r\n} from \"../../../../../../../../../custom_utilities/api_services\";\r\n\r\nconst OtsTopicWise = (props) => {\r\n const {\r\n loader,\r\n startLoading,\r\n finishLoading,\r\n testPaperResultData,\r\n token,\r\n tokenType,\r\n } = props;\r\n const [state, setState] = useState({\r\n subjectList: {},\r\n topicAnalysis: {},\r\n currentSubject: null,\r\n });\r\n\r\n useEffect(() => {\r\n getTopicResult();\r\n }, [state.currentSubject]);\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n\r\n const getSubjectList = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData?.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_132, data, { headers });\r\n if (response.data.status === 200) {\r\n setState((preState) => ({\r\n ...preState,\r\n subjectList: response.data.data,\r\n }));\r\n response.data.data.All_Subject[0] &&\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSubject: response.data.data.All_Subject[0]?.subject,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getTopicResult = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData.paper_id,\r\n test_id: testPaperResultData?.PaperData.testid,\r\n subject: state.currentSubject,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_137, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicAnalysis: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSubject: value,\r\n }));\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.All_Subject.length\r\n ? state.subjectList.All_Subject.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n handleChangeSubject(event);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {!isEmpty(state.topicAnalysis)\r\n ? state.topicAnalysis.TopicAnalysis.length\r\n ? state.topicAnalysis.TopicAnalysis.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n

    {element.Topic}

    \r\n

    \r\n {`${element[\"Total Questions\"] + \" Questions \"}`},{\" \"}\r\n {`${element[\"Total Marks\"] + \" Marks \"}`}\r\n

    \r\n
    \r\n
    \r\n \r\n 0\r\n ? (100 / element[\"Total Marks\"]) *\r\n element[\"User Marks\"]\r\n : 0\r\n }\r\n className=\"progressBar\"\r\n />\r\n \r\n 0\r\n ? (100 / element[\"Total Marks\"]) *\r\n element[\"User Marks\"]\r\n : 0\r\n }%`,\r\n }}\r\n >{`${element[\"User Marks\"]}`}\r\n
    \r\n
    \r\n 1\r\n {element[\"Total Marks\"]}\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(OtsTopicWise);\r\n","import { React, useEffect, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport HeaderComponent from \"../../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\nimport OtsSubjectWise from \"./ots_subject_wise/OtsSubjectWise\";\r\nimport OtsTopicWise from \"./ots_topic_wise/OtsTopicWise\";\r\n\r\nconst OtsSubjectTopicWise = (props) => {\r\n let {\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n userData,\r\n userPreference,\r\n testPaperResultData,\r\n } = props;\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/ots_test_result\");\r\n };\r\n const location = useLocation();\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n\r\n return (\r\n <>\r\n
    \r\n {windowWidth <= 480 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Subject Wise & Topic Wise Marks

    \r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n Subject wise\r\n \r\n
    • \r\n
    • \r\n \r\n Topic Wise\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n testPaperResultData: state.otsTestsData.otsPaperResultData,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(OtsSubjectTopicWise);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { connect } from \"react-redux\";\r\nimport HeaderComponent from \"../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport \"./OtsPaymentComponent.scss\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { sha512 } from \"js-sha512\";\r\nimport authActions from \"../../../../../../../redux/auth/action\";\r\nimport {\r\n url_127,\r\n url_59,\r\n url_19,\r\n url_8,\r\n url_138,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\n\r\nimport actions from \"../../../../../../../redux/ui/action\";\r\nimport { setRefferalCode } from \"../../../../../../../redux/packages_store/PackageSlice\";\r\nimport CcAvenuePayment from \"../../../../../../../custom_utilities/ccavence_payment/CcAvenuePayment\";\r\nimport { checkXSSAttackThroughInput } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst PaymentComponent = (props) => {\r\n const {\r\n token,\r\n tokenType,\r\n userId,\r\n userPreference,\r\n userData,\r\n setUser,\r\n startLoading,\r\n finishLoading,\r\n setRefferalCode,\r\n } = props;\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const [packageDetails, setPackageDetails] = useState({});\r\n const [modalFlag, setModalFlag] = useState(false);\r\n const [cpnInput, setCpnInput] = useState(\"\");\r\n const [couponDetails, setCouponDetails] = useState({});\r\n // const [isDisableButton, setIsDisableButton] = useState(true);\r\n const [termsAndConditions, setTermsAndConditions] = useState({\r\n termsAndConditionsData: {},\r\n termsAndConditionsFlag: false,\r\n termsAndConditionInputCheck: false,\r\n });\r\n\r\n useEffect(() => {\r\n getPackageDetails();\r\n }, []);\r\n\r\n const currentData = new Date();\r\n let date =\r\n currentData.getFullYear() +\r\n \"-\" +\r\n (currentData.getMonth() + 1) +\r\n \"-\" +\r\n currentData.getDate();\r\n let time =\r\n currentData.getHours() +\r\n \":\" +\r\n currentData.getMinutes() +\r\n \":\" +\r\n currentData.getSeconds();\r\n var dateTime = date + \" \" + time;\r\n\r\n const pricePurchaseBtn = (packageDetails) => {\r\n handlePaymentInformationPayBtn(packageDetails);\r\n };\r\n\r\n const getReference = () => {\r\n //you can put any unique reference implementation code here\r\n let text = \"\";\r\n let possible =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.=\";\r\n\r\n for (let i = 0; i < 15; i++)\r\n text += possible.charAt(Math.floor(Math.random() * possible.length));\r\n\r\n return text;\r\n };\r\n\r\n const redirectPayUMoney = (data) => {\r\n //use window.bolt.launch if you face an error in bolt.launch\r\n window.bolt.launch(data, {\r\n responseHandler: function (response) {\r\n // your payment response Code goes here\r\n\r\n if (response.response.txnStatus.toLowerCase() === \"success\") {\r\n saveUserTransactions(response);\r\n } else {\r\n alert(response.response.txnMessage);\r\n }\r\n },\r\n catchException: function (response) {},\r\n });\r\n };\r\n\r\n const handlePaymentInformationPayBtn = (packageDetails) => {\r\n let userDataDetails = { ...userData };\r\n if (userDataDetails?.email) {\r\n if (packageDetails?.planner_overview.amount) {\r\n let txnId = getReference();\r\n let merchantKey = \"ObWj6L\",\r\n salt = \"jFCXe6Kt\";\r\n // key|txnid|amount|productinfo|firstname|email|udf1|udf2|udf3|udf4|udf5||||||salt\r\n\r\n let hashSequence = `${merchantKey}|${txnId}|${packageDetails?.planner_overview.amount}|${packageDetails?.planner_overview.package_name}|${userDataDetails?.name}|${userDataDetails?.email}|||||||||||${salt}`;\r\n // let hashSequence = `${merchantKey}|${txnId}|1|${packageDetails.package_name}|${userDataDetails.name}|${userDataDetails.email}|||||||||||${salt}`;\r\n let hashValue = sha512(hashSequence);\r\n\r\n let payURequestParams = {\r\n key: merchantKey, ///*** Merchant key from PayuMoney Dashboard ***/\r\n txnid: txnId, ///*** Unique Transaction ID***/\r\n amount: packageDetails.planner_overview.amount, ///*** Amount to be paid ***/\r\n\r\n firstname: userDataDetails?.name, ///*** Name of the User ***/\r\n email: userDataDetails?.email, ///** Email Id of User **/\r\n phone: userDataDetails?.mobile, ///** Mobile number of User **/\r\n productinfo: packageDetails?.planner_overview.package_name, ///* Product name */\r\n surl: \"dummyURL\", ///* Success callback URL */\r\n furl: \"dummyURL\", ///* Failure callback URL */\r\n hash: hashValue,\r\n };\r\n\r\n redirectPayUMoney(payURequestParams);\r\n } else {\r\n alert(\"Amount is not proper\");\r\n return;\r\n }\r\n } else {\r\n alert(\r\n \"Please haven't update your email in your profile. Please update it\"\r\n );\r\n history.push(\"/user_edit_profile\");\r\n }\r\n };\r\n\r\n const getPackageDetails = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n try {\r\n const response = await axios.get(\r\n `${url_127}?package_id=${location.state.package_id}`,\r\n\r\n { headers }\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setPackageDetails(response.data.data);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const applyCouponMethod = async () => {\r\n const { package_id, amount, discount } = packageDetails.planner_overview;\r\n\r\n let finalAmont = parseInt(amount) - parseInt(discount);\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n coupon_code: cpnInput,\r\n user_id: userId,\r\n package_id,\r\n finalAmont,\r\n };\r\n\r\n // export const url_59 = `${BASE_URL}/api/user/ApplyCoupon`;\r\n const response = await axios.post(url_59, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n setCouponDetails(response.data.data);\r\n } else {\r\n alert(\"Invalid Coupon\");\r\n }\r\n };\r\n\r\n const saveUserTransactions = async (data) => {\r\n handleClose();\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const dataDetails = {\r\n course_id: userPreference?.courseDetails[0].course_id,\r\n batch_id: userPreference?.batchDetails.batch_id,\r\n package_id: packageDetails?.planner_overview.package_id,\r\n txn_amount: packageDetails?.planner_overview.amount,\r\n\r\n txn_discount_amount: packageDetails?.planner_overview.discount,\r\n txn_amount: packageDetails?.planner_overview.amount,\r\n\r\n txn_date: data.response.addedon,\r\n package_duration: packageDetails?.planner_overview.duration,\r\n txnid: data.response.txnid,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_19, dataDetails, { headers });\r\n if (response.data.status === 200) {\r\n let returnedResponse = await updateUser();\r\n if (returnedResponse) {\r\n finishLoading();\r\n history.push({\r\n pathname: \"/ots\",\r\n state: { tab: \"ots\" },\r\n });\r\n } else {\r\n finishLoading();\r\n\r\n history.push({\r\n pathname: \"/ots\",\r\n state: { tab: \"ots\" },\r\n });\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const updateUser = async () => {\r\n // startLoading();\r\n try {\r\n const response = await axios.get(url_8);\r\n if (response.data.status === 200) {\r\n setUser(response.data.data);\r\n // finishLoading();\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return 0;\r\n }\r\n };\r\n\r\n const activePackage = async (data) => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let dataDetails = {\r\n course_id: userPreference?.courseDetails[0].course_id,\r\n batch_id: userPreference?.batchDetails.batch_id,\r\n package_id: packageDetails?.planner_overview.package_id,\r\n txn_amount: packageDetails?.planner_overview.amount,\r\n txn_discount_amount: packageDetails?.planner_overview.discount,\r\n txn_amount: \"0.00\",\r\n //txn_discount_amount: \"\",\r\n txn_date: dateTime,\r\n package_duration: packageDetails?.planner_overview.duration,\r\n txnid: couponDetails?.CouponCode,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_19, dataDetails, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n // alert(response.data.message);\r\n //let returnedResponse = await updateUser();\r\n history.push({\r\n pathname: \"/ots\",\r\n state: { tab: \"ots\" },\r\n });\r\n } else {\r\n alert(response.message);\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleCouponModal = () => {\r\n setModalFlag(true);\r\n };\r\n\r\n const handleShow = () => {\r\n setModalFlag(true);\r\n };\r\n\r\n const handleClose = () => {\r\n setModalFlag(false);\r\n };\r\n\r\n const handleInputCheckBox = (e) => {\r\n console.log(\"handleInputCheckBox\", e.target.checked);\r\n setTermsAndConditions((prevState) => ({\r\n ...prevState,\r\n termsAndConditionInputCheck:\r\n !termsAndConditions.termsAndConditionInputCheck,\r\n }));\r\n\r\n // setIsDisableButton(!isDisableButton);\r\n };\r\n\r\n const getTermsAndConditions = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_138, { headers });\r\n console.log(\"response--\", response);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setTermsAndConditions((prevState) => {\r\n return {\r\n ...prevState,\r\n termsAndConditionsData: response.data.data,\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleShowTermsConditionModal = () => {\r\n setTermsAndConditions((prevState) => {\r\n return {\r\n ...prevState,\r\n termsAndConditionsFlag: true,\r\n };\r\n });\r\n getTermsAndConditions();\r\n };\r\n\r\n const handleCloseTermsConditionModal = () => {\r\n setTermsAndConditions((prevState) => {\r\n return {\r\n ...prevState,\r\n termsAndConditionsFlag: false,\r\n };\r\n });\r\n };\r\n\r\n const handleInputchange = async (value) => {\r\n const response = await checkXSSAttackThroughInput(value);\r\n\r\n if (!response) {\r\n return;\r\n } else {\r\n setCpnInput(value);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    \r\n {\" \"}\r\n {packageDetails?.planner_overview?.package_name}\r\n
    \r\n
    \r\n {!isEmpty(packageDetails) ? (\r\n
    \r\n
    \r\n
    \r\n
    Plus Package overview(MPS)
    \r\n

    {packageDetails?.planner_overview.overview}

    \r\n
    \r\n
    \r\n
    Advantages/learnings
    {\" \"}\r\n

    {packageDetails?.planner_overview.advantages}

    {\" \"}\r\n
    \r\n
    \r\n
    \r\n
    Course Details
    \r\n {/*
    \r\n
    \r\n Duration:{\" \"}\r\n \r\n {packageDetails?.planner_overview.duration}months\r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n Duration:\r\n \r\n {packageDetails?.planner_overview.duration} Months\r\n \r\n
    \r\n
    \r\n Price:\r\n \r\n Rs{\" \"}\r\n {parseInt(packageDetails?.planner_overview.amount)}\r\n \r\n
    \r\n
    \r\n Discount\r\n \r\n Rs{\" \"}\r\n {parseInt(\r\n packageDetails?.planner_overview.discount\r\n )}\r\n \r\n
    \r\n
    \r\n Final Price\r\n \r\n Rs{\" \"}\r\n {parseInt(packageDetails?.planner_overview.amount) -\r\n parseInt(\r\n packageDetails?.planner_overview.discount\r\n )}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleInputCheckBox(e)}\r\n />\r\n Accept\r\n \r\n {\" \"}\r\n Terms & Conditions\r\n \r\n
    \r\n\r\n {!termsAndConditions.termsAndConditionInputCheck ? (\r\n
    \r\n \r\n Rs{\" \"}\r\n {parseInt(packageDetails?.planner_overview.amount) -\r\n parseInt(\r\n packageDetails?.planner_overview.discount\r\n )}\r\n \r\n
    \r\n ) : (\r\n {\r\n setRefferalCode(\" \");\r\n handleCouponModal();\r\n }}\r\n disabled={\r\n !termsAndConditions.termsAndConditionInputCheck\r\n }\r\n >\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {!isEmpty(packageDetails) ? (\r\n \r\n \r\n \r\n
    \r\n
    \r\n {!isEmpty(couponDetails) ? (\r\n
    \r\n

    \r\n {`₹ ${\r\n parseInt(packageDetails.planner_overview.amount) -\r\n parseInt(packageDetails.planner_overview.discount)\r\n }`}{\" \"}\r\n

    {\" \"}\r\n

    {`₹ ${couponDetails.updated_amount}`}

    \r\n
    \r\n ) : (\r\n <>\r\n

    {`₹ ${\r\n parseInt(packageDetails.planner_overview.amount) -\r\n parseInt(packageDetails.planner_overview.discount)\r\n }`}

    \r\n \r\n )}\r\n\r\n

    \r\n If you have coupon code or discount code provided by motion\r\n education\r\n

    \r\n
    \r\n handleInputchange(e.target.value)}\r\n />\r\n \r\n
    \r\n\r\n
    \r\n Updated Amount\r\n {!isEmpty(couponDetails) ? (\r\n {couponDetails.updated_amount}\r\n ) : (\r\n {`₹ ${\r\n parseInt(packageDetails.planner_overview.amount) -\r\n parseInt(packageDetails.planner_overview.discount)\r\n }`}\r\n )}\r\n
    \r\n {couponDetails.updated_amount == 0 ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n\r\n \r\n \r\n {\" \"}\r\n

    Terms And Conditions

    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {!isEmpty(termsAndConditions) ? (\r\n !isEmpty(termsAndConditions.termsAndConditionsData) ? (\r\n

    \r\n ) : null\r\n ) : (\r\n \"NO Data Available\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n userId: state.auth.user.user_id,\r\n userPreference: state.userPreference,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(actions.startLoading());\r\n },\r\n\r\n finishLoading: () => {\r\n dispatch(actions.finishLoading());\r\n },\r\n\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n\r\n setRefferalCode: (payload) => {\r\n dispatch(setRefferalCode(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PaymentComponent);\r\n","\r\n\r\nimport React from \"react\";\r\nimport \"./RegistrationModal.scss\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst RegistrationModal = (props) => {\r\n const {\r\n formValues,\r\n setFormValues,\r\n showRegistration,\r\n setShowRegistration,\r\n setIsFormSubmitted,\r\n handleCloseRegistration,\r\n isDisable,\r\n startLoading,\r\n finishLoading,\r\n target,\r\n } = props;\r\n const handleSubmitForm = (event) => {\r\n event.preventDefault();\r\n\r\n const isValidForm = validateForm();\r\n\r\n if (isValidForm) {\r\n // Set isFormSubmitted to true and submit the form data\r\n setIsFormSubmitted(true);\r\n\r\n // You can also make an API call to submit the form data here\r\n handlePostData();\r\n\r\n // Clear the form values after submission\r\n setFormValues({\r\n rollNo: \"\",\r\n registrationNo: \"\",\r\n dob: \"\",\r\n });\r\n\r\n // Close the registration modal directly\r\n setShowRegistration(false);\r\n } else {\r\n // Display an error message or handle the case where the form is not valid\r\n }\r\n };\r\n\r\n const handlePostData = () => {\r\n let data = {\r\n roll_no: formValues.rollNo,\r\n registration_no: formValues.registrationNo,\r\n dob: formValues.dob,\r\n };\r\n\r\n startLoading();\r\n try {\r\n axios\r\n .post(\r\n \"https://learning.motion.ac.in/motioneducation/api/ots/get/saveform\",\r\n data\r\n )\r\n .then((response) => {\r\n if (response.status === 200) {\r\n finishLoading();\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const validateForm = () => {\r\n if (\r\n isEmpty(formValues.rollNo) ||\r\n isEmpty(formValues.registrationNo) ||\r\n isEmpty(formValues.dob)\r\n ) {\r\n // If any of the fields are empty, return false to indicate invalid form\r\n return false;\r\n }\r\n\r\n return true;\r\n };\r\n\r\n return (\r\n \r\n \r\n

    Provide your {target == 2 ? \"JEE\" : \"NEET\"} Details

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n setFormValues((prevValues) => ({\r\n ...prevValues,\r\n rollNo: e.target.value,\r\n }))\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n \r\n setFormValues((prevValues) => ({\r\n ...prevValues,\r\n registrationNo: e.target.value,\r\n }))\r\n }\r\n />\r\n
    \r\n\r\n
    \r\n \r\n \r\n setFormValues((prevValues) => ({\r\n ...prevValues,\r\n dob: e.target.value,\r\n }))\r\n }\r\n />\r\n
    \r\n\r\n \r\n Submit\r\n \r\n \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(RegistrationModal);\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { url_121 } from \"../../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport \"./OtsTestInstructionsView.scss\";\r\nimport RegistrationModal from \"./modals/RegistrationModal\";\r\nimport otsActions from \"../../../../../../../redux/online-test_series/action\";\r\n\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\n\r\nconst TestInstructionsView = (props) => {\r\n const history = useHistory();\r\n let {\r\n startBtn,\r\n startLoading,\r\n finishLoading,\r\n otsTestsData,\r\n target_id,\r\n setOtsPremiumData,\r\n setOtsFreeData,\r\n } = props;\r\n console.log(\"otstests data in test instruction view\", otsTestsData);\r\n\r\n const [instructionData, setInstructionData] = useState({\r\n instructionPara: \"\",\r\n });\r\n\r\n useEffect(() => {\r\n getInstructionsData();\r\n // handleShowRegistration();\r\n if (!isEmpty(otsTestsData)) {\r\n if (otsTestsData.is_show) {\r\n handleShowRegistration();\r\n }\r\n }\r\n }, []);\r\n\r\n const [showRegistration, setShowRegistration] = useState(false);\r\n const [isFormSubmitted, setIsFormSubmitted] = useState(false);\r\n const [formValues, setFormValues] = useState({\r\n rollNo: \"\",\r\n registrationNo: \"\",\r\n dob: \"\",\r\n });\r\n\r\n const isDisable =\r\n formValues.rollNo.length &&\r\n formValues.registrationNo.length &&\r\n formValues.dob.length\r\n ? false\r\n : true;\r\n\r\n const handleCloseRegistration = () => {\r\n if (isFormSubmitted) {\r\n setShowRegistration(false);\r\n }\r\n };\r\n\r\n const handleShowRegistration = () => setShowRegistration(true);\r\n\r\n const getInstructionsData = () => {\r\n startLoading();\r\n\r\n const data = {\r\n test_id: otsTestsData?.test_id,\r\n planner_id: otsTestsData?.planner_id,\r\n };\r\n try {\r\n axios.post(url_121, data).then((response) => {\r\n setInstructionData((prevState) => ({\r\n ...prevState,\r\n instructionPara: response.data.data.instructions,\r\n }));\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const StripHtml = (htmlString) => {\r\n let tmp = document.createElement(\"p\");\r\n tmp.innerHTML = htmlString;\r\n\r\n return tmp.textContent || tmp.innerText || \"\";\r\n };\r\n\r\n function testTime(minutes) {\r\n var h = Math.floor(minutes / 60);\r\n var m = minutes % 60;\r\n h = h < 10 ? \"0\" + h : h;\r\n m = m < 10 ? \"0\" + m : m;\r\n return h + \":\" + m + \" hrs\";\r\n }\r\n\r\n function handleclearData() {\r\n setOtsPremiumData([]);\r\n setOtsFreeData([]);\r\n }\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    Instruction Screen

    \r\n
    \r\n
    \r\n
    \r\n
    {otsTestsData.test_name}
    \r\n
    \r\n Duration :\r\n \r\n {!isEmpty(otsTestsData)\r\n ? `${testTime(otsTestsData.test_duration_min)}`\r\n : null}\r\n \r\n
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n

    \r\n {!isEmpty(instructionData)\r\n ? !isEmpty(instructionData.instructionPara)\r\n ? StripHtml(\r\n instructionData.instructionPara\r\n .test_instruction_eng\r\n )\r\n : null\r\n : null}\r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n {showRegistration && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n otsTestsData: state.otsTestsData.otsTestsData,\r\n target_id: state.userPreference.targetDetails[0].target_id,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n\r\n setOtsPremiumData: (payload) => {\r\n dispatch(otsActions.setOtsPremiumData(payload));\r\n },\r\n\r\n setOtsFreeData: (payload) => {\r\n dispatch(otsActions.setOtsFreeData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(TestInstructionsView);\r\n","import { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport \"./OtsTestQuestionsView.scss\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport images from \"../.././../../../../../utilities/images/images\";\r\n\r\nimport axios from \"axios\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\n\r\nconst TestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n currentQuestion,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleLastQuestionSave,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n subjecSectiontWiseTestQuestions,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n selectedSubject,\r\n selectedSection,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n disableInput,\r\n setDisableInput,\r\n testDetails,\r\n oldanswer,\r\n lang,\r\n handleChangeLanguage,\r\n setState,\r\n } = props;\r\n\r\n useEffect(() => {\r\n if (\r\n countDownTimer.hours == 0 &&\r\n countDownTimer.minutes == 0 &&\r\n countDownTimer.seconds == 0\r\n ) {\r\n alert(\"Time is up. Test will be submitted.\");\r\n handleSubmitTest(currentQuestionDetails);\r\n handleLastQuestionSave();\r\n }\r\n }, [countDownTimer.seconds]);\r\n\r\n useMathjax(currentQuestionDetails, lang);\r\n\r\n const questionsCollectionRef = useRef(null);\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion]?.qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n const shouldDisableInput = () => {\r\n alert(currentQuestionDetails.message1);\r\n const isSubmited = currentQuestionDetails?.oldanswer?.length ? true : false;\r\n setDisableInput(!isSubmited);\r\n };\r\n\r\n useEffect(() => {\r\n let formatData =\r\n testDetails.target_type == \"JEE (M)\"\r\n ? \"MAIN\"\r\n : testDetails?.target_type == \"NEET\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n if (formatData === \"MAIN\") {\r\n currentQuestionDetails.attempt_count >= 5 && shouldDisableInput();\r\n } else if (formatData === \"NEET\") {\r\n currentQuestionDetails.attempt_count >= 10 && shouldDisableInput();\r\n }\r\n }, [currentQuestionDetails]);\r\n\r\n useEffect(() => {\r\n // below code is for --> when user refreshing browser , diplaying an alert (whether he needs to reload it or not)\r\n\r\n const handleBeforeUnload = (event) => {\r\n event.preventDefault();\r\n // Cancel the event as modern browsers will ignore the string anyway\r\n event.returnValue = \"\";\r\n };\r\n\r\n window.addEventListener(\"beforeunload\", handleBeforeUnload);\r\n\r\n return () => {\r\n window.removeEventListener(\"beforeunload\", handleBeforeUnload);\r\n };\r\n }, []);\r\n\r\n // condition for Report Error modal submit button\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n //function for getting options Data from api\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n // for report error modal\r\n const [showError, setShowError] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n let step;\r\n let type = currentQuestionDetails?.answer_type?.toLowerCase();\r\n\r\n if (type === \"single correct\") {\r\n step = 1;\r\n } else if (type === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 2:\r\n return renderInputField(currentQuestion, lang);\r\n case 3:\r\n return renderMultiSelect(currentQuestionDetails, currentQuestion, lang);\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const switchLanguage = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n lang: !prevState.lang,\r\n }));\r\n };\r\n\r\n // Handle backbutton\r\n const onBackButtonEvent = (e) => {\r\n e.preventDefault();\r\n handleShow();\r\n };\r\n\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n return () => {\r\n window.removeEventListener(\"popstate\", onBackButtonEvent);\r\n };\r\n }, []);\r\n useEffect(() => {\r\n window.history.pushState(null, null, window.location.pathname);\r\n window.addEventListener(\"popstate\", onBackButtonEvent);\r\n }, [show]);\r\n //\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n disabled={disableInput}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (\r\n questionData.option_hindi !== undefined &&\r\n questionData.option_hindi !== null &&\r\n questionData?.option_hindi?.length > 0\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option_hindi?.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n disabled={disableInput}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else {\r\n switchLanguage();\r\n questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n disabled={disableInput}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n });\r\n }\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(\r\n event,\r\n element.option_id,\r\n event.target.checked\r\n )\r\n }\r\n disabled={disableInput}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (\r\n questionData.option_hindi !== undefined &&\r\n questionData.option_hindi !== null &&\r\n questionData?.option_hindi?.length > 0\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n disabled={disableInput}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else {\r\n switchLanguage();\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n disabled={disableInput}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled={disableInput}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n const { q_text, q_text_hindi } = question;\r\n let textToDisplay = lang ? q_text : q_text_hindi;\r\n\r\n if (\r\n !lang &&\r\n (!q_text_hindi || !q_text_hindi.replace(/<[^>]+>/g, \"\").trim())\r\n ) {\r\n textToDisplay = q_text;\r\n }\r\n\r\n if (currentQuestion === index) {\r\n if (textToDisplay && textToDisplay.length > 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n } else {\r\n let labelClass = \"\";\r\n let additionalClass = \"\";\r\n\r\n if (question.isAttempted) {\r\n labelClass = \"answered_lbl\";\r\n } else if (question.isAnswerGuessed) {\r\n labelClass = \"isGussedAnswer\";\r\n } else if (question.isReview) {\r\n labelClass = \"review_lbl\";\r\n } else if (question.is_option == 1) {\r\n additionalClass = \"answered_lbl\";\r\n } else if (question.is_option == 2) {\r\n additionalClass = \"skip_lbl\";\r\n } else if (question.isSkipped) {\r\n labelClass = \"skip_lbl\";\r\n } else {\r\n labelClass = \"\";\r\n }\r\n\r\n if (question.isReview) {\r\n additionalClass = \"review_lbl\";\r\n }\r\n let guessedAdditionalClass;\r\n if (question.isAnswerGuessed) {\r\n guessedAdditionalClass = \"isGussedAnswer\";\r\n }\r\n\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderQuestion = () => {\r\n const { q_text, q_text_hindi } = currentQuestionDetails || {}; // Destructure with default empty object\r\n const isImage = q_text && q_text.includes(\"\r\n {q_text && (\r\n

    \r\n )}\r\n {isTable &&
    }\r\n {isMTable && }\r\n \r\n );\r\n } else {\r\n if (q_text_hindi && q_text_hindi.trim().length > 0) {\r\n return (\r\n
    \r\n {q_text_hindi && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {q_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderParagraphQuestion = () => {\r\n const { p_text, p_text_hindi } = currentQuestionDetails || {}; // Destructure with default empty object\r\n const isImage = p_text && p_text.includes(\"\r\n {p_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n \r\n );\r\n } else {\r\n if (p_text_hindi && p_text_hindi.trim().length > 0) {\r\n return (\r\n
    \r\n {p_text_hindi && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {p_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderColumMatchQuestion = () => {\r\n const { m_p_text, m_p_text_hindi } = currentQuestionDetails || {}; // Destructure with default empty object\r\n\r\n const contentToDisplay = lang\r\n ? m_p_text\r\n : m_p_text_hindi\r\n ? m_p_text_hindi\r\n : m_p_text;\r\n\r\n return (\r\n
    \r\n

    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n {\r\n handleSubmitTest(currentQuestionDetails);\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n\r\n {currentQuestionDetails?.answer_type?.toLowerCase() ===\r\n \"integer correct\" ? (\r\n <>\r\n {ConvertStringToHTML(\r\n currentQuestionDetails?.q_text_hindi\r\n ) ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ) : (\r\n <>\r\n {ConvertStringToHTML(\r\n currentQuestionDetails?.q_text_hindi\r\n ) &&\r\n currentQuestionDetails?.option_hindi?.length >\r\n 0 ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Select Subject:

    \r\n
    \r\n {Object.keys(subjecSectiontWiseTestQuestions).map(\r\n (subjectName, index) => {\r\n return (\r\n
    \r\n \r\n handleSubjectChange(subjectName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n

    Change Section:

    \r\n
    \r\n {selectedSubject &&\r\n Object.keys(\r\n subjecSectiontWiseTestQuestions[selectedSubject]\r\n ).map((sectionName, index) => {\r\n return (\r\n
    \r\n \r\n handleSectionChange(sectionName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n Question type:\r\n \r\n {` `}\r\n {testQuestionsDetails[currentQuestion]?.type}\r\n \r\n

    \r\n
    \r\n\r\n
    \r\n

    \r\n Question {currentQuestion + 1}\r\n

    \r\n
    \r\n
    \r\n {renderColumMatchQuestion()}\r\n\r\n {renderParagraphQuestion()}\r\n\r\n
    \r\n {renderQuestion()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestionDetails !== null &&\r\n renderOptions(currentQuestionDetails, lang)}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any\r\n incorrect or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n <>\r\n
    \r\n {\r\n handleLastQuestionSave();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(\r\n currentQuestion + 1,\r\n currentQuestionDetails\r\n );\r\n scrollUp();\r\n }}\r\n >\r\n Save & Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n\r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => (\r\n \r\n {renderQuestionLabel(element, index)}\r\n
    \r\n ))\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default TestQuestionsView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport OtsTestInstructionsView from \"./OtsTestInstructionsView\";\r\nimport OtsTestQuestionsView from \"./OtsTestQuestionsView\";\r\nimport \"./OtsTestContentComponent.scss\";\r\n\r\nimport {\r\n url_39,\r\n url_76,\r\n url_77,\r\n url_123,\r\n url_124,\r\n url_125,\r\n url_126,\r\n url_144,\r\n url_209,\r\n url_174,\r\n url_175,\r\n\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport RewardModal from \"../../../../../../../components/RewardModal/RewardModal\";\r\nimport CoinUsesModal from \"../../../../../../../components/CoinUsesModal/CoinUsesModal\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nimport actions from \"../../../../../../../redux/ui/action\";\r\nimport actions2 from \"../../../../../../../redux/online-test_series/action\";\r\n\r\nconst OtsTestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n loader,\r\n token,\r\n tokenType,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n currentQuestionDetails: {},\r\n subjecSectiontWiseTestQuestions: {},\r\n // for resume/starting from there - when paused and come again\r\n lastAttempteQuestionQid: \"\",\r\n // checkQuestion: true,\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 3,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n option: \"\",\r\n oldanswer: \"\",\r\n lang: true, // lang --> true = english , false = hindi\r\n earnedCoins: 0,\r\n coinPopup: false,\r\n reason: \"RewardModal\",\r\n coinDetailsPopup: false,\r\n coinUsesPoints: [],\r\n textResultData: {},\r\n });\r\n\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n const [disableInput, setDisableInput] = useState(false);\r\n\r\n // const config = {\r\n // loader: {\r\n // load: [\"input/mathml\", \"input/tex\", \"input/asciimath\"],\r\n // },\r\n // };\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n coinUsesApi();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(testData.test_duration_min);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let formatData =\r\n state.testDetails.target_type == \"JEE (M)\"\r\n ? \"MAIN\"\r\n : state.testDetails?.target_type == \"NEET\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n // if (distance < 0) {\r\n // alert(\"Time is up. Your test will be auto submitted\");\r\n // handleSubmitTest(state.currentQuestionDetails);\r\n // handleLastQuestionSave();\r\n // clearInterval(timeInterval);\r\n // }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n test_id: testDetails.test_id,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_123, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (\r\n paper_id,\r\n qid,\r\n subject,\r\n section,\r\n format\r\n ) => {\r\n const { testDetails } = state;\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n paper_id,\r\n qid,\r\n subject,\r\n section,\r\n format,\r\n test_id: testDetails.test_id,\r\n };\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_124, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data[0],\r\n oldanswer: response.data.data[0].oldanswer,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n if (state.currentQuestionDetails.attempt_count == 0) {\r\n changeDisableInput();\r\n }\r\n }, [state.currentQuestionDetails]);\r\n\r\n const changeDisableInput = () => {\r\n setDisableInput(false);\r\n };\r\n\r\n const subjectWiseData = (questions) => {\r\n const subjectSectionWiseData = {};\r\n for (let i = 0; i < questions?.length; i++) {\r\n questions[i][\"matchIndex\"] = i;\r\n if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n [questions[i][\"section_name\"]]: [questions[i]],\r\n };\r\n } else if (\r\n subjectSectionWiseData[questions[i][\"subject\"]] &&\r\n !subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ]\r\n ) {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ] = [questions[i]];\r\n } else {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ].push(questions[i]);\r\n }\r\n }\r\n return subjectSectionWiseData;\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n //exitTimeCurrentOption\r\n const startBtn = async () => {\r\n let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n\r\n if (!isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n returnedResponse.data.apiData.data\r\n );\r\n\r\n const response = await checkIsResumeTest(returnedResponse.data.apiData);\r\n\r\n if (returnedResponse.result) {\r\n getCurrentQuestionDetails(\r\n returnedResponse?.data?.apiData?.data[response]?.paper_id,\r\n returnedResponse?.data?.apiData?.data[response]?.qid,\r\n returnedResponse?.data?.apiData?.data[response]?.subject,\r\n returnedResponse?.data?.apiData?.data[response]?.section_name,\r\n formatData\r\n );\r\n\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n // element.q_text = element.q_text.replaceAll(\r\n // \"ckfinder\",\r\n // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n });\r\n let time = getNowTime();\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.get_used_duration,\r\n currentQuestion: response,\r\n }));\r\n\r\n scrollUp(response);\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const checkIsResumeTest = async (test) => {\r\n if (test.last_attempted_qid !== 0) {\r\n const indexOfLastAttemptedQue = test.data.findIndex(\r\n (element) => element.qid == test.last_attempted_qid\r\n );\r\n\r\n if (indexOfLastAttemptedQue == test.data.length - 1) {\r\n return indexOfLastAttemptedQue;\r\n }\r\n\r\n return indexOfLastAttemptedQue + 1;\r\n } else {\r\n return 0;\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n\r\n const handlePreviousQuestionBtn = (cq) => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n if (testQuestionsDetails[currentQuestion].isAttempted) {\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n\r\n // if (state.oldanswer.length > 0) {\r\n // testQuestionsDetails[currentQuestion].isAttempted = true;\r\n // testQuestionsDetails[currentQuestion].isSkipped = false;\r\n // }\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n // handleSaveQuestion(cq);\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n };\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n };\r\n\r\n // const scrollUp = (currentQuestion) => {\r\n // var element = document.getElementsByClassName(\r\n // \"questions_serial_number_collection\"\r\n // )[0];\r\n // element.scrollTo({\r\n // top: `${(currentQuestion + 1) * 80}`,\r\n // behavior: \"smooth\",\r\n // });\r\n // };\r\n\r\n const scrollUp = (currentQuestion) => {\r\n const questionElements = document.getElementsByClassName(\r\n \"single_question_number_wrapper\"\r\n );\r\n const spaceAtTop = 30; // Adjust the value as needed\r\n\r\n if (\r\n questionElements.length > 0 &&\r\n currentQuestion > 0 &&\r\n currentQuestion < questionElements.length\r\n ) {\r\n const targetElement = questionElements[currentQuestion - 1];\r\n const offsetTop = targetElement.offsetTop - spaceAtTop;\r\n const containerElement = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n containerElement.scrollTo({\r\n top: offsetTop,\r\n behavior: \"smooth\",\r\n });\r\n } else if (questionElements.length > 0 && currentQuestion === 0) {\r\n const containerElement = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n containerElement.scrollTo({\r\n top: 0,\r\n behavior: \"smooth\",\r\n });\r\n }\r\n };\r\n\r\n const handleLastQuestionSave = async () => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n testDetails,\r\n oldanswer,\r\n // currentQuestionDetails,\r\n } = state;\r\n\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n\r\n // let formatData =\r\n // state?.testDetails?.format ===\r\n // \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n // ? \"MAIN\"\r\n // : state?.testDetails?.target === \"NEET\"\r\n // ? \"NEET\"\r\n // : \"OTHER\";\r\n\r\n let formatData =\r\n state.testDetails.target_type == \"JEE (M)\"\r\n ? \"MAIN\"\r\n : state.testDetails?.target_type == \"NEET\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let data = {};\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n option_int: oldanswer?.length ? oldanswer : \"\",\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n\r\n test_id: testDetails.test_id,\r\n };\r\n } else {\r\n data = {\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n option_id: crntQuestionDetail.userAnswerCollection.length\r\n ? crntQuestionDetail.userAnswerCollection\r\n : state.oldanswer.length\r\n ? [state.oldanswer]\r\n : [],\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n\r\n test_id: testDetails.test_id,\r\n };\r\n }\r\n\r\n startLoading();\r\n\r\n const response = await axios.post(url_125, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n } else {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //save prticular question\r\n const handleSaveQuestion = async (cq, nextsave) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n testDetails,\r\n oldanswer,\r\n currentQuestionDetails,\r\n // currentQuestionDetails,\r\n } = state;\r\n\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n\r\n // let formatData =\r\n // state?.testDetails?.format ===\r\n // \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n // ? \"MAIN\"\r\n // : state?.testDetails?.target === \"NEET\"\r\n // ? \"NEET\"\r\n // : \"OTHER\";\r\n\r\n let formatData =\r\n state.testDetails.target_type == \"JEE (M)\"\r\n ? \"MAIN\"\r\n : state.testDetails?.target_type == \"NEET\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let data = {};\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n option_int: oldanswer?.length ? oldanswer : \"\",\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n test_id: testDetails.test_id,\r\n lang_id: state.lang ? 1 : 2,\r\n };\r\n } else {\r\n data = {\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n option_id: crntQuestionDetail.userAnswerCollection.length\r\n ? crntQuestionDetail.userAnswerCollection\r\n : oldanswer.length\r\n ? [oldanswer]\r\n : [],\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n\r\n test_id: testDetails.test_id,\r\n lang_id: state.lang ? 1 : 2,\r\n };\r\n }\r\n\r\n startLoading();\r\n\r\n if (nextsave) {\r\n const response = await axios.post(url_125, data);\r\n if (response.data.status === 200) {\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n } else {\r\n alert(\"Your Previous Question hasn't been Saved!\");\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n }\r\n } else {\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid,\r\n testQuestionsDetails[cq].subject,\r\n testQuestionsDetails[cq].section_name,\r\n formatData\r\n );\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = (\r\n cq,\r\n currentQuestionDetails,\r\n nextsave = true\r\n ) => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length > 0) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n\r\n let type = currentQuestionDetails?.answer_type?.toLowerCase();\r\n\r\n if (type === \"integer correct\") {\r\n if (state.oldanswer?.length > 0) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n }\r\n\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n handleSaveQuestion(cq, nextsave);\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked, value } = event.target;\r\n\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n if (checked) {\r\n // testQuestionsDetails[currentQuestion].isAttempted = true;\r\n\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n testQuestionsDetails[currentQuestion][0] = optionId;\r\n\r\n testQuestionsDetails[currentQuestion].is_option = 1;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n // testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n testQuestionsDetails[currentQuestion].is_option = 2;\r\n }\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails,\r\n oldanswer: \"\",\r\n }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId, checked) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n // if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n // testQuestionsDetails[currentQuestion].isAttempted = true;\r\n // } else {\r\n // testQuestionsDetails[currentQuestion].isAttempted = false;\r\n // }\r\n\r\n // if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n // testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n // }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n value.replace(/[^-\\d._e]/g, \"\");\r\n let {\r\n currentQuestion,\r\n testQuestionsDetails,\r\n checkQuestion,\r\n currentQuestionDetails,\r\n } = state;\r\n // testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n currentQuestionDetails.oldanswer = value.trim();\r\n\r\n // if (currentQuestionDetails.oldanswer.length) {\r\n // testQuestionsDetails[currentQuestion].isAttempted = true;\r\n // } else {\r\n // testQuestionsDetails[currentQuestion].isAttempted = false;\r\n // }\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n ...prevState.countDownTimer,\r\n testQuestionsDetails,\r\n oldanswer: value,\r\n }));\r\n };\r\n\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 3,\r\n };\r\n const response = await axios.post(url_77, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n bookmarkApi(data);\r\n }\r\n };\r\n\r\n const bookmarkApi = async (data) => {\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n const {\r\n testDetails,\r\n currentQuestion,\r\n currentQuestionDetails,\r\n testQuestionsDetails,\r\n } = state;\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length > 0) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n\r\n let type = currentQuestionDetails?.answer_type?.toLowerCase();\r\n\r\n if (type === \"integer correct\") {\r\n if (state.oldanswer?.length > 0) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].isSkipped = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].isSkipped = true;\r\n }\r\n }\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n\r\n // const { testQuestionsDetails } = state;\r\n\r\n // if (!testQuestionsDetails[state.currentQuestion].isAttempted) {\r\n // testQuestionsDetails[state.currentQuestion].isSkipped = true;\r\n // }\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[questionNumber].paper_id,\r\n testQuestionsDetails[questionNumber].qid,\r\n testQuestionsDetails[questionNumber].subject,\r\n testQuestionsDetails[questionNumber].section_name,\r\n formatData\r\n );\r\n };\r\n\r\n // const getNewAnalyticsApi = async (testDetails) => {\r\n // const { paper_id, test_id } = testDetails;\r\n // const data = {\r\n // paper_id,\r\n // test_id,\r\n // };\r\n\r\n // const response = await axios.post(url_144, data);\r\n // if (response.data.status === 200) {\r\n // return 1;\r\n // } else return 0;\r\n // };\r\n\r\n // const getNewAnalyticsApi = async (testDetails) => {\r\n // const { paper_id, test_id } = testDetails;\r\n // const data = {\r\n // paper_id,\r\n // test_id,\r\n // };\r\n\r\n // const response = await axios.post(url_144, data);\r\n // if (response.data.status === 200) {\r\n // return 1;\r\n // } else return 0;\r\n // };\r\n\r\n const handleSubmitTest = async (currentQuestionDetails) => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let element = currentQuestionDetails;\r\n\r\n let questionArr = [];\r\n\r\n if (element?.answer_type?.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element?.answer_type?.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element?.answer_type?.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n\r\n // startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n getNewAnalyticsApi(testDetails);\r\n // finishLoading();\r\n\r\n // if (response) {\r\n // history.push({\r\n // pathname: \"/ots_summary\",\r\n // });\r\n // }\r\n } else {\r\n // finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n paper_id: testDetails.paper_id,\r\n time: state.countDownTimer.minutes,\r\n test_id: testDetails.test_id,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_126, requestPayload);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleChangeLanguage = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n lang: !prevState.lang,\r\n }));\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const getNewAnalyticsApi = async (testDetails) => {\r\n const { paper_id, test_id } = testDetails;\r\n const data = {\r\n paper_id,\r\n test_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_144, data);\r\n if (response.data.status === 200) {\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n textResultData: response.data.data1,\r\n };\r\n });\r\n console.log(\"resultData\", response.data.data);\r\n addCoinsOnSubmission(\r\n response.data.data1.correct_answer,\r\n response.data.data1.incorrect_answer\r\n );\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n const addCoinsOnSubmission = async (correct_ans, wrong_ans) => {\r\n const data = {\r\n type: \"Attending_OTS\",\r\n wrong_ans: wrong_ans,\r\n correct_ans: correct_ans,\r\n paper_type: \"OTS\",\r\n paper_id: state.testDetails.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_174, data);\r\n console.log(\"response.data.coints\", response.data);\r\n if (response.data.status === 200) {\r\n if (response.data.data !== \"MCoins Already Credited...!\") {\r\n console.log(\r\n \"------------------------------------\",\r\n response.data.data.coins\r\n );\r\n setState((prev) => {\r\n return {\r\n ...prev,\r\n earnedCoins: response.data.data.coins,\r\n coinPopup: response.data.data.coins > 0 ? true : false,\r\n reason: response.data.data.description,\r\n };\r\n });\r\n if (response.data.data.coins === 0) {\r\n console.log(\r\n \"going inside of if response.data.data.coins === 0\",\r\n response.data.data.coins\r\n );\r\n console.log(\"coming inside of coins ===== 0\");\r\n history.push({\r\n pathname: \"/ots_summary\",\r\n });\r\n }\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const coinUsesApi = async () => {\r\n try {\r\n const response = await axios.get(url_175);\r\n if (response.data.status === 200) {\r\n console.log(response.data);\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n coinUsesPoints: [...response.data.data],\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n \r\n {\r\n history.push({ pathname: \"/ots_summary\" });\r\n }}\r\n earnMoreHandler={() =>\r\n setState((prev) => {\r\n return { ...prev, coinDetailsPopup: true, coinPopup: false };\r\n })\r\n }\r\n earnedCoins={state.earnedCoins}\r\n reason={state.reason}\r\n />\r\n {\r\n history.push({ pathname: \"/ots_summary\" });\r\n }}\r\n data={state.coinUsesPoints}\r\n />\r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n {loader && }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.otsTestsData.otsTestsData,\r\n userPreference: state.userPreference,\r\n userData: state.auth.user,\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n authType: state.auth.authType,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n startLoading: () => {\r\n dispatch(actions.startLoading());\r\n },\r\n\r\n finishLoading: () => {\r\n dispatch(actions.finishLoading());\r\n },\r\n\r\n setOtsTestsResultData: () => {\r\n dispatch(actions2.setOtsTestsResultData());\r\n },\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(OtsTestContentComponent);\r\n","import { React, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport \"./OtsAccuracyAttempted.scss\";\r\n\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\nimport { url_131 } from \"../../../../../../../../custom_utilities/api_services\";\r\n\r\nconst OtsAccuracyAttempted = (props) => {\r\n let {\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n userData,\r\n userPreference,\r\n testPaperResultData,\r\n token,\r\n tokenType,\r\n } = props;\r\n\r\n const [currentSubject, setCurrentSubject] = useState(null);\r\n\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/ots_test_result\");\r\n };\r\n const location = useLocation();\r\n const [state, setState] = useState({\r\n AccuracyAttempt: {},\r\n });\r\n\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n setCurrentSubject(value);\r\n };\r\n\r\n useEffect(() => {\r\n getAccuracyAttempt();\r\n }, []);\r\n\r\n const getAccuracyAttempt = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData?.paper_id,\r\n test_id: testPaperResultData?.PaperData?.testid,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_131, data, { headers });\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n AccuracyAttempt: response.data.data,\r\n }));\r\n\r\n response.data.data.SubjectAnalysis[0] &&\r\n setCurrentSubject(response.data.data.SubjectAnalysis[0]?.Subject);\r\n\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n return (\r\n <>\r\n
    \r\n {windowWidth <= 480 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Accuracy and Attempt Percentage

    \r\n
    \r\n\r\n
    \r\n
    \r\n {!isEmpty(state.AccuracyAttempt)\r\n ? state.AccuracyAttempt.SubjectAnalysis.length\r\n ? state.AccuracyAttempt.SubjectAnalysis.map(\r\n (element, index) => {\r\n return (\r\n \r\n {\r\n handleChangeSubject(event);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    {currentSubject}
    \r\n\r\n {state.AccuracyAttempt?.SubjectAnalysis?.map((element) => {\r\n if (element.Subject === currentSubject) {\r\n return (\r\n
    \r\n
    \r\n \r\n {`${element.Accuracy}%`}\r\n
    \r\n
    \r\n \r\n {`${element.Attempt}%`}\r\n
    \r\n
    \r\n );\r\n }\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n Accuracy(in %)\r\n
    \r\n
    \r\n Attempted (in %)\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n testPaperResultData: state?.otsTestsData?.otsPaperResultData,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(OtsAccuracyAttempted);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\n\r\nconst OtsDifficultyLevelCircularProgress = ({ data }) => {\r\n const [currentToughness, setCurrentToughnhess] = useState(data[0].Toughness);\r\n\r\n const handleChangeSubject = (event) => {\r\n setCurrentToughnhess(event.target.value);\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {data?.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n setCurrentToughnhess(event.target.value);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n\r\n {data\r\n ?.filter((element) => {\r\n if (element.Toughness == currentToughness) {\r\n return element;\r\n }\r\n })\r\n .map((element) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n Wrong\r\n
    \r\n\r\n
    \r\n \r\n Unattempted\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Correct\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n\r\n {/* {loader && } */}\r\n
    \r\n );\r\n};\r\n\r\nexport default OtsDifficultyLevelCircularProgress;\r\n","import { React, useState } from \"react\";\r\nimport \"./OtsDifficultyLevel.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport {\r\n url_132,\r\n url_133,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \".././../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../../../logged_user_components/structure_components/desktop_screens/header_component/header_component\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../.././../../../redux/ui/action\";\r\nimport OtsDifficultyLevelCircularProgress from \"./OtsDifficultyLevelCircularProgress\";\r\n\r\nconst OtsDifficultyLevel = (props) => {\r\n let {\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n userData,\r\n userPreference,\r\n testPaperResultData,\r\n token,\r\n tokenType,\r\n } = props;\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/ots_test_result\");\r\n };\r\n const location = useLocation();\r\n const [currentSubject, setCurrentSubject] = useState(null);\r\n const [state, setState] = useState({\r\n difficultyLevel: {},\r\n subjectList: {},\r\n });\r\n\r\n useEffect(() => {\r\n getDifficultyResult();\r\n }, [currentSubject]);\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n // let firstSbj = state.subjectList?.All_Subject?.[0].subject;\r\n //getSubjectList\r\n const getSubjectList = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData?.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_132, data, { headers });\r\n if (response.data.status === 200) {\r\n setState((preState) => ({\r\n ...preState,\r\n subjectList: response.data.data,\r\n }));\r\n response.data.data.All_Subject[0] &&\r\n setCurrentSubject(response.data.data.All_Subject[0]?.subject);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n //getDifficultyLevel\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n setCurrentSubject(value);\r\n };\r\n //topicWiseData\r\n const getDifficultyResult = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData?.paper_id,\r\n test_id: testPaperResultData?.PaperData?.testid,\r\n subject: currentSubject,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_133, data, { headers });\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n difficultyLevel: response.data.data,\r\n }));\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n difficultyLevel: \"\",\r\n }));\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n //let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n return (\r\n <>\r\n
    \r\n {windowWidth <= 480 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Difficulty Levels

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.All_Subject.length\r\n ? state.subjectList.All_Subject.map(\r\n (element, index) => {\r\n return (\r\n \r\n {\r\n handleChangeSubject(event);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n {loader && }\r\n
    \r\n
    \r\n {!isEmpty(state.difficultyLevel) ? (\r\n state.difficultyLevel.Analysis.length ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n
      \r\n
    • \r\n Level\r\n Correct\r\n Incorrect\r\n Unattempted\r\n
    • \r\n {!isEmpty(state.difficultyLevel)\r\n ? state.difficultyLevel.Analysis.length\r\n ? state.difficultyLevel.Analysis.map(\r\n (element, index) => {\r\n return (\r\n
    • \r\n {element.Toughness}\r\n {element.Correct}%\r\n {element.WRONG}%\r\n {element.Unattempted}%\r\n
    • \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n testPaperResultData: state?.otsTestsData?.otsPaperResultData,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OtsDifficultyLevel);\r\n","import { Fragment } from \"react\";\r\n\r\n///////Canvas Chart//////////////////\r\nimport { CanvasJSChart } from \"canvasjs-react-charts\";\r\n\r\nconst BehaviourDoughnutChart = (props) => {\r\n let { dataPoints } = props;\r\n console.log(\"ddt\", dataPoints);\r\n const options = {\r\n animationEnabled: true,\r\n backgroundColor: \"transparent\",\r\n height: 200,\r\n data: [\r\n {\r\n type: \"doughnut\",\r\n showInLegend: false,\r\n //indexLabel: \"{name}: {y}\",\r\n yValueFormatString: \"#,###'%'\",\r\n dataPoints: [\r\n {\r\n name: \"Correct\",\r\n y: dataPoints?.[`Correct Total Time`],\r\n color: \"#31D680\",\r\n },\r\n {\r\n name: \"Wrong\",\r\n y: dataPoints?.[`Incorrect Total Time`],\r\n color: \"#F93030\",\r\n },\r\n {\r\n name: \"Unattempted\",\r\n y: dataPoints?.[`Unattempted Total Time`],\r\n color: \"#668DE1\",\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default BehaviourDoughnutChart;\r\n","import { Fragment } from \"react\";\r\n\r\n///////Canvas Chart//////////////////\r\nimport { CanvasJSChart } from \"canvasjs-react-charts\";\r\nconst defaultObj = { correctPoint: [], wrongPoint: [] };\r\nconst ScatterChart = (props) => {\r\n let { dataPoints } = props;\r\n let { wrongPoint, correctPoint } = dataPoints ? dataPoints : defaultObj;\r\n const options = {\r\n animationEnabled: true,\r\n zoomEnabled: true,\r\n backgroundColor: \"#fff\",\r\n axisY: {\r\n title: \"Time per Question(in sec)\",\r\n fontSize: 10,\r\n crosshair: {\r\n enabled: true,\r\n snapToDataPoint: true,\r\n },\r\n },\r\n axisX: {\r\n gridThickness: 0,\r\n tickLength: 0,\r\n lineThickness: 0,\r\n labelFormatter: function () {\r\n return \" \";\r\n },\r\n },\r\n data: [\r\n {\r\n type: \"scatter\",\r\n fontColor: \"#000\",\r\n markerSize: 15,\r\n markerColor: \"red\",\r\n toolTipContent: \"Wrong\",\r\n dataPoints: [...wrongPoint],\r\n },\r\n {\r\n type: \"scatter\",\r\n fontColor: \"#000\",\r\n markerColor: \"green\",\r\n markerSize: 15,\r\n toolTipContent: \"Correct\",\r\n dataPoints: [...correctPoint],\r\n },\r\n ],\r\n };\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ScatterChart;\r\n","import { React, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport \"./OtsBehaviour.scss\";\r\n\r\nimport {\r\n url_132,\r\n url_134,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \".././../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../../../logged_user_components/structure_components/desktop_screens/header_component/header_component\";\r\nimport OtsBehaviourChart from \"./OtsBehaviourChart\";\r\nimport ScatterChart from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/ScatterChart\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../.././../../../redux/ui/action\";\r\n\r\nconst OtsBehaviour = (props) => {\r\n let {\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n userData,\r\n userPreference,\r\n testPaperResultData,\r\n token,\r\n tokenType,\r\n } = props;\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/ots_test_result\");\r\n };\r\n const location = useLocation();\r\n const [currentSubject, setCurrentSubject] = useState(null);\r\n const [state, setState] = useState({\r\n behaviourTime: {},\r\n scatterChartPoint: null,\r\n subjectList: {},\r\n });\r\n useEffect(() => {\r\n getDifficultyResult();\r\n }, [currentSubject]);\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n\r\n //getSubjectList\r\n const getSubjectList = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData?.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_132, data, { headers });\r\n if (response.data.status === 200) {\r\n setState((preState) => ({\r\n ...preState,\r\n subjectList: response.data.data,\r\n }));\r\n response.data.data.All_Subject[0] &&\r\n setCurrentSubject(response.data.data.All_Subject[0]?.subject);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n //getBehaviour\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n setCurrentSubject(value);\r\n };\r\n //topicWiseData\r\n const getDifficultyResult = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData?.paper_id,\r\n test_id: testPaperResultData?.PaperData?.testid,\r\n subject: currentSubject,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_134, data, { headers });\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n behaviourTime: response.data.data,\r\n }));\r\n convertDataPoints(response.data.data[`Time Per Question`]);\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n behaviourTime: \"\",\r\n }));\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n //let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n const convertDataPoints = (array) => {\r\n let correctPoint = [];\r\n let wrongPoint = [];\r\n for (let i = 0; i < array.length; i++) {\r\n if (array[i].Type == \"RIGHT\") {\r\n correctPoint.push({ x: i + 1, y: parseInt(array[i].Time) });\r\n } else {\r\n wrongPoint.push({ x: i + 1, y: parseInt(array[i].Time) });\r\n }\r\n }\r\n setState((preState) => ({\r\n ...preState,\r\n scatterChartPoint: { correctPoint, wrongPoint },\r\n }));\r\n };\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n <>\r\n
    \r\n {isMob() ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Behaviour

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.All_Subject.length\r\n ? state.subjectList.All_Subject.map(\r\n (element, index) => {\r\n return (\r\n \r\n {\r\n handleChangeSubject(event);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n {loader && }\r\n
    \r\n
    \r\n \r\n
    \r\n Correct\r\n Wrong\r\n Unattempted\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Student Attempted Tough Questions

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Time Spent on C, W, U

    \r\n
    \r\n Correct\r\n
    \r\n
    \r\n Wrong\r\n \r\n
    \r\n
    \r\n Unattempted\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n testPaperResultData: state?.otsTestsData?.otsPaperResultData,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OtsBehaviour);\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./OtsQuestionPaperSolutionContent.scss\";\r\n\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport isEmpty from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport useMathjax from \"../../../../../../../../hooks/useMathjax\";\r\n\r\nconst OtsQuestionPaperSolutionContent = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentSolutionDetails,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userData,\r\n testPaperResultData,\r\n } = props;\r\n\r\n useMathjax(currentSolutionDetails);\r\n\r\n let { userId } = userData;\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n const [isList, setisList] = useState(true);\r\n\r\n useMathjax(currentSolutionDetails, isList);\r\n\r\n const renderOptions = (currentSolutionDetails) => {\r\n if (currentSolutionDetails) {\r\n let step,\r\n type = currentSolutionDetails?.answer_type.toLowerCase();\r\n\r\n if (type === \"single correct\") {\r\n step = 1;\r\n } else if (type === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(currentSolutionDetails);\r\n case 2:\r\n return renderInputField(currentSolutionDetails);\r\n case 3:\r\n return renderMultiSelect(currentSolutionDetails);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderCorrectWrongIcon = (s, u) => {\r\n let flag = 0;\r\n\r\n if (s && u) {\r\n flag = 1;\r\n } else if (!s && u) {\r\n flag = 2;\r\n }\r\n\r\n if (flag === 1) {\r\n return (\r\n
    \r\n {\" \"}\r\n \"img\"\r\n
    \r\n );\r\n } else if (flag === 2) {\r\n return (\r\n
    \r\n {\" \"}\r\n \"img\"\r\n
    \r\n );\r\n } else {\r\n return \"\";\r\n }\r\n\r\n // if (s && u) {\r\n // return 1;\r\n // } else if (!s && u) {\r\n // return 2;\r\n // } else if (s && !u) {\r\n // return 0;\r\n // } else {\r\n // return 0;\r\n // }\r\n };\r\n\r\n const classEditorForInput = (currentQuestionDetails) => {\r\n const { check_answer } = currentQuestionDetails;\r\n\r\n if (check_answer == 1) {\r\n return \"input_inner_wrapper classCorrect\";\r\n } else if (check_answer == 0) {\r\n return \"input_inner_wrapper classWrong\";\r\n } else {\r\n return \"input_inner_wrapper classUnattempted\";\r\n }\r\n };\r\n\r\n const renderCorrectWrongInputIcon = (currentQuestionDetails) => {\r\n const { check_answer } = currentQuestionDetails;\r\n\r\n if (check_answer === 1) {\r\n return \"\";\r\n } else if (check_answer === 0) {\r\n return \"\";\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData) => {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n\r\n {/* {renderCorrectWrongIcon(\r\n element.is_correct,\r\n element.is_user_correct_ans\r\n )} */}\r\n\r\n {renderCorrectWrongIcon(\r\n element.is_correct,\r\n element.is_user_correct_ans\r\n )}\r\n\r\n {/*
    \r\n {\" \"}\r\n \r\n
    */}\r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData) => {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n {/* \r\n {renderCorrectWrongIcon(\r\n element.is_correct,\r\n element.is_user_correct_ans\r\n )} */}\r\n\r\n {renderCorrectWrongIcon(\r\n element.is_correct,\r\n element.is_user_correct_ans\r\n )}\r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = () => {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled\r\n />\r\n
    \r\n
    \r\n {renderCorrectWrongInputIcon(\r\n testQuestionsDetails[currentQuestion]\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n // const renderInputField = () => {\r\n // return (\r\n // \r\n //
    \r\n //
    \r\n // \r\n // \r\n //
    \r\n //
    \r\n //

    {currentSolutionDetails?.integer_answer}

    \r\n //
    \r\n\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n\r\n // {renderCorrectWrongIcon(\r\n // element.is_correct,\r\n // element.is_user_correct_ans\r\n // )}\r\n\r\n // \r\n //
    \r\n //
    \r\n //
    \r\n // );\r\n // };\r\n\r\n const renderQuestionText = (currentSolutionDetails) => {\r\n return {\r\n __html: currentSolutionDetails?.q_text.replace(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n };\r\n };\r\n\r\n const renderParagraphQuestionText = (currentSolutionDetails) => {\r\n return {\r\n __html: currentSolutionDetails?.p_text,\r\n };\r\n };\r\n\r\n const renderColumMatchQuestion = (currentSolutionDetails) => {\r\n return {\r\n __html: currentSolutionDetails?.m_p_text,\r\n };\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n // const renderVideo = (element) => {\r\n\r\n const renderVideo = (currentQuestionDetails) => {\r\n const videoIdEnglish = currentQuestionDetails.video_id_english;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const buttonLabel = videoShow\r\n ? \"Close Video Solution\"\r\n : \"View Video Solution\";\r\n\r\n if (videoIdEnglish && urlPattern.test(videoIdEnglish)) {\r\n // Render iframe with selectedVideoId\r\n return (\r\n
    \r\n \r\n {videoShow && (\r\n \r\n )}\r\n
    \r\n );\r\n } else {\r\n // Render ShakaSolutionViewVideoPlayer\r\n return (\r\n
    \r\n \r\n {videoShow && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderSolution = (currentSolutionDetails) => {\r\n const { sol_text } = currentSolutionDetails;\r\n return {\r\n __html: sol_text?.replaceAll(\r\n \"/ckfinder\" || \"ckfinder\",\r\n \"http://quizmaster.motion.ac.in/ckfinder\"\r\n ),\r\n };\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n const { q_text } = question;\r\n const isTable = q_text.includes(\" 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else {\r\n let labelClass = \"\";\r\n\r\n if (question.check_answer == 1) {\r\n labelClass = \"correct_answered_lbl\";\r\n } else if (question.check_answer == 0) {\r\n labelClass = \"incorrect_answered_lbl\";\r\n } else {\r\n labelClass = \"\";\r\n }\r\n\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n const { q_text } = question;\r\n const isTable = q_text.includes(\" 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else {\r\n let labelClass = \"\";\r\n\r\n if (question.check_answer == 1) {\r\n labelClass = \"correct_answered_lbl\";\r\n } else if (question.check_answer == 0) {\r\n labelClass = \"incorrect_answered_lbl\";\r\n } else {\r\n labelClass = \"\";\r\n }\r\n\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n\r\n setVideoShow(false);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel1(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Question\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n
    \r\n Topic:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion]?.topic_name}\r\n \r\n
    \r\n\r\n
    \r\n Sub Topic:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion]?.sub_topic_name}\r\n \r\n
    \r\n\r\n
    \r\n Question type:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion]?.answer_type}\r\n \r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n
    {\" \"}\r\n Correct\r\n
    \r\n
    \r\n
    {\" \"}\r\n Incorrect\r\n
    \r\n
    \r\n
    \r\n Unattempt\r\n
    \r\n
    \r\n
    */}\r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails?.length}\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n

    {testPaperResultData?.test_name}

    \r\n
    \r\n {/*
    \r\n \r\n Question type: {currentSolutionDetails?.type}\r\n \r\n
    */}\r\n\r\n \r\n \r\n {`Question ${Number(currentQuestion) + 1}.`}\r\n
    \r\n\r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails !== undefined &&\r\n currentSolutionDetails !== \"\" ? (\r\n
    \r\n

    \r\n\r\n

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails.option !== undefined\r\n ? renderOptions(currentSolutionDetails)\r\n : \"\"}\r\n
    \r\n\r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails !== undefined &&\r\n currentSolutionDetails !== \"\" ? (\r\n
    \r\n
    Solution:
    \r\n\r\n
    \r\n

    \r\n\r\n {currentSolutionDetails?.video_id_english?.length\r\n ? renderVideo(currentSolutionDetails)\r\n : \"\"}\r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n setVideoShow(false);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n setVideoShow(false);\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n {/*
    */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default OtsQuestionPaperSolutionContent;\r\n","import { React, useState } from \"react\";\r\nimport OtsQuestionPaperSolutionContent from \"./OtsQuestionPaperSolutionContent\";\r\n\r\nimport { useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\n// import LoaderPopUp from \"../../../../../components/loader/loader\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\nimport {\r\n url_135,\r\n url_136,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nconst OtsQuestionPaperSolution = (props) => {\r\n let {\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n testPaperResultData,\r\n token,\r\n tokenType,\r\n userData,\r\n } = props;\r\n const [state, setState] = useState({\r\n testQuestionsDetails: [],\r\n testQuestionsDetails1: {},\r\n currentQuestion: 0,\r\n currentSolutionDetails: {},\r\n });\r\n useEffect(() => {\r\n getQuestionList();\r\n }, []);\r\n\r\n const location = useLocation();\r\n\r\n const getQuestionList = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n startLoading();\r\n let data = {\r\n paper_id: testPaperResultData?.PaperData?.paper_id,\r\n test_id: testPaperResultData?.PaperData?.testid,\r\n };\r\n try {\r\n const response = await axios.post(url_135, data, { headers });\r\n console.log(\"getQuestionListots\", response.data);\r\n if (response.data.status === 200) {\r\n getCurrentSolutionDetails(\r\n testPaperResultData?.PaperData?.paper_id,\r\n response.data.data[state.currentQuestion]?.qid,\r\n testPaperResultData?.PaperData?.testid\r\n );\r\n\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: response.data.data,\r\n testQuestionsDetails1: response.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getCurrentSolutionDetails = async (paper_id, qid, test_id) => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n paper_id,\r\n qid,\r\n test_id,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_136, data, { headers });\r\n\r\n if (response.data.status == 200) {\r\n finishLoading();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSolutionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n //nextBtn\r\n const handleNextQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(\r\n testPaperResultData?.PaperData?.paper_id,\r\n qid,\r\n testPaperResultData?.PaperData?.testid\r\n );\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n //previous btn\r\n const handlePreviousQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(\r\n testPaperResultData?.PaperData?.paper_id,\r\n qid,\r\n testPaperResultData?.PaperData?.testid\r\n );\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n //handleJump\r\n const handleQuestionJump = (questionNumber) => {\r\n const { paper_id, qid } = state.testQuestionsDetails[questionNumber];\r\n\r\n getCurrentSolutionDetails(\r\n testPaperResultData?.PaperData?.paper_id,\r\n qid,\r\n testPaperResultData?.PaperData?.testid\r\n );\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n return (\r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n testPaperResultData: state?.otsTestsData?.otsPaperResultData,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n userData: state.auth.user,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(OtsQuestionPaperSolution);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./privacy_policy_content_component.scss\";\r\n\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_34 } from \"../../../../../custom_utilities/api_services\";\r\n\r\nconst PrivacyPolicyContentComponent = () => {\r\n const [state, setState] = useState({\r\n pageContent: {},\r\n });\r\n\r\n useEffect(() => {\r\n getPageContent();\r\n }, []);\r\n\r\n const getPageContent = async () => {\r\n let cms_type = 2;\r\n try {\r\n const response = await axios.get(`${url_34}?cms_type=${cms_type}`);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n pageContent: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderContent = () => {\r\n if (!isEmpty(state.pageContent) && !isEmpty(state.pageContent.content)) {\r\n return { __html: state.pageContent.content.cms };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Privacy Policy:

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default PrivacyPolicyContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./privacy_policy.scss\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport PrivacyPolicyContentComponent from \"../privacy_policy/privacy_policy_content_component/privacy_policy_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst PrivacyPolicy = (props) => {\r\n let { history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(PrivacyPolicy);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./terms_n_condition_content_component.scss\";\r\n\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_34 } from \"../../../../../custom_utilities/api_services\";\r\n\r\nconst TermsNConditionContentComponent = () => {\r\n const [state, setState] = useState({\r\n pageContent: {},\r\n });\r\n\r\n useEffect(() => {\r\n getPageContent();\r\n }, []);\r\n\r\n const getPageContent = async () => {\r\n let cms_type = 3;\r\n try {\r\n const response = await axios.get(`${url_34}?cms_type=${cms_type}`);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n pageContent: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderContent = () => {\r\n if (!isEmpty(state.pageContent) && !isEmpty(state.pageContent.content)) {\r\n return { __html: state.pageContent.content.cms };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Terms & Conditions:

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default TermsNConditionContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./terms_n_condition.scss\";\r\n\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport TermsNConditionContentComponent from \"./terms_n_condition_content_component/terms_n_condition_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst TermsNCondition = (props) => {\r\n let { history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(TermsNCondition);\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./faqs_content_component.scss\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { url_35 } from \"../../../../../custom_utilities/api_services\";\r\n\r\nconst FaqsContentComponent = () => {\r\n const [state, setState] = useState({\r\n faqsList: [],\r\n });\r\n\r\n useEffect(() => {\r\n getFaqsList();\r\n }, []);\r\n\r\n const getFaqsList = async () => {\r\n try {\r\n const response = await axios.get(url_35);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n faqsList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n

    Frequently Asked Questions?

    \r\n {/*
    \r\n Still didn't find your answer?\r\n \r\n Contact Us\r\n \r\n
    */}\r\n
    \r\n {state.faqsList.length ? (\r\n \r\n
    \r\n
    \r\n {state.faqsList.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n {element.question}\r\n \r\n \r\n \r\n
    \r\n {element.answer}\r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n {/*
    */}\r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default FaqsContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./faqs.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport FaqsContentComponent from \"./faqs_content_component/faqs_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst Faqs = (props) => {\r\n let { history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(Faqs);\r\n","import { Fragment, useEffect, useState } from \"react\";\r\nimport \"./about_us_content_component.scss\";\r\n\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport { url_34 } from \"../../../../../custom_utilities/api_services\";\r\n\r\nconst AboutUsContentComponent = () => {\r\n const [state, setState] = useState({\r\n pageContent: {},\r\n });\r\n\r\n useEffect(() => {\r\n getPageContent();\r\n }, []);\r\n\r\n const getPageContent = async () => {\r\n let cms_type = 1;\r\n try {\r\n const response = await axios.get(`${url_34}?cms_type=${cms_type}`);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n pageContent: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderContent = () => {\r\n if (!isEmpty(state.pageContent) && !isEmpty(state.pageContent.content)) {\r\n return { __html: state.pageContent.content.cms };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    About Us

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default AboutUsContentComponent;\r\n","import { Fragment } from \"react\";\r\nimport \"./about_us.scss\";\r\n\r\n///////////////////Desktop\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport AboutUsContentComponent from \"./about_us_content_component/about_us_content_component\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst AboutUs = (props) => {\r\n let { history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(AboutUs);\r\n","import React from \"react\";\r\nimport \"./confirmationMessage.scss\";\r\nimport images from \"../../../../../utilities/images/images\";\r\n\r\nconst ConfirmationMessage = ({ onClose }) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"success\"\r\n
    \r\n

    Thank you for reaching out!

    \r\n

    \r\n Your message has been successfully submitted. Our team will get back\r\n to you within 24 hours.\r\n

    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ConfirmationMessage;\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./contact_us_content_component.scss\";\r\nimport axios from \"axios\";\r\nimport { url_50 } from \"../../../../../custom_utilities/api_services\";\r\n// Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport { checkXSSAttackThroughInput } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport ConfirmationMessage from \"./ConfirmationMessage\";\r\n\r\nconst ContactUsContentComponent = (props) => {\r\n let { startLoading, finishLoading } = props;\r\n const [state, setState] = useState({\r\n userQueryDetails: {\r\n queryTitle: \"\",\r\n email: \"\",\r\n queryDescription: \"\",\r\n },\r\n });\r\n\r\n const [showConfirmation, setShowConfirmation] = useState(false);\r\n\r\n const handleChangeInputField = async (event) => {\r\n let { name, value } = event.target;\r\n const response = await checkXSSAttackThroughInput(value);\r\n\r\n if (!response) {\r\n return;\r\n } else {\r\n switch (name) {\r\n case \"query_title\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userQueryDetails: {\r\n ...prevState.userQueryDetails,\r\n queryTitle: value,\r\n },\r\n }));\r\n break;\r\n case \"query_description\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userQueryDetails: {\r\n ...prevState.userQueryDetails,\r\n queryDescription: value,\r\n },\r\n }));\r\n break;\r\n case \"query_email\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n userQueryDetails: {\r\n ...prevState.userQueryDetails,\r\n email: value,\r\n },\r\n }));\r\n break;\r\n default:\r\n break;\r\n }\r\n }\r\n };\r\n\r\n const handleSubmitQueryForm = async (event) => {\r\n event.preventDefault();\r\n let userQueryDetails = { ...state.userQueryDetails };\r\n\r\n let requestPayload = {\r\n title: userQueryDetails.queryTitle,\r\n queries: userQueryDetails.queryDescription,\r\n };\r\n startLoading();\r\n let returnedResponse = await saveQueryApi(requestPayload);\r\n\r\n finishLoading();\r\n setShowConfirmation(true);\r\n\r\n if (returnedResponse.result === 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n userQueryDetails: {\r\n ...prevState.userQueryDetails,\r\n queryTitle: \"\",\r\n email: \"\",\r\n queryDescription: \"\",\r\n },\r\n }));\r\n }\r\n };\r\n\r\n const saveQueryApi = async (requestPayload) => {\r\n try {\r\n const response = await axios.post(url_50, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: { message: response.data.message },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: { message: response.data.message },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: { message: \"Something went wrong!!!\" },\r\n };\r\n }\r\n };\r\n\r\n const handleCloseConfirmation = () => {\r\n setShowConfirmation(false);\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Contact Us

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    handleSubmitQueryForm(event)}>\r\n
    \r\n handleChangeInputField(event)}\r\n required\r\n />\r\n
    \r\n
    \r\n handleChangeInputField(event)}\r\n required\r\n />\r\n
    \r\n
    \r\n handleChangeInputField(event)}\r\n required\r\n >\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {showConfirmation && (\r\n \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(ContactUsContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./contact_us.scss\";\r\n\r\n///////////////////Desktop\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport ContactUsContentComponent from \"./contact_us_content_component/contact_us_content_component\";\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst ContactUs = (props) => {\r\n let { history, loader, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(ContactUs);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./SupportCenterInfo.scss\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { url_198 } from \"../../../../../custom_utilities/api_services\";\r\n\r\nconst SupportCenterInfo = ({ handleStepTwo }) => {\r\n const [data, setData] = useState([]);\r\n\r\n const getData = async () => {\r\n try {\r\n const response = await axios.get(url_198);\r\n if (response.data.status === 200) {\r\n setData(response.data.data.validdata[0]);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getData();\r\n }, []);\r\n\r\n return (\r\n
    \r\n
    \r\n {/* \"\" */}\r\n
    Motion support center
    \r\n
    \r\n\r\n
    \r\n
    \r\n {/* Roll number */}\r\n

    {data.roll_no}

    \r\n
    \r\n\r\n
    \r\n {/* Center name */}\r\n

    {data.center}

    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default SupportCenterInfo;\r\n","import React from \"react\";\r\nimport images from \"../../../../../utilities/images/images\";\r\n\r\nconst InitialScreen = ({ parents, handleOptionSelect }) => {\r\n const containerStyle = {\r\n display: \"flex\",\r\n flexDirection: \"column\",\r\n justifyContent: \"space-between\",\r\n height: \"62vh\",\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n Motion Assistant\r\n

    \r\n Hi! Thank you for contacting Motion, I am Motion assistant how may i\r\n help you?\r\n

    \r\n\r\n

    \r\n Please choose the options below related to your issue\r\n

    \r\n
    \r\n \"\"\r\n
    \r\n\r\n
    \r\n {parents.map((parent) => (\r\n \r\n handleOptionSelect(parent.name, parent.parentid, null, null)\r\n }\r\n >\r\n {parent.name}\r\n \r\n ))}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default InitialScreen;\r\n","import React, { useState } from \"react\";\r\nimport images from \"../../../../../utilities/images/images\";\r\n\r\nconst SecondScreen = ({\r\n selectedOption,\r\n selectedParentId,\r\n messages,\r\n setMessages,\r\n childListings,\r\n handleOptionSelect,\r\n handleStepOne,\r\n showConfirmationMessage,\r\n inputMessage,\r\n setInputMessage,\r\n handleSendMessage,\r\n selectedChildId,\r\n showCustomMessageInput,\r\n showkidly,\r\n setCurrentScreen,\r\n}) => {\r\n const [textareaRows, setTextareaRows] = useState(1);\r\n\r\n const handleChange = (e) => {\r\n const textareaLineHeight = 21; //\r\n const previousRows = e.target.rows;\r\n e.target.rows = 1;\r\n const currentRows = Math.floor(e.target.scrollHeight / textareaLineHeight);\r\n\r\n if (currentRows === previousRows) {\r\n e.target.rows = currentRows;\r\n }\r\n\r\n setInputMessage(e.target.value);\r\n setTextareaRows(currentRows);\r\n };\r\n\r\n const renderButtons = () => {\r\n return (\r\n <>\r\n
    \r\n {childListings.slice(0, childListings.length - 1).map((child) => (\r\n \r\n handleOptionSelect(\r\n child.name,\r\n selectedParentId,\r\n child.childid,\r\n child.name\r\n )\r\n }\r\n >\r\n {child.name}\r\n \r\n ))}\r\n
    \r\n\r\n
    \r\n {\" \"}\r\n {childListings.splice(childListings.length - 1, 1).map((child) => (\r\n \r\n handleOptionSelect(\r\n child.name,\r\n selectedParentId,\r\n child.childid,\r\n child.name\r\n )\r\n }\r\n >\r\n {child.name.toLowerCase().trim() == \"otherissue\"\r\n ? \"Other issue\"\r\n : \"Other issue\"}{\" \"}\r\n
    \r\n ))}\r\n \r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n

    \r\n Hi! Thank you for contacting Motion, I am Motion assistant how may i\r\n help you\r\n

    \r\n\r\n

    \r\n Please choose the options below related to your issue\r\n

    \r\n
    \r\n \"moitonchatLogo\"\r\n
    \r\n\r\n {selectedOption && selectedParentId && !selectedChildId && (\r\n
    \r\n
    \r\n
    \r\n {messages?.map((message, index) => (\r\n
    \r\n {message.text}\r\n
    \r\n ))}\r\n
    \r\n
    \r\n\r\n {renderButtons()}\r\n\r\n
    \r\n {\r\n setCurrentScreen(\"initial\");\r\n setMessages([]);\r\n }}\r\n >\r\n Back to previous menu\r\n \r\n
    \r\n
    \r\n )}\r\n\r\n {selectedChildId && (\r\n <>\r\n
    \r\n {messages?.map((message, index) => (\r\n
    \r\n {message.text}\r\n
    \r\n ))}\r\n
    \r\n\r\n {showConfirmationMessage ? (\r\n <>\r\n
    \r\n Your problem is registered, our team will solve & get back to\r\n you within 24 hours.\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n ) : (\r\n
    \r\n Kindly state your problem clearly.\r\n
    \r\n )}\r\n\r\n {!showCustomMessageInput && (\r\n
    \r\n \r\n\r\n \r\n
    \r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default SecondScreen;\r\n","import React, { useEffect, useState } from \"react\";\r\nimport \"./Chatbox.scss\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_199,\r\n url_200,\r\n url_201,\r\n} from \"../../../../../custom_utilities/api_services\";\r\nimport InitialScreen from \"./InitialScreen\";\r\nimport SecondScreen from \"./SecondScreen\";\r\n\r\nconst Chatbox = ({ handleStepOne,handleStepTwo }) => {\r\n const [messages, setMessages] = useState([]);\r\n const [parents, setParents] = useState([]);\r\n const [childListings, setChildListings] = useState([]);\r\n const [currentScreen, setCurrentScreen] = useState(\"initial\");\r\n const [selectedOption, setSelectedOption] = useState(\"\");\r\n const [selectedParentId, setSelectedParentId] = useState(null);\r\n const [inputMessage, setInputMessage] = useState(\"\");\r\n const [showConfirmationMessage, setShowConfirmationMessage] = useState(false);\r\n const [selectedChildId, setSelectedChildId] = useState(null);\r\n const [selectedChildOption, setSelectedChildOption] = useState(\"\");\r\n const [showCustomMessageInput, setShowCustomMessageInput] = useState(false);\r\n\r\n const [showkidly, setKidly] = useState(\"true\");\r\n\r\n useEffect(() => {\r\n getParentList();\r\n }, []);\r\n\r\n const getParentList = async () => {\r\n try {\r\n const response = await axios.get(url_199);\r\n\r\n if (response.data.status === 200) {\r\n const parentsData = response.data.data.parents;\r\n setParents(parentsData);\r\n }\r\n } catch (err) {\r\n console.error(\"Error fetching data from the API:\", err);\r\n }\r\n };\r\n\r\n const handleOptionSelect = (option, parentId, childId, childOption) => {\r\n setSelectedOption(option);\r\n setSelectedParentId(parentId);\r\n setSelectedChildId(childId);\r\n setSelectedChildOption(childOption);\r\n setMessages([...messages, { text: option }]);\r\n\r\n setCurrentScreen(\"second\");\r\n\r\n console.log(\"parentId\", parentId, \"childId\", childId);\r\n if (parentId && childId === null) {\r\n console.log(\"iff\");\r\n getChildList(parentId);\r\n }\r\n };\r\n\r\n const getChildList = async (parentId) => {\r\n try {\r\n const response = await axios.get(url_200, {\r\n params: {\r\n parentid: parentId,\r\n },\r\n });\r\n\r\n\r\n if (response.data.status === 200) {\r\n const childListingsData = response.data.data.childlisting;\r\n setChildListings(childListingsData);\r\n }\r\n } catch (err) {\r\n console.error(\"Error fetching child listings data from the API:\", err);\r\n }\r\n };\r\n\r\n const handleSendMessage = () => {\r\n if (inputMessage.trim() !== \"\") {\r\n messageSubmit(\r\n selectedParentId,\r\n selectedChildId,\r\n selectedChildOption,\r\n inputMessage\r\n );\r\n setMessages([...messages, { text: inputMessage }]);\r\n setInputMessage(\"\");\r\n setShowConfirmationMessage(true);\r\n }\r\n };\r\n\r\n const messageSubmit = async (\r\n selectedParentId,\r\n selectedChildId,\r\n selectedChildOption,\r\n inputMessage\r\n ) => {\r\n try {\r\n await axios.get(url_201, {\r\n params: {\r\n support_id: selectedChildId,\r\n name: selectedChildOption,\r\n description: inputMessage,\r\n parent_id: selectedParentId,\r\n },\r\n });\r\n\r\n setKidly(false);\r\n setShowCustomMessageInput(true);\r\n setShowConfirmationMessage(true);\r\n } catch (err) {\r\n console.log(\"Error making API request:\", err);\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {currentScreen === \"initial\" && (\r\n \r\n )}\r\n\r\n {currentScreen === \"second\" && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default Chatbox;\r\n","import React, { useState } from \"react\";\r\nimport \"./HelpAndSupport.scss\";\r\nimport SupportCenterInfo from \"./supportCenterInfo/SupportCenterInfo\";\r\nimport Chatbox from \"./chatbox/Chatbox\";\r\n\r\nconst HelpAndSupport = () => {\r\n const [state, setState] = useState({\r\n step: 1,\r\n });\r\n\r\n const handleStepTwo = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n }));\r\n };\r\n\r\n const handleStepOne = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 1,\r\n }));\r\n };\r\n\r\n return (\r\n
    \r\n {state.step === 1 && }\r\n {state.step === 2 && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default HelpAndSupport;\r\n","import React from \"react\";\r\nimport \"./All_page_content.scss\";\r\n\r\nimport PrivacyPolicyContentComponent from \"../privacy_policy/privacy_policy\";\r\nimport Terms_n_condition from \"../terms_n_condition/terms_n_condition\";\r\nimport Faqs from \"../faqs/faqs\";\r\nimport AboutUs from \"../about_us/about_us\";\r\nimport ContactUs from \"../contact_us/contact_us\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { Link } from \"react-router-dom\";\r\n// import HelpAndSupport from \"../helpAndSupport/HelpAndSupport\";\r\nimport HelpAndSupport from \"../helpAndSupport/HelpAndSupport\";\r\n\r\nconst All_page_content = (props) => {\r\n const {\r\n state: { tab },\r\n } = props.location;\r\n return (\r\n <>\r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n \r\n \"backarrow\"\r\n \r\n

    Welcome, We are here to help you

    \r\n
    \r\n
    \r\n {/*

    Welcome, We are here to help you

    */}\r\n
      \r\n
    • \r\n \r\n Privacy Policy\r\n \r\n
    • \r\n
    • \r\n \r\n Terms & Conditions\r\n \r\n
    • \r\n
    • \r\n \r\n FAQS\r\n \r\n
    • \r\n
    • \r\n \r\n About Us\r\n \r\n
    • \r\n
    • \r\n \r\n Contact Us\r\n \r\n
    • \r\n\r\n
    • \r\n \r\n Help & support\r\n \r\n
    • \r\n
    \r\n
    \r\n {/*
    */}\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default All_page_content;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./user_bookmarks_content_component.scss\";\r\n\r\nimport images from \"../../../../utilities/images/images\";\r\n\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_40,\r\n url_39,\r\n url_77,\r\n url_106,\r\n} from \"../../../../custom_utilities/api_services\";\r\nimport { Link } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport userBookmarkActions from \"../../../../redux/user_bookmark/action\";\r\nimport userActivityActions from \"../../../../redux/user_activity/action\";\r\nimport { log } from \"devtools-detector\";\r\nimport videos from \"./../../../../utilities/videos/videos\";\r\nimport All_page_content from \"./../../static_pages/all_pageTabing/All_page_content\";\r\nimport InfiniteScroll from \"react-infinite-scroll-component\";\r\n\r\nconst UserBookmarksContentComponent = (props) => {\r\n let {\r\n history,\r\n options,\r\n startLoading,\r\n finishLoading,\r\n setOptions,\r\n setVideoData,\r\n setBookmarkQuestionList,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n optionType: 1,\r\n pageNumber: 1,\r\n videosData: [],\r\n dppData: {},\r\n exerciseData: {},\r\n testData: [],\r\n videos: [],\r\n pyqData: [],\r\n });\r\n\r\n useEffect(() => {\r\n getInitialRenderData();\r\n }, []);\r\n\r\n const getInitialRenderData = () => {\r\n let optionType = options.option_type;\r\n setState((prevState) => ({ ...prevState, optionType: optionType }));\r\n\r\n switch (optionType) {\r\n case 1:\r\n getDppData();\r\n break;\r\n case 2:\r\n getExerciseData();\r\n break;\r\n case 3:\r\n getTestData();\r\n break;\r\n case 6:\r\n getPyqData();\r\n break;\r\n case 4:\r\n getVideosData();\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const getDppData = async () => {\r\n let data = {\r\n type: 2,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_40, data);\r\n console.log(response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n dppData: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getExerciseData = async () => {\r\n let data = {\r\n type: 1,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_40, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n exerciseData: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getPyqData = async () => {\r\n let data = 6;\r\n const token =\r\n \"Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VyX2lkIjoyMjk2MjYsImV4cGlyZXNfYXQiOiIyMDIzLTEwLTE5IDEzOj11OjA4In0.KAt7B1KReAIocjR_SVHRHUWRr0gQn2gtAZa8otDN-ag\";\r\n startLoading();\r\n try {\r\n const response = await axios.post(\r\n `${url_40}?type=${data}&Authorization=${token}`\r\n );\r\n if (response.data.status === 200) {\r\n console.log(\"getPyqData\", response.data.data);\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n pyqData: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestData = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_106);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n testData: [...response.data.data.ExamList],\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getVideosData = async () => {\r\n let data = {\r\n type: 4,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_40, data);\r\n console.log(\"getVideosData\", response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n // videosData: response.data.data,\r\n videos: [...response.data.data.VideoList.data],\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderOptions = () => {\r\n let optionType = state.optionType;\r\n // 1 for DPP\r\n // 2 for Exercise\r\n // 3 for Test\r\n // 4 for Videos\r\n switch (optionType) {\r\n case 1:\r\n return renderDppCollectionView();\r\n case 2:\r\n return renderExerciseCollectionView();\r\n case 3:\r\n return renderTestCollectionView();\r\n case 4:\r\n return renderVideoCollectionView();\r\n case 6:\r\n return renderPYQCollectionView();\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const handleBookmarkPyqQuestion = async (pyqQuestionDetails) => {\r\n let pyqData = { ...state.pyqData };\r\n let allQuestionList = [...state.pyqData.AllQuestionList];\r\n\r\n let pyqQuestionIndex = allQuestionList.findIndex((element) => {\r\n return element.qid === pyqQuestionDetails.qid;\r\n });\r\n\r\n if (pyqQuestionIndex !== -1) {\r\n // allQuestionList[dppQuestionIndex].is_saved = !allQuestionList[\r\n // dppQuestionIndex\r\n // ].is_saved;\r\n\r\n allQuestionList.splice(pyqQuestionIndex, 1);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n pyqData: {\r\n ...prevState.pyqData,\r\n AllQuestionList: allQuestionList,\r\n },\r\n }));\r\n } else {\r\n return;\r\n }\r\n\r\n let data = {\r\n type: 6, // 2 for dpp\r\n reference_id: pyqQuestionDetails.qid,\r\n status: 0, // 0=>unsave\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleBookmarkDppQuestion = async (dppQuestionDetails) => {\r\n let dppData = { ...state.dppData };\r\n let allQuestionList = [...state.dppData.AllQuestionList];\r\n\r\n let dppQuestionIndex = allQuestionList.findIndex((element) => {\r\n return element.qid === dppQuestionDetails.qid;\r\n });\r\n\r\n if (dppQuestionIndex !== -1) {\r\n // allQuestionList[dppQuestionIndex].is_saved = !allQuestionList[\r\n // dppQuestionIndex\r\n // ].is_saved;\r\n\r\n allQuestionList.splice(dppQuestionIndex, 1);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n dppData: {\r\n ...prevState.dppData,\r\n AllQuestionList: allQuestionList,\r\n },\r\n }));\r\n } else {\r\n return;\r\n }\r\n\r\n // let data = {};\r\n // if (!dppQuestionDetails.is_saved) {\r\n // data = {\r\n // type: 2, // 2 for dpp\r\n // reference_id: dppQuestionDetails.qid,\r\n // status: 0, // 0=>unsave\r\n // };\r\n // } else {\r\n // data = {\r\n // type: 2, // 2 for dpp\r\n // reference_id: dppQuestionDetails.qid,\r\n // status: 1, //1=> save\r\n // };\r\n // }\r\n\r\n let data = {\r\n type: 2, // 2 for dpp\r\n reference_id: dppQuestionDetails.qid,\r\n status: 0, // 0=>unsave\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderDppCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.dppData) ? (\r\n state.dppData.AllQuestionList.length ? (\r\n state.dppData.AllQuestionList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {index + 1}.

    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreBookmarkDataInStorage(\"dpp\")\r\n }\r\n >
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {element.is_saved ? (\r\n \r\n handleBookmarkDppQuestion(element)\r\n }\r\n alt=\"bookmark-icon\"\r\n />\r\n ) : (\r\n \r\n handleBookmarkDppQuestion(element)\r\n }\r\n alt=\"bookmark-icon\"\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : null\r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \"DPP\"\r\n
    \r\n

    You haven't Bookmarked yet!

    \r\n {/* Go to DPP page */}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const handleBookmarkExerciseQuestion = async (exerciseQuestionDetails) => {\r\n let exerciseData = { ...state.exerciseData };\r\n let allQuestionList = [...state.exerciseData.AllQuestionList];\r\n\r\n let exerciseQuestionIndex = allQuestionList.findIndex((element) => {\r\n return element.qid === exerciseQuestionDetails.qid;\r\n });\r\n\r\n console.log(exerciseQuestionIndex);\r\n\r\n if (exerciseQuestionIndex !== -1) {\r\n // allQuestionList[exerciseQuestionIndex].is_saved = !allQuestionList[\r\n // exerciseQuestionIndex\r\n // ].is_saved;\r\n\r\n allQuestionList.splice(exerciseQuestionIndex, 1);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n exerciseData: {\r\n ...prevState.exerciseData,\r\n AllQuestionList: allQuestionList,\r\n },\r\n }));\r\n } else {\r\n return;\r\n }\r\n\r\n // let data = {};\r\n // if (!exerciseQuestionDetails.is_saved) {\r\n // data = {\r\n // type: 1, // 1 for exercise\r\n // reference_id: exerciseQuestionDetails.qid,\r\n // status: 0, // 0=>unsave\r\n // };\r\n // } else {\r\n // data = {\r\n // type: 1, // 1 for exercise\r\n // reference_id: exerciseQuestionDetails.qid,\r\n // status: 1, //1=> save\r\n // };\r\n // }\r\n\r\n let data = {\r\n type: 1, // 1 for exercise\r\n reference_id: exerciseQuestionDetails.qid,\r\n status: 0, // 0=>unsave\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderQuestionText = (questionText) => {\r\n return { __html: questionText };\r\n };\r\n\r\n const renderExerciseCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.exerciseData) ? (\r\n state.exerciseData.AllQuestionList.length ? (\r\n state.exerciseData.AllQuestionList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {index + 1}.

    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreBookmarkDataInStorage(\"exercise\")\r\n }\r\n >
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {element.is_saved ? (\r\n \r\n handleBookmarkExerciseQuestion(element)\r\n }\r\n alt=\"bookmark-icon\"\r\n />\r\n ) : (\r\n \r\n handleBookmarkExerciseQuestion(element)\r\n }\r\n alt=\"bookmark-icon\"\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : null\r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \"exrcise\"\r\n
    \r\n

    You haven't Bookmarked yet!

    \r\n {/* Go to exercise page */}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const handleBookmarkTestQuestion = async (testQuestionDetails) => {\r\n // let testData = { ...state.testData };\r\n // let allQuestionList = [...state.testData.AllQuestionList];\r\n\r\n let allQuestionList = [...state.testData];\r\n\r\n let testQuestionIndex = allQuestionList.findIndex((element) => {\r\n return element.qid === testQuestionDetails.qid;\r\n });\r\n\r\n console.log(testQuestionIndex);\r\n\r\n if (testQuestionIndex !== -1) {\r\n // allQuestionList[testQuestionIndex].is_saved = !allQuestionList[\r\n // testQuestionIndex\r\n // ].is_saved;\r\n\r\n allQuestionList.splice(testQuestionIndex, 1);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n // testData: {\r\n // ...prevState.testData,\r\n // AllQuestionList: allQuestionList,\r\n // },\r\n testData: [...allQuestionList],\r\n }));\r\n } else {\r\n return;\r\n }\r\n\r\n // let data = {};\r\n // if (!testQuestionDetails.is_saved) {\r\n // data = {\r\n // type: 3, // 1 for test\r\n // reference_id: testQuestionDetails.qid,\r\n // status: 0, // 0=>unsave\r\n // };\r\n // } else {\r\n // data = {\r\n // type: 3, // 1 for test\r\n // reference_id: testQuestionDetails.qid,\r\n // status: 1, //1=> save\r\n // };\r\n // }\r\n\r\n let data = {\r\n paper_id: testQuestionDetails.paper_id,\r\n type: 3, // 1 for test\r\n reference_id: testQuestionDetails.qid,\r\n status: 0, // 0=>unsave\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_77, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderTestCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.testData) ? (\r\n state.testData.length ? (\r\n state.testData.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {index + 1}.

    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreBookmarkDataInStorage(\"test\")\r\n }\r\n >
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {element.is_saved ? (\r\n \r\n handleBookmarkTestQuestion(element)\r\n }\r\n />\r\n ) : (\r\n \r\n handleBookmarkTestQuestion(element)\r\n }\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : null\r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \"test\"\r\n
    \r\n

    You haven't Bookmarked yet!

    \r\n {/* */}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const handleBookmarkVideo = async (videoDetails) => {\r\n let videoList = [...state.videos];\r\n\r\n let videoIndex = videoList.findIndex((element) => {\r\n return element.video_id === videoDetails.video_id;\r\n });\r\n\r\n if (videoIndex !== -1) {\r\n // videoList[videoIndex].IsSaved = !videoList[videoIndex].IsSaved;\r\n\r\n videoList.splice(videoIndex, 1);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n // videosData: { ...prevState.videosData, data: videoList },\r\n videos: [...videoList],\r\n }));\r\n } else {\r\n return;\r\n }\r\n\r\n // let data = {};\r\n // if (!videoDetails.IsSaved) {\r\n // data = {\r\n // type: 4, // 4 for video\r\n // reference_id: videoDetails.video_id,\r\n // status: 0, // 0=>unsave\r\n // };\r\n // } else {\r\n // data = {\r\n // type: 4, // 4 for video\r\n // reference_id: videoDetails.video_id,\r\n // status: 1, //1=> save\r\n // };\r\n // }\r\n\r\n let data = {\r\n type: 4, // 4 for video\r\n reference_id: videoDetails.video_id,\r\n status: 0, // 0=>unsave\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_39, data);\r\n // console.log(response);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n let page_limit = 10;\r\n\r\n const fetchVideosData = async () => {\r\n let pageNo = Math.ceil(state.videos.length / page_limit) + 1;\r\n console.log(\"pageNopageNo\", pageNo);\r\n let data = {\r\n type: 4,\r\n page: pageNo,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_40, data);\r\n console.log(\"getVideosData\", response);\r\n if (\r\n response.data.status === 200 ||\r\n response.data.data.videoList.last_page\r\n ) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n // videosData: response.data.data,\r\n videos: [...state.videos, ...response.data.data.VideoList.data],\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const fetchData = () => {\r\n fetchVideosData();\r\n };\r\n\r\n const renderVideoCollectionView = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n {!isEmpty(state.videos) ? (\r\n state.videos.length ? (\r\n state.videos.map((element, index) => {\r\n return (\r\n \r\n \r\n handleStoreDataInStorage(\"videos\", element)\r\n }\r\n >\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreDataInStorage(\"videos\", element)\r\n }\r\n >\r\n

    \r\n {element.video_title}\r\n

    \r\n
    \r\n
    \r\n {element.IsSaved ? (\r\n \r\n handleBookmarkVideo(element)\r\n }\r\n alt=\"bookmark-icon\"\r\n />\r\n ) : (\r\n \r\n handleBookmarkVideo(element)\r\n }\r\n alt=\"bookmark-icon\"\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n

    \r\n by {element.name}\r\n

    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreDataInStorage(\r\n \"videos\",\r\n element\r\n )\r\n }\r\n >\r\n Watch Now\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \"Video\"\r\n
    \r\n

    You haven't Bookmarked yet!

    \r\n {/* */}\r\n
    \r\n
    \r\n )\r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \"exrcise\"\r\n
    \r\n

    You haven't Bookmarked yet!

    \r\n {/* */}\r\n
    \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderPYQCollectionView = () => {\r\n console.log(state.pyqData.AllQuestionList);\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.pyqData) ? (\r\n state.pyqData.AllQuestionList.length ? (\r\n state.pyqData.AllQuestionList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n

    {index + 1}.

    \r\n
    \r\n
    \r\n
    \r\n \r\n handleStoreBookmarkDataInStorage(\"pyq\")\r\n }\r\n >
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {element.is_saved ? (\r\n \r\n handleBookmarkPyqQuestion(element)\r\n }\r\n />\r\n ) : (\r\n \r\n handleBookmarkPyqQuestion(element)\r\n }\r\n />\r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \"PYQ\"\r\n
    \r\n

    You haven't Bookmarked yet!

    \r\n {/* */}\r\n
    \r\n
    \r\n )\r\n ) : (\r\n
    \r\n
    \r\n
    \r\n \"PYQ\"\r\n
    \r\n

    You haven't Bookmarked yet!

    \r\n {/* */}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const handleStoreDataInStorage = (type, data) => {\r\n if (data.is_paid === 0) {\r\n // 0 means free or paid and 1 means u have to purchase\r\n switch (type) {\r\n case \"videos\":\r\n data.redirectedFrom = \"activity\";\r\n setVideoData(data);\r\n history.push(\"/videos\");\r\n break;\r\n default:\r\n break;\r\n }\r\n } else {\r\n alert(\"You haven't purchased a plan. Please purchase it from store.\");\r\n history.push(\"/store\");\r\n }\r\n };\r\n\r\n const handleStoreBookmarkDataInStorage = (type) => {\r\n let { testQuestionDetails } = state;\r\n switch (type) {\r\n case \"dpp\":\r\n setBookmarkQuestionList(testQuestionDetails);\r\n history.push({\r\n pathname: \"/bookmark_questions\",\r\n state: { type: type },\r\n });\r\n break;\r\n case \"exercise\":\r\n setBookmarkQuestionList(testQuestionDetails);\r\n history.push({\r\n pathname: \"/bookmark_questions\",\r\n state: { type: type },\r\n });\r\n break;\r\n case \"pyq\":\r\n setBookmarkQuestionList(testQuestionDetails);\r\n history.push({\r\n pathname: \"/bookmark_questions\",\r\n state: { type: type },\r\n });\r\n break;\r\n case \"test\":\r\n setBookmarkQuestionList(testQuestionDetails);\r\n history.push({\r\n pathname: \"/bookmark_test_questions\",\r\n state: { type: type },\r\n });\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const handleChangeOptions = (event) => {\r\n let { value } = event.target;\r\n\r\n switch (value) {\r\n case \"dpp\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n optionType: 1,\r\n pageNumber: 1,\r\n }));\r\n setOptions(1);\r\n getDppData();\r\n break;\r\n case \"exercise\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n optionType: 2,\r\n pageNumber: 1,\r\n }));\r\n\r\n setOptions(2);\r\n getExerciseData();\r\n break;\r\n case \"test\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n optionType: 3,\r\n pageNumber: 1,\r\n }));\r\n setOptions(3);\r\n getTestData();\r\n break;\r\n case \"pyq\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n optionType: 6,\r\n pageNumber: 1,\r\n }));\r\n setOptions(6);\r\n getPyqData();\r\n break;\r\n case \"video\":\r\n setState((prevState) => ({\r\n ...prevState,\r\n optionType: 4,\r\n pageNumber: 1,\r\n }));\r\n setOptions(4);\r\n getVideosData();\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n handleChangeOptions(event)}\r\n checked={state.optionType === 1}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeOptions(event)}\r\n checked={state.optionType === 2}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeOptions(event)}\r\n checked={state.optionType === 3}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeOptions(event)}\r\n checked={state.optionType === 4}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeOptions(event)}\r\n checked={state.optionType === 6}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    {renderOptions()}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n options: state.userBookmarkData.options,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setOptions: (payload) => {\r\n dispatch(userBookmarkActions.setOptions(payload));\r\n },\r\n setVideoData: (payload) => {\r\n dispatch(userActivityActions.setVideoData(payload));\r\n },\r\n setBookmarkQuestionList: (payload) => {\r\n dispatch(userBookmarkActions.setBookmarkQuestionList(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(UserBookmarksContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./user_bookmarks.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserBookmarksContentComponent from \"./user_bookmarks_content_component/user_bookmarks_content_component\";\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst UserBookmarks = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserBookmarks);\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./bookmark_view_questions_view.scss\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport VideoJsPlayer from \"../../../../../../../custom_utilities/NewVideoPlayer1/VideoPlayer/VideoJsPlayer.component\";\r\n\r\nconst BookmarkViewQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userId,\r\n handleBookmarkQuestion,\r\n } = props;\r\n\r\n const scrollUp2 = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80 - 160}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const [videoShow, setVideoShow] = useState(false);\r\n const [isList, setisList] = useState(true);\r\n const [lang, setLang] = useState(true);\r\n const renderOptions = (currentSolutionDetails, lang) => {\r\n if (currentSolutionDetails) {\r\n let step,\r\n type = currentSolutionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(currentSolutionDetails, lang);\r\n case 2:\r\n return renderInputField(currentSolutionDetails, lang);\r\n case 3:\r\n return renderMultiSelect(currentSolutionDetails, lang);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(true);\r\n };\r\n\r\n const renderVideo = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion].solution_id === \" \" ||\r\n testQuestionsDetails[currentQuestion].solution_id === null\r\n ) {\r\n return \" \";\r\n } else {\r\n return (\r\n
    \r\n {\r\n handleVideoShow();\r\n }}\r\n >\r\n view video solution\r\n \r\n\r\n {videoShow ? (\r\n
    \r\n \r\n
    \r\n ) : // \r\n null}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n
    {`${index + 1}`}
    \r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    {`${index + 1}`}
    \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\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 {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"All Bookmark Questions\"}\r\n

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n\r\n
    \r\n {testQuestionsDetails.map((element, index) => {\r\n return (\r\n
    \r\n {index === currentQuestion && (\r\n <>\r\n {element.is_saved ? (\r\n \r\n handleBookmarkQuestion(\r\n element,\r\n props.type === \"pyq\"\r\n ? 6\r\n : props.type === \"dpp\"\r\n ? 2\r\n : 1\r\n )\r\n }\r\n />\r\n ) : (\r\n \r\n handleBookmarkQuestion(\r\n element,\r\n props.type === \"pyq\"\r\n ? 6\r\n : props.type === \"dpp\"\r\n ? 2\r\n : 1\r\n )\r\n }\r\n />\r\n )}\r\n \r\n )}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n \r\n
    \r\n

    \r\n Saved Bookmark's\r\n

    \r\n
    \r\n Question type: {handleQuestionType()}\r\n
    \r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n {renderOptions(testQuestionsDetails[currentQuestion])}\r\n
    \r\n\r\n
    \r\n

    Explanation:

    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n\r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n\r\n {testQuestionsDetails.length && renderVideo()}\r\n
    \r\n
    \r\n
    \r\n\r\n {/* new next button integration */}\r\n\r\n \r\n \r\n \"\"\r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn();\r\n setVideoShow(false);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {\r\n handleNextQuestionBtn();\r\n setVideoShow(false);\r\n scrollUp2();\r\n }}\r\n >\r\n {currentQuestion === testQuestionsDetails.length - 1\r\n ? \"Submit\"\r\n : \"Next\"}\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default BookmarkViewQuestionsView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport {\r\n url_40,\r\n url_39,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport BookmarkViewQuestionsView from \"./bookmark_view_questions_view/bookmark_view_questions_view\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst BookmarkViewContentComponent = (props) => {\r\n let { history, startLoading, finishLoading, userData } = props;\r\n\r\n const [state, setState] = useState({\r\n step: 1,\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n });\r\n\r\n const location = useLocation();\r\n let type = location.state.type;\r\n\r\n useEffect(() => {\r\n getQuestionsList();\r\n }, []);\r\n\r\n const getQuestionsList = async () => {\r\n startLoading();\r\n let data;\r\n if (type === \"dpp\") {\r\n data = {\r\n type: 2,\r\n };\r\n } else if (type === \"pyq\") {\r\n data = {\r\n type: 6,\r\n };\r\n } else if (type === \"exercise\") {\r\n data = {\r\n type: 1,\r\n };\r\n }\r\n try {\r\n const response = await axios.post(url_40, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails: response.data.data.AllQuestionList,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handlePreviousQuestionBtn = () => {\r\n getQuestionsList();\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = () => {\r\n getQuestionsList();\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n if (testQuestionsDetails.length === currentQuestion + 1) {\r\n history.push(\"/user_bookmarks\");\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n // handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n };\r\n\r\n // const handleQuestionJump = (questionNumber) => {\r\n // getQuestionsList();\r\n // setState((prevState) => ({\r\n // ...prevState,\r\n // currentQuestion: questionNumber,\r\n // }));\r\n // };\r\n\r\n const handleBookmarkQuestion = async (testQuestionDetails, type) => {\r\n const { testQuestionsDetails, currentQuestion } = state;\r\n const updatedTestQuestions = testQuestionsDetails.filter(\r\n (question) => question.qid !== testQuestionDetails.qid\r\n );\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails: updatedTestQuestions,\r\n }));\r\n\r\n let data = {\r\n paper_id: testQuestionDetails.paper_id,\r\n type: type, // 1 for test\r\n reference_id: testQuestionDetails.qid,\r\n status: 0, // 0 => unsave\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_39, data);\r\n // Handle the response if needed\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n if (currentQuestion < updatedTestQuestions.length) {\r\n // If there are remaining questions after removal, update the currentQuestion index\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion,\r\n }));\r\n } else if (\r\n currentQuestion === updatedTestQuestions.length &&\r\n currentQuestion > 0\r\n ) {\r\n // If the removed question was the last question, move to the previous question\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n }));\r\n } else {\r\n // If the removed question was the only question, redirect to the desired route\r\n history.push(\"/user_bookmarks\");\r\n }\r\n\r\n // Pass the updated testQuestionsDetails back to the parent component\r\n handleUpdateTestQuestionDetails(updatedTestQuestions);\r\n };\r\n\r\n const handleUpdateTestQuestionDetails = (updatedDetails) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails: updatedDetails,\r\n }));\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(BookmarkViewContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./bookmark_view_component.scss\";\r\n\r\n///////////////////Desktop\r\nimport HeaderComponent from \"../../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\nimport BookmarkViewContentComponent from \"./bookmark_view_content_component/bookmark_view_content_component\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n// Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst BookmarkViewComponent = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\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
    \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(BookmarkViewComponent);\r\n","import { Fragment, useState } from \"react\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\nconst BookmarkTestViewQuestions = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userId,\r\n handleBookmarkTestQuestion,\r\n } = props;\r\n\r\n const scrollUp2 = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80 - 160}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n const [lang, setLang] = useState(true);\r\n\r\n const renderOptions = (currentSolutionDetails, lang) => {\r\n if (currentSolutionDetails) {\r\n let step,\r\n type = currentSolutionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(currentSolutionDetails, lang);\r\n case 2:\r\n return renderInputField(currentSolutionDetails, lang);\r\n case 3:\r\n return renderMultiSelect(currentSolutionDetails, lang);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = (videoShow) => {\r\n setVideoShow(!videoShow);\r\n };\r\n\r\n const renderVideo = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion].video_id_english === \"\" ||\r\n testQuestionsDetails[currentQuestion].video_id_english === null\r\n ) {\r\n return \" \";\r\n } else {\r\n return (\r\n
    \r\n \r\n\r\n {!videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handleVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n let progressCount =\r\n (100 / testQuestionsDetails.length + 1) * currentQuestion + 1;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    All Bookmark Questions

    \r\n
    \r\n\r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Saved Bookmark's\r\n

    \r\n
    \r\n Question type: {handleQuestionType()}\r\n\r\n
    \r\n {/*
    \r\n Mark For Review\r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    */}\r\n\r\n \r\n {testQuestionsDetails.map((element, index) => {\r\n return (\r\n
    \r\n {index === currentQuestion && (\r\n \r\n handleBookmarkTestQuestion(element)\r\n }\r\n />\r\n )}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n {renderOptions(testQuestionsDetails[currentQuestion])}\r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn();\r\n handleVideoShow(false);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n {\r\n handleNextQuestionBtn();\r\n handleVideoShow(false);\r\n scrollUp2();\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    Explanation:

    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n {testQuestionsDetails.length && renderVideo()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default BookmarkTestViewQuestions;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { url_106,url_77 } from \"../../../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport BookmarkTestViewQuestions from \"./BookmarkTestViewQuestions\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\n\r\nconst BookmarkTestViewContentComponent = (props) => {\r\n let { history, startLoading, finishLoading, userData } = props;\r\n\r\n const [state, setState] = useState({\r\n step: 1,\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n });\r\n\r\n const location = useLocation();\r\n console.log(\"location\", location);\r\n let type = location.state.type;\r\n\r\n useEffect(() => {\r\n getTestQuestionsList();\r\n }, []);\r\n\r\n const getTestQuestionsList = async () => {\r\n startLoading();\r\n let data;\r\n if (type === \"test\") {\r\n data = {\r\n type: 3,\r\n };\r\n }\r\n try {\r\n const response = await axios.post(url_106, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails: response.data.data.ExamList,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handlePreviousQuestionBtn = () => {\r\n getTestQuestionsList();\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = () => {\r\n getTestQuestionsList();\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n if (testQuestionsDetails.length === currentQuestion + 1) {\r\n history.push(\"/user_bookmarks\");\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n getTestQuestionsList();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n\r\n const handleUpdateTestQuestionDetails = (updatedDetails) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails: updatedDetails,\r\n }));\r\n };\r\n\r\n const handleBookmarkTestQuestion = async (testQuestionDetails) => {\r\n const { testQuestionsDetails, currentQuestion } = state;\r\n const updatedTestQuestions = testQuestionsDetails.filter(\r\n (question) => question.qid !== testQuestionDetails.qid\r\n );\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails: updatedTestQuestions,\r\n }));\r\n\r\n let data = {\r\n paper_id: testQuestionDetails.paper_id,\r\n type: 3, // 1 for test\r\n reference_id: testQuestionDetails.qid,\r\n status: 0, // 0 => unsave\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_77, data);\r\n console.log(\"response testing\", response);\r\n // Handle the response if needed\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n\r\n if (currentQuestion < updatedTestQuestions.length) {\r\n // If there are remaining questions after removal, update the currentQuestion index\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion,\r\n }));\r\n } else if (\r\n currentQuestion === updatedTestQuestions.length &&\r\n currentQuestion > 0\r\n ) {\r\n // If the removed question was the last question, move to the previous question\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n }));\r\n } else {\r\n // If the removed question was the only question, redirect to the desired route\r\n history.push(\"/user_bookmarks\");\r\n }\r\n\r\n // Pass the updated testQuestionsDetails back to the parent component\r\n handleUpdateTestQuestionDetails(updatedTestQuestions);\r\n };\r\n\r\n\r\n\r\n\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(BookmarkTestViewContentComponent);\r\n","\r\nimport { Fragment } from \"react\";\r\nimport HeaderComponent from \"../../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport BookmarkTestViewContentComponent from \"./BookmarkTestViewContentComponent\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n// Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst BookmarkTestViewComponent = (props) => {\r\n let { loader, history, userData } = props;\r\n\r\n let location = useLocation();\r\n\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
    \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(BookmarkTestViewComponent);\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./user_create_custom_question_bank_content_component.scss\";\r\n\r\nimport images from \"../../../../utilities/images/images\";\r\nimport {\r\n url_44,\r\n url_9,\r\n url_10,\r\n url_45,\r\n} from \"../../../../custom_utilities/api_services\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\n\r\nconst UserCreateCustomQuestionBankContentComponent = (props) => {\r\n let { history, userPreference, startLoading, finishLoading } = props;\r\n\r\n const [state, setState] = useState({\r\n questionBankDetails: {\r\n questionBankTitle: \"\",\r\n questionBankType: 1,\r\n questionsCount: 5,\r\n difficultyLevel: 1,\r\n questionFromMcqBank: 5,\r\n selectedSubjectId: null,\r\n selectedTopics: [],\r\n selectAll: false,\r\n },\r\n difficultyLevelDetails: {},\r\n subjectList: {},\r\n topicList: {},\r\n });\r\n\r\n useEffect(() => {\r\n getSubjectlist();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.questionBankDetails.questionBankType === 1) {\r\n getDifficultyLevels();\r\n }\r\n }, [state.questionBankDetails.questionBankType]);\r\n\r\n const getSubjectlist = async () => {\r\n let requestPayload = {\r\n course_id: userPreference.courseDetails[0].course_id,\r\n class_id: userPreference.classDetails.class_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_9, requestPayload);\r\n // console.log(response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectList: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getDifficultyLevels = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_44);\r\n // console.log(response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n difficultyLevelDetails: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleChangeQuestionBankTitle = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n questionBankTitle: value,\r\n },\r\n }));\r\n };\r\n\r\n const handleChangeQuestionBankType = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n questionBankType: Number(value),\r\n questionBankTitle: \"\",\r\n questionsCount: 10,\r\n difficultyLevel: 1,\r\n questionFromMcqBank: 5,\r\n selectedSubjectId: null,\r\n selectedTopics: [],\r\n selectAll: false,\r\n },\r\n topicList: {},\r\n }));\r\n };\r\n\r\n const handleChangeQuestionBankQuestionsCount = (event) => {\r\n let { value } = event.target;\r\n // console.log(value);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n questionsCount: Number(value),\r\n },\r\n }));\r\n };\r\n\r\n const handleChangeDifficultyLevel = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n difficultyLevel: Number(value),\r\n },\r\n }));\r\n };\r\n\r\n const handleChangeQuestionFromMcqBank = (event) => {\r\n let { value } = event.target;\r\n\r\n switch (Number(value)) {\r\n case 1:\r\n case 4:\r\n case 5:\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n questionFromMcqBank: Number(value),\r\n questionBankType: 1,\r\n },\r\n }));\r\n break;\r\n case 2:\r\n case 3:\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n questionFromMcqBank: Number(value),\r\n questionBankType: 2,\r\n difficultyLevel: 1,\r\n },\r\n }));\r\n break;\r\n default:\r\n break;\r\n }\r\n };\r\n\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n selectedSubjectId: Number(value),\r\n selectedTopics: [],\r\n selectAll: false,\r\n },\r\n }));\r\n getTopicsList(Number(value));\r\n };\r\n\r\n const getTopicsList = async (subjectId) => {\r\n let requestPayload = {\r\n course_id: userPreference.courseDetails[0].course_id,\r\n subject_id: subjectId,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_10, requestPayload);\r\n // console.log(response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicList: response.data.data,\r\n }));\r\n } else {\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleChangeTopic = (event) => {\r\n let { value } = event.target;\r\n let selectedTopics = [...state.questionBankDetails.selectedTopics];\r\n\r\n let findedIndex = selectedTopics.findIndex((element) => {\r\n return element === Number(value);\r\n });\r\n\r\n if (findedIndex === -1) {\r\n selectedTopics.splice(selectedTopics.length + 1, 0, Number(value));\r\n } else {\r\n selectedTopics.splice(findedIndex, 1);\r\n }\r\n\r\n // console.log(selectedTopics);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n selectedTopics: selectedTopics,\r\n },\r\n }));\r\n };\r\n\r\n const handleCreateQuestionBankModule = async () => {\r\n let questionBankDetails = { ...state.questionBankDetails };\r\n\r\n // console.log(questionBankDetails);\r\n if (questionBankDetails.questionBankTitle) {\r\n if (\r\n questionBankDetails.selectedSubjectId &&\r\n questionBankDetails.selectedTopics.length\r\n ) {\r\n if (questionBankDetails.questionsCount > 0) {\r\n let requestPayload = {\r\n title: questionBankDetails.questionBankTitle.trim(),\r\n qb_type: questionBankDetails.questionBankType, // 1->Test 2->Exercise 3->Dpp\r\n no_of_question: questionBankDetails.questionsCount,\r\n question_type: questionBankDetails.questionFromMcqBank, //1->Bookmark 2->Incorrect 3->Correct 4->UnAttempt 5->All\r\n subject_id: questionBankDetails.selectedSubjectId,\r\n topic_id: questionBankDetails.selectedTopics,\r\n };\r\n\r\n if (questionBankDetails.questionBankType === 1) {\r\n requestPayload.toughness_id = questionBankDetails.difficultyLevel;\r\n } else {\r\n delete requestPayload.toughness_id;\r\n }\r\n startLoading();\r\n let returnedResponse = await createCustomQuestionBankModule(\r\n requestPayload\r\n );\r\n if (returnedResponse.result === 1) {\r\n finishLoading();\r\n history.push(\"/user_exercise_test\");\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n } else {\r\n alert(\"Question count should be greater than 0.\");\r\n }\r\n } else {\r\n alert(\"Please select subject and topics properly\");\r\n }\r\n } else {\r\n alert(\"Please fill the 'Question Bank Title' its mandatory.\");\r\n }\r\n };\r\n\r\n const createCustomQuestionBankModule = async (requestPayload) => {\r\n try {\r\n const response = await axios.post(url_45, requestPayload);\r\n // console.log(response);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: { message: \"Something Went wrong\" },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirect = () => {\r\n history.push(\"/user_exercise_test\");\r\n };\r\n\r\n const handleSelectAllTopics = (event) => {\r\n let { checked } = event.target;\r\n let topicList = { ...state.topicList };\r\n let topics = [];\r\n\r\n if (checked) {\r\n topicList.topic.forEach((element) => {\r\n topics.push(element.topic_id);\r\n });\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n selectedTopics: topics,\r\n selectAll: checked,\r\n },\r\n }));\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankDetails: {\r\n ...prevState.questionBankDetails,\r\n selectedTopics: [],\r\n selectAll: checked,\r\n },\r\n }));\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Create Own Question Bank

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Question Bank Title

    \r\n
    \r\n
    \r\n handleChangeQuestionBankTitle(event)}\r\n />\r\n
    \r\n
    \r\n {/*
    \r\n
    \r\n

    Choose Questions From

    \r\n
    \r\n
    \r\n
    \r\n handleChangeQuestionBankType(event)}\r\n checked={state.questionBankDetails.questionBankType === 3}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeQuestionBankType(event)}\r\n checked={state.questionBankDetails.questionBankType === 2}\r\n />\r\n \r\n
    \r\n
    \r\n handleChangeQuestionBankType(event)}\r\n checked={state.questionBankDetails.questionBankType === 1}\r\n />\r\n \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n

    No. Of Questions You Want

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n handleChangeQuestionBankQuestionsCount(event)\r\n }\r\n />\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/*
    \r\n \r\n handleChangeQuestionBankQuestionsCount(event)\r\n }\r\n checked={state.questionBankDetails.questionsCount === 10}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n handleChangeQuestionBankQuestionsCount(event)\r\n }\r\n checked={state.questionBankDetails.questionsCount === 25}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n handleChangeQuestionBankQuestionsCount(event)\r\n }\r\n checked={state.questionBankDetails.questionsCount === 50}\r\n />\r\n \r\n
    \r\n
    \r\n \r\n handleChangeQuestionBankQuestionsCount(event)\r\n }\r\n checked={state.questionBankDetails.questionsCount === 100}\r\n />\r\n \r\n
    */}\r\n
    \r\n
    \r\n {state.questionBankDetails.questionBankType === 1 ? (\r\n
    \r\n
    \r\n

    Difficulty Level

    \r\n
    \r\n
    \r\n {!isEmpty(state.difficultyLevelDetails)\r\n ? state.difficultyLevelDetails.DifficultyLevel.length\r\n ? state.difficultyLevelDetails.DifficultyLevel.map(\r\n (element, index) => {\r\n return (\r\n \r\n \r\n handleChangeDifficultyLevel(event)\r\n }\r\n checked={\r\n state.questionBankDetails\r\n .difficultyLevel ===\r\n element.toughness_id\r\n }\r\n />\r\n \r\n {element.toughness}\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n

    Questions From MCQ Banks

    \r\n
    \r\n
    \r\n
    \r\n \r\n handleChangeQuestionFromMcqBank(event)\r\n }\r\n checked={\r\n state.questionBankDetails.questionFromMcqBank === 5\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n handleChangeQuestionFromMcqBank(event)\r\n }\r\n checked={\r\n state.questionBankDetails.questionFromMcqBank === 1\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n handleChangeQuestionFromMcqBank(event)\r\n }\r\n checked={\r\n state.questionBankDetails.questionFromMcqBank === 2\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n handleChangeQuestionFromMcqBank(event)\r\n }\r\n checked={\r\n state.questionBankDetails.questionFromMcqBank === 3\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n \r\n handleChangeQuestionFromMcqBank(event)\r\n }\r\n checked={\r\n state.questionBankDetails.questionFromMcqBank === 4\r\n }\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Select Subject

    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.subject.length\r\n ? state.subjectList.subject.map((element, index) => {\r\n return (\r\n
    \r\n handleChangeSubject(event)}\r\n checked={\r\n state.questionBankDetails\r\n .selectedSubjectId === element.sub_id\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n {!isEmpty(state.topicList) ? (\r\n
    \r\n
    \r\n

    Select Topics

    \r\n
    \r\n
    \r\n
    \r\n handleSelectAllTopics(event)}\r\n checked={state.questionBankDetails.selectAll}\r\n />\r\n \r\n
    \r\n
    \r\n
    \r\n {state.topicList.topic.length\r\n ? state.topicList.topic.map((element, index) => {\r\n return (\r\n
    \r\n handleChangeTopic(event)}\r\n checked={state.questionBankDetails.selectedTopics.find(\r\n (e) => {\r\n return e === element.topic_id;\r\n }\r\n )}\r\n />\r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n null,\r\n mapDispatchToProps\r\n)(UserCreateCustomQuestionBankContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./user_create_custom_question_bank.scss\";\r\n\r\n///////////////////Desktop\r\nimport LeftSideBarComponent from \"../structure_components/desktop_screens/left_sideBar_component/left_sideBar_component\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\n\r\n///////Mobile////////////////////\r\nimport MobileLeftSideBarComponent from \"../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nimport UserCreateCustomQuestionBankContentComponent from \"./user_create_custom_question_bank_content_component/user_create_custom_question_bank_content_component\";\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst UserCreateCustomQuestionBank = (props) => {\r\n let { loader, history, userData, userPreference } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(UserCreateCustomQuestionBank);\r\n","import { Bar } from \"react-chartjs-2\";\r\n// import { CategoryScale } from \"chart.js\";\r\n// import Chart from \"chart.js/auto\";\r\n// Chart.register(CategoryScale);\r\n\r\nfunction SubjectWiseMarks(props) {\r\n let { dataPoints } = props;\r\n\r\n const labels = [\"\"];\r\n\r\n // this is for adding margin to the label( header)\r\n const legendMargin = [\r\n {\r\n id: \"legendMargin\",\r\n beforeInit(chart) {\r\n const fitValue = chart.legend.fit;\r\n chart.legend.fit = function fit() {\r\n fitValue.bind(chart.legend)();\r\n return (this.height += 20);\r\n };\r\n },\r\n },\r\n ];\r\n\r\n const data = {\r\n labels,\r\n datasets: [\r\n {\r\n label: dataPoints[0]?.symbol,\r\n backgroundColor: \" #668DE1\",\r\n data: [Number(dataPoints[0]?.Total)],\r\n barThickness: 70,\r\n },\r\n {\r\n label: dataPoints[1]?.symbol,\r\n backgroundColor: \"#31D680\",\r\n data: [Number(dataPoints[1]?.Total)],\r\n data: [40],\r\n\r\n barThickness: 70,\r\n },\r\n {\r\n label: dataPoints[2]?.symbol,\r\n backgroundColor: \"#FF933A\",\r\n data: [Number(dataPoints[2]?.Total)],\r\n data: [30],\r\n\r\n barThickness: 70,\r\n },\r\n ],\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n );\r\n}\r\n\r\nexport default SubjectWiseMarks;\r\n","import { Fragment } from \"react\";\r\nimport \"./RankDoughnutChart.scss\";\r\n\r\n///////Canvas Chart//////////////////\r\nimport { CanvasJSChart } from \"canvasjs-react-charts\";\r\n\r\nconst RankDoughnutChart = (props) => {\r\n let { dataPoints } = props;\r\n const options = {\r\n animationEnabled: true,\r\n backgroundColor: \"transparent\",\r\n height: 200,\r\n\r\n data: [\r\n {\r\n type: \"doughnut\",\r\n\r\n showInLegend: false,\r\n //indexLabel: \"{name}: {y}\",\r\n yValueFormatString: \"#,###'%'\",\r\n dataPoints: [\r\n {\r\n name: \"Topper Marks\",\r\n\r\n y: dataPoints?.Topper_Marks,\r\n // y:22,\r\n color: \"#668DE1\",\r\n },\r\n {\r\n name: \"Your Marks\",\r\n y: dataPoints?.User_Marks,\r\n // y: 12,\r\n color: \"#FF933A\",\r\n },\r\n ],\r\n },\r\n ],\r\n text: \"23%\",\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n My Rank \r\n
    21
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Your Marks\r\n
    \r\n
    \r\n \r\n Topper Marks\r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default RankDoughnutChart;\r\n","import React, { useEffect, useState, useLocation } from \"react\";\r\nimport \"./SubjectWiseMarks.scss\";\r\nimport axios from \"axios\";\r\nimport SubjectWiseMarkChart from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/SubjectWiseMarks\";\r\nimport RankDoughnutChart from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/RankDoughnutChart\";\r\n\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nimport { url_70 } from \"../../../../../../../../custom_utilities/api_services\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst SubjectWiseMarks = (props) => {\r\n const { location, startLoading, finishLoading } = props;\r\n\r\n const [state, setState] = useState({\r\n subjectWiseMarks: {},\r\n });\r\n\r\n useEffect(() => {\r\n getSbjctWiseMarks();\r\n }, []);\r\n\r\n const formatTime = (time) => {\r\n time = time.replace(\"minutes\", \"min\");\r\n time = time.replace(\"seconds\", \"sec\");\r\n return time;\r\n };\r\n\r\n const getSbjctWiseMarks = async () => {\r\n let data = {\r\n paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_70, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectWiseMarks: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n return (\r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectWiseMarks) ? (\r\n state.subjectWiseMarks.UserSubjectMarksAnalysis.length ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n
      \r\n {state.subjectWiseMarks.Summary &&\r\n state.subjectWiseMarks.Summary.map((element, index) => {\r\n return (\r\n
    • \r\n {element.label}\r\n \r\n {element.label === \"Time Spent\"\r\n ? formatTime(element.value)\r\n : element.label === \"Average Score\"\r\n ? element.value.toFixed(2)\r\n : element.value}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectWiseMarks) ? (\r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(SubjectWiseMarks);\r\n","import React, { useState, useEffect, Fragment } from \"react\";\r\nimport \"./TopicWiseMarks.scss\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport uiActions from \"../../../../.././../../../redux/ui/action\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport {\r\n url_70,\r\n url_71,\r\n url_72,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\n\r\nconst TopicWiseMarks = (props) => {\r\n const { location, loader, startLoading, finishLoading } = props;\r\n const [state, setState] = useState({\r\n subjectList: {},\r\n topicAnalysis: {},\r\n currentSubject: null,\r\n });\r\n\r\n useEffect(() => {\r\n getTopicResult();\r\n }, [state.currentSubject]);\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n\r\n const getSubjectList = async () => {\r\n let data = {\r\n paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_71, data);\r\n if (response.data.status === 200) {\r\n setState((preState) => ({\r\n ...preState,\r\n subjectList: response.data.data,\r\n }));\r\n response.data.data.All_Subject[0] &&\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSubject: response.data.data.All_Subject[0]?.subject,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getTopicResult = async () => {\r\n let data = {\r\n paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n subject: state.currentSubject,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_72, data);\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicAnalysis: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSubject: value,\r\n }));\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.All_Subject.length\r\n ? state.subjectList.All_Subject.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n handleChangeSubject(event);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n {loader && }\r\n
    \r\n
    \r\n\r\n
    \r\n {!isEmpty(state.topicAnalysis)\r\n ? state.topicAnalysis.TopicAnalysis.length\r\n ? state.topicAnalysis.TopicAnalysis.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n

    {element.Topic}

    \r\n

    \r\n {`${element[\"Total Questions\"] + \" Questions \"}`},{\" \"}\r\n {`${element[\"Total Marks\"] + \" Marks \"}`}\r\n

    \r\n
    \r\n
    \r\n \r\n 0\r\n ? (100 / element[\"Total Marks\"]) *\r\n element[\"User Marks\"]\r\n : 0\r\n }\r\n className=\"progressBar\"\r\n />\r\n \r\n 0\r\n ? (100 / element[\"Total Marks\"]) *\r\n element[\"User Marks\"]\r\n : 0\r\n }%`,\r\n }}\r\n >{`${element[\"User Marks\"]}`}\r\n
    \r\n
    \r\n 1\r\n {element[\"Total Marks\"]}\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(TopicWiseMarks);\r\n\r\n\r\n","import { React, useState, useEffect } from \"react\";\r\nimport \"./SubjectTopicWiseMarks.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport {\r\n url_70,\r\n url_71,\r\n url_72,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport SubjectWiseMarkChart from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/SubjectWiseMarks\";\r\nimport HeaderComponent from \"../../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport axios from \"axios\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport moment from \"moment\";\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\n\r\nimport RankDoughnutChart from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/RankDoughnutChart\";\r\nimport SubjectWiseMarks from \"./SubjectWiseMarks\";\r\nimport TopicWiseMarks from \"./TopicWiseMarks\";\r\n\r\nconst SubjectTopicWiseMarks = (props) => {\r\n let { startLoading, finishLoading, loader, userData, userPreference } = props;\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/test_result\");\r\n };\r\n const location = useLocation();\r\n const [currentSubject, setCurrentSubject] = useState(null);\r\n const [tabType, setTabType] = useState(1);\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n {isMob() ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n

    Subject Wise & Topic Wise Marks

    \r\n
    \r\n\r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n Subject wise\r\n \r\n
    • \r\n
    • \r\n \r\n Topic Wise\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(SubjectTopicWiseMarks);\r\n","import { React, useState } from \"react\";\r\nimport \"./AccuracyAttempt.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport { url_73 } from \"../../../../../../../../custom_utilities/api_services\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \".././../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../../../logged_user_components/structure_components/desktop_screens/header_component/header_component\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../.././../../../redux/ui/action\";\r\n\r\nconst AccuracyAttempt = (props) => {\r\n let { startLoading, finishLoading, loader, userData, userPreference } = props;\r\n\r\n const [currentSubject, setCurrentSubject] = useState(null);\r\n\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/test_result\");\r\n };\r\n const location = useLocation();\r\n const [state, setState] = useState({\r\n AccuracyAttempt: {},\r\n });\r\n\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n setCurrentSubject(value);\r\n };\r\n\r\n useEffect(() => {\r\n getAccuracyAttempt();\r\n }, []);\r\n\r\n // let firstSbj = state.subjectList?.All_Subject?.[0].subject;\r\n //getAccuracyAttempt\r\n\r\n const getAccuracyAttempt = async () => {\r\n let data = {\r\n paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_73, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n AccuracyAttempt: response.data.data,\r\n }));\r\n\r\n response.data.data.SubjectAnalysis[0] &&\r\n setCurrentSubject(response.data.data.SubjectAnalysis[0]?.Subject);\r\n\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n <>\r\n
    \r\n {isMob() ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n

    Accuracy and Attempt

    \r\n\r\n
    \r\n
    \r\n {!isEmpty(state.AccuracyAttempt)\r\n ? state.AccuracyAttempt.SubjectAnalysis.length\r\n ? state.AccuracyAttempt.SubjectAnalysis.map(\r\n (element, index) => {\r\n return (\r\n \r\n {\r\n handleChangeSubject(event);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n Accurate\r\n
    \r\n
    \r\n attempted Tests\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    {currentSubject}
    \r\n\r\n {state.AccuracyAttempt?.SubjectAnalysis?.map((element) => {\r\n if (element.Subject === currentSubject) {\r\n return (\r\n
    \r\n
    \r\n \r\n {`${element.Accuracy}%`}/100%\r\n
    \r\n
    \r\n \r\n {`${element.Attempt}%`}/100%\r\n
    \r\n
    \r\n );\r\n }\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AccuracyAttempt);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport {\r\n CircularProgressbar,\r\n CircularProgressbarWithChildren,\r\n buildStyles,\r\n} from \"react-circular-progressbar\";\r\nimport \"./Difficult_Level_Circular_Progress.scss\";\r\n\r\nconst Difficult_Level_Circular_Progress = ({ data }) => {\r\n const [currentToughness, setCurrentToughnhess] = useState(data[0].Toughness);\r\n const handleChangeSubject = (event) => {\r\n setCurrentToughnhess(event.target.value);\r\n };\r\n\r\n\r\n return (\r\n
    \r\n
    \r\n {data?.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n setCurrentToughnhess(event.target.value);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n\r\n {data\r\n ?.filter((element) => {\r\n if (element.Toughness == currentToughness) {\r\n return element;\r\n }\r\n })\r\n .map((element) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n Wrong\r\n
    \r\n\r\n
    \r\n \r\n Unattempted\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n Correct\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })}\r\n\r\n {/* {loader && } */}\r\n
    \r\n );\r\n};\r\n\r\nexport default Difficult_Level_Circular_Progress;\r\n","import { React, useState } from \"react\";\r\nimport \"./Difficulty_Level.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport {\r\n url_70,\r\n url_71,\r\n url_74,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \".././../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../../../logged_user_components/structure_components/desktop_screens/header_component/header_component\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../.././../../../redux/ui/action\";\r\nimport Difficult_Level_Circular_Progress from \"./Difficult_Level_Circular_Progress\";\r\n\r\nconst DifficultyLevel = (props) => {\r\n let { startLoading, finishLoading, loader, userData, userPreference } = props;\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/test_result\");\r\n };\r\n const location = useLocation();\r\n const [currentSubject, setCurrentSubject] = useState(null);\r\n const [state, setState] = useState({\r\n difficultyLevel: {},\r\n subjectList: {},\r\n });\r\n\r\n useEffect(() => {\r\n getDifficultyResult();\r\n }, [currentSubject]);\r\n\r\n useEffect(() => {\r\n getSubjectList();\r\n // getDifficultyResult();\r\n }, []);\r\n // let firstSbj = state.subjectList?.All_Subject?.[0].subject;\r\n //getSubjectList\r\n const getSubjectList = async () => {\r\n let data = {\r\n paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_71, data);\r\n if (response.data.status === 200) {\r\n setState((preState) => ({\r\n ...preState,\r\n subjectList: response.data.data,\r\n }));\r\n response.data.data.All_Subject[0] &&\r\n setCurrentSubject(response.data.data.All_Subject[0]?.subject);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n //getDifficultyLevel\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n getDifficultyResult();\r\n\r\n setCurrentSubject(value);\r\n };\r\n //topicWiseData\r\n const getDifficultyResult = async () => {\r\n let data = {\r\n paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n subject: currentSubject,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_74, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n difficultyLevel: response.data.data,\r\n }));\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n difficultyLevel: \"\",\r\n }));\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n //let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n <>\r\n
    \r\n {isMob() ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n

    Difficulty Levels

    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.All_Subject.length\r\n ? state.subjectList.All_Subject.map(\r\n (element, index) => {\r\n return (\r\n \r\n {\r\n handleChangeSubject(event);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n {loader && }\r\n
    \r\n
    \r\n {!isEmpty(state.difficultyLevel) ? (\r\n state.difficultyLevel.Analysis.length ? (\r\n \r\n ) : null\r\n ) : null}\r\n
    \r\n
    \r\n
      \r\n
    • \r\n Levels\r\n Correct\r\n Wrong\r\n Unattempted\r\n
    • \r\n {!isEmpty(state.difficultyLevel)\r\n ? state.difficultyLevel.Analysis.length\r\n ? state.difficultyLevel.Analysis.map(\r\n (element, index) => {\r\n return (\r\n
    • \r\n {element.Toughness}\r\n {element.Correct}\r\n {element.WRONG}\r\n {element.Unattempted}\r\n
    • \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(DifficultyLevel);\r\n","import { Fragment } from \"react\";\r\n\r\n///////Canvas Chart//////////////////\r\nimport { CanvasJSChart } from \"canvasjs-react-charts\";\r\n\r\nconst BehaviourDoughnutChart = (props) => {\r\n let { dataPoints } = props;\r\n const options = {\r\n animationEnabled: true,\r\n backgroundColor: \"transparent\",\r\n height: 200,\r\n data: [\r\n {\r\n type: \"doughnut\",\r\n showInLegend: false,\r\n //indexLabel: \"{name}: {y}\",\r\n yValueFormatString: \"#,###'%'\",\r\n dataPoints: [\r\n {\r\n name: \"Correct\",\r\n y: dataPoints?.[`Correct Total Time`],\r\n color: \"#31D680\",\r\n },\r\n {\r\n name: \"Wrong\",\r\n y: dataPoints?.[`Incorrect Total Time`],\r\n color: \"#F93030\",\r\n },\r\n {\r\n name: \"Unattempted\",\r\n y: dataPoints?.[`Unattempted Total Time`],\r\n color: \"#668DE1\",\r\n },\r\n ],\r\n },\r\n ],\r\n };\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default BehaviourDoughnutChart;\r\n","import { React, useState } from \"react\";\r\nimport \"./Behaviour.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\nimport {\r\n url_71,\r\n url_75,\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \".././../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../../../logged_user_components/structure_components/desktop_screens/header_component/header_component\";\r\nimport DoughnutChart1 from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/BehaviourDoughnutChart\";\r\nimport ScatterChart from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/ScatterChart\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory } from \"react-router-dom\";\r\n//mobileDevice\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport MobileHeaderComponent from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileRightSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../.././../../../redux/ui/action\";\r\n\r\nconst Behaviour = (props) => {\r\n let { startLoading, finishLoading, loader,userData, userPreference } = props;\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/test_result\");\r\n };\r\n const location = useLocation();\r\n const [currentSubject, setCurrentSubject] = useState(null);\r\n const [state, setState] = useState({\r\n behaviourTime: {},\r\n scatterChartPoint: null,\r\n subjectList: {},\r\n });\r\n useEffect(() => {\r\n getDifficultyResult();\r\n }, [currentSubject]);\r\n useEffect(() => {\r\n getSubjectList();\r\n }, []);\r\n // let firstSbj = state.subjectList?.All_Subject?.[0].subject;\r\n //getSubjectList\r\n const getSubjectList = async () => {\r\n let data = {\r\n paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_71, data);\r\n if (response.data.status === 200) {\r\n setState((preState) => ({\r\n ...preState,\r\n subjectList: response.data.data,\r\n }));\r\n response.data.data.All_Subject[0] &&\r\n setCurrentSubject(response.data.data.All_Subject[0]?.subject);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n //getBehaviour\r\n const handleChangeSubject = (event) => {\r\n let { value } = event.target;\r\n setCurrentSubject(value);\r\n };\r\n //topicWiseData\r\n const getDifficultyResult = async () => {\r\n let data = {\r\n paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n subject: currentSubject,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_75, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n behaviourTime: response.data.data,\r\n }));\r\n convertDataPoints(response.data.data[`Time Per Question`]);\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n behaviourTime: \"\",\r\n }));\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n //let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n const convertDataPoints = (array) => {\r\n let correctPoint = [];\r\n let wrongPoint = [];\r\n for (let i = 0; i < array.length; i++) {\r\n if (array[i].Type == \"RIGHT\") {\r\n correctPoint.push({ x: i + 1, y: parseInt(array[i].Time) });\r\n } else {\r\n wrongPoint.push({ x: i + 1, y: parseInt(array[i].Time) });\r\n }\r\n }\r\n setState((preState) => ({\r\n ...preState,\r\n scatterChartPoint: { correctPoint, wrongPoint },\r\n }));\r\n };\r\nconst isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n return (\r\n <>\r\n
    \r\n {isMob() ? (<>\r\n \r\n \r\n ) :\r\n ()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n

    Behaviour

    \r\n
    \r\n
    \r\n {!isEmpty(state.subjectList)\r\n ? state.subjectList.All_Subject.length\r\n ? state.subjectList.All_Subject.map(\r\n (element, index) => {\r\n return (\r\n \r\n {\r\n handleChangeSubject(event);\r\n }}\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n
    \r\n {loader && }\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Average time spent Subject

    \r\n
    \r\n 100%\r\n
    \r\n
    \r\n \r\n {`attempted ${\r\n state.behaviourTime?.[`Total Time`]\r\n ? state.behaviourTime?.[`Total Time`]\r\n : 0\r\n }%`}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n

    Time Spent on C, W, U

    \r\n
    \r\n Correct\r\n
    \r\n
    \r\n \r\n Wrong\r\n
    \r\n
    \r\n \r\n unattempted\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(Behaviour);\r\n","import { Fragment, useState } from \"react\";\r\nimport \"./Question_paper_solution.scss\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\n// import { MathJaxContext, MathJax } from \"better-react-mathjax\";\r\nimport useMathjax from \"../../../../../../hooks/useMathjax\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../.././../../../../utilities/images/images\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\n\r\nconst Question_paper_solution = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentSolutionDetails,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userData,\r\n testResultData,\r\n } = props;\r\n\r\n let { userId } = userData;\r\n const [lang, setLang] = useState(true);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n const [isList, setisList] = useState(true);\r\n\r\n useMathjax(currentSolutionDetails, lang, isList);\r\n\r\n const renderOptions = (currentSolutionDetails) => {\r\n if (currentSolutionDetails) {\r\n let step,\r\n type = currentSolutionDetails?.answer_type.toLowerCase();\r\n\r\n if (type === \"single correct\") {\r\n step = 1;\r\n } else if (type === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(currentSolutionDetails);\r\n case 2:\r\n return renderInputField(currentSolutionDetails);\r\n case 3:\r\n return renderMultiSelect(currentSolutionDetails);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const config = {\r\n //loader: { load: [\"[tex]/html\"] },\r\n loader: {\r\n load: [\r\n \"input/asciimath\",\r\n \"output/chtml\",\r\n \"ui/menu\",\r\n \"[mml]/mml3\",\r\n \"[tex]/html\",\r\n ],\r\n },\r\n };\r\n\r\n const renderCorrectWrongIcon = (s, u) => {\r\n let flag = 0;\r\n\r\n if (s && u) {\r\n flag = 1;\r\n } else if (!s && u) {\r\n flag = 2;\r\n }\r\n\r\n // if (flag === 1) {\r\n // return (\r\n //
    \r\n // {\" \"}\r\n // \r\n //
    \r\n // );\r\n // } else if (flag === 2) {\r\n // return (\r\n //
    \r\n // {\" \"}\r\n // \r\n //
    \r\n // );\r\n // }\r\n else {\r\n return \"\";\r\n }\r\n };\r\n\r\n const classEditorForInput = (currentQuestionDetails) => {\r\n const { check_answer } = currentQuestionDetails;\r\n\r\n if (check_answer == 1) {\r\n return \"input_inner_wrapper classCorrect\";\r\n } else if (check_answer == 0) {\r\n return \"input_inner_wrapper classWrong\";\r\n } else {\r\n return \"input_inner_wrapper classUnattempted\";\r\n }\r\n };\r\n\r\n const renderCorrectWrongInputIcon = (currentQuestionDetails) => {\r\n const { check_answer } = currentQuestionDetails;\r\n\r\n if (check_answer == 1) {\r\n return ;\r\n } else if (check_answer == 0) {\r\n return ;\r\n } else {\r\n return \"\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData) => {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n\r\n {renderCorrectWrongIcon(\r\n element.is_correct,\r\n element.is_user_correct_ans\r\n )}\r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData) => {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n\r\n {renderCorrectWrongIcon(\r\n element.is_correct,\r\n element.is_user_correct_ans\r\n )}\r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = () => {\r\n return (\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {renderCorrectWrongInputIcon(\r\n testQuestionsDetails[currentQuestion]\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = (currentSolutionDetails) => {\r\n return {\r\n __html: currentSolutionDetails?.q_text.replace(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n };\r\n };\r\n\r\n const renderParagraphQuestionText = (currentSolutionDetails) => {\r\n return {\r\n __html: currentSolutionDetails?.p_text,\r\n };\r\n };\r\n\r\n const renderColumMatchQuestion = (currentSolutionDetails) => {\r\n return {\r\n __html: currentSolutionDetails?.m_p_text,\r\n };\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const renderVideo = (currentQuestionDetails) => {\r\n const videoId = currentQuestionDetails?.video_id_english;\r\n\r\n const selectedVideoId = videoId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const isIframe = urlPattern.test(selectedVideoId);\r\n\r\n const buttonLabel = videoShow\r\n ? \"Close Video Solution\"\r\n : \"View Video Solution\";\r\n\r\n if (selectedVideoId && selectedVideoId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n\r\n {videoShow && isIframe ? (\r\n \r\n ) : null}\r\n {videoShow && !isIframe ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderSolution = (currentSolutionDetails) => {\r\n const { sol_text } = currentSolutionDetails;\r\n return {\r\n __html: sol_text?.replaceAll(\r\n \"/ckfinder\" || \"ckfinder\",\r\n \"http://quizmaster.motion.ac.in/ckfinder\"\r\n ),\r\n };\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n const { q_text } = question;\r\n const isTable = q_text.includes(\" 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else {\r\n let labelClass = \"\";\r\n\r\n if (question.check_answer == 1) {\r\n labelClass = \"correct_answered_lbl\";\r\n } else if (question.check_answer == 0) {\r\n labelClass = \"incorrect_answered_lbl\";\r\n } else {\r\n labelClass = \"\";\r\n }\r\n\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n const { q_text } = question;\r\n const isTable = q_text.includes(\" 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else {\r\n let labelClass = \"\";\r\n\r\n if (question.check_answer == 1) {\r\n labelClass = \"correct_answered_lbl\";\r\n } else if (question.check_answer == 0) {\r\n labelClass = \"incorrect_answered_lbl\";\r\n } else {\r\n labelClass = \"\";\r\n }\r\n\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \r\n \r\n );\r\n }\r\n };\r\n\r\n let progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel1(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Question\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n Topic:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion]?.topic_name}\r\n \r\n
    \r\n\r\n
    \r\n Sub Topic:{\" \"}\r\n \r\n {\r\n testQuestionsDetails[currentQuestion]\r\n ?.sub_topic_name\r\n }\r\n \r\n
    \r\n\r\n
    \r\n Question type:{\" \"}\r\n \r\n {testQuestionsDetails[currentQuestion]?.answer_type}\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {/*

    {testResultData?.paper_name}

    */}\r\n
    \r\n {/*
    \r\n \r\n Question type: {currentSolutionDetails?.type}\r\n \r\n
    */}\r\n\r\n \r\n \r\n {`Question ${Number(currentQuestion) + 1}.`}\r\n
    \r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails !== undefined &&\r\n currentSolutionDetails !== \"\" ? (\r\n
    \r\n

    \r\n\r\n

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails.option !== undefined\r\n ? renderOptions(currentSolutionDetails)\r\n : \"\"}\r\n
    \r\n\r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails !== undefined &&\r\n currentSolutionDetails !== \"\" ? (\r\n
    \r\n
    Solution:
    \r\n\r\n
    \r\n

    \r\n\r\n {currentSolutionDetails?.video_id_english\r\n ? renderVideo(currentSolutionDetails)\r\n : \"\"}\r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n setVideoShow(false);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n setVideoShow(false);\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default Question_paper_solution;\r\n","import { React, useState } from \"react\";\r\nimport Question_paper_solution from \"./QuestionPaperSolution/Question_paper_solution\";\r\nimport {\r\n url_193,\r\n url_194,\r\n} from \"../../../../../../src/custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../src/redux/ui/action\";\r\n\r\nconst QuesPaperSol_content = (props) => {\r\n let {\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n userData,\r\n token,\r\n tokenType,\r\n testResultData,\r\n } = props;\r\n const [state, setState] = useState({\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n currentSolutionDetails: {},\r\n });\r\n useEffect(() => {\r\n getQuestionList();\r\n }, []);\r\n\r\n const getQuestionList = async () => {\r\n startLoading();\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let data = {\r\n paper_id: testResultData.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_193, data, { headers });\r\n if (response.data.status === 200) {\r\n getCurrentSolutionDetails(\r\n response.data.data[state.currentQuestion].paper_id,\r\n response.data.data[state.currentQuestion].qid\r\n );\r\n\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getCurrentSolutionDetails = async (paper_id, qid) => {\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_194, data);\r\n\r\n if (response.data.status == 200) {\r\n finishLoading();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSolutionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n //nextBtn\r\n const handleNextQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n //previous btn\r\n const handlePreviousQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n //handleJump\r\n const handleQuestionJump = (questionNumber) => {\r\n const { paper_id, qid } = state.testQuestionsDetails[questionNumber];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n return (\r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\nconst mapStateToProps = (state) => { \r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n userData: state.auth.user,\r\n testResultData: state.userTestsExercisesData.testResultData,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(QuesPaperSol_content);\r\n","import { Fragment, React, useState } from \"react\";\r\nimport \"./CpsSummary.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport {\r\n url_97\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport Summary1 from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/CpsSummary1\";\r\nimport Summary2 from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/CpsSummary2\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory,Link } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\nimport Mobile__right_sideBar_component from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Mobile_header_component from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport Header_component from \"../../../../../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\nconst CpsSummary = (props) => {\r\n let { startLoading, finishLoading, loader, testResultData, userData, userPreference } = props;\r\n let paperId = testResultData;\r\n const [state, setState] = useState();\r\n let history = useHistory();\r\n const backBtn = () => {\r\n history.push(\"/user_dashboard\");\r\n };\r\n const location = useLocation();\r\n useEffect(() => {\r\n getCpsSummary();\r\n }, []);\r\n \r\n const getCpsSummary = async () => {\r\n let data = {\r\n paper_id:testResultData.paper_id,\r\n }\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_97, data);\r\n if (response.data.status === 200) {\r\n setState(response.data);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n }\r\n const redirect5 = () => {\r\n history.push(\"/cps-test-paper-solution\")\r\n\r\n };\r\n let data1 = state?.data;\r\n let data2 = state?.marks_analysis;\r\n let data3 = state?.score_analysis;\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n return (\r\n <>\r\n
    \r\n {/* */}\r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    Test Summary

    \r\n
    \r\n
    \r\n
    \r\n

    Total Questions

    \r\n

    {data1?.total_questions}

    \r\n
    \r\n
    \r\n

    Total Marks

    \r\n

    {data1?.total_marks}

    \r\n
    \r\n
    \r\n

    Correct Answers

    \r\n

    {data1?.correct_answer}

    \r\n
    \r\n
    \r\n

    Incorrect Answer

    \r\n

    {data1?.incorrect_answer}

    \r\n
    \r\n
    \r\n

    Score Percentage

    \r\n

    {`${data1?.score_percentage}%`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n testResultData : state.cpsTestsReducer.cpsResultData,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference\r\n\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CpsSummary);\r\n","import { React, useState } from \"react\";\r\nimport \"./PyqSummary.scss\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport {\r\n url_143\r\n} from \"../../../../../../../../custom_utilities/api_services\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport Summary1 from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/CpsSummary1\";\r\nimport Summary2 from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/CpsSummary2\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../../components/loader/loader\";\r\nimport { useHistory,Link } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../../redux/ui/action\";\r\nimport Mobile__right_sideBar_component from \"../../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Mobile_header_component from \"../../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileLeftSideBarComponent from \"../../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\n\r\nconst PyqSummary = (props) => {\r\n let { startLoading, finishLoading, loader, testResultData, userData, userPreference,history } = props;\r\n let paperId = testResultData;\r\n const [state, setState] = useState();\r\n let historys = useHistory();\r\n const backBtn = () => {\r\n historys.push(\"/user_dashboard\");\r\n };\r\n const location = useLocation();\r\n useEffect(() => {\r\n getPyqSummary();\r\n }, []);\r\n \r\n const getPyqSummary = async () => {\r\n let data = {\r\n paper_id:testResultData.paper_id,\r\n }\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_143, data);\r\n if (response.data.status === 200) {\r\n setState(response.data);\r\n console.log(\"resultdata\",response.data.data);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n } finally{\r\n \r\n finishLoading();\r\n }\r\n }\r\n const redirect5 = () => {\r\n historys.push({\r\n pathname: \"/pyq-test-paper-solution\",\r\n state: {\r\n paperId,\r\n },\r\n });\r\n };\r\n let data1 = state?.data;\r\n let data2 = state?.marks_analysis;\r\n let data3 = state?.score_analysis;\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n return (\r\n <>\r\n
    \r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    Test Summary

    \r\n
    \r\n
    \r\n
    \r\n

    Total Questions

    \r\n

    {data1?.total_questions}

    \r\n
    \r\n
    \r\n

    Total Marks

    \r\n

    {data1?.total_marks}

    \r\n
    \r\n
    \r\n

    Correct Answers

    \r\n

    {data1?.correct_answer}

    \r\n
    \r\n
    \r\n

    Incorrect Answer

    \r\n

    {data1?.incorrect_answer}

    \r\n
    \r\n
    \r\n

    Score Percentage

    \r\n

    {`${data1?.score_percentage}%`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n testResultData : state.pyqTestsData.pyqResultData,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(PyqSummary);\r\n","import { Fragment } from \"react\";\r\nimport \"./examCrackerTestInstruction.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { useLocation, useHistory } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst ExamCrackerTestInstructionView = (props) => {\r\n let { startBtn, testData } = props;\r\n\r\n const history = useHistory();\r\n const location = useLocation();\r\n let package_name = location.state.package_name;\r\n\r\n const handleBackBtn = () => {\r\n console.log(\"handleBackBtn\");\r\n history.push({\r\n pathname: \"/exam_cracker_subject_topic\",\r\n state: {\r\n package_name: package_name,\r\n courseId: location.state,\r\n },\r\n });\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n
    \r\n \r\n

    Test Instructions

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Exam Cracker
    \r\n
    {testData.topic_name}
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n\r\n
      \r\n
    • This Section contains a set of questions for practice
    • \r\n\r\n
    • \r\n {\" \"}\r\n Users can go to previous question by clicking on the\r\n previous button\r\n
    • \r\n\r\n
    • \r\n {\" \"}\r\n Users can go to next question by clicking on the next button\r\n
    • \r\n
    \r\n\r\n
    Best of Luck
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    startBtn()}>\r\n Start Test\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.examCrackerTestsData.examCrackerTestData,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(ExamCrackerTestInstructionView);\r\n","import React from \"react\";\r\nimport images from \"../../../../../../../../../utilities/images/images\";\r\n\r\nconst QuestionStatusLabel = ({\r\n question,\r\n index,\r\n currentQuestion,\r\n handleQuestionJump,\r\n handlePurticularQuestion2,\r\n lang,\r\n setToggleMenu,\r\n}) => {\r\n const { q_text, q_text_hindi } = question;\r\n const isTable = q_text.includes(\" {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \"\"\r\n \r\n );\r\n } else if (question.isAttempted) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \"\"\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n {isTable ? (\r\n \r\n ) : (\r\n

    \r\n )}\r\n

    \r\n
    \r\n \"\"\r\n \r\n );\r\n }\r\n};\r\n\r\nexport const QuestionsGridView = ({\r\n question,\r\n index,\r\n currentQuestion,\r\n handleQuestionJump,\r\n handlePurticularQuestion2,\r\n setToggleMenu,\r\n}) => {\r\n const handleClick = () => {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n setToggleMenu(false);\r\n };\r\n\r\n let labelClassName = \"unanswered_lbl\";\r\n if (currentQuestion === index) {\r\n labelClassName += \" current_lbl\";\r\n } else if (question.isAttempted) {\r\n labelClassName += \" answered_lbl\";\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default QuestionStatusLabel;\r\n","const GridIcon = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default GridIcon;\r\n","import React from \"react\";\r\n\r\nconst ListIcon1 = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ListIcon1;\r\n","import React from \"react\";\r\n\r\nconst GridIcon1 = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default GridIcon1;\r\n","import React from \"react\";\r\n\r\nconst ListIcon = () => {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ListIcon;\r\n","import React, { useState } from \"react\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport QuestionStatusLabel, {\r\n QuestionsGridView,\r\n} from \"./questionStatusLabel/QuestionStatusLabel\";\r\nimport \"./QuestionListPanel.scss\";\r\nimport GridIcon from \"../../../../../../../../utilities/images/test-screens/GridIcon\";\r\nimport ListIcon1 from \"../../../../../../../../utilities/images/test-screens/ListIcon1\";\r\nimport GridIcon1 from \"../../../../../../../../utilities/images/test-screens/GridIcon1\";\r\nimport ListIcon from \"../../../../../../../../utilities/images/test-screens/ListIcon\";\r\n\r\nconst QuestionListPanel = ({\r\n handleSaveQuestion,\r\n handleShow,\r\n questionsCollectionRef,\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handleQuestionJump,\r\n handlePurticularQuestion2,\r\n lang,\r\n ConvertStringToHTML,\r\n toggleMenu,\r\n setToggleMenu,\r\n}) => {\r\n const [isList, setisList] = useState(true);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n

    \r\n {\" \"}\r\n {testQuestionsDetails[currentQuestion]?.exam_name ?? \"Test\"}\r\n

    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n \r\n ) : (\r\n \r\n )}\r\n \r\n );\r\n })\r\n : null}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default QuestionListPanel;\r\n","import React from \"react\";\r\nimport \"./ProgressIndicator.scss\";\r\n\r\nconst ProgressIndicator = ({\r\n currentQuestion,\r\n testQuestionsDetails,\r\n lang,\r\n setLang,\r\n}) => {\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n\r\n return (\r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n\r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]?.q_text_hindi ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ProgressIndicator;\r\n","import React from \"react\";\r\nimport \"./QuestionInfoSection.scss\";\r\nimport images from \"../../../../../../../../../utilities/images/images\";\r\n// import { MathJax, MathJaxContext } from \"better-react-mathjax\";\r\n\r\nconst QuestionInfoSection = ({\r\n currentQuestionDetails,\r\n lang,\r\n ConvertStringToHTML,\r\n testQuestionsDetails,\r\n currentQuestion,\r\n setLang,\r\n}) => {\r\n const config = {\r\n //loader: { load: [\"[tex]/html\"] },\r\n loader: {\r\n load: [\r\n \"input/asciimath\",\r\n \"output/chtml\",\r\n \"ui/menu\",\r\n \"[mml]/mml3\",\r\n \"[tex]/html\",\r\n ],\r\n },\r\n };\r\n\r\n const renderSingleQuestion = () => {\r\n const { q_text, q_text_hindi } = currentQuestionDetails || {};\r\n const isImage = q_text && q_text.includes(\"]+src=\"?([^\"\\s]+)\"?\\s*\\/>/g;\r\n const match = imgTagRegex.exec(q_text);\r\n if (match && match[1]) {\r\n imageSrc = match[1];\r\n }\r\n }\r\n\r\n if (lang) {\r\n return (\r\n
    \r\n {q_text && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(q_text_hindi)) {\r\n return (\r\n
    \r\n {q_text_hindi && (\r\n

    \r\n )}\r\n\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {q_text && (\r\n

    \r\n )}\r\n {isTable &&
    }\r\n {isMTable && }\r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n Question Type: \r\n {testQuestionsDetails[currentQuestion]?.answer_type}\r\n \r\n
    \r\n\r\n
    \r\n Question {`${Number(currentQuestion) + 1}.`}\r\n
    \r\n\r\n
    {renderSingleQuestion()}
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionInfoSection;\r\n","import React, { Fragment } from \"react\";\r\n// import { MathJax, MathJaxContext } from \"better-react-mathjax\";\r\nimport \"./QuestionOptions.scss\";\r\nconst QuestionOptions = ({\r\n showSolution,\r\n textInputSolution,\r\n currentQuestionDetails,\r\n lang,\r\n testQuestionsDetails,\r\n classEditor,\r\n disableSol,\r\n currentQuestion,\r\n sol,\r\n handleSingleSelectAnswer,\r\n handleCurrentOption,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n checkQuestion,\r\n}) => {\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const config = {\r\n \"fast-preview\": {\r\n disabled: true,\r\n },\r\n tex2jax: {\r\n inlineMath: [\r\n [\"$\", \"$\"],\r\n [\"\\\\(\", \"\\\\)\"],\r\n ],\r\n displayMath: [\r\n [\"$$\", \"$$\"],\r\n [\"\\\\[\", \"\\\\]\"],\r\n ],\r\n },\r\n messageStyle: \"none\",\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n const renderOptionInitial = (index) => {\r\n const alphabetArr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n return alphabetArr[index];\r\n };\r\n\r\n return (\r\n \r\n \r\n {questionData.option && questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n let optionText = element.option;\r\n if (\r\n !lang &&\r\n questionData.option_hindi &&\r\n questionData.option_hindi[index]\r\n ) {\r\n optionText =\r\n questionData.option_hindi[index].option || element.option;\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n handleCurrentOption(element.option_id);\r\n showSolution(currentQuestion);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    \r\n {`${renderOptionInitial(index)}.`}\r\n

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2) => {\r\n const renderOptionInitial = (index) => {\r\n const alphabetArr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n return alphabetArr[index];\r\n };\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item.option_id === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n showSolution(currentQuestion);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = (currentQuestionDetails, currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n {\r\n handleInputFieldChange(event);\r\n textInputSolution(event.target.value);\r\n disableSol();\r\n }}\r\n disabled={checkQuestion ? false : true}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n if (currentQuestionDetails) {\r\n let step,\r\n type = currentQuestionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 2:\r\n return renderInputField(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 3:\r\n return renderMultiSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {currentQuestionDetails !== null &&\r\n currentQuestionDetails?.option !== undefined\r\n ? renderOptions(currentQuestionDetails, lang)\r\n : \"\"}\r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionOptions;\r\n","import React from \"react\";\r\nimport \"./QuestionSwitcher.scss\";\r\n\r\nconst QuestionSwitcher = ({\r\n updateSolution,\r\n showSolution,\r\n solDisabled,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n page,\r\n scrollUp2,\r\n handlePurticularQuestion,\r\n testQuestionsDetails,\r\n sol,\r\n disabled1,\r\n handleSolution,\r\n handleSaveQuestion,\r\n handleShow,\r\n handleNextQuestionBtn,\r\n scrollUp,\r\n handlePurticularQuestion3,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(page - 1);\r\n showSolution(currentQuestion - 1);\r\n scrollUp2();\r\n handlePurticularQuestion();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n\r\n {\r\n handleNextQuestionBtn(page + 1);\r\n showSolution(currentQuestion + 1);\r\n scrollUp();\r\n handlePurticularQuestion3();\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionSwitcher;\r\n","import React from \"react\";\r\nimport \"./QuestionSolution.scss\";\r\n\r\nconst QuestionSolution = ({\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentQuestionDetails,\r\n lang,\r\n getClicked,\r\n}) => {\r\n return (\r\n
    \r\n
    Solution:
    \r\n {getClicked() && testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionSolution;\r\n","import React, { useMemo } from \"react\";\r\nimport \"./QuestionVideoSolution.scss\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\n\r\nconst QuestionVideoSolution = ({\r\n handleVideoShow,\r\n videoShow,\r\n currentQuestionDetails = {},\r\n lang,\r\n userId,\r\n getClicked,\r\n}) => {\r\n const { video_id_english, video_id_hindi } = currentQuestionDetails;\r\n const isHindi = !lang && video_id_hindi;\r\n const selectedVideoId = isHindi ? video_id_hindi : video_id_english;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n // Define the handleOnLoad function using useMemo to memoize it\r\n const handleOnLoad = useMemo(() => {\r\n return () => {\r\n const frame = document.getElementById(\"iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true, \"userId\": \"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // Handle message event for receiving video timing details\r\n const eventListener = (e) => {\r\n if (e.data && e.data.currentTime) {\r\n const videoTimingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimingDetails\",\r\n JSON.stringify(videoTimingDetails)\r\n );\r\n }\r\n };\r\n\r\n window.addEventListener(\"message\", eventListener);\r\n\r\n // Cleanup the event listener when the component unmounts\r\n return () => {\r\n window.removeEventListener(\"message\", eventListener);\r\n };\r\n };\r\n }, [userId]);\r\n\r\n // Check if selectedVideoId is empty\r\n if (!selectedVideoId) {\r\n return null;\r\n }\r\n\r\n // const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n const isUrl = urlPattern.test(selectedVideoId);\r\n const isCryptId = /^[0-9_]+$/.test(selectedVideoId);\r\n\r\n return (\r\n
    \r\n {((isUrl || isCryptId) && getClicked()) && (\r\n \r\n )}\r\n\r\n {videoShow && isUrl && getClicked() ? (\r\n \r\n ) : videoShow && isCryptId ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionVideoSolution;\r\n","import { useState } from \"react\";\r\nimport { Modal } from \"react-bootstrap\";\r\n\r\nconst useReportAndError = () => {\r\n const [showModal, setShowModal] = useState(false);\r\n\r\n console.log(\"showModal\", showModal);\r\n\r\n const handleToggleModal = () => {\r\n setShowModal(!showModal);\r\n };\r\n\r\n const ReactAndErrorText = () => {\r\n return
    Report And Error
    ;\r\n };\r\n\r\n const ReportAndErrorModal = () => {\r\n return (\r\n \r\n Report and Error\r\n I am the Report and Error Modal\r\n \r\n );\r\n };\r\n\r\n return { ReactAndErrorText, ReportAndErrorModal, showModal };\r\n};\r\n\r\nexport default useReportAndError;\r\n","import React, { memo } from \"react\";\r\nimport \"./QuesitonDetailPanel.scss\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\n\r\nimport ProgressIndicator from \"./progressIndicator/ProgressIndicator\";\r\nimport QuestionInfoSection from \"./questionInfoSection/QuestionInfoSection\";\r\nimport QuesitonOptions from \"./questionOptions/QuestionOptions\";\r\nimport QuestionSwitcher from \"./questionSwitcher/QuestionSwitcher\";\r\nimport QuestionSolution from \"./questionSolution/QuestionSolution\";\r\nimport QuestionVideoSolution from \"./questionVideoSolution/QuestionVideoSolution\";\r\nimport useReportAndError from \"../../../../../../../../hooks/useReportAndError\";\r\n\r\nconst QuestionDetailPanel = memo(\r\n ({\r\n updateSolution,\r\n showSolution,\r\n solDisabled,\r\n textInputSolution,\r\n getClicked,\r\n progressCount,\r\n currentQuestion,\r\n testQuestionsDetails,\r\n setLang,\r\n lang,\r\n currentQuestionDetails,\r\n ConvertStringToHTML,\r\n handleClose,\r\n handleSubmitTest,\r\n showError,\r\n show,\r\n handleCloseReportError,\r\n reportErrorData,\r\n setSaveReportErrorData,\r\n saveReportErrorData,\r\n isDisable,\r\n handlePostReportErrorData,\r\n handlePreviousQuestionBtn,\r\n page,\r\n scrollUp2,\r\n handlePurticularQuestion,\r\n sol,\r\n handleSolution,\r\n disabled1,\r\n handleSaveQuestion,\r\n handleShow,\r\n handleNextQuestionBtn,\r\n scrollUp,\r\n handlePurticularQuestion3,\r\n handleGetReportErrorOptions,\r\n handleSingleSelectAnswer,\r\n handleCurrentOption,\r\n disableSol,\r\n classEditor,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n checkQuestion,\r\n handleVideoShow,\r\n videoShow,\r\n userId,\r\n toggleMenu,\r\n setToggleMenu,\r\n }) => {\r\n const { ReactAndErrorText, ReportAndErrorModal, showModal } =\r\n useReportAndError();\r\n return (\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n\r\n \r\n\r\n {/* toaster for successfull submission of Report error */}\r\n\r\n {!sol && (\r\n \r\n )}\r\n\r\n {!sol && (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n \r\n Report an error\r\n \r\n\r\n {/* \r\n \"\"\r\n {\" \"} */}\r\n {/* \r\n Report an error\r\n */}\r\n
    \r\n\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    Do you want to continue the exam or you want to Submit.

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect or error in\r\n question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n);\r\n\r\nexport default QuestionDetailPanel;\r\n","import { Fragment, useState, useRef, useMemo } from \"react\";\r\nimport \"./examCrackerTestQuestionView.scss\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport axios from \"axios\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\n\r\nimport QuestionListPanel from \"./questionListPanel/QuestionListPanel\";\r\nimport QuestionDetailPanel from \"./questionDetailPanel/QuestionDetailPanel\";\r\n\r\nimport useStopwatch from \"../../../../../../../hooks/useStopwatch\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\n\r\nconst ExamCrackerTestQuestionView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n page,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n checkQuestion,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n handleCurrentOption,\r\n } = props;\r\n\r\n const {\r\n updateSolution,\r\n getClicked,\r\n solDisabled,\r\n showSolution,\r\n textInputSolution,\r\n } = useStopwatch(\r\n currentQuestion,\r\n testQuestionsDetails[currentQuestion].integer_answer,\r\n currentQuestionDetails\r\n );\r\n\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion]?.qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n // condition for Report Error modal submit button\r\n\r\n const isDisable = saveReportErrorData.option_id.length === \"\" ? true : false;\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n // function for posting user error data to api\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage(\"Your Report has Submitted Successfully\");\r\n setSaveReportErrorData({ option_id: \"\" });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef?.current.children[nextQuestionIndex];\r\n questionElement?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n const [showError, setShowError] = useState(false);\r\n\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n // for report error modal\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [disabled1, setDisabled] = useState(false);\r\n\r\n useMathjax(currentQuestionDetails, lang, getClicked());\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n setDisabled(false);\r\n };\r\n\r\n const handleSolution = () => {\r\n setSol(false);\r\n setVideoShow(false);\r\n };\r\n const disableSol = () => {\r\n setDisabled(true);\r\n };\r\n\r\n const classEditor = (s, wc, optionId) => {\r\n if (Number(s) && getClicked()) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (wc && getClicked() && wc.indexOf(Number(optionId)) > -1) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const handlePurticularQuestion = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion - 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion3 = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion + 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion + 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n // const renderOptionText = (optionText) => {\r\n // return { __html: optionText };\r\n // };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".questionDetailPanel_wrapper\");\r\n setTimeout(() => {\r\n console.log(\"working\");\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 5000);\r\n };\r\n\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderNextBtn = () => {\r\n if (!testQuestionsDetails[currentQuestion].isAttempted) {\r\n return (\r\n {\r\n handleNextQuestionBtn(page + 1);\r\n handleSol();\r\n scrollUp();\r\n }}\r\n >\r\n Next\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleNextQuestionBtn(page + 1);\r\n handleSol();\r\n }}\r\n >\r\n Next\r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default ExamCrackerTestQuestionView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./examCrackerTestContentComponent.scss\";\r\nimport ExamCrackerTestInstructionView from \"./examCrackerTestInstructionView/examCrackerTestInstructionView\";\r\nimport ExamCrackerTestQuestionView from \"./examCrackerTestQuestionView/examCrackerTestQuestionView\";\r\n\r\nimport axios from \"axios\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_116,\r\n url_117,\r\n url_203,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\n\r\nconst ExamCrackerTestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n userPreference,\r\n target_id,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testInstructionData: {},\r\n testQuestionsDetails: [],\r\n currentQuestionDetails: {},\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n currentOptionId: null,\r\n page: 1,\r\n countDownTimer: {\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n left: 0,\r\n is_paid: 0,\r\n hours: 72,\r\n minutes: 0,\r\n seconds: 0,\r\n });\r\n\r\n const location = useLocation();\r\n\r\n const package_name = location?.state?.package_name;\r\n\r\n useEffect(() => {}, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(state.testDetails.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let timeInterval;\r\n\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n console.log(duration); //it is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n // console.log(distance);\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n // console.log(\"MINUTES=\", minutes);\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n // console.log(\"SECONDS=\", seconds);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestQuestionsList = async () => {\r\n const trimmedAndLowercasedPackageName = package_name\r\n .replace(/\\s+/g, \"\")\r\n .toLowerCase();\r\n let target_id;\r\n\r\n if (trimmedAndLowercasedPackageName === \"examcracker-jeemains\") {\r\n target_id = 1;\r\n } else if (trimmedAndLowercasedPackageName === \"examcracker-jeeadvanced\") {\r\n target_id = 2;\r\n } else if (trimmedAndLowercasedPackageName === \"examcracker-neet\") {\r\n target_id = 3;\r\n }\r\n\r\n const data = {\r\n subject_id: testData.subject.subjectId,\r\n topic_id: testData.topic_id,\r\n sub_topic_name: testData.topic_name,\r\n page: 0,\r\n lang_id: 1,\r\n target_id: target_id,\r\n };\r\n\r\n startLoading();\r\n try {\r\n // const response = await axios.post(url_115, data);\r\n const response = await axios.post(url_203, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n getCurrentQuestionDetails(state.page);\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (page) => {\r\n const trimmedAndLowercasedPackageName = package_name\r\n .replace(/\\s+/g, \"\")\r\n .toLowerCase();\r\n let target_id;\r\n\r\n if (trimmedAndLowercasedPackageName === \"examcracker-jeemains\") {\r\n target_id = 1;\r\n } else if (trimmedAndLowercasedPackageName === \"examcracker-jeeadvanced\") {\r\n target_id = 2;\r\n } else if (trimmedAndLowercasedPackageName === \"examcracker-neet\") {\r\n target_id = 3;\r\n }\r\n\r\n const data = {\r\n subject_id: testData.subject.subjectId,\r\n topic_id: testData.topic_id,\r\n sub_topic_name: testData.topic_name,\r\n page: page,\r\n lang_id: 1,\r\n target_id: target_id,\r\n };\r\n\r\n // startLoading();\r\n try {\r\n const response = await axios.post(url_203, data);\r\n\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data.AllQuestionList,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n //3 days from the time created\r\n const date_created = new Date(userData.created_on);\r\n const numOfHours = 72;\r\n date_created.setTime(date_created.getTime() + numOfHours * 60 * 60 * 1000);\r\n console.log(d);\r\n let diffInMilliseconds = Math.abs(Math.abs(date_created - d) / 1000);\r\n\r\n // let diffInMilliSeconds = Math.abs(dateFuture - dateNow) / 1000;\r\n\r\n // calculate days\r\n const days = Math.floor(diffInMilliseconds / 86400);\r\n\r\n // calculate hours\r\n const hours = 24 * days + (Math.floor(diffInMilliseconds / 3600) % 24);\r\n diffInMilliseconds -= hours * 3600;\r\n console.log(\"calculated hours\", hours);\r\n\r\n // calculate minutes\r\n const minutes = Math.floor(diffInMilliseconds / 60) % 60;\r\n // diffInMilliseconds -= minutes * 60;\r\n console.log(hours + \":\" + minutes);\r\n\r\n return d.getTime();\r\n };\r\n\r\n const startBtn = async () => {\r\n // let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList();\r\n\r\n if (returnedResponse.result) {\r\n if (returnedResponse?.data?.apiData?.data?.AllQuestionList) {\r\n returnedResponse?.data?.apiData?.data?.AllQuestionList?.forEach(\r\n (element) => {\r\n element.isReview = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n }\r\n );\r\n\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails:\r\n returnedResponse.data.apiData.data.AllQuestionList,\r\n //subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n\r\n const handleCurrentOption = (optionId) => {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n currentOptionId: optionId,\r\n };\r\n });\r\n };\r\n\r\n const handleSaveQuestion = async () => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testDetails,\r\n currentQuestionDetails,\r\n testQuestionsDetails,\r\n } = state;\r\n\r\n let formatData =\r\n testDetails.format ===\r\n \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n let data = {};\r\n\r\n if (currentQuestionDetails.answer_type == \"Integer Correct\") {\r\n data = {\r\n option_int: testQuestionsDetails[currentQuestion]?.integer_answer\r\n ?.length\r\n ? testQuestionsDetails[currentQuestion].integer_answer\r\n : \"\",\r\n qid: currentQuestionDetails.qid,\r\n subject: testData.subject.subjectName,\r\n time: calculatedTime,\r\n toughness: currentQuestionDetails.toughness_name,\r\n };\r\n } else if (currentQuestionDetails.answer_type == \"Multiple Correct\") {\r\n data = {\r\n option_id: currentQuestionDetails?.userAnswerCollection?.length\r\n ? currentQuestionDetails.userAnswerCollection.map((item) => ({\r\n option_id: item.option_id,\r\n }))\r\n : [],\r\n qid: currentQuestionDetails.qid,\r\n subject: testData.subject.subjectName,\r\n time: calculatedTime,\r\n toughness: currentQuestionDetails.toughness_name,\r\n };\r\n } else {\r\n data = {\r\n option_id: state.currentOptionId,\r\n qid: currentQuestionDetails.qid,\r\n subject: testData.subject.subjectName,\r\n time: calculatedTime,\r\n toughness: currentQuestionDetails.toughness_name,\r\n };\r\n }\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_116, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = (page) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n currentQuestionDetails.totalTimeTaken = calculatedTime;\r\n\r\n handleSaveQuestion();\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n testQuestionsDetails[currentQuestion].option.filter(\r\n (m) => m.is_user_correct_ans\r\n ).length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n page: page,\r\n }));\r\n\r\n if (testQuestionsDetails[currentQuestion].isAttempted) {\r\n getCurrentQuestionDetails(page);\r\n }\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handlePreviousQuestionBtn = (page) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n // testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n currentQuestionDetails.totalTimeTaken = calculatedTime;\r\n\r\n let time = getNowTime();\r\n\r\n handleSaveQuestion();\r\n //handleCheckQuestion();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n page: page,\r\n }));\r\n getCurrentQuestionDetails(page);\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n // if (state.testQuestionsDetails[state.currentQuestion].option.filter((opt) => {\r\n // opt.\r\n // }))\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = {\r\n option_id: optionId,\r\n };\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n Number(optionId);\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element.option_id === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n let Obj = {\r\n option_id: optionId,\r\n };\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n Obj\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n if (\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ),\r\n 1\r\n );\r\n }\r\n } else {\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection\r\n .length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection.indexOf(optionId),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n page: questionNumber + 1,\r\n }));\r\n getCurrentQuestionDetails(questionNumber + 1);\r\n };\r\n\r\n const handleSubmitTest = async () => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n let questionArr = [];\r\n\r\n testQuestionsDetails.forEach((element) => {\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n // toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n });\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n\r\n console.log(returnedResponse);\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n history.push({\r\n pathname: \"/exam_cracker\",\r\n state: {\r\n tab: \"exam_cracker\",\r\n },\r\n });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n };\r\n\r\n const submitTestApi = async () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let requestPayload = {\r\n topic_id: testData.topic_id,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n };\r\n try {\r\n const response = await axios.post(url_117, requestPayload);\r\n\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push(\"/exam_cracker\");\r\n };\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return ;\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default ExamCrackerTestContentComponent;\r\n","\r\nimport React from \"react\";\r\nimport \"./examCrackerTestComponent.scss\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\nimport ExamCrackerTestContentComponent from \"./examCrackerTestContentComponent/examCrackerTestContentComponent\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\n\r\nconst ExamCrackerTestComponent = ({\r\n history,\r\n loader,\r\n userData,\r\n target_id,\r\n userPreference,\r\n ExamCrackerTopicData,\r\n testData,\r\n startLoading,\r\n finishLoading,\r\n}) => {\r\n const isMob = () => window.innerWidth <= 480;\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => ({\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n testData: state.examCrackerTestsData.examCrackerTestData,\r\n ExamCrackerTopicData: state.userActivity.ExamCrackerTopicData,\r\n userPreference: state.userPreference,\r\n target_id: state.userPreference?.targetDetails[0].target_id,\r\n});\r\n\r\nconst mapDispatchToProps = (dispatch) => ({\r\n startLoading: () => dispatch(uiActions.startLoading()),\r\n finishLoading: () => dispatch(uiActions.finishLoading()),\r\n});\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ExamCrackerTestComponent);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./exam_cracker_payment_page.scss\";\r\nimport HeaderComponent from \"../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\nimport { Link, useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport {\r\n url_59,\r\n url_19,\r\n url_8,\r\n url_127,\r\n} from \"../../../../../custom_utilities/api_services\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport { Modal, Button } from \"react-bootstrap\";\r\nimport { connect } from \"react-redux\";\r\nimport actions from \"../../../../../redux/ui/action\";\r\nimport authActions from \"../../../../../redux/auth/action\";\r\nimport { sha512 } from \"js-sha512\";\r\nimport CcAvenuePayment from \"../../../../../custom_utilities/ccavence_payment/CcAvenuePayment\";\r\nimport { setRefferalCode } from \"../../../../../redux/packages_store/PackageSlice\";\r\nimport { checkXSSAttackThroughInput } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst ExamCrackerPaymentPage = (props) => {\r\n let {\r\n loader,\r\n history,\r\n userData,\r\n userPreference,\r\n token,\r\n tokenType,\r\n userId,\r\n setUser,\r\n setRefferalCode,\r\n } = props;\r\n\r\n const [packageDetails, setPackageDetails] = useState({});\r\n const [modalFlag, setModalFlag] = useState(false);\r\n const [cpnInput, setCpnInput] = useState(\"\");\r\n const [couponDetails, setCouponDetails] = useState({});\r\n const [isDisableButton, setIsDisableButton] = useState(true);\r\n const [cpnAmt, setCpnAmt] = useState(\"\");\r\n\r\n let location = useLocation();\r\n let package_name = location.state.packageData.package_name;\r\n let package_amount = location.state.packageData.amount;\r\n let amount = (package_amount * 2) / 2;\r\n let package_discount = location.state.packageData.discount;\r\n let package_duration = location.state.packageData.duration;\r\n let package_description = location.state.packageData.description;\r\n\r\n useEffect(() => {\r\n getPackageDetails();\r\n }, []);\r\n\r\n const handleClose = () => {\r\n setModalFlag(false);\r\n };\r\n\r\n const paymentShow = () => {\r\n setModalFlag(!modalFlag);\r\n setCpnAmt(package_amount);\r\n };\r\n\r\n const applyCouponMethod = async () => {\r\n const { package_id, amount } = packageDetails.planner_overview;\r\n\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n coupon_code: cpnInput,\r\n user_id: userId,\r\n package_id,\r\n amount,\r\n };\r\n const response = await axios.post(url_59, data, { headers });\r\n if (response.data.status === 200) {\r\n setCouponDetails(response.data.data);\r\n } else {\r\n alert(\"Invalid Coupon\");\r\n }\r\n };\r\n\r\n let orignalAmount = package_amount - package_discount;\r\n let couponDicountAmount = (couponDetails.discount / 100) * orignalAmount;\r\n let updatedAmount = orignalAmount - couponDicountAmount;\r\n\r\n const currentData = new Date();\r\n let date =\r\n currentData.getFullYear() +\r\n \"-\" +\r\n (currentData.getMonth() + 1) +\r\n \"-\" +\r\n currentData.getDate();\r\n let time =\r\n currentData.getHours() +\r\n \":\" +\r\n currentData.getMinutes() +\r\n \":\" +\r\n currentData.getSeconds();\r\n var dateTime = date + \" \" + time;\r\n\r\n const updateUser = async () => {\r\n // startLoading();\r\n try {\r\n const response = await axios.get(url_8);\r\n if (response.data.status === 200) {\r\n setUser(response.data.data);\r\n // finishLoading();\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return 0;\r\n }\r\n };\r\n\r\n const activePackage = async (data) => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n let dataDetails = {\r\n course_id: userPreference?.courseDetails[0].course_id,\r\n batch_id: userPreference?.batchDetails.batch_id,\r\n package_id: packageDetails?.planner_overview.package_id,\r\n txn_amount: packageDetails?.planner_overview.amount,\r\n txn_discount_amount: packageDetails?.planner_overview.discount,\r\n txn_amount: \"0.00\",\r\n //txn_discount_amount: \"\",\r\n txn_date: dateTime,\r\n package_duration: packageDetails?.planner_overview.duration,\r\n txnid: couponDetails?.CouponCode,\r\n };\r\n\r\n // startLoading();\r\n try {\r\n const response = await axios.post(url_19, dataDetails, { headers });\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n // alert(response.data.message);\r\n //let returnedResponse = await updateUser();\r\n history.push({\r\n pathname: \"/exam_cracker\",\r\n state: { tab: \"exam_cracker\" },\r\n });\r\n } else {\r\n alert(response.message);\r\n }\r\n // finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n // finishLoading();\r\n }\r\n };\r\n\r\n const saveUserTransactions = async (data) => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const dataDetails = {\r\n course_id: userPreference?.courseDetails[0].course_id,\r\n batch_id: userPreference?.batchDetails.batch_id,\r\n package_id: packageDetails?.planner_overview.package_id,\r\n txn_amount: packageDetails?.planner_overview.amount,\r\n\r\n txn_discount_amount: packageDetails?.planner_overview.discount,\r\n txn_amount: packageDetails?.planner_overview.amount,\r\n\r\n txn_date: data.response.addedon,\r\n package_duration: packageDetails?.planner_overview.duration,\r\n txnid: data.response.txnid,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_19, dataDetails, { headers });\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n // alert(response.data.message);\r\n let returnedResponse = await updateUser();\r\n if (returnedResponse) {\r\n history.push({\r\n pathname: \"/exam_cracker\",\r\n state: { tab: \"exam_cracker\" },\r\n }); // after successfull purchasing should redirect to this page or route\r\n } else {\r\n history.push({\r\n pathname: \"/exam_cracker\",\r\n state: { tab: \"exam_cracker\" },\r\n }); // after successfull purchasing should redirect to this page or route\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n // finishLoading();\r\n }\r\n };\r\n\r\n const getReference = () => {\r\n //you can put any unique reference implementation code here\r\n let text = \"\";\r\n let possible =\r\n \"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-.=\";\r\n\r\n for (let i = 0; i < 15; i++)\r\n text += possible.charAt(Math.floor(Math.random() * possible.length));\r\n\r\n return text;\r\n };\r\n\r\n const redirectPayUMoney = (data) => {\r\n //use window.bolt.launch if you face an error in bolt.launch\r\n window.bolt.launch(data, {\r\n responseHandler: function (response) {\r\n // your payment response Code goes here\r\n\r\n if (response.response.txnStatus.toLowerCase() === \"success\") {\r\n saveUserTransactions(response);\r\n } else {\r\n alert(response.response.txnMessage);\r\n }\r\n },\r\n catchException: function (response) {},\r\n });\r\n };\r\n\r\n const getPackageDetails = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n package_id: location.state.packageData.package_id,\r\n };\r\n\r\n try {\r\n const response = await axios.get(\r\n `${url_127}?package_id=${location.state.packageData.package_id}`,\r\n { headers }\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setPackageDetails(response.data.data);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const pricePurchaseBtn = (packageDetails) => {\r\n handlePaymentInformationPayBtn(packageDetails);\r\n };\r\n\r\n const handlePaymentInformationPayBtn = (packageDetails) => {\r\n let userDataDetails = { ...userData };\r\n if (userDataDetails?.email) {\r\n if (packageDetails?.planner_overview.amount) {\r\n let txnId = getReference();\r\n let merchantKey = \"ObWj6L\",\r\n salt = \"jFCXe6Kt\";\r\n\r\n let hashSequence = `${merchantKey}|${txnId}|${\r\n packageDetails?.planner_overview.amount -\r\n packageDetails?.planner_overview.discount\r\n }|${packageDetails?.planner_overview.package_name}|${\r\n userDataDetails?.name\r\n }|${userDataDetails?.email}|||||||||||${salt}`;\r\n\r\n let hashValue = sha512(hashSequence);\r\n\r\n let payURequestParams = {\r\n key: merchantKey, ///*** Merchant key from PayuMoney Dashboard ***/\r\n txnid: txnId, ///*** Unique Transaction ID***/\r\n // amount: packageDetails.planner_overview.amount, ///*** Amount to be paid ***/\r\n amount:\r\n packageDetails?.planner_overview.amount -\r\n packageDetails.planner_overview.discount,\r\n firstname: userDataDetails?.name, ///*** Name of the User ***/\r\n email: userDataDetails?.email, ///** Email Id of User **/\r\n phone: userDataDetails?.mobile, ///** Mobile number of User **/\r\n productinfo: packageDetails?.planner_overview.package_name, ///* Product name */\r\n surl: \"dummyURL\", ///* Success callback URL */\r\n furl: \"dummyURL\", ///* Failure callback URL */\r\n hash: hashValue,\r\n };\r\n\r\n redirectPayUMoney(payURequestParams);\r\n } else {\r\n alert(\"Amount is not proper\");\r\n return;\r\n }\r\n } else {\r\n alert(\r\n \"Please haven't update your email in your profile. Please update it\"\r\n );\r\n history.push(\"/user_edit_profile\");\r\n }\r\n };\r\n\r\n const handleInputchange = async (value) => {\r\n const response = await checkXSSAttackThroughInput(value);\r\n\r\n if (!response) {\r\n return;\r\n } else {\r\n setCpnInput(value);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n\r\n
    {package_name}
    \r\n\r\n {!isEmpty(packageDetails) ? (\r\n \r\n \r\n \r\n
    \r\n
    \r\n

    \r\n \r\n {`₹ ${amount}`}\r\n {\" \"}\r\n {`₹ ${\r\n package_amount - package_discount\r\n }`}\r\n

    \r\n

    \r\n If you have coupon code or discount code provided by\r\n motion education\r\n

    \r\n
    \r\n \r\n handleInputchange(e.target.value)\r\n }\r\n />\r\n \r\n
    \r\n\r\n
    \r\n Updated Amount\r\n {!isEmpty(couponDetails) ? (\r\n ₹ {updatedAmount.toFixed(0)}\r\n ) : (\r\n {`₹ ${orignalAmount}`}\r\n )}\r\n
    \r\n {updatedAmount == 0 ? (\r\n
    \r\n activePackage(packageDetails)}\r\n >\r\n Active\r\n \r\n
    \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n {!isEmpty(packageDetails) ? (\r\n
    \r\n

    Description

    \r\n

    {package_description}

    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    Price Details

    \r\n\r\n
    \r\n
    Duration
    \r\n
    \r\n {package_duration} \r\n months\r\n
    \r\n
    \r\n\r\n
    \r\n
    Price
    \r\n
    ₹ {package_amount}
    \r\n
    \r\n\r\n
    \r\n
    Discount
    \r\n
    \r\n ₹ {package_discount}\r\n
    \r\n
    \r\n\r\n
    \r\n
    Total Price
    \r\n
    \r\n Rs. {package_amount - package_discount}\r\n /-\r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n paymentShow();\r\n setRefferalCode(\" \");\r\n }}\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n userId: state.auth.user.user_id,\r\n userPreference: state.userPreference,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(actions.startLoading());\r\n },\r\n\r\n finishLoading: () => {\r\n dispatch(actions.finishLoading());\r\n },\r\n\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n\r\n setRefferalCode: (payload) => {\r\n dispatch(setRefferalCode(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(ExamCrackerPaymentPage);\r\n","export const SET_EXAM_CRACKER_TESTS_DATA = \"SET_EXAM_CRACKER_TESTS_DATA\";","import * as actionTypes from \"./action_types\";\r\n\r\nconst setExamCrackerTestsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_EXAM_CRACKER_TESTS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\n// const setUserTestsResultData = (payload) => {\r\n// return {\r\n// type: actionTypes.SET_USER_TESTS_RESULT_DATA,\r\n// payload,\r\n// };\r\n// };\r\n\r\n\r\nexport default {\r\n setExamCrackerTestsData,\r\n// setUserTestsResultData,\r\n};\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./examCrackerSubjectTopicLists.scss\";\r\nimport images from \"../../../../../utilities/images/images\";\r\nimport HeaderComponent from \"../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_107,\r\n url_108,\r\n} from \"./../../../../../custom_utilities/api_services\";\r\nimport { Link, useHistory, useLocation } from \"react-router-dom\";\r\nimport {\r\n url_113,\r\n url_114,\r\n} from \"./../../../../../custom_utilities/api_services\";\r\nimport { useSelector } from \"react-redux\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport userActivityActions from \"../../../../../redux/user_activity/action\";\r\nimport userExamCrackerTestsAction from \"../../../../../redux/exam_cracker_test_exercises/action\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\nimport Footer_component from \"../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\nimport Mobile__right_sideBar_component from \"../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Mobile_header_component from \"../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileLeftSideBarComponent from \"../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport CommonBannerComponent from \"../../../PYQ_CPS_Exam/pyqCpsExamComponent/PyqCpsExamContentComponent/CommonBannerComponent\";\r\nimport { Modal } from \"react-bootstrap\";\r\n\r\nconst ExamCrackerSubjectTopicLists = (props) => {\r\n let {\r\n userPreference,\r\n subjectData,\r\n setSubjectData,\r\n setTopicData,\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n setExamCrackerTestsData,\r\n userData,\r\n commonBannerData,\r\n } = props;\r\n let { courseDetails, classDetails } = userPreference;\r\n let history = useHistory();\r\n const location = useLocation();\r\n let package_name = location.state.package_name;\r\n let freeCourseId = location.courseId;\r\n\r\n const packageDetails = useSelector(\r\n (state) => state?.PackageSliceReducer?.storeCurrentPackageDetails\r\n );\r\n\r\n const [state, setState] = useState({\r\n subjectDataDetails: {\r\n subjectId: \"\",\r\n subjectName: \"\",\r\n subjectIcon: \"\",\r\n showTopic: false,\r\n showModal: false,\r\n },\r\n subjectList: {},\r\n topicList: {},\r\n initialSubjectCheck: true,\r\n });\r\n\r\n useEffect(() => {\r\n getSubjectData();\r\n getSubjectList();\r\n console.log(commonBannerData.data.package_active);\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (\r\n !isEmpty(state.subjectList) &&\r\n state.subjectList.subject.length &&\r\n state.initialSubjectCheck\r\n ) {\r\n getInitialData();\r\n }\r\n }, [state.subjectList]);\r\n\r\n const getInitialData = () => {\r\n let { subjectId } = subjectData;\r\n let { subjectList } = state;\r\n setState((prevState) => ({ ...prevState, initialSubjectCheck: false }));\r\n\r\n if (subjectId) {\r\n getSubjectData();\r\n getTopics(courseDetails[0].course_id, subjectId);\r\n } else {\r\n setSubjectData({\r\n subjectId: subjectList.subject[0].sub_id,\r\n subjectName: subjectList.subject[0].sub_name,\r\n subjectIcon: subjectList.subject[0].icon,\r\n });\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectDataDetails: {\r\n ...prevState.subjectDataDetails,\r\n subjectId: subjectList.subject[0].sub_id,\r\n subjectName: subjectList.subject[0].sub_name,\r\n subjectIcon: subjectList.subject[0].icon,\r\n },\r\n }));\r\n getTopics(courseDetails[0].course_id, subjectList.subject[0].sub_id);\r\n }\r\n };\r\n\r\n const getSubjectData = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectDataDetails: {\r\n ...prevState.subjectDataDetails,\r\n subjectId: subjectData?.subjectId,\r\n subjectName: subjectData.subjectName,\r\n subjectIcon: subjectData.subjectIcon,\r\n },\r\n }));\r\n };\r\n\r\n const getSubjectList = async () => {\r\n let { courseDetails, classDetails } = userPreference;\r\n let data = {};\r\n\r\n if (package_name === \"Exam Cracker - JEE Mains\") {\r\n data = {\r\n // course_id: courseDetails[0].course_id,\r\n course_id: location.courseId\r\n ? freeCourseId\r\n : courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n target_id: 1,\r\n };\r\n } else if (package_name === \"Exam Cracker - JEE Advanced\") {\r\n data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n target_id: 2,\r\n };\r\n } else if (package_name === \"Exam Cracker - NEET\") {\r\n data = {\r\n course_id: courseDetails[0].course_id,\r\n class_id: classDetails.class_id,\r\n target_id: 3,\r\n };\r\n }\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_113, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectList: response.data.data,\r\n }));\r\n if (location.courseId) {\r\n const { sub_id, sub_name, icon } = response.data.data.subject[0];\r\n handleChangeSubject(\"\", sub_id, sub_name, icon);\r\n }\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTopics = async (course_id, sub_id) => {\r\n let data = {};\r\n if (package_name === \"Exam Cracker - JEE Mains\") {\r\n data = {\r\n course_id: location.courseId ? freeCourseId : course_id,\r\n subject_id: sub_id,\r\n target_id: 1,\r\n };\r\n } else if (package_name === \"Exam Cracker - JEE Advanced\") {\r\n data = {\r\n subject_id: sub_id,\r\n target_id: 2,\r\n };\r\n } else if (package_name === \"Exam Cracker - NEET\") {\r\n data = {\r\n subject_id: sub_id,\r\n target_id: 3,\r\n };\r\n }\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_114, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n topicList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const backGroundColorFromBackend = (color_code) => {\r\n const colorCode = color_code ? color_code.split(\",\") : null;\r\n\r\n if (colorCode !== null) {\r\n return {\r\n background: `linear-gradient(277deg,${colorCode[0]}, ${colorCode[1]} 101.46% )`,\r\n };\r\n } else {\r\n return {\r\n background: \"#ffffff\",\r\n };\r\n }\r\n };\r\n\r\n const handleChangeSubject = (event, sub_id, sub_name, icon) => {\r\n setSubjectData({\r\n subjectId: sub_id,\r\n subjectName: sub_name,\r\n subjectIcon: icon,\r\n });\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjectDataDetails: {\r\n ...prevState.subjectDataDetails,\r\n subjectId: sub_id,\r\n subjectName: sub_name,\r\n subjectIcon: icon,\r\n },\r\n }));\r\n getTopics(courseDetails[0].course_id, sub_id);\r\n };\r\n\r\n const handleShowTopic = (sub_name) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n showTopic: true,\r\n subject: sub_name,\r\n }));\r\n };\r\n\r\n const onHandleTakeTest = (testData) => {\r\n const subject = state.subjectDataDetails;\r\n const data = { ...testData, subject };\r\n console.log(\"tp\", data);\r\n setExamCrackerTestsData(data);\r\n if (!commonBannerData.data.packageActive) {\r\n // history.push({\r\n // pathname: \"/store\", state: { tab: \"online_learning\" }\r\n // })\r\n setState((prevState) => ({\r\n ...prevState,\r\n showModal: true,\r\n }));\r\n } else {\r\n history.push({\r\n pathname: \"/exam_cracker_test_component\",\r\n state: {\r\n package_name: package_name,\r\n state: location.courseId,\r\n },\r\n });\r\n }\r\n };\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth);\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth);\r\n };\r\n useEffect(() => {\r\n window.addEventListener(\"resize\", setWidth);\r\n\r\n return () => {\r\n window.removeEventListener(\"resize\", setWidth);\r\n };\r\n }, [windowWidth]);\r\n\r\n return (\r\n \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n showModal: false,\r\n }))\r\n }\r\n animation={false}\r\n centered\r\n >\r\n \r\n

    Exam Cracker

    \r\n

    \r\n Your path to Exam success begins with{\" \"}\r\n \r\n “Exam Cracker”\r\n \r\n . Subscribe now!\r\n

    \r\n
    \r\n {\r\n history.push(`/package/${packageDetails?.package_id}`);\r\n }}\r\n >\r\n Buy Now\r\n \r\n
    \r\n \r\n setState((prevState) => ({\r\n ...prevState,\r\n showModal: false,\r\n }))\r\n }\r\n >\r\n \"close\"\r\n \r\n
    \r\n \r\n\r\n
    \r\n
    \r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    {state.showTopic ? state.subject : package_name}

    \r\n
    \r\n {!state.showTopic && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n {!state.showTopic && (\r\n
    \r\n
    \r\n {!isEmpty(commonBannerData.data)\r\n ? commonBannerData.data.subject.length\r\n ? commonBannerData.data.subject.map(\r\n (element, index) => {\r\n return (\r\n \r\n \r\n // handleChangeSubject(\r\n // event,\r\n // element.sub_id,\r\n // element.sub_name,\r\n // element.icon\r\n // )\r\n // }\r\n />\r\n {\r\n handleChangeSubject(\r\n null,\r\n element.sub_id,\r\n element.sub_name,\r\n element.icon\r\n );\r\n setTimeout(() => {\r\n handleShowTopic(\r\n element.sub_name\r\n );\r\n }, 100);\r\n }}\r\n >\r\n
    \r\n \r\n {element.sub_name}\r\n
    \r\n\r\n \r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null\r\n : null}\r\n {loader && }\r\n
    \r\n
    \r\n )}\r\n\r\n {state.showTopic && (\r\n
    \r\n
    \r\n {!isEmpty(state.topicList) ? (\r\n state.topicList.topic.length ? (\r\n state.topicList.topic.map((element, index) => {\r\n return (\r\n onHandleTakeTest(element)}\r\n >\r\n
    \r\n
    \r\n
    \r\n

    \r\n {element.topic_name}\r\n

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n ) : (\r\n
    \r\n \r\n
    \r\n )\r\n ) : //
    \r\n // \r\n //
    \r\n null}\r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n subjectData: state.userActivity.subjectData,\r\n userPreference: state.userPreference,\r\n userData: state.auth.user,\r\n commonBannerData: state.userActivity.commonBannerData,\r\n };\r\n};\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setSubjectData: (payload) => {\r\n dispatch(userActivityActions.setSubjectData(payload));\r\n },\r\n setTopicData: (payload) => {\r\n dispatch(userActivityActions.setTopicData(payload));\r\n },\r\n setExamCrackerTestsData: (payload) => {\r\n dispatch(userExamCrackerTestsAction.setExamCrackerTestsData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDipatchToProps\r\n)(ExamCrackerSubjectTopicLists);\r\n","import { Fragment } from \"react\";\r\nimport \"./mockTestInstructionView.scss\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst MockTestInstructionView = (props) => {\r\n let { testDetails, testSectionsDetails, startBtn } = props;\r\n function testTime(minutes) {\r\n var h = Math.floor(minutes / 60);\r\n var m = minutes % 60;\r\n h = h < 10 ? \"0\" + h : h;\r\n m = m < 10 ? \"0\" + m : m;\r\n return h + \":\" + m + \" hrs\";\r\n }\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    {testDetails.paper_name}
    \r\n
    \r\n
    \r\n
    {testDetails.format}
    \r\n
    \r\n Duration :\r\n \r\n {!isEmpty(testDetails)\r\n ? `${testTime(testDetails.duration_mins)}`\r\n : null}\r\n \r\n
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
      \r\n
    • This Section contains a set of questions for practice
    • \r\n
    • \r\n Users can go to previous question by clicking on the\r\n previous button\r\n
    • \r\n
    • \r\n Users can go to next question by clicking on the next\r\n button\r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    startBtn()} className=\"startTestBtn\">\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default MockTestInstructionView;\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport \"./mockTestQuestionView.scss\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { Link } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\n\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\n\r\nconst MockTestQuestionView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentQuestionDetails,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleGuessedAnswer,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n subjecSectiontWiseTestQuestions,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n selectedSubject,\r\n selectedSection,\r\n checkQuestion,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n\r\n useEffect(() => {\r\n if (\r\n countDownTimer.hours == 0 &&\r\n countDownTimer.minutes == 0 &&\r\n countDownTimer.seconds == 0\r\n ) {\r\n alert(\"Time is up. Your test will be auto submitted\");\r\n handleSubmitTest(currentQuestionDetails);\r\n }\r\n }, [countDownTimer.seconds]);\r\n const [isList, setisList] = useState(true);\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n const [lang, setLang] = useState(true);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n useMathjax(currentQuestionDetails, lang);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n // condition for Report Error modal submit button\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n //function for getting options Data from api\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n // const scrollUp = () => {\r\n // var element = document.getElementsByClassName(\r\n // \"questions_serial_number_collection\"\r\n // )[0];\r\n // element.scrollTo({\r\n // top: `${(currentQuestion + 1) * 80}`,\r\n // behavior: \"smooth\",\r\n // });\r\n // };\r\n // const scrollUp2 = () => {\r\n // var element = document.getElementsByClassName(\r\n // \"questions_serial_number_collection\"\r\n // )[0];\r\n // element.scrollTo({\r\n // top: `${(currentQuestion + 1) * 80 - 160}`,\r\n // behavior: \"smooth\",\r\n // });\r\n // };\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n // for report error modal\r\n const [showError, setShowError] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n let step;\r\n let type = currentQuestionDetails?.answer_type.toLowerCase();\r\n\r\n if (type === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 2:\r\n return renderInputField(currentQuestion, lang);\r\n case 3:\r\n return renderMultiSelect(currentQuestionDetails, currentQuestion, lang);\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 1) {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (questionData.option !== undefined && questionData.option !== null) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 2) {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 1) {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (\r\n lang == false &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 2) {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n \r\n // handleInputFieldChange(\r\n // event.target.value.replace(/[^0-9]/g, \"\")\r\n\r\n // )\r\n\r\n // }\r\n\r\n onChange={(event) => handleInputFieldChange(event)}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return {\r\n __html: lang\r\n ? questionsArr[currentQuestion].q_text\r\n : questionsArr[currentQuestion].q_text_hindi !== null\r\n ? questionsArr[currentQuestion].q_text_hindi\r\n : questionsArr[currentQuestion].q_text,\r\n };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderQuestion = () => {\r\n if (lang) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(currentQuestionDetails?.q_text_hindi)) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n return (\r\n

    \r\n );\r\n }\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n // const config = {\r\n // //loader: { load: [\"[tex]/html\"] },\r\n // loader: {\r\n // load: [\r\n // \"input/asciimath\",\r\n // \"output/chtml\",\r\n // \"ui/menu\",\r\n // \"[mml]/mml3\",\r\n // \"[tex]/html\",\r\n // ],\r\n // },\r\n // };\r\n\r\n const config = {\r\n \"fast-preview\": {\r\n disabled: true,\r\n },\r\n tex2jax: {\r\n inlineMath: [\r\n [\"$\", \"$\"],\r\n [\"\\\\(\", \"\\\\)\"],\r\n ],\r\n displayMath: [\r\n [\"$$\", \"$$\"],\r\n [\"\\\\[\", \"\\\\]\"],\r\n ],\r\n },\r\n messageStyle: \"none\",\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n {/*
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    */}\r\n\r\n {currentQuestionDetails.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {/* */}\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n \r\n handleSubmitTest(currentQuestionDetails)\r\n }\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n

    \r\n Select Subject:\r\n

    \r\n
    \r\n {Object.keys(subjecSectiontWiseTestQuestions).map(\r\n (subjectName, index) => {\r\n return (\r\n \r\n \r\n handleSubjectChange(subjectName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n Change Section:\r\n

    \r\n
    \r\n {selectedSubject &&\r\n Object.keys(\r\n subjecSectiontWiseTestQuestions[selectedSubject]\r\n ).map((sectionName, index) => {\r\n return (\r\n \r\n \r\n handleSectionChange(sectionName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/*

    Mock Test

    */}\r\n
    \r\n {/*
    \r\n \r\n Question type:{\" \"}\r\n {testQuestionsDetails[currentQuestion].answer_type}\r\n \r\n
    \r\n
    \r\n Mark For Review\r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n\r\n {currentQuestionDetails.q_text_hindi ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    */}\r\n
    \r\n \r\n {`Question ${Number(currentQuestion) + 1}.`}\r\n \r\n {/*

    */}\r\n\r\n
    {renderQuestion()}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestionDetails !== null &&\r\n currentQuestionDetails.option !== undefined\r\n ? renderOptions(currentQuestionDetails, lang)\r\n : \"\"}\r\n
    \r\n
    \r\n\r\n {/* toaster for successfull submission of Report error */}\r\n\r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect\r\n or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n\r\n
    \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(\r\n currentQuestion - 1\r\n );\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length ===\r\n currentQuestion + 1 ? (\r\n
    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n scrollUp();\r\n }}\r\n >\r\n Save & Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n {/* \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    */}\r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n \r\n {/*
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n {/*
    \r\n {subjecSectiontWiseTestQuestions[selectedSubject][\r\n selectedSection\r\n ]\r\n ? subjecSectiontWiseTestQuestions[selectedSubject][\r\n selectedSection\r\n ].map((element, index) => {\r\n return (\r\n \r\n {renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n */}\r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default MockTestQuestionView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\n///////\r\nimport MockTestInstructionView from \"./mockTestInstructionView/mockTestInstructionView\";\r\nimport MockTestQuestionView from \"./mockTestQuestionView/mockTestQuestionView\";\r\nimport mockActions from \"../../../../../../redux/mock_test_exercise/action\";\r\nimport {\r\n url_29,\r\n url_80,\r\n url_81,\r\n url_39,\r\n url_82,\r\n url_77,\r\n url_142,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst MockTestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n setMockTestsResultData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testSectionsDetails: {},\r\n\r\n testQuestionsDetails: [],\r\n currentQuestionDetails: {},\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 3,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n });\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n\r\n //setSubject(subject);\r\n };\r\n\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n };\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n getTestSectionsDetails();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(state.testDetails.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n //duration is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestSectionsDetails = async () => {\r\n let data = {\r\n paper_id: testData.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_29, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testSectionsDetails: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n // const response = await axios.post(url_80, data);\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/pyqquestionlist\",\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (paper_id, qid) => {\r\n // const headers = {\r\n // Authorization: `${tokenType} ${token}`,\r\n // };\r\n\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n startLoading();\r\n\r\n try {\r\n // const response = await axios.post(url_142, data);\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/pyqsinglequestion\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const subjectWiseData = (questions) => {\r\n const subjectSectionWiseData = {};\r\n for (let i = 0; i < questions.length; i++) {\r\n questions[i][\"matchIndex\"] = i;\r\n if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n [questions[i][\"section_name\"]]: [questions[i]],\r\n };\r\n } else if (\r\n subjectSectionWiseData[questions[i][\"subject\"]] &&\r\n !subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ]\r\n ) {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ] = [questions[i]];\r\n } else {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ].push(questions[i]);\r\n }\r\n }\r\n return subjectSectionWiseData;\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n //exitTimeCurrentOption\r\n const startBtn = async () => {\r\n let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testSectionsDetails) && !isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n returnedResponse.data.apiData.data\r\n );\r\n if (returnedResponse.result) {\r\n getCurrentQuestionDetails(\r\n returnedResponse.data.apiData.data[0].paper_id,\r\n returnedResponse.data.apiData.data[0].qid\r\n );\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n });\r\n let time = getNowTime();\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n //handleQuestionJump(lastOption);\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n const handlePreviousQuestionBtn = (cq) => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n handleSaveQuestion();\r\n\r\n window.scrollTo(0, 0);\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n }\r\n };\r\n\r\n const scrollUp = (currentQuestion) => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n //save prticular question\r\n\r\n // const handleSaveQuestion = async () => {\r\n // let { currentQuestion, initialTime, testQuestionsDetails, testDetails } =\r\n // state;\r\n // let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n // let formatData =\r\n // testDetails.format ===\r\n // \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n // ? \"MAIN\"\r\n // : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n // ? \"NEET\"\r\n // : \"OTHER\";\r\n\r\n // let data = {};\r\n\r\n // if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n // data = {\r\n // negative_marks: crntQuestionDetail.negative_marks,\r\n // option_int: testQuestionsDetails[currentQuestion]?.integer_answer\r\n // ?.length\r\n // ? testQuestionsDetails[currentQuestion].integer_answer\r\n // : \"\",\r\n // paper_id: crntQuestionDetail.paper_id,\r\n // partial_marks: crntQuestionDetail.partial_marks,\r\n // positive_marks: crntQuestionDetail.positive_marks,\r\n // qid: crntQuestionDetail.qid,\r\n // subject: crntQuestionDetail.subject,\r\n // time: crntQuestionDetail.totalTimeTaken,\r\n // topic_name: crntQuestionDetail.topic_name,\r\n // toughness: crntQuestionDetail.toughness,\r\n // format: formatData,\r\n // section: crntQuestionDetail.section_name,\r\n // };\r\n // } else {\r\n // data = {\r\n // negative_marks: Number(crntQuestionDetail.negative_marks),\r\n\r\n // option_id: crntQuestionDetail.userAnswerCollection.length\r\n // ? crntQuestionDetail.userAnswerCollection\r\n // : [],\r\n // paper_id: crntQuestionDetail.paper_id,\r\n // partial_marks: Number(crntQuestionDetail.partial_marks),\r\n // positive_marks: Number(crntQuestionDetail.positive_marks),\r\n // qid: crntQuestionDetail.qid,\r\n // subject: crntQuestionDetail.subject,\r\n // time: crntQuestionDetail.totalTimeTaken,\r\n // topic_name: crntQuestionDetail.topic_name,\r\n // toughness: crntQuestionDetail.toughness,\r\n // format: formatData,\r\n // section: crntQuestionDetail.section_name,\r\n // };\r\n // }\r\n // startLoading();\r\n // const response = await axios.post(url_82, data);\r\n // if (response.data.status === 200) {\r\n // finishLoading();\r\n // }\r\n // };\r\n\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails, testDetails } =\r\n state;\r\n console.log(\"testQuestionsDetails tesing\", testQuestionsDetails);\r\n\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n console.log(\"crntQuestionDetail tesing\", crntQuestionDetail);\r\n let formatData =\r\n testDetails.format ===\r\n \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let data = {};\r\n\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n option_int: testQuestionsDetails[currentQuestion]?.integer_answer\r\n ?.length\r\n ? testQuestionsDetails[currentQuestion].integer_answer\r\n : \"\",\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n } else if (crntQuestionDetail.answer_type == \"Multiple Correct\") {\r\n data = {\r\n negative_marks: Number(crntQuestionDetail.negative_marks),\r\n option_id: crntQuestionDetail?.userAnswerCollection?.length\r\n ? crntQuestionDetail.userAnswerCollection.map((item) => ({\r\n option_id: item.option_id,\r\n }))\r\n : [],\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: Number(crntQuestionDetail.partial_marks),\r\n positive_marks: Number(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n } else {\r\n data = {\r\n negative_marks: Number(crntQuestionDetail.negative_marks),\r\n option_id: [state.currentOptionId],\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: Number(crntQuestionDetail.partial_marks),\r\n positive_marks: Number(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n }\r\n startLoading();\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserPYQDetailsNew\",\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n ?.length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 3,\r\n };\r\n const response = await axios.post(url_77, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n const { testQuestionsDetails } = state;\r\n //handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[questionNumber].paper_id,\r\n testQuestionsDetails[questionNumber].qid\r\n );\r\n };\r\n\r\n // const handleSubmitTest = async (currentQuestionDetails) => {\r\n // let { testDetails, testQuestionsDetails } = state;\r\n\r\n // let element = currentQuestionDetails;\r\n\r\n // let questionArr = [];\r\n\r\n // if (element.answer_type.toLowerCase() === \"single correct\") {\r\n // let data = {\r\n // qid: element.qid,\r\n // type_id: element.type_id,\r\n // is_saved: element.is_saved,\r\n // total_time: element.totalTimeTaken,\r\n // is_attempted: element.isAttempted,\r\n // is_AnswerCorrect: element.isAnswerCorrect,\r\n // is_GessTypeAnswer: element.isAnswerGuessed,\r\n // paragraph_answer: element.paragraph_answer,\r\n // integer_answer: element.integer_answer,\r\n // positive_marks: element.positive_marks,\r\n // negative_marks: element.negative_marks,\r\n // partial_marks: element.partial_marks,\r\n // CorrectAnswerId: element.correctAnswerIdCollection,\r\n // WrongeAnswerId: element.wrongAnswerIdCollection,\r\n // answer: element.userAnswerCollection,\r\n // toughness_id: element.toughness_id,\r\n // subject: element.subject,\r\n // topic_id: element.topic_id,\r\n // };\r\n // if (!data.type_id) {\r\n // data.type_id = 6;\r\n // }\r\n // questionArr.push(data);\r\n // } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n // let data = {\r\n // qid: element.qid,\r\n // type_id: element.type_id,\r\n // is_saved: element.is_saved,\r\n // total_time: element.totalTimeTaken,\r\n // is_attempted: element.isAttempted,\r\n // is_AnswerCorrect: element.isAnswerCorrect,\r\n // is_GessTypeAnswer: element.isAnswerGuessed,\r\n // paragraph_answer: element.paragraph_answer,\r\n // integer_answer: element.integer_answer,\r\n // positive_marks: element.positive_marks,\r\n // negative_marks: element.negative_marks,\r\n // partial_marks: element.partial_marks,\r\n // CorrectAnswerId: element.correctAnswerIdCollection,\r\n // WrongeAnswerId: element.wrongAnswerIdCollection,\r\n // answer: element.userAnswerCollection,\r\n // toughness_id: element.toughness_id,\r\n // subject: element.subject,\r\n // topic_id: element.topic_id,\r\n // };\r\n // if (!data.type_id) {\r\n // data.type_id = 6;\r\n // }\r\n // questionArr.push(data);\r\n // } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n // let data = {\r\n // qid: element.qid,\r\n // type_id: element.type_id,\r\n // is_saved: element.is_saved,\r\n // total_time: element.totalTimeTaken,\r\n // is_attempted: element.isAttempted,\r\n // paragraph_answer: element.paragraph_answer,\r\n // integer_answer: element.integer_answer,\r\n // is_AnswerCorrect: element.isAnswerCorrect,\r\n // is_GessTypeAnswer: element.isAnswerGuessed,\r\n // positive_marks: element.positive_marks,\r\n // negative_marks: element.negative_marks,\r\n // partial_marks: element.partial_marks,\r\n // CorrectAnswerId: element.correctAnswerIdCollection,\r\n // WrongeAnswerId: element.wrongAnswerIdCollection,\r\n // answer: element.userAnswerCollection,\r\n // toughness_id: element.toughness_id,\r\n // subject: element.subject,\r\n // topic_id: element.topic_id,\r\n // };\r\n // if (!data.type_id) {\r\n // data.type_id = 6;\r\n // }\r\n // questionArr.push(data);\r\n // }\r\n // startLoading();\r\n // let returnedResponse = await submitTestApi(\r\n // userPreference,\r\n // testDetails,\r\n // questionArr\r\n // );\r\n // if (returnedResponse.result) {\r\n // finishLoading();\r\n // setMockTestsResultData(testDetails);\r\n\r\n // history.push({\r\n // pathname: \"/mock_test_summary\",\r\n // });\r\n // } else {\r\n // finishLoading();\r\n // alert(returnedResponse.data.message);\r\n // // history.push(\"/user_exercise_test\");\r\n // }\r\n // };\r\n\r\n const handleSubmitTest = async (currentQuestionDetails) => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let element = currentQuestionDetails;\r\n\r\n let questionArr = [];\r\n\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n setMockTestsResultData(testDetails);\r\n history.push({\r\n pathname: \"/mock_test_summary\",\r\n });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n // history.push(\"/user_exercise_test\");\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n paper_id: testDetails.paper_id,\r\n // time: state.countDownTimer?.minutes,\r\n time: 84,\r\n };\r\n\r\n try {\r\n const response = await axios.post(url_81, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.mockTestsData.mockTestData,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setMockTestsResultData: (payload) => {\r\n dispatch(mockActions.setMockTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(MockTestContentComponent);\r\n","import { Fragment } from \"react\";\r\n// import \"./pyq_test_component.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\n////////\r\nimport MockTestContentComponent from \"./mockTestContentComponent/mockTestContentComponent\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst MockTestComponent = (props) => {\r\n let { history, loader, userData } = props;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(MockTestComponent);\r\n","import { React, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { url_143 } from \"../../../../../../../custom_utilities/api_services\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\n// import { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport HeaderComponent from \"../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport Summary1 from \"../../../../../../../components/canvas_charts//canvas_doughnut_chart/CpsSummary1\";\r\n// import Summary2 from \"../../../../../../../../components/canvas_charts/canvas_doughnut_chart/CpsSummary2\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\nimport Mobile_header_component from \"../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileLeftSideBarComponent from \"../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport Mobile__right_sideBar_component from \"../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\n\r\nconst MockTestSummary = (props) => {\r\n let { startLoading, finishLoading, loader, testResultData, userData,userPreference, history } = props;\r\n let paperId = testResultData;\r\n const [state, setState] = useState();\r\n let historys = useHistory();\r\n const backBtn = () => {\r\n historys.push(\"/user_dashboard\");\r\n };\r\n\r\n useEffect(() => {\r\n getMockSummary();\r\n }, []);\r\n\r\n const getMockSummary = async () => {\r\n let data = {\r\n paper_id: testResultData.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_143, data);\r\n if (response.data.status === 200) {\r\n setState(response.data);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n const redirect5 = () => {\r\n historys.push({\r\n pathname: \"/mock_test_paper_solution\",\r\n state: {\r\n paperId,\r\n },\r\n });\r\n };\r\n let data1 = state?.data;\r\n let data2 = state?.marks_analysis;\r\n let data3 = state?.score_analysis;\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n\r\n return (\r\n <>\r\n
    \r\n {/* */}\r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    Test Summary

    \r\n
    \r\n
    \r\n
    \r\n

    Total Questions

    \r\n

    {data1?.total_questions}

    \r\n
    \r\n
    \r\n

    Total Marks

    \r\n

    {data1?.total_marks}

    \r\n
    \r\n
    \r\n

    Correct Answers

    \r\n

    {data1?.correct_answer}

    \r\n
    \r\n
    \r\n

    Incorrect Answer

    \r\n

    {data1?.incorrect_answer}

    \r\n
    \r\n
    \r\n

    Score Percentage

    \r\n

    {`${data1?.score_percentage}%`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n testResultData: state.mockTestsData.mockResultData,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(MockTestSummary);\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState } from \"react\";\r\n\r\nimport \"./MockQuestionPaperSolutionContent.scss\";\r\n\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport useMathjax from \"../../../../../../hooks/useMathjax\";\r\nimport { ReactComponent as List } from './list.svg'\r\nimport { ReactComponent as Grid } from './grid.svg'\r\nimport { ReactComponent as List1 } from './list1.svg'\r\nimport { ReactComponent as Grid1 } from './grid1.svg'\r\n\r\n\r\n\r\nconst MockQuestionPaperSolutionContent = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentSolutionDetails,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userData,\r\n } = props;\r\n\r\n let { userId } = userData;\r\n\r\n const [lang, setLang] = useState(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n const [toggleMenu,setToggleMenu] = useState(false);\r\n const [isList,setisList] = useState(true);\r\n\r\n useMathjax(currentSolutionDetails, lang);\r\n useMathjax(currentSolutionDetails, isList);\r\n\r\n const renderOptions = (currentSolutionDetails, lang) => {\r\n if (currentSolutionDetails) {\r\n let step,\r\n type = currentSolutionDetails.answer_type;\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(currentSolutionDetails, lang);\r\n case 2:\r\n return renderInputField(currentSolutionDetails, lang);\r\n case 3:\r\n return renderMultiSelect(currentSolutionDetails, lang);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const scrollUp = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80 - 160}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n const renderSingleSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (questionData?.option_hindi == null) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi?.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option?.length\r\n ? questionData.option?.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (questionData?.option_hindi == null) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi?.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderInputField = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n } else if (lang == false || currentSolutionDetails?.q_text_hindi == !null) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails?.q_text_hindi);\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.q_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n\r\n\r\n const renderVideo = (currentQuestionDetails) => {\r\n const videoId = currentQuestionDetails?.video_id_english;\r\n const hindiVideoId = currentQuestionDetails?.video_id_hindi;\r\n\r\n const isHindi = !lang && hindiVideoId;\r\n\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const isIframe = urlPattern.test(selectedVideoId);\r\n\r\n // const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (selectedVideoId && selectedVideoId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n\r\n {videoShow && isIframe ? (\r\n \r\n ) : null}\r\n {videoShow && !isIframe ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderSolution = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n } else if (lang == false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.sol_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.is_attempted == 1) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.is_attempted == 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.is_attempted == 1) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.is_attempted == 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n let progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Question\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n
    \r\n {currentSolutionDetails.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {/* */}\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails?.length}\r\n
    \r\n
    */}\r\n
    \r\n {/*

    Test

    */}\r\n
    \r\n

    \r\n Question type:{\" \"}\r\n \r\n {currentSolutionDetails?.answer_type}\r\n \r\n

    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n Question type: {currentSolutionDetails?.answer_type}\r\n \r\n
    \r\n {ConvertStringToHTML(\r\n currentSolutionDetails?.q_text_hindi\r\n ) ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    */}\r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n\r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails !== undefined ? (\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails.option !== undefined\r\n ? renderOptions(currentSolutionDetails, lang)\r\n : \"\"}\r\n
    \r\n\r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n setVideoShow(false);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n setVideoShow(false);\r\n scrollUp();\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    Solution :
    \r\n
    \r\n

    \r\n {renderVideo(currentSolutionDetails)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails?.length\r\n ? testQuestionsDetails?.map((element, index) => {\r\n return (\r\n \r\n {isList ? renderQuestionLabel1(element, index) : renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default MockQuestionPaperSolutionContent;\r\n","import { React, useState } from \"react\";\r\nimport MockQuestionPaperSolutionContent from \"./MockQuestionPaperSolutionContent\";\r\n\r\nimport {\r\n url_80,\r\n url_142,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst MockQuestionPaperSolution = (props) => {\r\n let { startLoading, finishLoading, loader, userData } = props;\r\n const [state, setState] = useState({\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n currentSolutionDetails: {},\r\n });\r\n\r\n useEffect(() => {\r\n getQuestionList();\r\n }, []);\r\n\r\n const location = useLocation();\r\n\r\n const getQuestionList = async () => {\r\n startLoading();\r\n let data = {\r\n paper_id: location.state.paperId.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_80, data);\r\n if (response.data.status === 200) {\r\n getCurrentSolutionDetails(\r\n response.data.data[state.currentQuestion].paper_id,\r\n response.data.data[state.currentQuestion].qid\r\n );\r\n\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getCurrentSolutionDetails = async (paper_id, qid) => {\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_142, data);\r\n\r\n if (response.data.status == 200) {\r\n finishLoading();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSolutionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n //nextBtn\r\n const handleNextQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n getCurrentSolutionDetails(paper_id, qid);\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n\r\n\r\n //previous btn\r\n const handlePreviousQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n //handleJump\r\n const handleQuestionJump = (questionNumber) => {\r\n const { paper_id, qid } = state.testQuestionsDetails[questionNumber];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n return (\r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(MockQuestionPaperSolution);","import { Fragment } from \"react\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\n\r\n\r\n\r\n\r\nconst MockTestPracticeInstructionView = (props) => {\r\nlet { testDetails, startBtn } = props;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    {testDetails.paper_name}
    \r\n
    \r\n
    \r\n
    {testDetails.format}
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n
    \r\n \r\n
    \r\n

    This Section contains a set of questions for practice

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default MockTestPracticeInstructionView;\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport \"./mockTestPracticeQuestionView.scss\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport axios from \"axios\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\n\r\nconst MockTestPracticeQuestionView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n page,\r\n currentQuestion,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleSaved,\r\n handleGuessedAnswer,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n selectedSubject,\r\n selectedSection,\r\n checkQuestion,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n handleCurrentOption,\r\n } = props;\r\n\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n const [isList, setisList] = useState(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n // condition for Report Error modal submit button\r\n\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n // function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const scrollUp = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const scrollUp2 = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80 - 160}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const [showError, setShowError] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n // for report error modal\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [disabled1, setDisabled] = useState(false);\r\n\r\n useMathjax(currentQuestionDetails, lang, sol);\r\n useMathjax(currentQuestionDetails, isList, sol);\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n setDisabled(false);\r\n };\r\n const handleSolution = () => {\r\n setSol(false);\r\n setVideoShow(false);\r\n //classEditor();\r\n };\r\n const disableSol = () => {\r\n setDisabled(true);\r\n };\r\n\r\n const renderSolutionss = () => {\r\n if (!sol) {\r\n return (\r\n <>\r\n

    \r\n {renderVideo()}\r\n \r\n );\r\n }\r\n };\r\n\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n if (currentQuestionDetails) {\r\n let step,\r\n type = currentQuestionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(currentQuestionDetails, currentQuestion);\r\n case 2:\r\n return renderInputField(currentQuestionDetails, currentQuestion);\r\n case 3:\r\n return renderMultiSelect(currentQuestionDetails, currentQuestion);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, wc, optionId) => {\r\n if (!sol && Number(s)) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!sol && wc && wc.indexOf(Number(optionId)) > -1) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const handlePurticularQuestion = (currentQuestion) => {\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion - 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion4 = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion + 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion + 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion3 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSol();\r\n } else {\r\n handleSolution();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2) => {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n handleCurrentOption(element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2) => {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item.option_id === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = (currentQuestionDetails, currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n {\r\n handleInputFieldChange(event);\r\n disableSol();\r\n }}\r\n disabled={checkQuestion ? false : true}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return {\r\n __html: lang\r\n ? questionsArr[currentQuestion].q_text\r\n : questionsArr[currentQuestion].q_text_hindi !== null\r\n ? questionsArr[currentQuestion].q_text_hindi\r\n : questionsArr[currentQuestion].q_text,\r\n };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion3(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n

    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion3(index);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n rr\r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const renderVideo = () => {\r\n const videoId = currentQuestionDetails?.video_id_english;\r\n const hindiVideoId = currentQuestionDetails?.video_id_hindi;\r\n\r\n const isHindi = !lang && hindiVideoId;\r\n\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const isIframe = urlPattern.test(selectedVideoId);\r\n\r\n // const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (selectedVideoId && selectedVideoId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n\r\n {videoShow && isIframe ? (\r\n \r\n ) : null}\r\n {videoShow && !isIframe ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderSingleQuestion = () => {\r\n if (lang) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(currentQuestionDetails?.q_text_hindi)) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n return (\r\n

    \r\n );\r\n }\r\n }\r\n };\r\n\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n // const config = {\r\n // //loader: { load: [\"[tex]/html\"] },\r\n // loader: {\r\n // load: [\r\n // \"input/asciimath\",\r\n // \"output/chtml\",\r\n // \"ui/menu\",\r\n // \"[mml]/mml3\",\r\n // \"[tex]/html\",\r\n // ],\r\n // },\r\n // };\r\n\r\n const config = {\r\n \"fast-preview\": {\r\n disabled: true,\r\n },\r\n tex2jax: {\r\n inlineMath: [\r\n [\"$\", \"$\"],\r\n [\"\\\\(\", \"\\\\)\"],\r\n ],\r\n displayMath: [\r\n [\"$$\", \"$$\"],\r\n [\"\\\\[\", \"\\\\]\"],\r\n ],\r\n },\r\n messageStyle: \"none\",\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n

    \r\n Question type:{\" \"}\r\n \r\n {\r\n testQuestionsDetails[currentQuestion]\r\n .answer_type\r\n }\r\n \r\n

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n {renderSingleQuestion()}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {currentQuestionDetails !== null &&\r\n currentQuestionDetails.option !== undefined\r\n ? renderOptions(currentQuestionDetails, lang)\r\n : \"\"}\r\n
    \r\n
    \r\n {renderSolutionss()}\r\n
    \r\n\r\n {/* toaster for successfull submission of Report error */}\r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n \r\n handleSubmitTest(currentQuestionDetails)\r\n }\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect\r\n or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n
    \r\n \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(\r\n currentQuestion - 1\r\n );\r\n scrollUp2();\r\n handlePurticularQuestion(currentQuestion);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {testQuestionsDetails.length ===\r\n currentQuestion + 1 ? (\r\n
    \r\n {sol ? (\r\n handleSolution()}\r\n >\r\n Solution\r\n \r\n ) : (\r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n )}\r\n
    \r\n ) : (\r\n
    \r\n {sol ? (\r\n handleSolution()}\r\n >\r\n Solution\r\n \r\n ) : (\r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n handleSol();\r\n scrollUp();\r\n handlePurticularQuestion4();\r\n }}\r\n >\r\n Next\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n {/* \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n\r\n {/*
    \r\n \r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? (\r\n <>{renderQuestionLabel1(element, index)}\r\n ) : (\r\n <>{renderQuestionLabel(element, index)}\r\n )}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default MockTestPracticeQuestionView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport MockTestPracticeInstructionView from \"./mockTestInstructionView/mockTestPracticeInstructionView\";\r\nimport MockTestPracticeQuestionView from \"./mockTestQuestionView/mockTestPracticeQuestionView\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_80,\r\n url_81,\r\n url_82,\r\n url_142,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport mockActions from \"../../../../../../redux/mock_test_exercise/action\";\r\n\r\nconst MockPracticeTestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n userPreference,\r\n setMockTestsResultData,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testInstructionData: {},\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n currentQuestionDetails: {},\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n currentOptionId: null,\r\n page: 1,\r\n countDownTimer: {\r\n hours: 0,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n left: 0,\r\n is_paid: 0,\r\n hours: 72,\r\n minutes: 0,\r\n seconds: 0,\r\n });\r\n\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n console.log({ currentQuestion });\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n //setSubject(subject);\r\n };\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n }, []);\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_80, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (paper_id, qid) => {\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_142, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const startBtn = async () => {\r\n // let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n if (!isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n\r\n if (returnedResponse.result) {\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n });\r\n\r\n // let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n //subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n // initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n getCurrentQuestionDetails(\r\n returnedResponse.data.apiData.data[0].paper_id,\r\n returnedResponse.data.apiData.data[0].qid\r\n );\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n\r\n const handlePreviousQuestionBtn = (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].isAttempted ||\r\n currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n ?.length\r\n ) {\r\n testQuestionsDetails[currentQuestion - 1].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion - 1].isReview = true;\r\n }\r\n\r\n // let time = getNowTime();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n // initialTime: time,\r\n }));\r\n\r\n handleSaveQuestion();\r\n window.scrollTo(0, 0);\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n }\r\n };\r\n\r\n const handleCurrentOption = (optionId) => {\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n currentOptionId: optionId,\r\n };\r\n });\r\n };\r\n\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testDetails, currentQuestionDetails } =\r\n state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n let data = {\r\n paper_id: currentQuestionDetails.paper_id,\r\n option_id: state.currentOptionId,\r\n qid: currentQuestionDetails.qid,\r\n time: calculatedTime,\r\n toughness: currentQuestionDetails.toughness_name,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_82, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n // const handleNextQuestionBtn = (cq) => {\r\n // let {\r\n // currentQuestion,\r\n // testQuestionsDetails,\r\n // currentQuestionDetails,\r\n // } = state;\r\n // handleSaveQuestion();\r\n // //newline add\r\n // if (\r\n // testQuestionsDetails[currentQuestion].isAttempted ||\r\n // currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n // ?.length\r\n // ) {\r\n // testQuestionsDetails[currentQuestion].isReview = false;\r\n // }\r\n // else {\r\n // testQuestionsDetails[currentQuestion].isReview = true;\r\n // }\r\n\r\n // setState((prevState) => ({\r\n // ...prevState,\r\n // currentQuestion: currentQuestion + 1,\r\n // testQuestionsDetails: testQuestionsDetails,\r\n // }));\r\n\r\n // getCurrentQuestionDetails(\r\n // testQuestionsDetails[cq].paper_id,\r\n // testQuestionsDetails[cq].qid\r\n // );\r\n\r\n // window.scrollTo(0, 0);\r\n // };\r\n\r\n // const handleNextQuestionBtn = (cq) => {\r\n // let { currentQuestion, testQuestionsDetails, currentQuestionDetails } =\r\n // state;\r\n // // handleSaveQuestion();\r\n // //newline add\r\n // // if (\r\n // // testQuestionsDetails[currentQuestion].isAttempted ||\r\n // // currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n // // ?.length\r\n // // ) {\r\n // // testQuestionsDetails[currentQuestion].isReview = true;\r\n // // }\r\n // // else {\r\n // // testQuestionsDetails[currentQuestion].isReview = false;\r\n // // }\r\n\r\n // setState((prevState) => ({\r\n // ...prevState,\r\n // currentQuestion: currentQuestion + 1,\r\n // testQuestionsDetails: testQuestionsDetails,\r\n // }));\r\n\r\n // // if (\r\n // // testQuestionsDetails[currentQuestion].isAttempted ||\r\n // // currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n // // ?.length\r\n // // ) {\r\n // // testQuestionsDetails[currentQuestion].isReview = true;\r\n // // }\r\n // // else {\r\n // // testQuestionsDetails[currentQuestion].isReview = false;\r\n // // }\r\n\r\n // getCurrentQuestionDetails(\r\n // testQuestionsDetails[cq].paper_id,\r\n // testQuestionsDetails[cq].qid\r\n // );\r\n // window.scrollTo(0, 0);\r\n // };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n\r\n const handleNextQuestionBtn = (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n ?.length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = {\r\n option_id: optionId,\r\n };\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n Number(optionId);\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element.option_id === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n let Obj = {\r\n option_id: optionId,\r\n };\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n Obj\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n if (\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ),\r\n 1\r\n );\r\n }\r\n } else {\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection\r\n .length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection.indexOf(optionId),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n // bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n // bookmarkApi(data);\r\n }\r\n };\r\n\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n const { testQuestionsDetails } = state;\r\n //handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[questionNumber].paper_id,\r\n testQuestionsDetails[questionNumber].qid\r\n );\r\n };\r\n\r\n const handleSubmitTest = async (currentQuestionDetails) => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let element = currentQuestionDetails;\r\n\r\n let questionArr = [];\r\n\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n setMockTestsResultData(testDetails);\r\n // history.push({\r\n // pathname: \"pyq_cps_exam\",\r\n // state: {\r\n // tab: \"mock_test\",\r\n // },\r\n // });\r\n\r\n history.push({\r\n pathname: \"/mock_test_summary\",\r\n });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n // history.push(\"/user_exercise_test\");\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n paper_id: testDetails.paper_id,\r\n time: 84,\r\n };\r\n try {\r\n const response = await axios.post(url_81, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.mockTestsData.mockTestData,\r\n ExamCrackerTopicData: state.userActivity.ExamCrackerTopicData,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setMockTestsResultData: (payload) => {\r\n dispatch(mockActions.setMockTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(MockPracticeTestContentComponent);\r\n","import { Fragment } from \"react\";\r\n\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\nimport MockPracticeTestContentComponent from \"./mockPracticeTestContentComponent/mockPracticeTestContentComponent\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst MockPracticeTestComponent = (props) => {\r\n let { history, loader, userData } = props;\r\n\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {loader && } \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(MockPracticeTestComponent);\r\n","import { Fragment } from \"react\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst BitSatTestInstructionView = (props) => {\r\n let { testDetails, testSectionsDetails, startBtn, handleRedirectBtn } = props;\r\n\r\n console.log(\"testDEtailstestDetails\", testDetails);\r\n function testTime(minutes) {\r\n var h = Math.floor(minutes / 60);\r\n var m = minutes % 60;\r\n h = h < 10 ? \"0\" + h : h;\r\n m = m < 10 ? \"0\" + m : m;\r\n return h + \":\" + m + \" hrs\";\r\n }\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    {testDetails.paper_name}
    \r\n
    \r\n Duration :\r\n {!isEmpty(testDetails)\r\n ? `${testTime(testDetails.duration_mins)}`\r\n : null}\r\n
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n {/*
    \r\n \r\n
    */}\r\n
    \r\n \r\n
    \r\n

    This Section contains a set of questions for practice

    \r\n

    \r\n Users can go to previous question by clicking on the\r\n previous button\r\n

    \r\n

    \r\n Users can go to next question by clicking on the next\r\n button\r\n

    \r\n
    Best of luck
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default BitSatTestInstructionView;\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./bitSatTestQuestionsView.scss\"\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport images from \"../.././../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer, toast } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../../custom_utilities/toastify_config\";\r\nimport useMathjax from \"../../../../../../../hooks/useMathjax\";\r\n\r\nconst BitSatTestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentQuestionDetails,\r\n countDownTimer,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleSaved,\r\n handleGuessedAnswer,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n subjecSectiontWiseTestQuestions,\r\n handleSectionChange,\r\n handleSubjectChange,\r\n selectedSubject,\r\n selectedSection,\r\n checkQuestion,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n\r\n useEffect(() => {\r\n if (countDownTimer.hours == 0 && countDownTimer.minutes == 0 && countDownTimer.seconds == 0) {\r\n alert(\"Time is up. Your test will be auto submitted\");\r\n handleSubmitTest(currentQuestionDetails);\r\n }\r\n}, [countDownTimer.seconds]);\r\n\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n const [lang, setLang] = useState(true);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n const [isList,setisList] = useState(true);\r\n\r\n useMathjax(currentQuestionDetails, lang, isList);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n // condition for Report Error modal submit button\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n //function for getting options Data from api\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const scrollUp = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const scrollUp2 = () => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80 - 160}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n // for report error modal\r\n const [showError, setShowError] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n const renderOptions = (currentQuestionDetails, lang) => {\r\n let step;\r\n let type = currentQuestionDetails?.answer_type.toLowerCase();\r\n\r\n if (type === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentQuestionDetails,\r\n currentQuestion,\r\n lang\r\n );\r\n case 2:\r\n return renderInputField(currentQuestion, lang);\r\n case 3:\r\n return renderMultiSelect(currentQuestionDetails, currentQuestion, lang);\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 1) {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (questionData.option !== undefined && questionData.option !== null) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 2) {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n \r\n handleSingleSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 1) {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (\r\n lang == false &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 2) {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) =>\r\n handleMultiSelectAnswer(event, element.option_id)\r\n }\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n \r\n // handleInputFieldChange(\r\n // event.target.value.replace(/[^0-9]/g, \"\")\r\n\r\n // )\r\n\r\n // }\r\n\r\n onChange={(event) => handleInputFieldChange(event)}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return {\r\n __html: lang\r\n ? questionsArr[currentQuestion].q_text\r\n : questionsArr[currentQuestion].q_text_hindi !== null\r\n ? questionsArr[currentQuestion].q_text_hindi\r\n : questionsArr[currentQuestion].q_text,\r\n };\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const renderQuestion = () => {\r\n if (lang) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(currentQuestionDetails?.q_text_hindi)) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n return (\r\n

    \r\n );\r\n }\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else if (question.isAnswerGuessed) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*
    \r\n

    \r\n
    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n // const config = {\r\n // //loader: { load: [\"[tex]/html\"] },\r\n // loader: {\r\n // load: [\r\n // \"input/asciimath\",\r\n // \"output/chtml\",\r\n // \"ui/menu\",\r\n // \"[mml]/mml3\",\r\n // \"[tex]/html\",\r\n // ],\r\n // },\r\n // };\r\n\r\n const config = {\r\n \"fast-preview\": {\r\n disabled: true\r\n },\r\n tex2jax: {\r\n inlineMath: [\r\n [\"$\", \"$\"],\r\n [\"\\\\(\", \"\\\\)\"]\r\n ],\r\n displayMath: [\r\n [\"$$\", \"$$\"],\r\n [\"\\\\[\", \"\\\\]\"]\r\n ]\r\n },\r\n messageStyle: \"none\"\r\n };\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n {/*
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n {\r\n //handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]\r\n .isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    \r\n\r\n {currentQuestionDetails?.answer_type?.toLowerCase() ===\r\n \"integer correct\" ? (\r\n <>\r\n {ConvertStringToHTML(\r\n currentQuestionDetails?.q_text_hindi\r\n ) ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n ) : (\r\n <>\r\n {ConvertStringToHTML(\r\n currentQuestionDetails?.q_text_hindi\r\n ) &&\r\n currentQuestionDetails?.option_hindi?.length >\r\n 0 ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Select Subject:

    \r\n
    \r\n {Object.keys(subjecSectiontWiseTestQuestions).map(\r\n (subjectName, index) => {\r\n return (\r\n
    \r\n \r\n handleSubjectChange(subjectName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n

    Change Section:

    \r\n
    \r\n {selectedSubject &&\r\n Object.keys(\r\n subjecSectiontWiseTestQuestions[selectedSubject]\r\n ).map((sectionName, index) => {\r\n return (\r\n
    \r\n \r\n handleSectionChange(sectionName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n

    \r\n Question type:\r\n \r\n {` `}\r\n {testQuestionsDetails[currentQuestion]?.type}\r\n \r\n

    \r\n {/*

    \r\n Topic:\r\n \r\n {` `}\r\n {testQuestionsDetails[currentQuestion]?.topic_name}\r\n {` | `}\r\n \r\n \r\n {\r\n testQuestionsDetails[currentQuestion]\r\n ?.sub_topic_name\r\n }\r\n \r\n

    */}\r\n
    \r\n\r\n
    \r\n

    \r\n Question {currentQuestion + 1}\r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n {renderQuestion()}\r\n
    \r\n
    \r\n\r\n {/*
    */}\r\n
    \r\n
    \r\n {/*
    \r\n
    */}\r\n {/*
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed ? (\r\n handleReview()}\r\n />\r\n ) : (\r\n handleReview()}\r\n />\r\n )}\r\n
    */}\r\n {/*
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion].is_saved ? (\r\n handleSaved()}\r\n />\r\n ) : (\r\n handleSaved()}\r\n />\r\n )}\r\n
    */}\r\n {/*
    \r\n
    */}\r\n {/*
    \r\n
    \r\n

    {`Sub-Topic: ${handleSubTopicText()}`}

    \r\n
    \r\n
    \r\n

    {`Question Type: ${handleQuestionType()}`}

    \r\n
    \r\n
    */}\r\n {/* \r\n \r\n \r\n
    \r\n \"\"\r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n */}\r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    \r\n Do you want to continue the exam or you want to\r\n Submit.\r\n

    \r\n
    \r\n \r\n \r\n handleSubmitTest(currentQuestionDetails)\r\n }\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {/*
    \r\n
    \r\n {Object.keys(subjecSectiontWiseTestQuestions).map(\r\n (subjectName, index) => {\r\n return (\r\n
    \r\n \r\n handleSubjectChange(subjectName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n }\r\n )}\r\n
    \r\n\r\n
    \r\n {selectedSubject &&\r\n Object.keys(\r\n subjecSectiontWiseTestQuestions[selectedSubject]\r\n ).map((sectionName, index) => {\r\n return (\r\n
    \r\n \r\n handleSectionChange(sectionName)\r\n }\r\n />\r\n \r\n
    \r\n );\r\n })}\r\n
    \r\n
    */}\r\n
    \r\n \r\n
    \r\n {/* {renderOptions()} */}\r\n {currentQuestionDetails !== null &&\r\n currentQuestionDetails.option !== undefined\r\n ? renderOptions(currentQuestionDetails, lang)\r\n : \"\"}\r\n
    \r\n
    \r\n {/* toaster for successfull submission of Report error */}\r\n\r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect\r\n or error in question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n Submit\r\n \r\n
    \r\n
    \r\n \r\n\r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n \r\n\r\n {/* \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    */}\r\n {/*
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n //
    onClick={handleShow}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n scrollUp();\r\n }}\r\n >\r\n Save & Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    */}\r\n
    \r\n

    {testQuestionsDetails[currentQuestion]?.exam_name ?? \"Test\"}

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList ? <>{renderQuestionLabel1(element, index)} : <>{renderQuestionLabel(element, index)}}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n {/*
    \r\n {subjecSectiontWiseTestQuestions[selectedSubject][\r\n selectedSection\r\n ]\r\n ? subjecSectiontWiseTestQuestions[selectedSubject][\r\n selectedSection\r\n ].map((element, index) => {\r\n return (\r\n \r\n {renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    */}\r\n
    \r\n {/* */}\r\n
    \r\n {/*
    \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n
    \r\n
    \r\n

    Test Name

    \r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {renderQuestionLabel(element, index, lang)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n \r\n {\r\n handleLastQuestionSave();\r\n handleShow();\r\n }}\r\n >\r\n Submit Test\r\n \r\n */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default BitSatTestQuestionsView;\r\n\r\n\r\n\r\n\r\n\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport BitSatTestInstructionView from \"./bitSatTestInstructionView/bitSatTestInstructionView\";\r\nimport BitSatTestQuestionsView from \"./bitSatTestQuestionsView/bitSatTestQuestionsView\";\r\nimport bitSatActions from \"../../../../../../redux/bit_sat_test_exercises/action\";\r\nimport {\r\n url_80,\r\n url_29,\r\n url_81,\r\n url_39,\r\n url_82,\r\n url_76,\r\n url_77,\r\n url_142,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\n\r\nconst BitSatTestContentComponent = (props) => {\r\n let {\r\n history,\r\n testData,\r\n setBitSatTestsResultData,\r\n userPreference,\r\n startLoading,\r\n finishLoading,\r\n userData,\r\n paperId,\r\n } = props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n currentQuestionDetails: {},\r\n subjecSectiontWiseTestQuestions: {},\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n countDownTimer: {\r\n hours: 3,\r\n minutes: 0,\r\n seconds: 0,\r\n },\r\n initialTime: 0,\r\n useTime: 0,\r\n });\r\n\r\n const [selectedSubject, setSubject] = useState(\"\");\r\n const [selectedSection, setSection] = useState(\"\");\r\n\r\n const handleSubjectChange = (subject) => {\r\n const section = Object.keys(\r\n state.subjecSectiontWiseTestQuestions[subject]\r\n )[0];\r\n setSubject(subject);\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n\r\n //setSubject(subject);\r\n };\r\n const handleSectionChange = (section) => {\r\n setSection(section);\r\n const currentQuestion =\r\n state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n \"matchIndex\"\r\n ];\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion,\r\n }));\r\n\r\n const { testQuestionsDetails } = state;\r\n let cq = currentQuestion;\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n scrollUp(currentQuestion);\r\n };\r\n\r\n // useEffect(() => {\r\n // subjectWiseData(state.testQuestionsDetails);\r\n // }, [state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n if (state.testQuestionsDetails.length) {\r\n setSubject(state.testQuestionsDetails[state.currentQuestion][\"subject\"]);\r\n setSection(\r\n state.testQuestionsDetails[state.currentQuestion][\"section_name\"]\r\n );\r\n }\r\n }, [state.currentQuestion, state.testQuestionsDetails]);\r\n\r\n useEffect(() => {\r\n getTestDetails();\r\n getTestSectionsDetails();\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (state.step === 2) {\r\n createCountDownTimer(state.testDetails.duration_mins);\r\n }\r\n return () => {\r\n clearInterval(timeInterval);\r\n };\r\n }, [state.step]);\r\n\r\n let timeInterval;\r\n const createCountDownTimer = (duration) => {\r\n let useTime = state.useTime ?? 0;\r\n useTime = useTime * 1000;\r\n\r\n //duration is in minutes, first convert it to milliseconds\r\n let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n countdownTime = countdownTime - useTime;\r\n\r\n timeInterval = setInterval(() => {\r\n let now = new Date().getTime();\r\n let distance = countdownTime - now;\r\n if (distance < 0) {\r\n clearInterval(timeInterval);\r\n //hidemyend //handleSubmitTest();\r\n }\r\n let hours = Math.floor(\r\n (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n );\r\n let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n setState((prevState) => ({\r\n ...prevState,\r\n countDownTimer: {\r\n ...prevState.countDownTimer,\r\n hours,\r\n minutes,\r\n seconds,\r\n },\r\n }));\r\n }, 1000);\r\n };\r\n\r\n const getTestDetails = () => {\r\n setState((prevState) => ({ ...prevState, testDetails: testData }));\r\n };\r\n\r\n const getTestSectionsDetails = async () => {\r\n let data = {\r\n paper_id: testData.paper_id,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_29, data);\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testSectionsDetails: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n paper_id: testDetails.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_80, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const getCurrentQuestionDetails = async (paper_id, qid) => {\r\n // const headers = {\r\n // Authorization: `${tokenType} ${token}`,\r\n // };\r\n\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_142, data);\r\n console.log(\"getCurrentQuestionDetails\", response);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n const subjectWiseData = (questions) => {\r\n const subjectSectionWiseData = {};\r\n for (let i = 0; i < questions.length; i++) {\r\n questions[i][\"matchIndex\"] = i;\r\n if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n [questions[i][\"section_name\"]]: [questions[i]],\r\n };\r\n } else if (\r\n subjectSectionWiseData[questions[i][\"subject\"]] &&\r\n !subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ]\r\n ) {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ] = [questions[i]];\r\n } else {\r\n subjectSectionWiseData[questions[i][\"subject\"]][\r\n questions[i][\"section_name\"]\r\n ].push(questions[i]);\r\n }\r\n }\r\n return subjectSectionWiseData;\r\n };\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n return d.getTime();\r\n };\r\n //exitTimeCurrentOption\r\n const startBtn = async () => {\r\n //let lastOption = Number(localStorage.getItem(\"current\"));\r\n let testSectionsDetails = { ...state.testSectionsDetails };\r\n let testDetails = { ...state.testDetails };\r\n\r\n if (!isEmpty(testSectionsDetails) && !isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n returnedResponse.data.apiData.data\r\n );\r\n if (returnedResponse.result) {\r\n getCurrentQuestionDetails(\r\n returnedResponse.data.apiData.data[0].paper_id,\r\n returnedResponse.data.apiData.data[0].qid\r\n );\r\n\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n // element.q_text = element.q_text.replaceAll(\r\n // \"ckfinder\",\r\n // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n //\r\n // \"src=\\\"ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"src=\\\"/ckfinder\", \"src=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"/ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // )\r\n // .replaceAll(\r\n // \"SRC=\\\"./ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // ).replaceAll(\r\n // \"SRC= \\\"ckfinder\", \"SRC=\\\"http://quizmaster.motion.ac.in/ckfinder\"\r\n // );\r\n });\r\n let time = getNowTime();\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n //handleQuestionJump(lastOption);\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n const handlePreviousQuestionBtn = (cq) => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n handleSaveQuestion();\r\n\r\n window.scrollTo(0, 0);\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n }\r\n };\r\n\r\n const scrollUp = (currentQuestion) => {\r\n var element = document.getElementsByClassName(\r\n \"questions_serial_number_collection\"\r\n )[0];\r\n element.scrollTo({\r\n top: `${(currentQuestion + 1) * 80}`,\r\n behavior: \"smooth\",\r\n });\r\n };\r\n\r\n //save prticular question\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails, testDetails } =\r\n state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let formatData =\r\n testDetails.format ===\r\n \"MAIN PATTERN TEST [20 SINGLE, 10 NUMERIC] EACH SUBJECT\"\r\n ? \"MAIN\"\r\n : testDetails.format === \"NEET NEW PATTERN 2021 OTS\"\r\n ? \"NEET\"\r\n : \"OTHER\";\r\n\r\n let data = {};\r\n\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n negative_marks: crntQuestionDetail.negative_marks,\r\n option_int: testQuestionsDetails[currentQuestion]?.integer_answer\r\n ?.length\r\n ? testQuestionsDetails[currentQuestion].integer_answer\r\n : \"\",\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: crntQuestionDetail.partial_marks,\r\n positive_marks: crntQuestionDetail.positive_marks,\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n } else {\r\n data = {\r\n negative_marks: Number(crntQuestionDetail.negative_marks),\r\n\r\n option_id: crntQuestionDetail.userAnswerCollection.length\r\n ? crntQuestionDetail.userAnswerCollection\r\n : [],\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: Number(crntQuestionDetail.partial_marks),\r\n positive_marks: Number(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: crntQuestionDetail.totalTimeTaken,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n format: formatData,\r\n section: crntQuestionDetail.section_name,\r\n };\r\n }\r\n startLoading();\r\n const response = await axios.post(url_82, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = (cq) => {\r\n let {\r\n currentQuestion,\r\n initialTime,\r\n testQuestionsDetails,\r\n currentQuestionDetails,\r\n } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n currentQuestionDetails?.option?.filter((m) => m.is_user_correct_ans)\r\n ?.length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[cq].paper_id,\r\n testQuestionsDetails[cq].qid\r\n );\r\n\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n //localStorage.setItem(\"current\", currentQuestion);\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n const reviewQuestion = async (currentQuestion) => {\r\n const { paper_id, qid, isAnswerGuessed } = currentQuestion;\r\n let data = {\r\n paper_id: paper_id,\r\n reference_id: qid,\r\n status: isAnswerGuessed ? 1 : 0,\r\n type: 3,\r\n };\r\n const response = await axios.post(url_77, data);\r\n };\r\n\r\n const handleReview = () => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed =\r\n !testQuestionsDetails[currentQuestion].isAnswerGuessed;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n reviewQuestion(testQuestionsDetails[currentQuestion]);\r\n };\r\n\r\n const handleSaved = () => {\r\n let { currentQuestion, testQuestionsDetails, testDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].is_saved =\r\n !testQuestionsDetails[currentQuestion].is_saved;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n if (testQuestionsDetails[currentQuestion].is_saved) {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 1, // 1=> save\r\n };\r\n bookmarkApi(data);\r\n } else {\r\n let data = {\r\n type: 3, // 3=>test\r\n reference_id: testQuestionsDetails[currentQuestion].qid,\r\n status: 0, // 0=> unsave\r\n };\r\n bookmarkApi(data);\r\n }\r\n };\r\n const bookmarkApi = async (data) => {\r\n try {\r\n const response = await axios.post(url_39, data);\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n const handleGuessedAnswer = (event) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n testQuestionsDetails[currentQuestion].isAnswerGuessed = checked;\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n const { testQuestionsDetails } = state;\r\n\r\n //handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n // currentQuestion:0,\r\n }));\r\n\r\n getCurrentQuestionDetails(\r\n testQuestionsDetails[questionNumber].paper_id,\r\n testQuestionsDetails[questionNumber].qid\r\n );\r\n };\r\n\r\n const handleSubmitTest = async (currentQuestionDetails) => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let element = currentQuestionDetails;\r\n\r\n let questionArr = [];\r\n\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n // setPyqTestsResultData(testDetails);\r\n setBitSatTestsResultData(testDetails);\r\n history.push({\r\n pathname: \"/bit_sat_summary\",\r\n });\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n // history.push(\"/user_exercise_test\");\r\n }\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n // course_id: userPreference.courseDetails[0].course_id,\r\n // class_id: userPreference.classDetails.class_id,\r\n // batch_id: userPreference.batchDetails.batch_id,\r\n paper_id: testDetails.paper_id,\r\n // time: state.countDownTimer?.minutes,\r\n time: 84,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n };\r\n\r\n // let requestPayload = {\r\n // course_id: 36,\r\n // class_id: 2,\r\n // batch_id: 30,\r\n // paper_id: testDetails.paper_id,\r\n // paper_duration: testDetails.duration_mins,\r\n // paper_marks: testDetails.total_marks,\r\n // question: questionArr,\r\n // };\r\n\r\n try {\r\n const response = await axios.post(url_81, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push(\"/bit_sat\");\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n testData: state.bitSatTestsData.bitSatTestData,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n\r\n setBitSatTestsResultData: (payload) => {\r\n dispatch(bitSatActions.setBitSatTestsResultData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(BitSatTestContentComponent);\r\n\r\n","import { Fragment } from \"react\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\nimport BitSatTestContentComponent from \"../bitSatTestComponent/bitSatTestContentComponent/bitSatTestContentComponent\";\r\nimport { useLocation } from \"react-router-dom\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst BitSatTestComponent = (props) => {\r\n let { history, loader,userData } = props;\r\n let location = useLocation()\r\n let paperId = location?.state.testData.paper_id\r\n return (\r\n \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(BitSatTestComponent);\r\n","import { React, useState } from \"react\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport { url_143 } from \"../../../../../../../custom_utilities/api_services\";\r\nimport { CircularProgressbar, buildStyles } from \"react-circular-progressbar\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport HeaderComponent from \"../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport Summary1 from \"../../../../../../../components/canvas_charts/canvas_doughnut_chart/CpsSummary1\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\nimport Mobile__right_sideBar_component from \"../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Mobile_header_component from \"../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileLeftSideBarComponent from \"../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\n\r\nconst BitSatSummary = (props) => {\r\n let { startLoading, finishLoading, loader, testResultData, userData, userPreference, history } = props;\r\n\r\n let paperId = testResultData;\r\n const [state, setState] = useState();\r\n let historys = useHistory();\r\n const backBtn = () => {\r\n historys.push(\"/user_dashboard\");\r\n };\r\n const location = useLocation();\r\n useEffect(() => {\r\n getPyqSummary();\r\n }, []);\r\n\r\n const getPyqSummary = async () => {\r\n let data = {\r\n paper_id: testResultData.paper_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_143, data);\r\n if (response.data.status === 200) {\r\n setState(response.data);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n const redirect5 = () => {\r\n historys.push({\r\n // pathname: \"/Question_paper_solution\",\r\n pathname: \"/bit_sat_question_paper_solution\",\r\n state: {\r\n paperId,\r\n },\r\n });\r\n };\r\n let data1 = state?.data;\r\n let data2 = state?.marks_analysis;\r\n let data3 = state?.score_analysis;\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n return (\r\n <>\r\n
    \r\n {/* */}\r\n {windowWidth <= 480 ? (\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    Test Summary

    \r\n
    \r\n
    \r\n
    \r\n

    Total Questions

    \r\n

    {data1?.total_questions}

    \r\n
    \r\n
    \r\n

    Total Marks

    \r\n

    {data1?.total_marks}

    \r\n
    \r\n
    \r\n

    Correct Answers

    \r\n

    {data1?.correct_answer}

    \r\n
    \r\n
    \r\n

    Incorrect Answer

    \r\n

    {data1?.incorrect_answer}

    \r\n
    \r\n
    \r\n

    Score Percentage

    \r\n

    {`${data1?.score_percentage}%`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n testResultData: state.bitSatTestsData.bitSatResultData,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(BitSatSummary);\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState, useRef } from \"react\";\r\nimport './bitSatQuestionPaperSolutionContent.scss'\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport { ReactComponent as List } from './list.svg'\r\nimport { ReactComponent as Grid } from './grid.svg'\r\nimport { ReactComponent as List1 } from './list1.svg'\r\nimport { ReactComponent as Grid1 } from './grid1.svg'\r\n\r\nconst BitSatQuestionPaperSolutionContent = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentSolutionDetails,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userId,\r\n } = props;\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const [lang, setLang] = useState(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n const [isList, setisList] = useState(false);\r\n\r\n const renderOptions = (currentSolutionDetails, lang) => {\r\n if (currentSolutionDetails) {\r\n let step,\r\n type = currentSolutionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(currentSolutionDetails, lang);\r\n case 2:\r\n return renderInputField(currentSolutionDetails, lang);\r\n case 3:\r\n return renderMultiSelect(currentSolutionDetails, lang);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, lang) => {\r\n if (lang == true) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n } else if (lang == false) {\r\n return (\r\n \r\n
    \r\n {questionData?.option_hindi.length\r\n ? questionData.option_hindi.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = () => {\r\n return (\r\n \r\n
    \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderQuestionText = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n } else if (lang == false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.q_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.q_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n const renderSolution = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n } else if (lang == false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.sol_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true, \"userId\": \"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // Jump to a particular time\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n // Handle message event for receiving video timing details\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimingDetails\",\r\n JSON.stringify(videoTimingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n };\r\n\r\n const renderVideo = (currentQuestionDetails) => {\r\n const videoId = currentQuestionDetails.video_id_english;\r\n const hindiVideoId = currentQuestionDetails.video_id_hindi;\r\n const englishVideoCriptId = currentQuestionDetails.english_video_cript_id;\r\n const hindiVideoCriptId = currentQuestionDetails.hindi_video_cript_id;\r\n\r\n const isHindi = !lang && hindiVideoId && hindiVideoCriptId;\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n const selectedVideoCriptId = isHindi\r\n ? hindiVideoCriptId\r\n : englishVideoCriptId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n if (!urlPattern.test(selectedVideoId)) {\r\n return null;\r\n }\r\n\r\n const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n\r\n if (selectedVideoCriptId && selectedVideoCriptId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n {videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {selectedVideoId && (\r\n \r\n {buttonLabel}\r\n \r\n )}\r\n\r\n {videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n // const renderQuestionLabel = (question, index) => {\r\n // if (currentQuestion === index) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // if (question.isAttempted) {\r\n // if (question.isReview) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n //
    \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // }\r\n // } else {\r\n // if (question.isReview) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else if (question.isSkipped) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else if (\r\n // question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n // question.integer_answer?.length\r\n // ) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //

    \r\n //
    \r\n // \r\n // \r\n // );\r\n // }\r\n // }\r\n // }\r\n // };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.is_attempted == 1) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.is_attempted == 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.is_attempted == 1) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.is_attempted == 0) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n setVideoShow(false);\r\n }}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n
    \r\n {ConvertStringToHTML(\r\n currentSolutionDetails?.q_text_hindi\r\n ) ? (\r\n setLang(!lang)}\r\n >\r\n {/* */}\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails?.length}\r\n
    \r\n
    */}\r\n
    \r\n {/*

    Exam Test

    */}\r\n
    \r\n

    \r\n Question type:{\" \"}\r\n {currentSolutionDetails?.answer_type}\r\n

    \r\n
    \r\n
    \r\n {/*
    \r\n \r\n Question type: {currentSolutionDetails?.answer_type}\r\n \r\n
    \r\n {ConvertStringToHTML(\r\n currentSolutionDetails?.q_text_hindi\r\n ) ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    */}\r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n\r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails !== undefined ? (\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails.option !== undefined\r\n ? renderOptions(currentSolutionDetails, lang)\r\n : \"\"}\r\n
    \r\n\r\n {/*
    \r\n
    \r\n handleGuessedAnswer(event)}\r\n />\r\n \r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n scrollUp();\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    Solution :
    \r\n
    \r\n

    \r\n {renderVideo(currentSolutionDetails)}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails?.length\r\n ? testQuestionsDetails?.map((element, index) => {\r\n return (\r\n \r\n {isList\r\n ? renderQuestionLabel1(element, index)\r\n : renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default BitSatQuestionPaperSolutionContent;\r\n","import { React, useState } from \"react\";\r\nimport BitSatQuestionPaperSolutionContent from \"./bitSatQuestionPaperSolutionContent\";\r\n\r\nimport {\r\n url_80,\r\n url_142,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { useLocation } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\n\r\nconst BitSatQuestionPaperSolution = (props) => {\r\n let { startLoading, finishLoading, loader, userData } = props;\r\n const [state, setState] = useState({\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n currentSolutionDetails: {},\r\n });\r\n useEffect(() => {\r\n getQuestionList();\r\n }, []);\r\n\r\n const location = useLocation();\r\n\r\n const getQuestionList = async () => {\r\n startLoading();\r\n let data = {\r\n //paper_id: location.state.reportDataDetails.PaperData.paper_id,\r\n paper_id: location.state.paperId.paper_id,\r\n };\r\n try {\r\n const response = await axios.post(url_80, data);\r\n if (response.data.status === 200) {\r\n getCurrentSolutionDetails(\r\n response.data.data[state.currentQuestion].paper_id,\r\n response.data.data[state.currentQuestion].qid\r\n );\r\n\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getCurrentSolutionDetails = async (paper_id, qid) => {\r\n const data = {\r\n paper_id,\r\n qid,\r\n };\r\n\r\n startLoading();\r\n\r\n try {\r\n const response = await axios.post(url_142, data);\r\n\r\n if (response.data.status == 200) {\r\n finishLoading();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSolutionDetails: response.data.data[0],\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n //nextBtn\r\n const handleNextQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n //previous btn\r\n const handlePreviousQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n const { paper_id, qid } = testQuestionsDetails[currentQuestion2];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n //handleJump\r\n const handleQuestionJump = (questionNumber) => {\r\n const { paper_id, qid } = state.testQuestionsDetails[questionNumber];\r\n\r\n getCurrentSolutionDetails(paper_id, qid);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n return (\r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(BitSatQuestionPaperSolution);\r\n","import React, { useEffect, useState } from \"react\";\r\nimport Lottie from \"lottie-react\";\r\nimport payment_successfull from \"./payment_successfull.json\";\r\nimport payment_failed from \"./payment_failed.json\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport { useHistory } from \"react-router\";\r\nimport { url_19, url_8, url_148 } from \"../api_services\";\r\nimport uiActions from \"../../redux/ui/action\";\r\nimport authActions from \"../../redux/auth/action\";\r\n\r\nimport { Analytics } from \"aws-amplify\";\r\nconst CcAvenueResponse = (props) => {\r\n const {\r\n orderId,\r\n userData,\r\n token,\r\n tokenType,\r\n transactionData,\r\n startLoading,\r\n finishLoading,\r\n setUser,\r\n refferalCode,\r\n } = props;\r\n\r\n const {\r\n course_id,\r\n batch_id,\r\n package_id,\r\n txn_amount,\r\n txn_discount_amount,\r\n txn_date,\r\n package_duration,\r\n txnid,\r\n } = transactionData;\r\n\r\n const [ccAvenueResponse, setccAvenueResponse] = useState({});\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n getCcAvenueResponse();\r\n }, []);\r\n\r\n const getCcAvenueResponse = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const response = await axios.post(\r\n `${url_148}?user_id=${\r\n userData.user_id\r\n }&orderId=${orderId}&referral_code=${refferalCode}&coins_used=${\"0\"}&coin_discount=${\"0\"}&mode=web`,\r\n { headers }\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setccAvenueResponse(response.data);\r\n\r\n if (response.data.payment_status.toLowerCase() === \"completed\") {\r\n saveUserTransactions();\r\n await Analytics.record({\r\n name: \"web_purchased_success\",\r\n attributes: {\r\n course_id: course_id,\r\n batch_id: batch_id,\r\n itemprice: txn_amount,\r\n product_id: package_id,\r\n transactionDate: txn_date,\r\n user_name: userData.name,\r\n mobile: userData.mobile,\r\n userId: userData.user_id,\r\n },\r\n });\r\n }\r\n } else {\r\n await Analytics.record({\r\n name: \"web_purchased_failed\",\r\n attributes: {\r\n course_id: course_id,\r\n batch_id: batch_id,\r\n itemprice: txn_amount,\r\n product_id: package_id,\r\n transactionDate: txn_date,\r\n user_name: userData.name,\r\n mobile: userData.mobile,\r\n userId: userData.user_id,\r\n },\r\n });\r\n }\r\n };\r\n\r\n setTimeout(() => {\r\n history.push(\"/user_dashboard\");\r\n }, [10000]);\r\n\r\n const saveUserTransactions = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n let dataDetails = {\r\n course_id,\r\n batch_id,\r\n package_id,\r\n txn_amount,\r\n txn_discount_amount,\r\n txn_date,\r\n package_duration,\r\n txnid,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_19, dataDetails, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n let returnedResponse = await updateUser();\r\n if (returnedResponse) {\r\n history.push(\"/user_dashboard\");\r\n } else {\r\n history.push(\"/user_dashboard\");\r\n }\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const updateUser = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.get(url_8);\r\n if (response.data.status === 200) {\r\n setUser(response.data.data);\r\n finishLoading();\r\n return 1;\r\n } else {\r\n return 0;\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return 0;\r\n }\r\n };\r\n\r\n const renderLottie = () => {\r\n if (ccAvenueResponse.payment_status.toLowerCase() === \"completed\") {\r\n return ;\r\n } else {\r\n return (\r\n <>\r\n \r\n
    \r\n Your Payment has Failed.\r\n
    \r\n \r\n );\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n {Object.keys(ccAvenueResponse).length && renderLottie()}\r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n orderId: state.paymentReducer.orderId,\r\n userData: state.auth.user,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n transactionData: state.paymentReducer.transactionDetails,\r\n refferalCode: state.PackageSliceReducer.refferalCode,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setUser: (payload) => {\r\n dispatch(authActions.setUser(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CcAvenueResponse);\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport \"./QuestionBankCreatePaper.scss\";\r\n\r\nconst QuestionBankCreatePaper = () => {\r\n return (\r\n <>\r\n
    \r\n
    \"banner\"
    \r\n
    \r\n

    Unlimited Question Bank

    \r\n

    Create your Own Customized Test & Practice unlimited times with FREE access

    \r\n
    \r\n
    \r\n \r\n \"plus\"Create Paper\r\n
    \r\n
    \r\n \r\n //
    \r\n //
    \r\n //
    \r\n //
    Question Bank
    \r\n //
    \r\n // \r\n //
    \r\n //

    \r\n // Create your{\" \"}\r\n // Own Customized Test & Practice{\" \"}\r\n // unlimited times with\r\n // FREE access\r\n //

    \r\n // \r\n //
    \r\n //

    \r\n // \r\n // Create New Practice Paper\r\n //

    \r\n //
    \r\n // \r\n //
    \r\n //
    \r\n //
    \r\n );\r\n};\r\n\r\nexport default QuestionBankCreatePaper;\r\n","export const SET_QUESTION_BANK_ID = \"SET_QUESTION_BANK_ID\";\r\nexport const SET_QUESTION_BANK_NAME = \"SET_QUESTION_BANK_NAME\";\r\n\r\n\r\nexport const SET_QUESTION_BANK_TESTS_DATA = \"SET_QUESTION_BANK_TESTS_DATA\";\r\n\r\nexport const SET_QUESTION_BANK_TESTS_RESULT_DATA =\r\n \"SET_QUESTION_BANK_TESTS_RESULT_DATA\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setQuestionBankTestsData = (payload) => {\r\n return {\r\n type: actionTypes.SET_QUESTION_BANK_TESTS_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setQuestionBankName = (payload) => {\r\n return {\r\n type: actionTypes.SET_QUESTION_BANK_NAME,\r\n payload,\r\n };\r\n};\r\n\r\nconst setQuestionBankTestsResultData = (payload) => {\r\n return {\r\n type: actionTypes.SET_QUESTION_BANK_TESTS_RESULT_DATA,\r\n payload,\r\n };\r\n};\r\n\r\nconst setQuestionBankId = (payload) => {\r\n return {\r\n type: actionTypes.SET_QUESTION_BANK_ID,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n setQuestionBankTestsData,\r\n setQuestionBankTestsResultData,\r\n setQuestionBankId,\r\n setQuestionBankName,\r\n};\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport \"./QuestionBankCustomPapers.scss\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport questionBankActions from \"../../../../redux/question_bank/action\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport { url_149 } from \"../../../../custom_utilities/api_services\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport images from \"../../../../utilities/images/images\";\r\n\r\nconst QuestionBankCustomPapers = (props) => {\r\n const {\r\n setQuestionBankIdAction,\r\n history,\r\n startLoading,\r\n finishLoading,\r\n setQuestionBankNameAction,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n questionBankTestList: [],\r\n show: false,\r\n topics: [],\r\n });\r\n\r\n useEffect(() => {\r\n getQuestionBankTestList();\r\n }, []);\r\n\r\n // to get list of test papers which are already created\r\n const getQuestionBankTestList = async () => {\r\n try {\r\n startLoading();\r\n const response = await axios.post(url_149);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => {\r\n return {\r\n ...prevState,\r\n questionBankTestList: response.data.data.Qbank,\r\n };\r\n });\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderTopicsWithLimit = (topics, limit) => {\r\n let totalCharacters = 0;\r\n \r\n return topics.map((topic, index) => {\r\n if (totalCharacters + topic.topic.length <= limit) {\r\n totalCharacters += topic.topic.length;\r\n return (\r\n \r\n {topic.topic}{topics.length > 1 && index < topics.length - 1 ? ',' : ''}\r\n \r\n );\r\n } else {\r\n return null;\r\n }\r\n });\r\n };\r\n\r\n const calculateTotalCharacters = (topics) => {\r\n const totalCharacters = topics.reduce((acc, topic) => acc + topic.topic.length, 0);\r\n return totalCharacters;\r\n };\r\n\r\n const handleStart = (qBank) => {\r\n setQuestionBankIdAction(qBank.question_bank_id);\r\n setQuestionBankNameAction(qBank.name);\r\n\r\n history.push(\"/question_bank_test\");\r\n };\r\n\r\n const handleViewSolution = (questionBankId) => {\r\n setQuestionBankIdAction(questionBankId);\r\n history.push(\"/question_bank_solution\");\r\n };\r\n\r\n const handleRenderTopics = (topics) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n topics,\r\n }));\r\n };\r\n\r\n const handleCloseTopics = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n show: false,\r\n }));\r\n };\r\n\r\n let tab = \"created_tests\";\r\n\r\n return (\r\n
    \r\n
    \r\n {/*
    Your Custom papers
    */}\r\n\r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n Created Tests\r\n \r\n
    • \r\n
    • \r\n \r\n Completed Tests\r\n \r\n
    • \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n
    \r\n {!isEmpty(state.questionBankTestList) ? (\r\n state.questionBankTestList.map((qBank, index) => {\r\n if (!qBank.is_attempt) {\r\n return (\r\n \r\n
    \r\n
    {qBank.name}
    \r\n
    \r\n Created on:
    \r\n {new Date(qBank.create_on).toLocaleDateString('en-GB').replace(/\\//g, '-')}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderTopicsWithLimit(qBank.topic, 60)}\r\n {calculateTotalCharacters(qBank.topic) > 60 && \r\n <>\r\n ...\r\n handleRenderTopics(qBank.topic)}\r\n >\r\n View all\r\n \r\n \r\n }\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Topics\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {/* {index} */}\r\n {/* {qBank.indexOf(qBank.topic) == index} */}\r\n {state.topics.map((element) => {\r\n return (\r\n
    \r\n {element.topic}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n Close\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {qBank.no_of_question}{\" \"} Ques\r\n {qBank.subject}{\" \"}\r\n
    \r\n
    \r\n \r\n handleStart(qBank)}\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n }\r\n })\r\n ) : (\r\n
    \r\n
    \r\n \r\n
    \r\n

    You have not created any tests
    yet.

    \r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n \r\n
    \r\n {!isEmpty(state.questionBankTestList) ? (\r\n state.questionBankTestList.map((qBank, index) => {\r\n if (qBank.is_attempt) {\r\n return (\r\n \r\n
    \r\n
    {qBank.name}
    \r\n
    \r\n Created on:
    \r\n {new Date(qBank.create_on).toLocaleDateString('en-GB').replace(/\\//g, '-')}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderTopicsWithLimit(qBank.topic, 60)}\r\n {calculateTotalCharacters(qBank.topic) > 60 && \r\n <>\r\n ...\r\n handleRenderTopics(qBank.topic)}\r\n >\r\n View all\r\n \r\n \r\n }\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n {qBank.no_of_question}\r\n {\" \"}\r\n Ques\r\n
    • \r\n
    \r\n
    \r\n
      \r\n
    • \r\n \r\n {qBank.no_of_question -\r\n (qBank.right_questions +\r\n qBank.wrong_questions)}\r\n {\" \"}\r\n Unattempted\r\n
    • {\" \"}\r\n
    • \r\n {(qBank.right_questions === \"\" && qBank.wrong_questions === \"\") ? \"0\" : qBank.wrong_questions} Wrong\r\n
    • {\" \"}\r\n
    • \r\n {(qBank.right_questions === \"\" && qBank.wrong_questions === \"\") ? \"0\" : qBank.right_questions} Correct\r\n
    • {\" \"}\r\n
    \r\n
    \r\n \r\n handleViewSolution(qBank.question_bank_id)}\r\n >\r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Topics\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.topics.map((element) => {\r\n return (\r\n
    \r\n {element.topic}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n Close\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    \r\n \r\n handleViewSolution(qBank.question_bank_id)\r\n }\r\n className=\"view_sol_btn\"\r\n >\r\n View Solution{\" \"}\r\n
    {\" \"}\r\n {\">\"}\r\n
    \r\n */}\r\n \r\n );\r\n }\r\n })\r\n ) : (\r\n
    \r\n
    \r\n \r\n
    \r\n

    You have not completed any
    tests yet.

    \r\n
    \r\n )}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setQuestionBankIdAction: (payload) => {\r\n dispatch(questionBankActions.setQuestionBankId(payload));\r\n },\r\n setQuestionBankNameAction: (payload) => {\r\n dispatch(questionBankActions.setQuestionBankName(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(QuestionBankCustomPapers);\r\n","import React from \"react\";\r\nimport { useHistory } from \"react-router\";\r\nimport QuestionBankCreatePaper from \"./QuestionBankCreatePaper/QuestionBankCreatePaper\";\r\nimport QuestionBankCustomPapers from \"./QuestionBankCustomPapers/QuestionBankCustomPapers\";\r\nimport HeaderComponent from \"../structure_components/desktop_screens/header_component/header_component\";\r\nimport \"./QuestionBank.scss\";\r\n\r\nimport LoaderPopUp from \"../../../components/loader/loader\";\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../structure_components/desktop_screens/footer_component/Footer_component\";\r\n\r\nconst QuestionBank = (props) => {\r\n let { loader } = props;\r\n\r\n const history = useHistory();\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
    \r\n \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(QuestionBank);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\nimport { isEmpty } from \"../../../../custom_utilities/custom_useful_functions\";\r\nimport { Link } from \"react-router-dom\";\r\nimport HeaderComponent from \"../../structure_components/desktop_screens/header_component/header_component\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport questionBankActions from \"../../../../redux/question_bank/action\";\r\nimport \"./QuestionBankCreateForm.scss\";\r\n\r\nimport {\r\n url_44,\r\n url_150,\r\n url_151,\r\n url_152,\r\n} from \"../../../../custom_utilities/api_services\";\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n\r\nconst noOfQuestions = [\r\n {\r\n numberOfQuestion: 5,\r\n q_bank_id: 11,\r\n },\r\n {\r\n numberOfQuestion: 10,\r\n q_bank_id: 12,\r\n },\r\n {\r\n numberOfQuestion: 15,\r\n q_bank_id: 13,\r\n },\r\n {\r\n numberOfQuestion: 20,\r\n q_bank_id: 14,\r\n },\r\n {\r\n numberOfQuestion: 25,\r\n q_bank_id: 15,\r\n },\r\n {\r\n numberOfQuestion: 30,\r\n q_bank_id: 16,\r\n },\r\n {\r\n numberOfQuestion: 35,\r\n q_bank_id: 17,\r\n },\r\n {\r\n numberOfQuestion: 40,\r\n q_bank_id: 18,\r\n },\r\n {\r\n numberOfQuestion: 45,\r\n q_bank_id: 19,\r\n },\r\n];\r\n\r\nconst QuestionBankCreateForm = (props) => {\r\n const {\r\n startLoading,\r\n finishLoading,\r\n class_id,\r\n token,\r\n tokenType,\r\n course_id,\r\n setQuestionBankIdAction,\r\n setQuestionBankNameAction,\r\n loader,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n testName: \"\",\r\n subjects: {},\r\n topics: {},\r\n difficultyLevels: {},\r\n noOfQuestions: \"\",\r\n selectedSubject: \"\",\r\n selectedTopics: [],\r\n selectedDifficultyLevel: \"\",\r\n selectedDifficultyLevels: [],\r\n showTopicModal: false,\r\n show: false,\r\n selectAll: false,\r\n });\r\n\r\n useEffect(() => {\r\n getSubjectsList();\r\n getDifficultyLevel();\r\n\r\n if (state.selectedSubject) {\r\n getTopicsList(state.selectedSubject.sub_id);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n getTopicsList(state.selectedSubject.sub_id);\r\n }, [state.selectedSubject]);\r\n\r\n const handleShow = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n show: true,\r\n }));\r\n };\r\n\r\n const handleClose = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n show: false,\r\n }));\r\n };\r\n\r\n const getSubjectsList = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n class_id,\r\n course_id,\r\n };\r\n try {\r\n startLoading();\r\n const response = await axios.post(url_151, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n subjects: response.data.data,\r\n selectedSubject: response.data.data.subject[0],\r\n }));\r\n }\r\n } catch (error) {}\r\n };\r\n\r\n const getDifficultyLevel = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n try {\r\n const response = await axios.get(url_44, { headers });\r\n\r\n if (response.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n difficultyLevels: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderDifficultyLevel = () => {\r\n return (\r\n <>\r\n {!isEmpty(state.difficultyLevels?.DifficultyLevel)\r\n ? state.difficultyLevels?.DifficultyLevel?.map((element) => {\r\n if (element.toughness !== \"Tougher\")\r\n return (\r\n \r\n handleDiffcultLevel(event)}\r\n // checked={\r\n // state.selectedDifficultyLevel == element.toughness\r\n // }\r\n checked={state.selectedDifficultyLevels.find((e) => {\r\n return e === element.toughness;\r\n })}\r\n />\r\n \r\n \r\n );\r\n })\r\n : null}\r\n \r\n );\r\n };\r\n\r\n const getTopicsList = async (subject_id) => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n\r\n const data = {\r\n subject_id,\r\n course_id,\r\n };\r\n try {\r\n const response = await axios.post(url_152, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n topics: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleSubjectChange = (subject) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedSubject: subject,\r\n }));\r\n };\r\n\r\n const handleDiffcultLevel = (event) => {\r\n let { value } = event.target;\r\n let selectedDifficultyLevels = [...state.selectedDifficultyLevels];\r\n let findedIndex = selectedDifficultyLevels.findIndex((element) => {\r\n return element === value;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n selectedDifficultyLevels.splice(\r\n selectedDifficultyLevels.length + 1,\r\n 0,\r\n value\r\n );\r\n } else {\r\n selectedDifficultyLevels.splice(findedIndex, 1);\r\n }\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedDifficultyLevels: selectedDifficultyLevels,\r\n }));\r\n };\r\n\r\n const handleNoOfQuestions = (event) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n noOfQuestions: event.target.value,\r\n }));\r\n };\r\n\r\n const selectSubjects = () => {\r\n const subjects = state?.subjects.subject;\r\n\r\n // we are filtering subjects according to is_show_others key in subject object, becas this api is used for somewher else also\r\n\r\n const filteredSubjects = subjects?.filter((subject) => {\r\n if (subject.is_show_others === 1) {\r\n return subject;\r\n }\r\n });\r\n\r\n return filteredSubjects?.map((subject, index) => {\r\n return (\r\n
    \r\n handleSubjectChange(subject)}\r\n />\r\n \r\n
    \r\n );\r\n });\r\n };\r\n\r\n const selectNoOfQuestions = () => {\r\n return noOfQuestions.map((subject) => {\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n });\r\n };\r\n\r\n const selectData = () => {\r\n const {\r\n testName,\r\n selectedSubject,\r\n selectedTopics,\r\n selectedDifficultyLevels,\r\n noOfQuestions,\r\n } = state;\r\n\r\n if (testName.length === 0) {\r\n alert(\"Please enter title of Question Bank\");\r\n return 0;\r\n } else if (selectedSubject.length === 0) {\r\n alert(\"Please select Subject\");\r\n return 0;\r\n } else if (selectedTopics.length === 0) {\r\n alert(\"Please select Topics\");\r\n return 0;\r\n } else if (selectedDifficultyLevels.length === 0) {\r\n alert(\"Please select Difficulty Level\");\r\n return 0;\r\n } else if (noOfQuestions.length === 0) {\r\n alert(\"Please select No of Questions\");\r\n return 0;\r\n } else if (renderSelectedTopics().length > noOfQuestions) {\r\n alert(\"Please Reduce No of Topics\");\r\n return 0;\r\n } else {\r\n return 1;\r\n }\r\n };\r\n\r\n const handleCreateTest = async () => {\r\n const result = await selectData();\r\n\r\n if (result) {\r\n const data = {\r\n name: state.testName,\r\n subject: state.selectedSubject.sub_id,\r\n topic: state.selectedTopics,\r\n toughness: state.selectedDifficultyLevels,\r\n no_of_question: state.noOfQuestions,\r\n };\r\n\r\n try {\r\n startLoading();\r\n const response = await axios.post(url_150, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleShow();\r\n setState((prevState) => ({\r\n ...prevState,\r\n questionBankId: response.data.question_bank_id,\r\n }));\r\n setQuestionBankIdAction(response.data.question_bank_id);\r\n setQuestionBankNameAction(state.testName);\r\n }\r\n } catch (e) {\r\n finishLoading();\r\n console.log(e);\r\n }\r\n }\r\n };\r\n\r\n const handleChangeTestName = (event) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n testName: event.target.value,\r\n }));\r\n };\r\n\r\n const handleSelectAllTopics = (event) => {\r\n let { checked } = event.target;\r\n let topicList = { ...state.topics };\r\n let topics = [];\r\n\r\n if (checked) {\r\n topicList.topic.forEach((element) => {\r\n topics.push(element.topic_id);\r\n });\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedTopics: topics,\r\n selectAll: checked,\r\n }));\r\n } else {\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedTopics: [],\r\n selectAll: checked,\r\n }));\r\n }\r\n };\r\n\r\n const handleChangeTopic = (event) => {\r\n if (state.selectedSubject === \"\") {\r\n alert(\"Please Select Subject\");\r\n return;\r\n }\r\n\r\n let { value } = event.target;\r\n let selectedTopics = [...state.selectedTopics];\r\n\r\n let findedIndex = selectedTopics.findIndex((element) => {\r\n return element === Number(value);\r\n });\r\n\r\n if (findedIndex === -1) {\r\n selectedTopics.splice(selectedTopics.length + 1, 0, Number(value));\r\n } else {\r\n selectedTopics.splice(findedIndex, 1);\r\n }\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedTopics: selectedTopics,\r\n }));\r\n };\r\n\r\n const renderSelectedTopics = () => {\r\n const newArr = [];\r\n state.selectedTopics?.forEach((element) => {\r\n state?.topics?.topic?.map((item) => {\r\n if (item.topic_id == element) {\r\n newArr.push(item.topic_name);\r\n }\r\n });\r\n });\r\n\r\n if (newArr.length > 0) {\r\n return newArr;\r\n }\r\n };\r\n\r\n const modalCheck = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n showTopicModal: true,\r\n }));\r\n };\r\n\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 \"backBtn\"\r\n \r\n

    Create Own Practice Paper

    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n {!isEmpty(state.subjects.subject?.length)\r\n ? selectSubjects()\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n \r\n Select Topic\r\n \r\n \r\n
    \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Select Topics\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {!isEmpty(state.topics.topic?.length) ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n handleSelectAllTopics(event)\r\n }\r\n checked={state.selectAll}\r\n />\r\n \r\n
    \r\n
    \r\n\r\n
    \r\n {state.topics.topic?.length\r\n ? state.topics.topic.map(\r\n (element, index) => {\r\n return (\r\n \r\n \r\n handleChangeTopic(event)\r\n }\r\n checked={state.selectedTopics.find(\r\n (e) => {\r\n return (\r\n e === element.topic_id\r\n );\r\n }\r\n )}\r\n />\r\n \r\n {element.topic_name}\r\n \r\n
    \r\n );\r\n }\r\n )\r\n : null}\r\n
    \r\n
    \r\n
    \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n \r\n Done\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {state.selectedTopics?.length > 0 &&\r\n renderSelectedTopics()?.map((item, index) => {\r\n return (\r\n \r\n {item}\r\n
    \r\n );\r\n })}\r\n
    \r\n\r\n {renderSelectedTopics()?.length > 3 && (\r\n
    \r\n \r\n {renderSelectedTopics()?.length - 3}+\r\n \r\n \r\n
    )}\r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n Topics\r\n

    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderSelectedTopics()?.map((element, index) => {\r\n return (\r\n \r\n {element}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n Done\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    Test Paper Created Successfully!
    \r\n

    Do you want to attempt test now?

    \r\n
    \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    \r\n \r\n {/* \r\n

    \r\n You can select multiple Levels\r\n

    */}\r\n
    \r\n {!isEmpty(state.difficultyLevels?.DifficultyLevel) &&\r\n renderDifficultyLevel()}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n\r\n
    {selectNoOfQuestions()}
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n \r\n \r\n \r\n {loader && }\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n class_id: state.auth.user.class_id,\r\n target_id: state.userPreference.targetDetails[0].target_id,\r\n course_id: state.userPreference.courseDetails[0].course_id,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setQuestionBankIdAction: (payload) => {\r\n dispatch(questionBankActions.setQuestionBankId(payload));\r\n },\r\n\r\n setQuestionBankNameAction: (payload) => {\r\n dispatch(questionBankActions.setQuestionBankName(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(QuestionBankCreateForm);\r\n","import { Fragment } from \"react\";\r\nimport \"./QuestionBankTestInstructionView.scss\";\r\n\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst QuestionBankTestInstructionView = (props) => {\r\n let { startBtn, testInstructionData, questionBankTestName } = props;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n\r\n
    Instruction Screen
    \r\n
    \r\n
    \r\n
    {questionBankTestName}
    \r\n
    \r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n {testInstructionData.Instructions}\r\n\r\n
    ALWAYS DO YOUR BEST. \"BEST WISHES\"
    \r\n
    \r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n questionBankTestName: state.QuestionBank.questionBankName,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(QuestionBankTestInstructionView);\r\n","import React, { Fragment, useState, useRef } from \"react\";\r\nimport \"./QuestionBankTestQuestionsView.scss\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport { MathJax, MathJaxContext } from \"better-react-mathjax\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\nimport { toastifyMessage } from \"../../../../../../custom_utilities/toastify_config\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport useMathjax from \"../../../../../../hooks/useMathjax\";\r\nimport GridIcon from \"../../../../../../utilities/images/test-screens/GridIcon\";\r\nimport GridIcon1 from \"../../../../../../utilities/images/test-screens/GridIcon1\";\r\nimport ListIcon from \"../../../../../../utilities/images/test-screens/ListIcon\";\r\nimport ListIcon1 from \"../../../../../../utilities/images/test-screens/ListIcon1\";\r\n\r\nconst QuestionBankTestQuestionsView = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n\r\n // const config = {\r\n // //loader: { load: [\"[tex]/html\"] },\r\n // loader: {\r\n // load: [\r\n // \"input/asciimath\",\r\n // \"output/chtml\",\r\n // \"ui/menu\",\r\n // \"[mml]/mml3\",\r\n // \"[tex]/html\",\r\n // ],\r\n // },\r\n // };\r\n\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n const [isList, setisList] = useState(true);\r\n\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion].qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n\r\n // condition for Report Error modal submit button\r\n\r\n const isDisable =\r\n saveReportErrorData.option_id.length == 0 ||\r\n saveReportErrorData.description.length == 0\r\n ? true\r\n : false;\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n\r\n //function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Submitted Successfully\",\r\n });\r\n setSaveReportErrorData({ option_id: \"\" });\r\n } else {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage({\r\n status: response.data.status,\r\n message: \"Your Report has Failed\",\r\n });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement?.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n const [showError, setShowError] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n\r\n // for report error modal\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [disabled1, setDisabled] = useState(false);\r\n\r\n useMathjax(currentQuestion, lang, sol);\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n setDisabled(false);\r\n };\r\n const handleSolution = () => {\r\n setSol(false);\r\n setVideoShow(false);\r\n };\r\n\r\n const disableSol = () => {\r\n setDisabled(true);\r\n };\r\n\r\n const renderOptions = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr.map((val, i) => {\r\n let step, type;\r\n type = val.answer_type;\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(questionsArr[i], i, lang);\r\n case 2:\r\n return renderInputField(i);\r\n case 3:\r\n return renderMultiSelect(questionsArr[i], i, lang);\r\n default:\r\n return null;\r\n }\r\n });\r\n } else {\r\n return null;\r\n }\r\n };\r\n const classEditor = (s, wc, optionId) => {\r\n if (!sol && Number(s)) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!sol && wc && wc.indexOf(Number(optionId)) > -1) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const handlePurticularQuestion = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion - 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion3 = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion + 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion + 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const renderQuestion = (currentQuestionDetails, index) => {\r\n if (currentQuestion == index) {\r\n if (lang) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n if (ConvertStringToHTML(currentQuestionDetails?.q_text_hindi)) {\r\n return (\r\n

    \r\n );\r\n } else {\r\n return (\r\n

    \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 1) {\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n {/* \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n */}\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (lang == false) {\r\n if (questionData.option !== undefined && questionData.option !== null) {\r\n return (\r\n \r\n \r\n {questionData.option?.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 2) {\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(\r\n event,\r\n element.option_id\r\n );\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(\r\n event,\r\n element.option_id\r\n );\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2, lang) => {\r\n if (\r\n lang == true &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 1) {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n } else if (\r\n lang == false &&\r\n questionData.option !== undefined &&\r\n questionData.option !== null\r\n ) {\r\n return (\r\n \r\n \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n if (element.lang_id == 2) {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {\r\n return item === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n }\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n return (\r\n \r\n \r\n
    \r\n {\r\n handleInputFieldChange(event);\r\n disableSol();\r\n }}\r\n />\r\n
    \r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n\r\n
    \r\n

    \r\n
    \r\n
    \r\n \"\"\r\n \r\n );\r\n } else if (question.isAttempted) {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n\r\n
    \r\n

    \r\n
    \r\n
    \r\n \"\"\r\n \r\n );\r\n } else {\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    \r\n
    {`${index + 1}.`}
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n\r\n // else {\r\n // if (question.isAttempted) {\r\n // if (question.isReview) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n // \r\n // );\r\n // } else if (question.isAnswerGuessed) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // handleQuestionJump(index);\r\n // handlePurticularQuestion2(index);\r\n // }}\r\n // >\r\n //
    \r\n //
    {`${index + 1}.`}
    \r\n\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \"\"/\r\n // \r\n // );\r\n // }\r\n // } else if (question.isAnswerGuessed) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // if (question.isReview) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else if (question.isSkipped) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else if (\r\n // question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n // question.integer_answer?.length\r\n // ) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // handleQuestionJump(index);\r\n // handlePurticularQuestion2(index);\r\n // }}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // }\r\n // }\r\n // }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n let labelClassName = \"unanswered_lbl\";\r\n if (currentQuestion === index) {\r\n labelClassName += \" current_lbl\";\r\n } else if (question.isAttempted) {\r\n labelClassName += \" answered_lbl\";\r\n }\r\n\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n handlePurticularQuestion2(index);\r\n }}\r\n >\r\n
    {index + 1}
    \r\n \r\n );\r\n // if (currentQuestion === index) {\r\n // return (\r\n // {\r\n // handleQuestionJump(index);\r\n // handlePurticularQuestion2(index);\r\n // }}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // if (question.isAttempted) {\r\n // if (question.isReview) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n //
    \r\n // \r\n // );\r\n // } else if (question.isAnswerGuessed) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // handleQuestionJump(index);\r\n // handlePurticularQuestion2(index);\r\n // }}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // }\r\n // } else if (question.isAnswerGuessed) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // if (question.isReview) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else if (question.isSkipped) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else if (\r\n // question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n // question.integer_answer?.length\r\n // ) {\r\n // return (\r\n // handleQuestionJump(index)}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // } else {\r\n // return (\r\n // {\r\n // handleQuestionJump(index);\r\n // handlePurticularQuestion2(index);\r\n // }}\r\n // >\r\n //
    \r\n // {`${index + 1}.`}\r\n //
    \r\n //

    \r\n //
    \r\n //
    \r\n // \r\n // \r\n // );\r\n // }\r\n // }\r\n // }\r\n };\r\n let progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimmingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimmingDetails\",\r\n JSON.stringify(videoTimmingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n };\r\n\r\n const renderVideo = (currentQuestionDetails) => {\r\n const videoId = currentQuestionDetails?.video_id_english;\r\n const hindiVideoId = currentQuestionDetails?.video_id_hindi;\r\n const englishVideoCriptId = currentQuestionDetails?.english_video_cript_id;\r\n const hindiVideoCriptId = currentQuestionDetails?.hindi_video_cript_id;\r\n\r\n const isHindi = !lang && hindiVideoId && hindiVideoCriptId;\r\n const selectedVideoId = isHindi ? hindiVideoId : videoId;\r\n const selectedVideoCriptId = isHindi\r\n ? hindiVideoCriptId\r\n : englishVideoCriptId;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n if (!urlPattern.test(selectedVideoId)) {\r\n return null;\r\n }\r\n\r\n const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n\r\n if (selectedVideoCriptId && selectedVideoCriptId.trim() !== \"\") {\r\n return (\r\n
    \r\n \r\n {buttonLabel}\r\n \r\n {videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {selectedVideoId && (\r\n \r\n {buttonLabel}\r\n \r\n )}\r\n\r\n {videoShow ? (\r\n \r\n ) : null}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderSolutions = (currentQuestionDetails) => {\r\n if (!sol) {\r\n let solutionText = currentQuestionDetails.sol_text;\r\n let solutionHeading = \"Solution :\";\r\n\r\n if (!lang && currentQuestionDetails.sol_text_hindi) {\r\n const hindiSolutionText = currentQuestionDetails.sol_text_hindi;\r\n const hindiSolutionHeading = \"समाधान :\";\r\n\r\n const isHindiSolutionEmpty =\r\n !hindiSolutionText.trim() || hindiSolutionText.includes(\"\");\r\n console.log(\"hindSolution testing\", isHindiSolutionEmpty);\r\n\r\n if (!isHindiSolutionEmpty) {\r\n solutionText = hindiSolutionText;\r\n solutionHeading = hindiSolutionHeading;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n

    {solutionHeading}

    \r\n

    \r\n \r\n );\r\n }\r\n };\r\n\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
    */}\r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails.length}\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n\r\n
    \r\n {testQuestionsDetails[currentQuestion] &&\r\n testQuestionsDetails[currentQuestion]?.q_text_hindi ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n\r\n {/*
    \r\n

    Test

    \r\n
    \r\n
    \r\n \r\n Question type:{\" \"}\r\n {testQuestionsDetails[currentQuestion].answer_type}\r\n \r\n\r\n
    \r\n {testQuestionsDetails?.length\r\n ? testQuestionsDetails?.map((element, index) => {\r\n if (currentQuestion === index) {\r\n return element.q_text_hindi ? (\r\n \r\n ) : (\r\n \"\"\r\n );\r\n }\r\n })\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return renderQuestion(element, index);\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n {renderOptions()}\r\n
    */}\r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n Question Type:{\" \"}\r\n \r\n {\r\n testQuestionsDetails[currentQuestion]\r\n ?.answer_type\r\n }\r\n \r\n
    \r\n\r\n
    \r\n Question {`${Number(currentQuestion) + 1}.`}\r\n
    \r\n\r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return renderQuestion(element, index);\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n\r\n {/* {renderOptions()} */}\r\n
    {renderOptions()}
    \r\n\r\n
    \r\n {/*
    Solution:
    */}\r\n\r\n {!sol ? (\r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n {/*

    \r\n

    */}\r\n {index === currentQuestion &&\r\n renderSolutions(element)}\r\n \r\n );\r\n })\r\n : null}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n\r\n
    \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((elem, index) => {\r\n if (index == currentQuestion) {\r\n return <>{renderVideo(elem)};\r\n }\r\n })\r\n : null}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n \r\n Report an error\r\n \r\n\r\n {/* \r\n \"\"\r\n {\" \"} */}\r\n {/* \r\n Report an error\r\n */}\r\n
    \r\n\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn();\r\n scrollUp2();\r\n handlePurticularQuestion();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length ===\r\n currentQuestion + 1 ? (\r\n
    \r\n {sol ? (\r\n {\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n ) : (\r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n )}\r\n
    \r\n ) : (\r\n
    \r\n {sol ? (\r\n {\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n ) : (\r\n {\r\n handleNextQuestionBtn();\r\n // handleSol();\r\n scrollUp();\r\n handlePurticularQuestion3();\r\n }}\r\n >\r\n Next\r\n \r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n {/* \r\n \r\n \r\n {\" \"}\r\n \r\n Report an error\r\n \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {testQuestionsDetails[currentQuestion]?.exam_name ??\r\n \"Test\"}\r\n

    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n \r\n {isList\r\n ? renderQuestionLabel1(element, index)\r\n : renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {/* toaster for successfull submission of Report error */}\r\n\r\n \r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    Do you want to continue the exam or you want to Submit.

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect or error in\r\n question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionBankTestQuestionsView;\r\n","// import { Fragment, useState, useEffect } from \"react\";\r\n\r\n// import \"./QuestionBankTestContentComponent.scss\";\r\n\r\n// import QuestionBankTestInstructionView from \"./question_bank_test_intructions/QuestionBankTestInstructionView\";\r\n// import QuestionBankTestQuestionsView from \"./question_bank_test_questions/QuestionBankTestQuestionsView\";\r\n\r\n// import {\r\n// url_153,\r\n// url_154,\r\n// url_155,\r\n// url_156,\r\n// } from \"../../../../../custom_utilities/api_services\";\r\n// import axios from \"axios\";\r\n// import { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n// //Redux\r\n// import { connect } from \"react-redux\";\r\n// import uiActions from \"../../../../../redux/ui/action\";\r\n\r\n// const QuestionBankTestContentComponent = (props) => {\r\n// let { history, startLoading, finishLoading, userData, questionBankTestId } =\r\n// props;\r\n// const [state, setState] = useState({\r\n// step: 1,\r\n// testDetails: {},\r\n// testInstructionData: {},\r\n// testQuestionsDetails: [],\r\n// subjecSectiontWiseTestQuestions: {},\r\n// checkQuestion: {},\r\n// currentQuestion: 0,\r\n// countDownTimer: {\r\n// hours: 0,\r\n// minutes: 0,\r\n// seconds: 0,\r\n// },\r\n// initialTime: 0,\r\n// useTime: 0,\r\n// left: 0,\r\n// is_paid: 0,\r\n// hours: 72,\r\n// minutes: 0,\r\n// seconds: 0,\r\n// });\r\n\r\n// // let topic_name = location.state.subTopic;\r\n// // const [selectedSubject, setSubject] = useState(\"\");\r\n// // const [selectedSection, setSection] = useState(\"\");\r\n\r\n// // const handleSubjectChange = (subject) => {\r\n// // const section = Object.keys(\r\n// // state.subjecSectiontWiseTestQuestions[subject]\r\n// // )[0];\r\n// // setSubject(subject);\r\n// // setSection(section);\r\n// // const currentQuestion =\r\n// // state.subjecSectiontWiseTestQuestions[subject][section][0][\"matchIndex\"];\r\n// // setState((prevState) => ({\r\n// // ...prevState,\r\n// // currentQuestion,\r\n// // }));\r\n\r\n// // //setSubject(subject);\r\n// // };\r\n\r\n// // const handleSectionChange = (section) => {\r\n// // setSection(section);\r\n// // const currentQuestion =\r\n// // state.subjecSectiontWiseTestQuestions[selectedSubject][section][0][\r\n// // \"matchIndex\"\r\n// // ];\r\n// // setState((prevState) => ({\r\n// // ...prevState,\r\n// // currentQuestion,\r\n// // }));\r\n// // };\r\n\r\n// useEffect(() => {\r\n// getinstructionDetail();\r\n// }, []);\r\n\r\n// // const createCountDownTimer = (duration) => {\r\n// // let useTime = state.useTime ?? 0;\r\n// // useTime = useTime * 1000;\r\n\r\n// // //duration is in minutes, first convert it to milliseconds\r\n// // let countdownTime = duration * 60 * 1000 + new Date().getTime();\r\n// // countdownTime = countdownTime - useTime;\r\n\r\n// // timeInterval = setInterval(() => {\r\n// // let now = new Date().getTime();\r\n// // let distance = countdownTime - now;\r\n// // if (distance < 0) {\r\n// // clearInterval(timeInterval);\r\n// // //hidemyend //handleSubmitTest();\r\n// // }\r\n// // let hours = Math.floor(\r\n// // (distance % (1000 * 60 * 60 * 60)) / (1000 * 60 * 60)\r\n// // );\r\n// // let minutes = Math.floor((distance % (1000 * 60 * 60)) / (1000 * 60));\r\n// // let seconds = Math.floor((distance % (1000 * 60)) / 1000);\r\n// // setState((prevState) => ({\r\n// // ...prevState,\r\n// // countDownTimer: {\r\n// // ...prevState.countDownTimer,\r\n// // hours,\r\n// // minutes,\r\n// // seconds,\r\n// // },\r\n// // }));\r\n// // }, 1000);\r\n// // };\r\n// //getinstructionDetail\r\n// const getinstructionDetail = async () => {\r\n// startLoading();\r\n// try {\r\n// const response = await axios.post(url_153);\r\n\r\n// if (response.data.status) {\r\n// setState((preState) => ({\r\n// ...preState,\r\n\r\n// testInstructionData: response.data.data,\r\n// }));\r\n// }\r\n\r\n// finishLoading();\r\n// } catch (error) {\r\n// console.log(error);\r\n// }\r\n// };\r\n\r\n// const getTestQuestionsList = async (questionBankTestId) => {\r\n// let data = {\r\n// question_bank_id: questionBankTestId,\r\n// };\r\n// startLoading();\r\n// try {\r\n// const response = await axios.post(url_154, data);\r\n\r\n// if (response.data.status === 200) {\r\n// finishLoading();\r\n// return {\r\n// result: 1,\r\n// data: { apiData: response.data },\r\n// };\r\n// } else {\r\n// finishLoading();\r\n// return {\r\n// result: 0,\r\n// data: { apiData: {} },\r\n// };\r\n// }\r\n// } catch (error) {\r\n// console.log(error);\r\n// finishLoading();\r\n// return {\r\n// result: 0,\r\n// data: { apiData: {} },\r\n// };\r\n// }\r\n// };\r\n\r\n// // const subjectWiseData = (questions) => {\r\n// // const subjectSectionWiseData = {};\r\n// // for (let i = 0; i < questions.length; i++) {\r\n// // questions[i][\"matchIndex\"] = i;\r\n// // if (!subjectSectionWiseData[questions[i][\"subject\"]]) {\r\n// // subjectSectionWiseData[questions[i][\"subject\"]] = {\r\n// // [questions[i][\"section_name\"]]: [questions[i]],\r\n// // };\r\n// // } else if (\r\n// // subjectSectionWiseData[questions[i][\"subject\"]] &&\r\n// // !subjectSectionWiseData[questions[i][\"subject\"]][\r\n// // questions[i][\"section_name\"]\r\n// // ]\r\n// // ) {\r\n// // subjectSectionWiseData[questions[i][\"subject\"]][\r\n// // questions[i][\"section_name\"]\r\n// // ] = [questions[i]];\r\n// // } else {\r\n// // subjectSectionWiseData[questions[i][\"subject\"]][\r\n// // questions[i][\"section_name\"]\r\n// // ].push(questions[i]);\r\n// // }\r\n// // }\r\n// // return subjectSectionWiseData;\r\n// // };\r\n\r\n// const getNowTime = () => {\r\n// let d = new Date();\r\n// //3 days from the time created\r\n// const date_created = new Date(userData.created_on);\r\n// const numOfHours = 72;\r\n// date_created.setTime(date_created.getTime() + numOfHours * 60 * 60 * 1000);\r\n// let diffInMilliseconds = Math.abs(Math.abs(date_created - d) / 1000);\r\n\r\n// // let diffInMilliSeconds = Math.abs(dateFuture - dateNow) / 1000;\r\n\r\n// // calculate days\r\n// const days = Math.floor(diffInMilliseconds / 86400);\r\n\r\n// // calculate hours\r\n// const hours = 24 * days + (Math.floor(diffInMilliseconds / 3600) % 24);\r\n// diffInMilliseconds -= hours * 3600;\r\n\r\n// // calculate minutes\r\n// const minutes = Math.floor(diffInMilliseconds / 60) % 60;\r\n// // diffInMilliseconds -= minutes * 60;\r\n\r\n// return d.getTime();\r\n// };\r\n\r\n// const get_time_diff = () => {\r\n// let d = new Date();\r\n// //3 days from the time created\r\n// const date_created = new Date(userData.created_on);\r\n// const numOfHours = 72;\r\n// date_created.setTime(date_created.getTime() + numOfHours * 60 * 60 * 1000);\r\n// let diffInMilliseconds = Math.abs(Math.abs(date_created - d) / 1000);\r\n\r\n// // let diffInMilliSeconds = Math.abs(dateFuture - dateNow) / 1000;\r\n\r\n// // calculate days\r\n// const days = Math.floor(diffInMilliseconds / 86400);\r\n\r\n// // calculate hours\r\n// const hours = 24 * days + (Math.floor(diffInMilliseconds / 3600) % 24);\r\n// diffInMilliseconds -= hours * 3600;\r\n\r\n// // calculate minutes\r\n// const minutes = Math.floor(diffInMilliseconds / 60) % 60;\r\n// // diffInMilliseconds -= minutes * 60;\r\n// return hours + \" hrs and \" + minutes + \" minutes\";\r\n// };\r\n\r\n// //exitTimeCurrentOption\r\n// const startBtn = async () => {\r\n// //let lastOption = Number(localStorage.getItem(\"current\"));\r\n// // if (state.left == 0 && state.is_paid == 0) {\r\n// // // history.push(\"/store\");\r\n// // let my_data = [{ is_coupon: false }];\r\n// // props.history.push({\r\n// // pathname: \"/store\",\r\n// // my_state: my_data,\r\n// // });\r\n// // }\r\n\r\n// // let testSectionsDetails = { ...state.testSectionsDetails };\r\n// // let testDetails = { ...state.testDetails };\r\n// if (!isEmpty(questionBankTestId)) {\r\n// let returnedResponse = await getTestQuestionsList(questionBankTestId);\r\n// // const _subjecSectiontWiseTestQuestions = subjectWiseData(\r\n// // returnedResponse.data.apiData.data\r\n// // );\r\n// if (returnedResponse.result) {\r\n// returnedResponse.data.apiData.data.forEach((element) => {\r\n// element.isReview = false;\r\n// // element.isSkipped = false;\r\n// element.isAttempted = false;\r\n// element.isAnswerGuessed = false;\r\n// element.totalTimeTaken = 0;\r\n// element.isAnswerCorrect = 0;\r\n// element.correctAnswerIdCollection = [];\r\n// element.wrongAnswerIdCollection = [];\r\n// element.userAnswerCollection = [];\r\n// // element.q_text = element.q_text.replaceAll(\r\n// // \"ckfinder\",\r\n// // \"http://quizmaster.motion.ac.in/ckfinder\"\r\n// // );\r\n// element.q_text = element.q_text\r\n// .replaceAll(\r\n// 'src=\"ckfinder',\r\n// 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'src=\"/ckfinder',\r\n// 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"/ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"./ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC= \"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// );\r\n// element.sol_text = element.sol_text\r\n// ?.replaceAll(\r\n// 'src=\"ckfinder',\r\n// 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'src=\"/ckfinder',\r\n// 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"/ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"./ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC= \"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// );\r\n// element.option?.forEach((opt) => {\r\n// opt.option = opt.option\r\n// .replaceAll(\r\n// 'src=\"ckfinder',\r\n// 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'src=\"/ckfinder',\r\n// 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"/ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC=\"./ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// )\r\n// .replaceAll(\r\n// 'SRC= \"ckfinder',\r\n// 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n// );\r\n// });\r\n// });\r\n// let time = getNowTime();\r\n\r\n// setState((prevState) => ({\r\n// ...prevState,\r\n// step: 2,\r\n// testQuestionsDetails: returnedResponse.data.apiData.data,\r\n// //subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n// initialTime: time,\r\n// useTime: returnedResponse.data.apiData.total_time,\r\n// }));\r\n// //handleQuestionJump(lastOption);\r\n// } else {\r\n// alert(\"No test questions found\");\r\n// }\r\n// } else {\r\n// alert(\"You don't have Test Details\");\r\n// }\r\n// };\r\n\r\n// const getCalculatedTime = (initialTime) => {\r\n// let d = new Date();\r\n// let time = d.getTime();\r\n\r\n// let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n// return calculatedTime;\r\n// };\r\n// const handlePreviousQuestionBtn = () => {\r\n// let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n// // let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n// // testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n// let time = getNowTime();\r\n\r\n// handleSaveQuestion();\r\n// //handleCheckQuestion();\r\n// if (currentQuestion >= 1) {\r\n// setState((prevState) => ({\r\n// ...prevState,\r\n// currentQuestion: currentQuestion - 1,\r\n// testQuestionsDetails: testQuestionsDetails,\r\n// initialTime: time,\r\n// }));\r\n// window.scrollTo(0, 0);\r\n// }\r\n// // if (state.testQuestionsDetails[state.currentQuestion].option.filter((opt) => {\r\n// // opt.\r\n// // }))\r\n// };\r\n// //save prticular question\r\n// const handleSaveQuestion = async () => {\r\n// let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n// let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n// let calculatedTime = getCalculatedTime(initialTime);\r\n// // let dataa = {\r\n// // question_bank_id: questionBankTestId,\r\n// // negative_marks: crntQuestionDetail.negative_marks,\r\n// // option_id: crntQuestionDetail.userAnswerCollection[0]\r\n// // ? crntQuestionDetail.userAnswerCollection[0].option_id\r\n// // : crntQuestionDetail.answer_type == \"Integer Correct\"\r\n// // ? crntQuestionDetail.integer_answer\r\n// // : \"\",\r\n// // paper_id: crntQuestionDetail.paper_id,\r\n// // partial_marks: crntQuestionDetail.partial_marks,\r\n// // positive_marks: crntQuestionDetail.positive_marks,\r\n// // qid: crntQuestionDetail.qid,\r\n// // subject: crntQuestionDetail.subject,\r\n// // time: crntQuestionDetail.totalTimeTaken,\r\n// // topic_name: crntQuestionDetail.topic_name,\r\n// // toughness: crntQuestionDetail.toughness,\r\n// // format: \"\",\r\n// // section: \"\",\r\n\r\n// // };\r\n\r\n// let data = {};\r\n// if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n// data = {\r\n// question_bank_id: questionBankTestId,\r\n// negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n// option_int: crntQuestionDetail.userAnswerCollection[0]\r\n// ? crntQuestionDetail.userAnswerCollection[0]\r\n// : crntQuestionDetail.answer_type == \"Integer Correct\"\r\n// ? crntQuestionDetail.integer_answer\r\n// : \"\",\r\n\r\n// option_id: [],\r\n\r\n// paper_id: crntQuestionDetail.paper_id,\r\n// partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n// positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n// qid: crntQuestionDetail.qid,\r\n// subject: crntQuestionDetail.subject,\r\n// // time: 10,\r\n// time: calculatedTime ? calculatedTime : 0,\r\n// topic_name: crntQuestionDetail.topic_name,\r\n// toughness: crntQuestionDetail.toughness,\r\n\r\n// format: \"\",\r\n// section: \"\",\r\n// };\r\n// } else {\r\n// data = {\r\n// question_bank_id: questionBankTestId,\r\n\r\n// negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n// option_id: crntQuestionDetail.userAnswerCollection.length\r\n// ? crntQuestionDetail.userAnswerCollection\r\n// : [],\r\n\r\n// paper_id: crntQuestionDetail.paper_id,\r\n// partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n// positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n// qid: crntQuestionDetail.qid,\r\n// subject: crntQuestionDetail.subject,\r\n// // time: 10,\r\n// time: calculatedTime ? calculatedTime : 0,\r\n// topic_name: crntQuestionDetail.topic_name,\r\n// toughness: crntQuestionDetail.toughness,\r\n\r\n// format: \"\",\r\n// section: \"\",\r\n// };\r\n// }\r\n\r\n// startLoading();\r\n// try {\r\n// const response = await axios.post(url_155, data);\r\n// if (response.data.status === 200) {\r\n// finishLoading();\r\n// }\r\n// finishLoading();\r\n// } catch (error) {\r\n// console.log(error);\r\n// }\r\n// };\r\n\r\n// const handleNextQuestionBtn = () => {\r\n// let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n// let calculatedTime = getCalculatedTime(initialTime);\r\n// // testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n// handleSaveQuestion();\r\n// //newline add\r\n\r\n// if (\r\n// testQuestionsDetails[currentQuestion].isAttempted ||\r\n// testQuestionsDetails[currentQuestion].option.filter(\r\n// (m) => m.is_user_correct_ans\r\n// ).length\r\n// ) {\r\n// testQuestionsDetails[currentQuestion].isReview = false;\r\n// } else {\r\n// testQuestionsDetails[currentQuestion].isReview = true;\r\n// }\r\n// let time = getNowTime();\r\n\r\n// setState((prevState) => ({\r\n// ...prevState,\r\n// currentQuestion: currentQuestion + 1,\r\n// testQuestionsDetails: testQuestionsDetails,\r\n// initialTime: time,\r\n// }));\r\n// window.scrollTo(0, 0);\r\n// };\r\n// const handleSingleSelectAnswer = (event, optionId) => {\r\n// let { checked } = event.target;\r\n// let { currentQuestion, testQuestionsDetails } = state;\r\n// //localStorage.setItem(\"current\", currentQuestion);\r\n// if (checked) {\r\n// testQuestionsDetails[currentQuestion].isAttempted = true;\r\n// testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n// if (\r\n// testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n// optionId\r\n// ) === -1\r\n// ) {\r\n// //if you not find the answer in backendCorrect answer array\r\n// testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n// Number(optionId);\r\n// testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n// testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n// } else {\r\n// testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n// optionId;\r\n// testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n// testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n// }\r\n// } else {\r\n// testQuestionsDetails[currentQuestion].isAttempted = false;\r\n// testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n// testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n// testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n// testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n// }\r\n\r\n// setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n// };\r\n\r\n// // let { checked } = event.target;\r\n// // let { currentQuestion, testQuestionsDetails } = state;\r\n// // //localStorage.setItem(\"current\", currentQuestion);\r\n// // if (checked) {\r\n// // testQuestionsDetails[currentQuestion].isAttempted = true;\r\n// // testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n// // if (\r\n// // testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n// // optionId\r\n// // ) === -1\r\n// // ) {\r\n// // //if you not find the answer in backendCorrect answer array\r\n// // testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n// // Number(optionId);\r\n// // testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n// // testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n// // } else {\r\n// // testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n// // optionId;\r\n// // testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n// // testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n// // }\r\n// // } else {\r\n// // testQuestionsDetails[currentQuestion].isAttempted = false;\r\n// // testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n// // testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n// // testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n// // testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n// // }\r\n\r\n// // setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n// // };\r\n\r\n// const handleMultiSelectAnswer = (_event, optionId) => {\r\n// let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n// let findedIndex = testQuestionsDetails[\r\n// currentQuestion\r\n// ].userAnswerCollection.findIndex((element) => {\r\n// return element === optionId;\r\n// });\r\n\r\n// if (findedIndex === -1) {\r\n// testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n// testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n// 0,\r\n// optionId\r\n// );\r\n// } else {\r\n// testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n// findedIndex,\r\n// 1\r\n// );\r\n// }\r\n\r\n// if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n// testQuestionsDetails[currentQuestion].isAttempted = true;\r\n// } else {\r\n// testQuestionsDetails[currentQuestion].isAttempted = false;\r\n// }\r\n\r\n// if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n// testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n// }\r\n\r\n// setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n// };\r\n\r\n// const handleInputFieldChange = (event) => {\r\n// let { value } = event.target;\r\n// // value = value.replace(/[^0-9]/g, \"\")\r\n// let { currentQuestion, testQuestionsDetails } = state;\r\n// testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n// if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n// testQuestionsDetails[currentQuestion].isAttempted = true;\r\n// } else {\r\n// testQuestionsDetails[currentQuestion].isAttempted = false;\r\n// }\r\n\r\n// setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n// };\r\n\r\n// const handleQuestionJump = (questionNumber) => {\r\n// handleSaveQuestion();\r\n// setState((prevState) => ({\r\n// ...prevState,\r\n// currentQuestion: questionNumber,\r\n// }));\r\n// };\r\n\r\n// const handleSubmitTest = async () => {\r\n// let { testQuestionsDetails } = state;\r\n\r\n// let questionArr = [];\r\n\r\n// testQuestionsDetails.forEach((element) => {\r\n// if (element.answer_type.toLowerCase() === \"single correct\") {\r\n// let data = {\r\n// qid: element.qid,\r\n// type_id: element.type_id,\r\n// is_saved: element.is_saved,\r\n// total_time: element.totalTimeTaken,\r\n// is_attempted: element.isAttempted,\r\n// is_AnswerCorrect: element.isAnswerCorrect,\r\n// is_GessTypeAnswer: element.isAnswerGuessed,\r\n// paragraph_answer: element.paragraph_answer,\r\n// integer_answer: element.integer_answer,\r\n// positive_marks: element.positive_marks,\r\n// negative_marks: element.negative_marks,\r\n// partial_marks: element.partial_marks,\r\n// CorrectAnswerId: element.correctAnswerIdCollection,\r\n// WrongeAnswerId: element.wrongAnswerIdCollection,\r\n// answer: element.userAnswerCollection,\r\n// toughness_id: element.toughness_id,\r\n// subject: element.subject,\r\n// topic_id: element.topic_id,\r\n// };\r\n// if (!data.type_id) {\r\n// data.type_id = 6;\r\n// }\r\n// questionArr.push(data);\r\n// } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n// let data = {\r\n// qid: element.qid,\r\n// type_id: element.type_id,\r\n// is_saved: element.is_saved,\r\n// total_time: element.totalTimeTaken,\r\n// is_attempted: element.isAttempted,\r\n// is_AnswerCorrect: element.isAnswerCorrect,\r\n// is_GessTypeAnswer: element.isAnswerGuessed,\r\n// paragraph_answer: element.paragraph_answer,\r\n// integer_answer: element.integer_answer,\r\n// positive_marks: element.positive_marks,\r\n// negative_marks: element.negative_marks,\r\n// partial_marks: element.partial_marks,\r\n// CorrectAnswerId: element.correctAnswerIdCollection,\r\n// WrongeAnswerId: element.wrongAnswerIdCollection,\r\n// answer: element.userAnswerCollection,\r\n// toughness_id: element.toughness_id,\r\n// subject: element.subject,\r\n// topic_id: element.topic_id,\r\n// };\r\n// if (!data.type_id) {\r\n// data.type_id = 6;\r\n// }\r\n// questionArr.push(data);\r\n// } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n// let data = {\r\n// qid: element.qid,\r\n// type_id: element.type_id,\r\n// is_saved: element.is_saved,\r\n// total_time: element.totalTimeTaken,\r\n// is_attempted: element.isAttempted,\r\n// paragraph_answer: element.paragraph_answer,\r\n// integer_answer: element.integer_answer,\r\n// is_AnswerCorrect: element.isAnswerCorrect,\r\n// is_GessTypeAnswer: element.isAnswerGuessed,\r\n// positive_marks: element.positive_marks,\r\n// negative_marks: element.negative_marks,\r\n// partial_marks: element.partial_marks,\r\n// CorrectAnswerId: element.correctAnswerIdCollection,\r\n// WrongeAnswerId: element.wrongAnswerIdCollection,\r\n// answer: element.userAnswerCollection,\r\n// toughness_id: element.toughness_id,\r\n// subject: element.subject,\r\n// topic_id: element.topic_id,\r\n// };\r\n// if (!data.type_id) {\r\n// data.type_id = 6;\r\n// }\r\n// questionArr.push(data);\r\n// }\r\n// });\r\n// startLoading();\r\n// let returnedResponse = await submitTestApi();\r\n// if (returnedResponse.result) {\r\n// finishLoading();\r\n\r\n// history.push(\"/question_bank\");\r\n// } else {\r\n// finishLoading();\r\n// alert(returnedResponse.data.message);\r\n// }\r\n// };\r\n\r\n\r\n// const submitTestApi = async () => {\r\n// let requestPayload = {\r\n// // course_id: userPreference.courseDetails[0].course_id,\r\n// // class_id: userPreference.classDetails.class_id,\r\n// // batch_id: userPreference.batchDetails.batch_id,\r\n// question_bank_id: questionBankTestId,\r\n// time: 84,\r\n// // paper_duration: testDetails.duration_mins,\r\n// // paper_marks: testDetails.total_marks,\r\n// // question: questionArr,\r\n// };\r\n\r\n// // let requestPayload = {\r\n// // course_id: 36,\r\n// // class_id: 2,\r\n// // batch_id: 30,\r\n// // paper_id: testDetails.paper_id,\r\n// // paper_duration: testDetails.duration_mins,\r\n// // paper_marks: testDetails.total_marks,\r\n// // question: questionArr,\r\n// // };\r\n\r\n// try {\r\n// const response = await axios.post(url_156, requestPayload);\r\n// if (response.data.status === 200) {\r\n// return {\r\n// result: 1,\r\n// data: {\r\n// message: response.data.message,\r\n// },\r\n// };\r\n// } else {\r\n// return {\r\n// result: 0,\r\n// data: {\r\n// message: response.data.message,\r\n// },\r\n// };\r\n// }\r\n// } catch (error) {\r\n// console.log(error);\r\n// return {\r\n// result: 0,\r\n// data: {\r\n// message: \"Something went wrong!!!\",\r\n// },\r\n// };\r\n// }\r\n// };\r\n\r\n// const handleRedirectBtn = () => {\r\n// history.push(\"/pyq_cps_exam\");\r\n// };\r\n\r\n// const renderView = (step) => {\r\n// switch (step) {\r\n// case 1:\r\n// return (\r\n// \r\n// );\r\n// case 2:\r\n// return (\r\n// \r\n// );\r\n\r\n// default:\r\n// return null;\r\n// }\r\n// };\r\n\r\n// return (\r\n// \r\n//
    \r\n//
    \r\n// {renderView(state.step)}\r\n//
    \r\n//
    \r\n//
    \r\n// );\r\n// };\r\n\r\n// const mapStateToProps = (state) => {\r\n// return {\r\n// questionBankTestId: state.QuestionBank.questionBankId,\r\n// userPreference: state.userPreference,\r\n// };\r\n// };\r\n\r\n// const mapDispatchToProps = (dispatch) => {\r\n// return {\r\n// startLoading: () => {\r\n// dispatch(uiActions.startLoading());\r\n// },\r\n// finishLoading: () => {\r\n// dispatch(uiActions.finishLoading());\r\n// },\r\n\r\n// // setCpsTestsResultData: (payload) => {\r\n// // dispatch(cpsUiActions.setCpsTestsResultData(payload));\r\n// // },\r\n// };\r\n// };\r\n\r\n// export default connect(\r\n// mapStateToProps,\r\n// mapDispatchToProps\r\n// )(QuestionBankTestContentComponent);\r\n\r\n\r\n\r\n\r\nimport { Fragment, useState, useEffect } from \"react\";\r\n\r\nimport \"./QuestionBankTestContentComponent.scss\";\r\n\r\nimport QuestionBankTestInstructionView from \"./question_bank_test_intructions/QuestionBankTestInstructionView\";\r\nimport QuestionBankTestQuestionsView from \"./question_bank_test_questions/QuestionBankTestQuestionsView\";\r\n\r\nimport {\r\n url_153,\r\n url_154,\r\n url_155,\r\n url_156,\r\n} from \"../../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\n\r\nconst QuestionBankTestContentComponent = (props) => {\r\n let { history, startLoading, finishLoading, userData, questionBankTestId } =\r\n props;\r\n const [state, setState] = useState({\r\n step: 1,\r\n testInstructionData: {},\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n \r\n initialTime: 0,\r\n useTime: 0,\r\n left: 0,\r\n is_paid: 0,\r\n hours: 72,\r\n minutes: 0,\r\n seconds: 0,\r\n });\r\n\r\n\r\n\r\n useEffect(() => {\r\n getinstructionDetail();\r\n }, []);\r\n\r\n\r\n const getinstructionDetail = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_153);\r\n\r\n if (response.data.status) {\r\n setState((preState) => ({\r\n ...preState,\r\n\r\n testInstructionData: response.data.data,\r\n }));\r\n }\r\n\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getTestQuestionsList = async (questionBankTestId) => {\r\n let data = {\r\n question_bank_id: questionBankTestId,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_154, data);\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n //3 days from the time created\r\n const date_created = new Date(userData.created_on);\r\n const numOfHours = 72;\r\n date_created.setTime(date_created.getTime() + numOfHours * 60 * 60 * 1000);\r\n let diffInMilliseconds = Math.abs(Math.abs(date_created - d) / 1000);\r\n\r\n // let diffInMilliSeconds = Math.abs(dateFuture - dateNow) / 1000;\r\n\r\n // calculate days\r\n const days = Math.floor(diffInMilliseconds / 86400);\r\n\r\n // calculate hours\r\n const hours = 24 * days + (Math.floor(diffInMilliseconds / 3600) % 24);\r\n diffInMilliseconds -= hours * 3600;\r\n\r\n // calculate minutes\r\n const minutes = Math.floor(diffInMilliseconds / 60) % 60;\r\n // diffInMilliseconds -= minutes * 60;\r\n\r\n return d.getTime();\r\n };\r\n\r\n\r\n\r\n //exitTimeCurrentOption\r\n const startBtn = async () => {\r\n \r\n\r\n if (!isEmpty(questionBankTestId)) {\r\n let returnedResponse = await getTestQuestionsList(questionBankTestId);\r\n \r\n if (returnedResponse.result) {\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n \r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.sol_text = element.sol_text\r\n ?.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n });\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n testQuestionsDetails: returnedResponse.data.apiData.data,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n\r\n return calculatedTime;\r\n };\r\n const handlePreviousQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n\r\n let time = getNowTime();\r\n\r\n handleSaveQuestion();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n\r\n };\r\n //save prticular question\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n \r\n\r\n let data = {};\r\n if (crntQuestionDetail.answer_type == \"Integer Correct\") {\r\n data = {\r\n question_bank_id: questionBankTestId,\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n option_int: crntQuestionDetail.userAnswerCollection[0]\r\n ? crntQuestionDetail.userAnswerCollection[0]\r\n : crntQuestionDetail.answer_type == \"Integer Correct\"\r\n ? crntQuestionDetail.integer_answer\r\n : \"\",\r\n\r\n option_id: [],\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: \"\",\r\n section: \"\",\r\n };\r\n } else {\r\n data = {\r\n question_bank_id: questionBankTestId,\r\n\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n option_id: crntQuestionDetail.userAnswerCollection.length\r\n ? crntQuestionDetail.userAnswerCollection\r\n : [],\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: \"\",\r\n section: \"\",\r\n };\r\n }\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_155, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n handleSaveQuestion();\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n testQuestionsDetails[currentQuestion].option.filter(\r\n (m) => m.is_user_correct_ans\r\n ).length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n Number(optionId);\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n handleSaveQuestion();\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n\r\n const handleSubmitTest = async () => {\r\n let { testQuestionsDetails } = state;\r\n\r\n let questionArr = [];\r\n\r\n testQuestionsDetails.forEach((element) => {\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n });\r\n startLoading();\r\n let returnedResponse = await submitTestApi();\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n\r\n history.push(\"/question_bank\");\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n };\r\n\r\n\r\n const submitTestApi = async () => {\r\n let requestPayload = {\r\n \r\n question_bank_id: questionBankTestId,\r\n time: 84,\r\n\r\n };\r\n\r\n\r\n try {\r\n const response = await axios.post(url_156, requestPayload);\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {renderView(state.step)}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n questionBankTestId: state.QuestionBank.questionBankId,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(QuestionBankTestContentComponent);\r\n","import { Fragment } from \"react\";\r\nimport \"./QuestionBankTestComponent\";\r\n\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n\r\n////////\r\nimport QuestionBankTestContentComponent from \"./question_bank_test_content_components/QuestionBankTestContentComponent\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst QuestionBankTestComponent = (props) => {\r\n let { history, loader, userData } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? null : (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps)(QuestionBankTestComponent);\r\n","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList);\nexport default __webpack_public_path__ + \"static/media/list.fcf6e659.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n fill: \"#F6F6F7\"\n }), /*#__PURE__*/React.createElement(\"rect\", {\n x: 0.3,\n y: 0.3,\n width: 35.4,\n height: 35.4,\n rx: 3.7,\n stroke: \"#CECECE\",\n strokeWidth: 0.6\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"#646666\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid);\nexport default __webpack_public_path__ + \"static/media/grid.6656b352.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgList1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178525\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M14.25 12C14.25 11.8011 14.329 11.6103 14.4697 11.4697C14.6103 11.329 14.8011 11.25 15 11.25H26.25C26.4489 11.25 26.6397 11.329 26.7803 11.4697C26.921 11.6103 27 11.8011 27 12C27 12.1989 26.921 12.3897 26.7803 12.5303C26.6397 12.671 26.4489 12.75 26.25 12.75H15C14.8011 12.75 14.6103 12.671 14.4697 12.5303C14.329 12.3897 14.25 12.1989 14.25 12ZM26.25 17.25H15C14.8011 17.25 14.6103 17.329 14.4697 17.4697C14.329 17.6103 14.25 17.8011 14.25 18C14.25 18.1989 14.329 18.3897 14.4697 18.5303C14.6103 18.671 14.8011 18.75 15 18.75H26.25C26.4489 18.75 26.6397 18.671 26.7803 18.5303C26.921 18.3897 27 18.1989 27 18C27 17.8011 26.921 17.6103 26.7803 17.4697C26.6397 17.329 26.4489 17.25 26.25 17.25ZM26.25 23.25H15C14.8011 23.25 14.6103 23.329 14.4697 23.4697C14.329 23.6103 14.25 23.8011 14.25 24C14.25 24.1989 14.329 24.3897 14.4697 24.5303C14.6103 24.671 14.8011 24.75 15 24.75H26.25C26.4489 24.75 26.6397 24.671 26.7803 24.5303C26.921 24.3897 27 24.1989 27 24C27 23.8011 26.921 23.6103 26.7803 23.4697C26.6397 23.329 26.4489 23.25 26.25 23.25ZM11.25 11.25H9.75C9.55109 11.25 9.36032 11.329 9.21967 11.4697C9.07902 11.6103 9 11.8011 9 12C9 12.1989 9.07902 12.3897 9.21967 12.5303C9.36032 12.671 9.55109 12.75 9.75 12.75H11.25C11.4489 12.75 11.6397 12.671 11.7803 12.5303C11.921 12.3897 12 12.1989 12 12C12 11.8011 11.921 11.6103 11.7803 11.4697C11.6397 11.329 11.4489 11.25 11.25 11.25ZM11.25 17.25H9.75C9.55109 17.25 9.36032 17.329 9.21967 17.4697C9.07902 17.6103 9 17.8011 9 18C9 18.1989 9.07902 18.3897 9.21967 18.5303C9.36032 18.671 9.55109 18.75 9.75 18.75H11.25C11.4489 18.75 11.6397 18.671 11.7803 18.5303C11.921 18.3897 12 18.1989 12 18C12 17.8011 11.921 17.6103 11.7803 17.4697C11.6397 17.329 11.4489 17.25 11.25 17.25ZM11.25 23.25H9.75C9.55109 23.25 9.36032 23.329 9.21967 23.4697C9.07902 23.6103 9 23.8011 9 24C9 24.1989 9.07902 24.3897 9.21967 24.5303C9.36032 24.671 9.55109 24.75 9.75 24.75H11.25C11.4489 24.75 11.6397 24.671 11.7803 24.5303C11.921 24.3897 12 24.1989 12 24C12 23.8011 11.921 23.6103 11.7803 23.4697C11.6397 23.329 11.4489 23.25 11.25 23.25Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgList1);\nexport default __webpack_public_path__ + \"static/media/list1.160b7025.svg\";\nexport { ForwardRef as ReactComponent };","var _g;\nfunction _extends() { return _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, _extends.apply(null, arguments); }\nimport * as React from \"react\";\nfunction SvgGrid1(_ref, svgRef) {\n let {\n title,\n titleId,\n ...props\n } = _ref;\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 36,\n height: 36,\n viewBox: \"0 0 36 36\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n id: \"Frame 178524\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 36,\n height: 36,\n rx: 4,\n fill: \"#263238\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n id: \"Vector\",\n d: \"M15.75 9.75H11.25C10.8522 9.75 10.4706 9.90804 10.1893 10.1893C9.90804 10.4706 9.75 10.8522 9.75 11.25V15.75C9.75 16.1478 9.90804 16.5294 10.1893 16.8107C10.4706 17.092 10.8522 17.25 11.25 17.25H15.75C16.1478 17.25 16.5294 17.092 16.8107 16.8107C17.092 16.5294 17.25 16.1478 17.25 15.75V11.25C17.25 10.8522 17.092 10.4706 16.8107 10.1893C16.5294 9.90804 16.1478 9.75 15.75 9.75ZM15.75 15.75H11.25V11.25H15.75V15.75ZM24.75 9.75H20.25C19.8522 9.75 19.4706 9.90804 19.1893 10.1893C18.908 10.4706 18.75 10.8522 18.75 11.25V15.75C18.75 16.1478 18.908 16.5294 19.1893 16.8107C19.4706 17.092 19.8522 17.25 20.25 17.25H24.75C25.1478 17.25 25.5294 17.092 25.8107 16.8107C26.092 16.5294 26.25 16.1478 26.25 15.75V11.25C26.25 10.8522 26.092 10.4706 25.8107 10.1893C25.5294 9.90804 25.1478 9.75 24.75 9.75ZM24.75 15.75H20.25V11.25H24.75V15.75ZM15.75 18.75H11.25C10.8522 18.75 10.4706 18.908 10.1893 19.1893C9.90804 19.4706 9.75 19.8522 9.75 20.25V24.75C9.75 25.1478 9.90804 25.5294 10.1893 25.8107C10.4706 26.092 10.8522 26.25 11.25 26.25H15.75C16.1478 26.25 16.5294 26.092 16.8107 25.8107C17.092 25.5294 17.25 25.1478 17.25 24.75V20.25C17.25 19.8522 17.092 19.4706 16.8107 19.1893C16.5294 18.908 16.1478 18.75 15.75 18.75ZM15.75 24.75H11.25V20.25H15.75V24.75ZM24.75 18.75H20.25C19.8522 18.75 19.4706 18.908 19.1893 19.1893C18.908 19.4706 18.75 19.8522 18.75 20.25V24.75C18.75 25.1478 18.908 25.5294 19.1893 25.8107C19.4706 26.092 19.8522 26.25 20.25 26.25H24.75C25.1478 26.25 25.5294 26.092 25.8107 25.8107C26.092 25.5294 26.25 25.1478 26.25 24.75V20.25C26.25 19.8522 26.092 19.4706 25.8107 19.1893C25.5294 18.908 25.1478 18.75 24.75 18.75ZM24.75 24.75H20.25V20.25H24.75V24.75Z\",\n fill: \"white\"\n }))));\n}\nconst ForwardRef = /*#__PURE__*/React.forwardRef(SvgGrid1);\nexport default __webpack_public_path__ + \"static/media/grid1.13da20b0.svg\";\nexport { ForwardRef as ReactComponent };","import { Fragment, useState } from \"react\";\r\nimport \"./QuestionBankSolutionContent.scss\";\r\n\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport { Link } from \"react-router-dom\";\r\nimport images from \"../../../../utilities/images/images\";\r\nimport { ReactComponent as List } from \"./list.svg\";\r\nimport { ReactComponent as Grid } from \"./grid.svg\";\r\nimport { ReactComponent as List1 } from \"./list1.svg\";\r\nimport { ReactComponent as Grid1 } from \"./grid1.svg\";\r\nimport useMathjax from \"../../../../hooks/useMathjax\";\r\n\r\nconst QuestionBankSolutionContent = (props) => {\r\n let {\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentSolutionDetails,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n } = props;\r\n\r\n const [lang, setLang] = useState(true);\r\n const [disabled1, setDisabled] = useState(false);\r\n const [sol, setSol] = useState(true);\r\n const [isList, setisList] = useState(true);\r\n useMathjax(currentSolutionDetails, isList);\r\n const [toggleMenu, setToggleMenu] = useState(false);\r\n\r\n const renderOptions = (testQuestionsDetails) => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr.map((val, i) => {\r\n let step, type;\r\n type = val.answer_type;\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(questionsArr[i], i);\r\n case 2:\r\n return renderInputField(i);\r\n case 3:\r\n return renderMultiSelect(questionsArr[i], i);\r\n default:\r\n return null;\r\n }\r\n });\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\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\r\n const renderQuestionText = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n } else if (lang == false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.q_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.q_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n const renderSolution = (currentSolutionDetails, lang) => {\r\n if (lang == true) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n } else if (lang == false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.sol_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text_hindi,\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.sol_text,\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text,\r\n };\r\n }\r\n };\r\n\r\n // method for converting string(coming from api) into hmtl\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderQuestionNumber = (index) => {\r\n if (index <= 8) {\r\n return `${index + 1}.`;\r\n } else {\r\n return `${index + 1}.`;\r\n }\r\n };\r\n\r\n const renderQuestionLabel = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n
    \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n {/*

    */}\r\n
    \r\n {/* */}\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n const renderQuestionLabel1 = (question, index) => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans == 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n

    {`${index + 1}.`}

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const handleQuestionType = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n return questionsArr[currentQuestion].answer_type;\r\n } else {\r\n return null;\r\n }\r\n };\r\n\r\n const handleSubTopicText = () => {\r\n if (testQuestionsDetails.length) {\r\n let questionsArr = testQuestionsDetails;\r\n\r\n if (questionsArr[currentQuestion].hasOwnProperty(\"sub_topic\")) {\r\n return questionsArr[currentQuestion].sub_topic;\r\n } else {\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n };\r\n let progressCount = (100 / testQuestionsDetails.length) * currentQuestion + 1;\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {toggleMenu ? (\r\n {\r\n setToggleMenu(false);\r\n }}\r\n >
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n {\r\n setToggleMenu(true);\r\n }}\r\n >\r\n Questions\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    \r\n {currentQuestion + 1}/{testQuestionsDetails.length}\r\n

    \r\n {/*
    \r\n {currentSolutionDetails.q_text_hindi ? (\r\n setLang(!lang)}\r\n >\r\n {lang ? \"अ\" : \"A\"}\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    */}\r\n
    \r\n
    \r\n\r\n {/*
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails?.length}\r\n
    \r\n
    */}\r\n
    \r\n
    \r\n
    \r\n

    \r\n Question type:{\" \"}\r\n {currentSolutionDetails?.answer_type}\r\n

    \r\n
    \r\n {/*

    Exam Test

    */}\r\n
    \r\n {/*
    \r\n \r\n Question type:{\" \"}\r\n {testQuestionsDetails[currentQuestion]?.answer_type}\r\n \r\n
    \r\n
    */}\r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n\r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => {\r\n return (\r\n <>\r\n

    \r\n

    \r\n \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {testQuestionsDetails.length > 0 &&\r\n renderOptions(testQuestionsDetails, lang)}\r\n
    \r\n\r\n
    \r\n
    Solution
    \r\n
    \r\n

    \r\n
    \r\n

    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n \r\n handlePreviousQuestionBtn(currentQuestion - 1)\r\n }\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails.length === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n handleNextQuestionBtn(currentQuestion + 1)\r\n }\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n {\r\n setToggleMenu(false);\r\n }}\r\n >\r\n
    \r\n

    All Questions

    \r\n
    \r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n {testQuestionsDetails?.length\r\n ? testQuestionsDetails?.map((element, index) => {\r\n return (\r\n \r\n {isList\r\n ? renderQuestionLabel1(element, index)\r\n : renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionBankSolutionContent;\r\n","import { React, useState } from \"react\";\r\n\r\nimport QuestionBankSolutionContent from \"./QuestionBankSolutionContent\";\r\n\r\nimport { url_157 } from \"../../../../custom_utilities/api_services\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../components/loader/loader\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../redux/ui/action\";\r\n\r\nconst QuestionBankSolution = (props) => {\r\n let { startLoading, finishLoading, loader, questionBankTestId } = props;\r\n const [state, setState] = useState({\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n currentSolutionDetails: {},\r\n });\r\n useEffect(() => {\r\n getQuestionList();\r\n }, []);\r\n\r\n const getQuestionList = async () => {\r\n startLoading();\r\n let data = {\r\n question_bank_id: questionBankTestId,\r\n };\r\n try {\r\n const response = await axios.post(url_157, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n //nextBtn\r\n const handleNextQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n //previous btn\r\n const handlePreviousQuestionBtn = (currentQuestion2) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n //handleJump\r\n const handleQuestionJump = (questionNumber) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n return (\r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n questionBankTestId: state.QuestionBank.questionBankId,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(QuestionBankSolution);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./OtsSummary.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport { url_179 } from \"../../../../../../custom_utilities/api_services\";\r\n\r\nimport { Link } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport HeaderComponent from \"../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport { connect } from \"react-redux\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../custom_utilities/custom_useful_functions\";\r\nimport { useHistory } from \"react-router\";\r\nconst OtsSummary = (props) => {\r\n const { startLoading, finishLoading, otsTestsData } = props;\r\n const [otsSummary, setOtsSummary] = useState({});\r\n\r\n useEffect(() => {\r\n getOtsSummary();\r\n }, []);\r\n\r\n const history = useHistory();\r\n\r\n const getOtsSummary = async () => {\r\n let data = {\r\n paper_id: otsTestsData.paper_id,\r\n test_id: otsTestsData.test_id,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_179, data);\r\n if (response.data.status === 200) {\r\n setOtsSummary(response.data.data);\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    Test Summary

    \r\n
    \r\n
    \r\n
    \r\n

    Total Questions

    \r\n

    {otsSummary?.total_questions}

    \r\n
    \r\n
    \r\n

    Total Marks

    \r\n

    {otsSummary?.total_marks}

    \r\n
    \r\n
    \r\n

    Correct Answers

    \r\n

    {otsSummary?.correct_answer}

    \r\n
    \r\n
    \r\n

    Incorrect Answer

    \r\n

    {otsSummary?.incorrect_answer}

    \r\n
    \r\n
    \r\n

    Score Percentage

    \r\n

    {`${otsSummary?.score_percentage}%`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n otsTestsData: state.otsTestsData.otsTestsData,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(OtsSummary);\r\n","import { Fragment } from \"react\";\r\nimport \"./AdaptiveCpsTestInstructionView.scss\";\r\nimport images from \"../../../../../../../../../utilities/images/images\";\r\nimport { isEmpty } from \"../../../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst AdaptiveCpsTestInstructionView = (props) => {\r\n let { startBtn, testInstructionData, attemptCount } = props;\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n\r\n
    Instruction Screen
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n Subject: {testInstructionData.subject}\r\n
    \r\n\r\n
    \r\n

    Weak Topics:

    \r\n
      \r\n {testInstructionData &&\r\n testInstructionData.data &&\r\n testInstructionData.data.length > 0 ? (\r\n testInstructionData.data.map((topic, index) => (\r\n
    • {topic}
    • \r\n ))\r\n ) : (\r\n
    • No weak topics available
    • \r\n )}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n No.of Questions:{\" \"}\r\n {testInstructionData.total_question}\r\n
    \r\n\r\n {!attemptCount === 0 && (\r\n
    \r\n Attempts Left: {attemptCount}\r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n

    Set of Instructions

    \r\n
    \r\n
    \r\n

    {testInstructionData.Instructions}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AdaptiveCpsTestInstructionView;\r\n","// AdaptiveCpsTestInstructions.js\r\n\r\nimport React, { useState, useEffect } from \"react\";\r\n// import AdaptiveCpstTestInstructionsView from \"../../instruction-components/AdaptiveCpsTestInstructionView\";\r\nimport { isEmpty } from \"../../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport axios from \"axios\";\r\nimport AdaptiveCpstTestInstructionsView from \"./adaptiveCpsTestInstructionView/AdaptiveCpsTestInstructionView\";\r\n\r\nconst AdaptiveCpsTestInstructions = (props) => {\r\n console.log(\"AdaptiveCpsTestInstructions\");\r\n const {\r\n handleRedirectBtn,\r\n left,\r\n history,\r\n getTestQuestionsList,\r\n userData,\r\n getNowTime,\r\n setAdaptiveCpsId,\r\n startLoading,\r\n finishLoading,\r\n adaptiveCpsTestData,\r\n tokenType,\r\n token,\r\n handleStep2,\r\n attemptCount,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n testInstructionData: {},\r\n });\r\n\r\n useEffect(() => {\r\n getinstructionDetail();\r\n }, []);\r\n\r\n const getinstructionDetail = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n console.log(\"headers\", tokenType, token);\r\n const data = {\r\n subject: adaptiveCpsTestData.selectedSubject,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserAdaptiveCPS\",\r\n data,\r\n { headers }\r\n );\r\n\r\n if (response.data.status === 200) {\r\n console.log(\"getInstrctionDetails\", response.data.cps_id);\r\n setState((preState) => ({\r\n ...preState,\r\n testInstructionData: response.data,\r\n }));\r\n setAdaptiveCpsId(response.data.cps_id);\r\n } else if (response.data.status === 401) {\r\n alert(response.data.message);\r\n history.push({\r\n pathname: \"/create-adaptive-cps\",\r\n state: { tab: \"adaptive_cps\" },\r\n });\r\n } else if (response.data.status === 402) {\r\n alert(response.data.message);\r\n history.push({\r\n pathname: \"/create-adaptive-cps\",\r\n state: { tab: \"adaptive_cps\" },\r\n });\r\n } else {\r\n alert(response.data.message);\r\n history.push({\r\n pathname: \"/create-adaptive-cps\",\r\n state: { tab: \"adaptive_cps\" },\r\n });\r\n }\r\n\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const startBtn = async () => {\r\n let testDetails = { ...state.testInstructionData };\r\n if (!isEmpty(testDetails)) {\r\n let returnedResponse = await getTestQuestionsList(testDetails);\r\n console.log(\"returnedResponsereturnedResponse\", returnedResponse);\r\n if (returnedResponse.result) {\r\n returnedResponse.data.apiData.data.forEach((element) => {\r\n element.isReview = false;\r\n // element.isSkipped = false;\r\n element.isAttempted = false;\r\n element.isAnswerGuessed = false;\r\n element.totalTimeTaken = 0;\r\n element.isAnswerCorrect = 0;\r\n element.correctAnswerIdCollection = [];\r\n element.wrongAnswerIdCollection = [];\r\n element.userAnswerCollection = [];\r\n element.q_text = element.q_text\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.sol_text = element.sol_text\r\n ?.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n element.option?.forEach((opt) => {\r\n opt.option = opt.option\r\n .replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'src=\"/ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"/ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC=\"./ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n )\r\n .replaceAll(\r\n 'SRC= \"ckfinder',\r\n 'SRC=\"http://quizmaster.motion.ac.in/ckfinder'\r\n );\r\n });\r\n });\r\n let time = getNowTime();\r\n const testQuestionsDetails = returnedResponse.data.apiData.data;\r\n handleStep2(2, testQuestionsDetails);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n // testQuestionsDetails: returnedResponse.data.apiData.data,\r\n //subjecSectiontWiseTestQuestions: _subjecSectiontWiseTestQuestions,\r\n initialTime: time,\r\n useTime: returnedResponse.data.apiData.total_time,\r\n }));\r\n //handleQuestionJump(lastOption);\r\n } else {\r\n alert(\"No test questions found\");\r\n }\r\n } else {\r\n alert(\"You don't have Test Details\");\r\n }\r\n };\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default AdaptiveCpsTestInstructions;\r\n","import React from \"react\";\r\nimport \"./QueInfo.scss\";\r\n\r\n// import { MathJax, MathJaxContext } from \"better-react-mathjax\";\r\n\r\nconst QuestionInfoSection = ({\r\n lang,\r\n testQuestionsDetails,\r\n currentQuestion,\r\n}) => {\r\n const config = {\r\n //loader: { load: [\"[tex]/html\"] },\r\n loader: {\r\n load: [\r\n \"input/asciimath\",\r\n \"output/chtml\",\r\n \"ui/menu\",\r\n \"[mml]/mml3\",\r\n \"[tex]/html\",\r\n ],\r\n },\r\n };\r\n return (\r\n
    \r\n {/*

    Adaptive CPS

    */}\r\n
    \r\n
    \r\n Topic:{\" \"}\r\n {testQuestionsDetails[currentQuestion]?.topic_name}\r\n
    \r\n\r\n
    \r\n Sub Topic:{\" \"}\r\n {testQuestionsDetails[currentQuestion]?.sub_topic_name}\r\n
    \r\n\r\n
    \r\n Question type:{\" \"}\r\n {testQuestionsDetails[currentQuestion]?.answer_type}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Question{` ${Number(currentQuestion) + 1}`}\r\n
    \r\n\r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => (\r\n <>\r\n

    \r\n

    \r\n \r\n ))\r\n : null}\r\n {/* {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => (\r\n <>\r\n

    \r\n

    \r\n \r\n ))\r\n : null} */}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionInfoSection;\r\n","import React, { Fragment, useMemo } from \"react\";\r\nimport \"./QueOptions.scss\";\r\n// import { MathJax, MathJaxContext } from \"better-react-mathjax\";\r\n\r\n// const classEditor = (s, wc, optionId, sol) => {\r\n// if (!sol && Number(s) && getClicked()) {\r\n// return \"single_option_wrapper classCorrect\";\r\n// } else if (!sol && wc && wc.indexOf(Number(optionId)) > -1 && getClicked()) {\r\n// return \"single_option_wrapper classWrong\";\r\n// } else {\r\n// return \"single_option_wrapper\";\r\n// }\r\n// };\r\n\r\nconst renderOptionText = (option) => {\r\n return { __html: option };\r\n};\r\n\r\nconst renderOptionInitial = (index) => {\r\n const alphabetArr = \"ABCDEFGHIJKLMNOPQRSTUVWXYZ\";\r\n return alphabetArr[index];\r\n};\r\n\r\nconst QuestionOptions = ({\r\n showSolution,\r\n getClicked,\r\n textInputSolution,\r\n lang,\r\n questionData,\r\n currentQuestion,\r\n sol,\r\n testQuestionsDetails,\r\n checkQuestion,\r\n disableSol,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n setSol,\r\n}) => {\r\n const renderOptions = (\r\n questionData,\r\n currentQuestion,\r\n lang,\r\n sol,\r\n testQuestionsDetails,\r\n checkQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n disableSol\r\n ) => {\r\n if (!questionData) return null;\r\n\r\n const { answer_type: type } = questionData;\r\n let step;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n questionData,\r\n currentQuestion,\r\n lang,\r\n sol,\r\n testQuestionsDetails,\r\n checkQuestion,\r\n handleSingleSelectAnswer,\r\n disableSol\r\n );\r\n case 2:\r\n return renderInputField(\r\n questionData,\r\n currentQuestion,\r\n checkQuestion,\r\n handleInputFieldChange,\r\n disableSol\r\n );\r\n case 3:\r\n return renderMultiSelect(\r\n questionData,\r\n currentQuestion,\r\n sol,\r\n testQuestionsDetails,\r\n handleMultiSelectAnswer,\r\n disableSol\r\n );\r\n default:\r\n return null;\r\n }\r\n };\r\n \r\n const config = {\r\n //loader: { load: [\"[tex]/html\"] },\r\n loader: {\r\n load: [\r\n \"input/asciimath\",\r\n \"output/chtml\",\r\n \"ui/menu\",\r\n \"[mml]/mml3\",\r\n \"[tex]/html\",\r\n ],\r\n },\r\n };\r\n\r\n const classEditor = (s, wc, optionId, sol) => {\r\n if (!sol && Number(s) && getClicked()) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!sol && wc && wc.indexOf(Number(optionId)) > -1 && getClicked()) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2, lang) => {\r\n return (\r\n \r\n \r\n {questionData.option && questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n let optionText = element.option;\r\n if (\r\n !lang &&\r\n questionData.option_hindi &&\r\n questionData.option_hindi[index]\r\n ) {\r\n optionText =\r\n questionData.option_hindi[index].option || element.option;\r\n }\r\n\r\n return (\r\n
    \r\n {\r\n handleSingleSelectAnswer(event, element.option_id);\r\n showSolution(currentQuestion);\r\n // handleCurrentOption(element.option_id);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    \r\n {`${renderOptionInitial(index)}.`}\r\n

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (\r\n questionData,\r\n currentQuestion,\r\n sol,\r\n testQuestionsDetails,\r\n handleMultiSelectAnswer,\r\n disableSol\r\n ) => {\r\n return (\r\n \r\n
    \r\n {questionData.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n {\r\n return item.option_id === element.option_id;\r\n })\r\n : false\r\n }\r\n onChange={(event) => {\r\n handleMultiSelectAnswer(event, element.option_id);\r\n showSolution(currentQuestion);\r\n disableSol();\r\n }}\r\n />\r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = (\r\n questionData,\r\n currentQuestion,\r\n checkQuestion,\r\n handleInputFieldChange,\r\n disableSol\r\n ) => {\r\n return (\r\n \r\n
    \r\n
    \r\n {\r\n textInputSolution(event.target.value);\r\n handleInputFieldChange(event);\r\n disableSol();\r\n }}\r\n disabled={checkQuestion ? false : true}\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n {renderOptions(\r\n questionData,\r\n currentQuestion,\r\n lang,\r\n sol,\r\n testQuestionsDetails,\r\n checkQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n disableSol\r\n )}\r\n {/* {renderOptions(\r\n questionData,\r\n currentQuestion,\r\n lang,\r\n sol,\r\n testQuestionsDetails,\r\n checkQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n disableSol\r\n )} */}\r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionOptions;\r\n","import React, { memo } from \"react\";\r\nimport \"./QueSwitcher.scss\";\r\n\r\nconst QuestionSwitcher = memo(\r\n ({\r\n showSolution,\r\n updateSolution,\r\n solDisabled,\r\n currentQuestion,\r\n totalQuestions,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n scrollUp,\r\n scrollUp2,\r\n sol,\r\n handleSaveQuestion,\r\n handleShow,\r\n handleSolution,\r\n disabled1,\r\n testQuestionsDetails,\r\n handleSol,\r\n setVideoShow,\r\n }) => {\r\n const handlePurticularQuestion = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion - 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion - 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion3 = () => {\r\n if (\r\n testQuestionsDetails[currentQuestion + 1].userAnswerCollection.length ||\r\n testQuestionsDetails[currentQuestion + 1].isAttempted === true\r\n ) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handlePurticularQuestion2 = (currentQuestion) => {\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn();\r\n scrollUp2();\r\n handlePurticularQuestion();\r\n setVideoShow(false);\r\n showSolution(currentQuestion-1);\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {totalQuestions === currentQuestion + 1 ? (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n updateSolution(true);\r\n handleSolution();\r\n }}\r\n >\r\n Solution\r\n \r\n {\r\n handleNextQuestionBtn();\r\n scrollUp();\r\n handlePurticularQuestion3();\r\n setVideoShow(false);\r\n showSolution(currentQuestion+1);\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n }\r\n);\r\n\r\nexport default QuestionSwitcher;\r\n","import React from \"react\";\r\nimport \"./QueSolution.scss\";\r\n\r\nconst QuestionSolution = ({ currentSolutionDetails, lang }) => {\r\n return (\r\n
    \r\n
    Solution:
    \r\n

    \r\n

    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionSolution;\r\n","import React, { useState } from \"react\";\r\nimport { Button, Modal } from \"react-bootstrap\";\r\nimport axios from \"axios\";\r\nimport images from \"../../../../../../../../../../../utilities/images/images\";\r\nimport { toastifyMessage } from \"../../../../../../../../../../../custom_utilities/toastify_config\";\r\nimport {\r\n url_101,\r\n url_102,\r\n} from \"../../../../../../../../../../../custom_utilities/api_services\";\r\n\r\nconst ReportErrorModal = ({\r\n startLoading,\r\n finishLoading,\r\n userId,\r\n testQuestionsDetails,\r\n currentQuestion,\r\n}) => {\r\n const [reportErrorData, setReportErrorData] = useState([]);\r\n\r\n const [showError, setShowError] = useState(false);\r\n const handleCloseReportError = () => {\r\n setShowError(false);\r\n setSaveReportErrorData({ option_id: \"\" });\r\n };\r\n const handleShowReportError = () => setShowError(true);\r\n const [saveReportErrorData, setSaveReportErrorData] = useState({\r\n user_id: userId,\r\n q_id: testQuestionsDetails[currentQuestion]?.qid,\r\n option_id: \"\",\r\n description: \"\",\r\n });\r\n const isDisable = saveReportErrorData.option_id.length === \"\" ? true : false;\r\n\r\n const handleGetReportErrorOptions = () => {\r\n startLoading();\r\n\r\n try {\r\n axios.get(url_101).then((response) => {\r\n setReportErrorData([...response.data.data]);\r\n\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleShowReportError();\r\n }\r\n });\r\n } catch (error) {\r\n finishLoading();\r\n }\r\n };\r\n // function for posting user error data to api\r\n\r\n const handlePostReportErrorData = () => {\r\n startLoading();\r\n try {\r\n axios.post(url_102, saveReportErrorData).then((response) => {\r\n if (response.status === 200) {\r\n finishLoading();\r\n handleCloseReportError();\r\n toastifyMessage(\"Your Report has Submitted Successfully\");\r\n setSaveReportErrorData({ option_id: \"\" });\r\n }\r\n });\r\n } catch (error) {}\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \"img\"\r\n {\" \"}\r\n \r\n Report an error\r\n \r\n \r\n\r\n \r\n \r\n {\" \"}\r\n

    Report an Error

    \r\n
    \r\n \r\n
    \r\n

    \r\n You can just write to us, If there is any incorrect or error in\r\n question and given options.\r\n

    \r\n
      \r\n {reportErrorData?.map((element, index) => {\r\n return (\r\n
    • \r\n {\r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n option_id: event.target.id,\r\n });\r\n }}\r\n />{\" \"}\r\n \r\n
    • \r\n );\r\n })}\r\n
    \r\n \r\n setSaveReportErrorData({\r\n ...saveReportErrorData,\r\n description: event.target.value,\r\n })\r\n }\r\n placeholder=\"Write to Us...\"\r\n />{\" \"}\r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nexport default ReportErrorModal;\r\n","import React, { useState } from \"react\";\r\nimport ShakaSolutionViewVideoPlayer from \"../../../../../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\n\r\nconst QVideoSolution = ({\r\n handleVideoShow,\r\n videoShow,\r\n currentSolutionDetails,\r\n lang,\r\n userId,\r\n}) => {\r\n const handleOnLoad = () => {\r\n const frame = document.getElementById(\"iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true, \"userId\": \"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // Jump to a particular time\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n // Handle message event for receiving video timing details\r\n const eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n const eventer = window[eventMethod];\r\n const messageEvent =\r\n eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n const videoTimingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimingDetails\",\r\n JSON.stringify(videoTimingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const renderVideo = (currentQuestionDetails) => {\r\n const videoIdEnglish = currentQuestionDetails.video_id_english;\r\n\r\n const urlPattern = /^https:\\/\\/speed\\.mogiio\\.com\\/embed3\\/[0-9a-f]{24}$/;\r\n\r\n const buttonLabel =\r\n videoShow && !lang\r\n ? \"वीडियो समाधान बंद करें\" // Close Video Solution\r\n : videoShow && lang\r\n ? \"Close Video Solution\"\r\n : !videoShow && !lang\r\n ? \"वीडियो समाधान देखें\" // View Video Solution\r\n : \"View Video Solution\";\r\n\r\n if (videoIdEnglish && urlPattern.test(videoIdEnglish)) {\r\n // Render iframe with selectedVideoId\r\n return (\r\n
    \r\n \r\n {videoShow && (\r\n \r\n )}\r\n
    \r\n );\r\n } else {\r\n // Render ShakaSolutionViewVideoPlayer\r\n return (\r\n
    \r\n \r\n {videoShow && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n };\r\n\r\n return
    {renderVideo(currentSolutionDetails)}
    ;\r\n};\r\n\r\nexport default QVideoSolution;\r\n","import React from \"react\";\r\nimport \"./QuestionDetailPanel.scss\";\r\nimport TestProgressIndicator from \"./testProgress/TestPrgs\";\r\nimport QuestionInfoSection from \"./questionInfoSection/QueInfo\";\r\nimport QuestionOptions from \"./questionOptions/QueOptions\";\r\nimport QuestionSwitcher from \"./questionSwitcher/QueSwitcher\";\r\nimport QuestionSolution from \"./questionSolution/QueSolution\";\r\nimport ReportErrorModal from \"./reportErrorModal/RptErrorModal\";\r\nimport QVideoSolution from \"./QVideoSolution/QVideoSolution\";\r\n\r\nconst QuestionDetailPanel = ({\r\n showSolution,\r\n getClicked,\r\n textInputSolution,\r\n updateSolution,\r\n solDisabled,\r\n testQuestionsDetails,\r\n currentQuestion,\r\n lang,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n progressCount,\r\n scrollUp,\r\n scrollUp2,\r\n handleVideoShow,\r\n videoShow,\r\n setVideoShow,\r\n disableSol,\r\n checkQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleSaveQuestion,\r\n handleShow,\r\n handleSol,\r\n sol,\r\n disabled1,\r\n handleSolution,\r\n setSol,\r\n handleGetReportErrorOptions,\r\n startLoading,\r\n finishLoading,\r\n userId,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n\r\n \r\n\r\n
    \r\n {testQuestionsDetails.length > 0 && (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n {getClicked() ? (\r\n \r\n ) : null}\r\n\r\n {getClicked() ? (\r\n \r\n ) : null}\r\n
    \r\n\r\n \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionDetailPanel;\r\n","import React from \"react\";\r\nimport \"./QueLabel.scss\";\r\nimport images from \"../../../../../../../../../../../utilities/images/images\";\r\n\r\nconst QuestionStatusLabel = ({\r\n question,\r\n index,\r\n currentQuestion,\r\n handleQuestionJump,\r\n lang,\r\n handleSol,\r\n handleSolution,\r\n testQuestionsDetails,\r\n setVideoShow,\r\n isList,\r\n}) => {\r\n const isCurrent = currentQuestion === index;\r\n const isAttempted = question.isAttempted;\r\n\r\n const handlePurticularQuestion = (questionNumber) => {\r\n if (testQuestionsDetails[questionNumber].userAnswerCollection.length) {\r\n handleSolution();\r\n } else {\r\n handleSol();\r\n }\r\n };\r\n\r\n const handleQuestionClick = () => {\r\n handleQuestionJump(index, handlePurticularQuestion);\r\n // handlePurticularQuestion();\r\n\r\n setVideoShow(false);\r\n };\r\n\r\n const getLabelClassName = () => {\r\n if (isCurrent) {\r\n return \"current_lbl lblBox\";\r\n } else if (isAttempted) {\r\n return \"answered_lbl lblBox\";\r\n } else {\r\n return \"unanswered_lbl lblBox\";\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {isList ? \r\n
    \r\n \r\n
    \r\n : \r\n
    \r\n \r\n
    }\r\n \r\n );\r\n};\r\n\r\nexport default QuestionStatusLabel;\r\n","import React, { useState } from \"react\";\r\nimport \"./QuestionListPanel.scss\";\r\nimport QuestionStatusLabel from \"./questionStatusLabel/QueLabel\";\r\nimport images from \"../../../../../../../../../../utilities/images/images\";\r\n\r\nconst QuestionListPanel = ({\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handleQuestionJump,\r\n questionsCollectionRef,\r\n lang,\r\n handleShow,\r\n handleSaveQuestion,\r\n handleSol,\r\n handleSolution,\r\n setVideoShow,\r\n}) => {\r\n const [isList,setisList] = useState(true);\r\n\r\n return (\r\n
    \r\n
    \r\n
    All Questions
    \r\n {\r\n handleSaveQuestion();\r\n handleShow();\r\n }}\r\n >\r\n Submit\r\n \r\n
    \r\n\r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Completed\r\n
    \r\n
    \r\n \r\n Pending\r\n
    \r\n
    \r\n\r\n
    \r\n {testQuestionsDetails?.length\r\n ? testQuestionsDetails?.map((element, index) => (\r\n \r\n ))\r\n : null}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionListPanel;\r\n","import React, { Fragment, useState, useRef } from \"react\";\r\nimport QuestionDetailPanel from \"./questionDetailPanel/QuestionDetailPanel\";\r\nimport QuestionListPanel from \"./questionListPanel/QuestionListPanel\";\r\nimport { Modal } from \"react-bootstrap\";\r\nimport images from \"../../../../../../../../../utilities/images/images\";\r\n\r\nimport useStopwatch from \"../../../../../../../../../hooks/useStopwatch\";\r\nimport useMathjax from \"../../../../../../../../../hooks/useMathjax\";\r\n\r\nconst AdaptiveCpsTestQuestionsView = ({\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userId,\r\n checkQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleSaveQuestion,\r\n handleSubmitTest,\r\n startLoading,\r\n finishLoading,\r\n}) => {\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const {updateSolution, getClicked, solDisabled, showSolution, textInputSolution} = useStopwatch(currentQuestion, testQuestionsDetails[currentQuestion].integer_answer);\r\n\r\n const [lang, setLang] = useState(true);\r\n const [sol, setSol] = useState(true);\r\n const [show, setShow] = useState(false);\r\n const handleClose = () => setShow(false);\r\n const handleShow = () => setShow(true);\r\n\r\n const [disabled1, setDisabled] = useState(false);\r\n\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n useMathjax(currentQuestion, lang, getClicked());\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n const targetDiv = document.querySelector(\".sub_section_wrapper\");\r\n setTimeout(() => {\r\n targetDiv.scrollTop = targetDiv.scrollHeight;\r\n }, 1);\r\n };\r\n\r\n const handleSol = () => {\r\n setSol(true);\r\n setDisabled(false);\r\n };\r\n\r\n const handleSolution = () => {\r\n setSol(false);\r\n };\r\n\r\n const disableSol = () => {\r\n setDisabled(true);\r\n // setSol(false);\r\n };\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {/* ... LeftSideContent ... */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ... RightSideContent ... */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n \r\n \r\n \r\n
    \r\n
    \r\n \"\"\r\n
    \r\n
    Are you Sure?
    \r\n

    Do you want to continue the exam or you want to Submit.

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AdaptiveCpsTestQuestionsView;\r\n","import React, { useState } from \"react\";\r\nimport AdaptiveCpsTestQuestionsView from \"./adaptiveCpsTestQuestionsView/AdaptiveCpsTestQuestionsView\";\r\n\r\nconst AdaptiveCpsTestQuestions = (props) => {\r\n const {\r\n testQuestionsDetails,\r\n selectedSubject,\r\n selectedSection,\r\n handleSubjectChange,\r\n handleSectionChange,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleSaveQuestion,\r\n handleSingleSelectAnswer,\r\n handleMultiSelectAnswer,\r\n handleInputFieldChange,\r\n handleReview,\r\n handleSaved,\r\n handleQuestionJump,\r\n handleSubmitTest,\r\n checkQuestion,\r\n userId,\r\n startLoading,\r\n finishLoading,\r\n } = props;\r\n\r\n return (\r\n \r\n );\r\n};\r\n\r\nexport default AdaptiveCpsTestQuestions;\r\n","import React, { Fragment, useState } from \"react\";\r\nimport \"./AdaptiveCpsTestContent.scss\";\r\nimport AdaptiveCpsTestInstructions from \"./adaptiveCpsTestInstructions/AdaptiveCpsTestInstructions\";\r\nimport AdaptiveCpsTestQuestions from \"./adaptiveCpsTestQuestions/AdaptiveCpsTestQuestions\";\r\nimport axios from \"axios\";\r\nimport { useLocation } from \"react-router\";\r\n\r\nconst AdaptiveCpsTestContent = (props) => {\r\n const {\r\n startLoading,\r\n finishLoading,\r\n AdaptiveCpsId,\r\n history,\r\n userData,\r\n userPreference,\r\n setAdaptiveCpsId,\r\n adaptiveCpsTestData,\r\n token,\r\n tokenType,\r\n } = props;\r\n const location = useLocation();\r\n const attemptCount = location?.state?.attemptCount;\r\n\r\n const [state, setState] = useState({\r\n step: 1,\r\n testDetails: {},\r\n testInstructionData: {},\r\n testSectionsDetails: {},\r\n testQuestionsDetails: [],\r\n checkQuestion: {},\r\n currentQuestion: 0,\r\n initialTime: 0,\r\n useTime: 0,\r\n left: 0,\r\n is_paid: 0,\r\n hours: 72,\r\n minutes: 0,\r\n seconds: 0,\r\n });\r\n\r\n const getNowTime = () => {\r\n let d = new Date();\r\n //3 days from the time created\r\n const date_created = new Date(userData.created_on);\r\n const numOfHours = 72;\r\n date_created.setTime(date_created.getTime() + numOfHours * 60 * 60 * 1000);\r\n let diffInMilliseconds = Math.abs(Math.abs(date_created - d) / 1000);\r\n\r\n // let diffInMilliSeconds = Math.abs(dateFuture - dateNow) / 1000;\r\n\r\n // calculate days\r\n const days = Math.floor(diffInMilliseconds / 86400);\r\n\r\n // calculate hours\r\n const hours = 24 * days + (Math.floor(diffInMilliseconds / 3600) % 24);\r\n diffInMilliseconds -= hours * 3600;\r\n\r\n // calculate minutes\r\n const minutes = Math.floor(diffInMilliseconds / 60) % 60;\r\n // diffInMilliseconds -= minutes * 60;\r\n\r\n return d.getTime();\r\n };\r\n\r\n const getTestQuestionsList = async (testDetails) => {\r\n let data = {\r\n cps_id: testDetails?.cps_id,\r\n };\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/GetUserAdaptiveCPS\",\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n return {\r\n result: 1,\r\n data: { apiData: response.data },\r\n };\r\n } else {\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n return {\r\n result: 0,\r\n data: { apiData: {} },\r\n };\r\n }\r\n };\r\n\r\n const handleRedirectBtn = () => {\r\n history.push(\"/create-adaptive-cps\");\r\n };\r\n\r\n const getCalculatedTime = (initialTime) => {\r\n let d = new Date();\r\n let time = d.getTime();\r\n let calculatedTime = Math.round((time - initialTime) / 1000);\r\n return calculatedTime;\r\n };\r\n\r\n const handleSaveQuestion = async () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let crntQuestionDetail = testQuestionsDetails[currentQuestion];\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n let data = {};\r\n if (crntQuestionDetail.answer_type === \"Integer Correct\") {\r\n data = {\r\n cps_id: AdaptiveCpsId,\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n\r\n option_int: crntQuestionDetail.userAnswerCollection[0]\r\n ? crntQuestionDetail.userAnswerCollection[0]\r\n : crntQuestionDetail.answer_type === \"Integer Correct\"\r\n ? crntQuestionDetail.integer_answer\r\n : \"\",\r\n\r\n option_id: [],\r\n\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: \"\",\r\n section: \"\",\r\n };\r\n } else {\r\n data = {\r\n cps_id: AdaptiveCpsId,\r\n negative_marks: parseInt(crntQuestionDetail.negative_marks),\r\n option_id: crntQuestionDetail.userAnswerCollection.length\r\n ? crntQuestionDetail.userAnswerCollection\r\n : [],\r\n paper_id: crntQuestionDetail.paper_id,\r\n partial_marks: parseInt(crntQuestionDetail.partial_marks),\r\n positive_marks: parseInt(crntQuestionDetail.positive_marks),\r\n qid: crntQuestionDetail.qid,\r\n subject: crntQuestionDetail.subject,\r\n time: calculatedTime ? calculatedTime : 0,\r\n topic_name: crntQuestionDetail.topic_name,\r\n toughness: crntQuestionDetail.toughness,\r\n\r\n format: \"\",\r\n section: \"\",\r\n topic_id: crntQuestionDetail.topic_id,\r\n };\r\n }\r\n\r\n startLoading();\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSDetails\",\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n finishLoading();\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handlePreviousQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n let time = getNowTime();\r\n\r\n handleSaveQuestion();\r\n //handleCheckQuestion();\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n // if (state.testQuestionsDetails[state.currentQuestion].option.filter((opt) => {\r\n // opt.\r\n // }))\r\n };\r\n\r\n const handleNextQuestionBtn = () => {\r\n let { currentQuestion, initialTime, testQuestionsDetails } = state;\r\n let calculatedTime = getCalculatedTime(initialTime);\r\n testQuestionsDetails[currentQuestion].totalTimeTaken = calculatedTime;\r\n handleSaveQuestion();\r\n //newline add\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].isAttempted ||\r\n testQuestionsDetails[currentQuestion].option.filter(\r\n (m) => m.is_user_correct_ans\r\n ).length\r\n ) {\r\n testQuestionsDetails[currentQuestion].isReview = false;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isReview = true;\r\n }\r\n let time = getNowTime();\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n testQuestionsDetails: testQuestionsDetails,\r\n initialTime: time,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleSingleSelectAnswer = (event, optionId) => {\r\n let { checked } = event.target;\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n if (checked) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n\r\n testQuestionsDetails[currentQuestion].userAnswerCollection[0] = optionId;\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n //if you not find the answer in backendCorrect answer array\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection[0] =\r\n Number(optionId);\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection[0] =\r\n optionId;\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 1;\r\n }\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n testQuestionsDetails[currentQuestion].userAnswerCollection = [];\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection = [];\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = 0;\r\n }\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleMultiSelectAnswer = (_event, optionId) => {\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n\r\n let findedIndex = testQuestionsDetails[\r\n currentQuestion\r\n ].userAnswerCollection.findIndex((element) => {\r\n return element === optionId;\r\n });\r\n\r\n if (findedIndex === -1) {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.splice(\r\n findedIndex,\r\n 1\r\n );\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].userAnswerCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n if (\r\n testQuestionsDetails[currentQuestion].userAnswerCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n if (\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.indexOf(\r\n optionId\r\n ),\r\n 1\r\n );\r\n }\r\n } else {\r\n if (\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.indexOf(\r\n optionId\r\n ) === -1\r\n ) {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection\r\n .length,\r\n 0,\r\n optionId\r\n );\r\n } else {\r\n testQuestionsDetails[currentQuestion].correctAnswerIdCollection.splice(\r\n testQuestionsDetails[\r\n currentQuestion\r\n ].correctAnswerIdCollection.indexOf(optionId),\r\n 1\r\n );\r\n }\r\n }\r\n\r\n if (testQuestionsDetails[currentQuestion].wrongAnswerIdCollection.length) {\r\n testQuestionsDetails[currentQuestion].isAnswerCorrect = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleInputFieldChange = (event) => {\r\n let { value } = event.target;\r\n // value = value.replace(/[^0-9]/g, \"\")\r\n let { currentQuestion, testQuestionsDetails } = state;\r\n testQuestionsDetails[currentQuestion].integer_answer = value.trim();\r\n\r\n if (testQuestionsDetails[currentQuestion].integer_answer.length) {\r\n testQuestionsDetails[currentQuestion].isAttempted = true;\r\n } else {\r\n testQuestionsDetails[currentQuestion].isAttempted = false;\r\n }\r\n\r\n setState((prevState) => ({ ...prevState, testQuestionsDetails }));\r\n };\r\n\r\n const handleQuestionJump = (questionNumber, handlePurticularQuestion) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n handleSaveQuestion();\r\n handlePurticularQuestion(questionNumber);\r\n };\r\n\r\n const submitTestApi = async (_userPreference, testDetails, _questionArr) => {\r\n let requestPayload = {\r\n paper_id: testDetails.paper_id, // paper_id is not sending in app\r\n time: 84,\r\n cps_id: AdaptiveCpsId,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSSubmit\",\r\n requestPayload\r\n );\r\n if (response.data.status === 200) {\r\n return {\r\n result: 1,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n } else {\r\n return {\r\n result: 0,\r\n data: {\r\n message: response.data.message,\r\n },\r\n };\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n return {\r\n result: 0,\r\n data: {\r\n message: \"Something went wrong!!!\",\r\n },\r\n };\r\n }\r\n };\r\n\r\n const handleSubmitTest = async () => {\r\n let { testDetails, testQuestionsDetails } = state;\r\n\r\n let questionArr = [];\r\n\r\n testQuestionsDetails.forEach((element) => {\r\n if (element.answer_type.toLowerCase() === \"single correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"multiple correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n } else if (element.answer_type.toLowerCase() === \"integer correct\") {\r\n let data = {\r\n qid: element.qid,\r\n type_id: element.type_id,\r\n is_saved: element.is_saved,\r\n total_time: element.totalTimeTaken,\r\n is_attempted: element.isAttempted,\r\n paragraph_answer: element.paragraph_answer,\r\n integer_answer: element.integer_answer,\r\n is_AnswerCorrect: element.isAnswerCorrect,\r\n is_GessTypeAnswer: element.isAnswerGuessed,\r\n positive_marks: element.positive_marks,\r\n negative_marks: element.negative_marks,\r\n partial_marks: element.partial_marks,\r\n CorrectAnswerId: element.correctAnswerIdCollection,\r\n WrongeAnswerId: element.wrongAnswerIdCollection,\r\n answer: element.userAnswerCollection,\r\n toughness_id: element.toughness_id,\r\n subject: element.subject,\r\n topic_id: element.topic_id,\r\n };\r\n if (!data.type_id) {\r\n data.type_id = 6;\r\n }\r\n questionArr.push(data);\r\n }\r\n });\r\n startLoading();\r\n let returnedResponse = await submitTestApi(\r\n userPreference,\r\n testDetails,\r\n questionArr\r\n );\r\n if (returnedResponse.result) {\r\n finishLoading();\r\n history.push(\"/adaptive_cps_result\");\r\n } else {\r\n finishLoading();\r\n alert(returnedResponse.data.message);\r\n }\r\n };\r\n\r\n const handleStep2 = (two, testQuestionsDetails) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: two,\r\n testQuestionsDetails: testQuestionsDetails,\r\n }));\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {state.step === 1 && (\r\n \r\n )}\r\n {state.step === 2 && (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AdaptiveCpsTestContent;\r\n","import { Fragment } from \"react\";\r\nimport \"./AdaptiveCpsTest.scss\";\r\n\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\nimport AdaptiveCpsTestContent from \"./adaptiveCpsTestContent/AdaptiveCpsTestContent\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport AdaptiveActions from \"../../../../../../redux/adaptive_cps/action\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\n\r\nconst AdaptiveCps = (props) => {\r\n let {\r\n history,\r\n loader,\r\n userData,\r\n startLoading,\r\n finishLoading,\r\n userPreference,\r\n adaptiveCpsTestData,\r\n token,\r\n tokenType,\r\n AdaptiveCpsId,\r\n setAdaptiveCpsId,\r\n } = props;\r\n const isMob = () => {\r\n if (window.innerWidth <= 480) {\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {isMob() ? null : (\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n testData: state.pyqTestsData.pyqTestData,\r\n pyqtopicData: state.userActivity.pyqtopicData,\r\n userPreference: state.userPreference,\r\n adaptiveCpsTestData: state.AdaptiveCpsReducer,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n AdaptiveCpsId: state.AdaptiveCpsReducer.AdaptiveCpsId,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setAdaptiveCpsId: (payload) => {\r\n dispatch(AdaptiveActions.setAdaptiveCpsId(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AdaptiveCps);\r\n","// import React, { useEffect, useState } from \"react\";\r\n// import axios from \"axios\";\r\n\r\n// const AdaptiveCpsTestResults = () => {\r\n// const [adaptiveCpsResults, setAdaptiveCpsResults] = useState({});\r\n\r\n// useEffect(() => {\r\n// getAdaptiveCpsResults();\r\n// }, []);\r\n\r\n// const getAdaptiveCpsResults = async () => {\r\n// console.log(\"getAdaptiveCpsResults is calling\");\r\n// const data = {\r\n// cps_id: 2322,\r\n// };\r\n\r\n// try {\r\n// const response = await axios.post(\r\n// \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSAnalysis\",\r\n// data\r\n// );\r\n\r\n// console.log(\"response of adaptive\", response);\r\n\r\n// if (response.data.status === 200) {\r\n// setAdaptiveCpsResults(response.data.data);\r\n// }\r\n// } catch (e) {\r\n// console.log(e);\r\n// }\r\n// };\r\n\r\n// return (\r\n//
    \r\n// {Object.keys(adaptiveCpsResults) && adaptiveCpsResults.unattempted}\r\n// sjingsongosgnosgn\r\n//
    \r\n// );\r\n// };\r\n\r\n// export default AdaptiveCpsTestResults;\r\n\r\nimport { React, useState } from \"react\";\r\nimport \"./AdaptiveCpsTestResults.scss\";\r\n\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport axios from \"axios\";\r\nimport { useEffect } from \"react\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport { useHistory, Link } from \"react-router-dom\";\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\n\r\nimport HeaderComponent from \"../../../../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\nconst AdaptiveCpsTestResults = (props) => {\r\n let { startLoading, finishLoading, loader, AdaptiveCpsId } = props;\r\n const [adaptiveCpsResults, setAdaptiveCpsResults] = useState({});\r\n\r\n useEffect(() => {\r\n getAdaptiveCpsResults();\r\n }, []);\r\n\r\n const getAdaptiveCpsResults = async () => {\r\n console.log(\"getAdaptiveCpsResults is calling\");\r\n const data = {\r\n cps_id: AdaptiveCpsId,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSAnalysis\",\r\n data\r\n );\r\n\r\n console.log(\"response of adaptive\", response);\r\n\r\n if (response.data.status === 200) {\r\n setAdaptiveCpsResults(response.data.data);\r\n }\r\n } catch (e) {\r\n console.log(e);\r\n }\r\n };\r\n\r\n let history = useHistory();\r\n\r\n const backBtn = () => {\r\n history.push(\"/user_dashboard\");\r\n };\r\n\r\n const handleRedirectToCps = () => {\r\n history.push({\r\n pathname: \"/create-adaptive-cps\",\r\n state: { tab: \"adaptive_cps\" },\r\n });\r\n };\r\n\r\n const handleRedirectToStore = () => {\r\n history.push(\"/store\");\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n

    Test Summary

    \r\n
    \r\n
    \r\n
    \r\n

    Total Questions

    \r\n

    {adaptiveCpsResults?.total_questions}

    \r\n
    \r\n
    \r\n

    Total Marks

    \r\n

    {adaptiveCpsResults?.total_marks}

    \r\n
    \r\n
    \r\n

    Correct Answers

    \r\n

    {adaptiveCpsResults?.correct_answer}

    \r\n
    \r\n
    \r\n

    Incorrect Answer

    \r\n

    {adaptiveCpsResults?.incorrect_answer}

    \r\n
    \r\n
    \r\n

    Score Percentage

    \r\n

    {`${adaptiveCpsResults?.score_percentage}%`}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n {/* */}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n testResultData: state.cpsTestsReducer.cpsResultData,\r\n AdaptiveCpsId: state.AdaptiveCpsReducer.AdaptiveCpsId,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(AdaptiveCpsTestResults);\r\n","import React, { useMemo, Fragment } from \"react\";\r\nimport \"./QueOptions.scss\";\r\n\r\nconst QuestionOptions = ({\r\n questionData,\r\n currentQuestion,\r\n testQuestionsDetails,\r\n}) => {\r\n const classEditor = (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n };\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderSingleSelect = (questionData, currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderMultiSelect = (questionData, currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n const renderInputField = (currentQuestion2) => {\r\n if (currentQuestion === currentQuestion2) {\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\r\n // Use useMemo for renderSingleSelect function\r\n const memoizedRenderSingleSelect = useMemo(\r\n () => renderSingleSelect(questionData, currentQuestion),\r\n [questionData, currentQuestion]\r\n );\r\n\r\n // Use useMemo for renderMultiSelect function\r\n const memoizedRenderMultiSelect = useMemo(\r\n () => renderMultiSelect(questionData, currentQuestion),\r\n [questionData, currentQuestion]\r\n );\r\n\r\n // Use useMemo for renderInputField function\r\n const memoizedRenderInputField = useMemo(\r\n () => renderInputField(currentQuestion),\r\n [currentQuestion]\r\n );\r\n\r\n if (questionData.answer_type.toLowerCase() === \"single correct\") {\r\n return (\r\n
    \r\n {memoizedRenderSingleSelect}\r\n
    \r\n );\r\n } else if (questionData.answer_type.toLowerCase() === \"integer correct\") {\r\n return (\r\n
    \r\n {memoizedRenderInputField}\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n {memoizedRenderMultiSelect}\r\n
    \r\n );\r\n }\r\n};\r\n\r\nexport default QuestionOptions;\r\n","import React from \"react\";\r\nimport \"./QInfo.scss\";\r\nconst QuestionInfoSection = ({\r\n lang,\r\n testQuestionsDetails,\r\n currentQuestion,\r\n}) => {\r\n return (\r\n
    \r\n {/*

    Test

    */}\r\n
    \r\n
    \r\n Topic: {testQuestionsDetails[currentQuestion]?.topic_name}\r\n
    \r\n\r\n
    \r\n Sub Topic: {testQuestionsDetails[currentQuestion]?.sub_topic_name}\r\n
    \r\n\r\n
    \r\n Question type: {testQuestionsDetails[currentQuestion]?.answer_type}\r\n
    \r\n
    \r\n\r\n
    \r\n
    Question{` ${\r\n Number(currentQuestion) + 1\r\n }`}
    \r\n\r\n {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => (\r\n <>\r\n

    \r\n

    \r\n \r\n ))\r\n : null}\r\n {/* {testQuestionsDetails.length\r\n ? testQuestionsDetails.map((element, index) => (\r\n <>\r\n

    \r\n

    \r\n \r\n ))\r\n : null} */}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionInfoSection;\r\n","import React from \"react\";\r\n\r\nconst QuestionSolution = ({ currentSolutionDetails, lang }) => {\r\n const ConvertStringToHTML = (str) => {\r\n if (!str) {\r\n return false;\r\n }\r\n const parser = new DOMParser();\r\n const doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n const renderSolution = (currentSolutionDetails, lang) => {\r\n if (lang === true) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n };\r\n } else if (lang === false) {\r\n const flag = ConvertStringToHTML(currentSolutionDetails.sol_text_hindi);\r\n\r\n if (flag) {\r\n return {\r\n __html: currentSolutionDetails?.sol_text_hindi.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n };\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.sol_text.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n };\r\n }\r\n } else {\r\n return {\r\n __html: currentSolutionDetails?.q_text.replaceAll(\r\n 'src=\"ckfinder',\r\n 'src=\"http://quizmaster.motion.ac.in/ckfinder'\r\n ),\r\n };\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    Solution :
    \r\n
    \r\n

    \r\n
    \r\n

    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionSolution;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom\";\r\n\r\nconst QuestionSwitcher = ({\r\n currentQuestion,\r\n totalQuestions,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n scrollUp,\r\n scrollUp2,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {totalQuestions === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n scrollUp();\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionSwitcher;\r\n","import ShakaSolutionViewVideoPlayer from \"../../../../../../../../../../custom_utilities/shakaVideoPlayer/ShakaSolutionViewVideoPlayer\";\r\nimport \"./QueViewVideoSolution.scss\";\r\n\r\nconst ViewVideoSolution = ({\r\n handleVideoShow,\r\n videoShow,\r\n currentSolutionDetails = {},\r\n lang,\r\n}) => {\r\n const { video_id_english, video_id_hindi } = currentSolutionDetails;\r\n\r\n const isHindi = !lang && video_id_hindi;\r\n const selectedVideoId = isHindi ? video_id_hindi : video_id_english;\r\n\r\n const buttonLabel = lang ? \"View Video Solution\" : \"वीडियो समाधान देखें\";\r\n const isVideoCriptAvailable =\r\n selectedVideoId && selectedVideoId.trim() !== \"\";\r\n\r\n return (\r\n
    \r\n \r\n\r\n {videoShow && isVideoCriptAvailable && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default ViewVideoSolution;\r\n","import React from \"react\";\r\nimport \"./QuestionDetailPanel.scss\";\r\nimport QuestionOptions from \"./questionOptions/QueOptions\";\r\nimport TestProgressIndicator from \"./testProgressIndicator/TestProgressIndicator\";\r\nimport QuestionInfoSection from \"./questionInfoSection/QueInfo\";\r\nimport QuestionSolution from \"./questionSolution/QueSolution\";\r\nimport QuestionSwitcher from \"./questionSwitcher/QueSwitcher\";\r\nimport QuestionViewVideoSolution from \"./questionViewVideoSolution/QuestionViewVideoSolution\";\r\n\r\nconst QuestionDetailPanel = ({\r\n testQuestionsDetails,\r\n currentQuestion,\r\n lang,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n progressCount,\r\n scrollUp,\r\n scrollUp2,\r\n userData,\r\n handleVideoShow,\r\n videoShow,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n {currentQuestion + 1}\r\n {` / `}\r\n {testQuestionsDetails.length}\r\n
    \r\n
    \r\n \r\n\r\n
    \r\n {testQuestionsDetails.length > 0 && (\r\n \r\n )}\r\n
    \r\n\r\n
    \r\n \r\n\r\n \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionDetailPanel;\r\n","import React from \"react\";\r\nimport \"./QuestionStatusLabel.scss\";\r\nimport images from \"./../../../../../../../../../../utilities/images/images\";\r\n\r\nconst QuestionStatusLabel = ({\r\n question,\r\n index,\r\n currentQuestion,\r\n handleQuestionJump,\r\n isList,\r\n}) => {\r\n const renderQuestionLabel = () => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n

    \r\n
    \r\n \"img\"\r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}.`}\r\n

    \r\n
    \r\n \"img\"\r\n
    \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n

    \r\n
    \r\n \"img\"\r\n \r\n );\r\n }\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n

    \r\n
    \r\n \"img\"\r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n

    \r\n
    \r\n \"img\"\r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans === 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n

    \r\n
    \r\n \"img\"\r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n

    \r\n
    \r\n \"img\"\r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n const renderQuestionLabel1 = () => {\r\n if (currentQuestion === index) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n
    \r\n \r\n );\r\n } else {\r\n if (question.isAttempted) {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n
    \r\n {`${index + 1}`}\r\n
    \r\n
    \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n
    \r\n \r\n );\r\n }\r\n } else {\r\n if (question.isReview) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n
    \r\n \r\n );\r\n } else if (question.isSkipped) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n
    \r\n \r\n );\r\n } else if (\r\n question.option?.filter((m) => m.is_user_correct_ans === 1).length ||\r\n question.integer_answer?.length\r\n ) {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n
    \r\n \r\n );\r\n } else {\r\n return (\r\n handleQuestionJump(index)}\r\n >\r\n
    \r\n {`${index + 1}`}\r\n
    \r\n \r\n );\r\n }\r\n }\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n {isList ? \r\n
    \r\n {renderQuestionLabel()}\r\n
    \r\n :\r\n
    \r\n {renderQuestionLabel1()}\r\n
    }\r\n \r\n \r\n //
    \r\n // {renderQuestionLabel()}\r\n //
    \r\n );\r\n};\r\n\r\nexport default QuestionStatusLabel;\r\n","import React, { useState } from \"react\";\r\nimport \"./QuestionListPanel.scss\";\r\nimport QuestionStatusLabel from \"./questionStatusLabel/QuestionStatusLabel\";\r\nimport images from \"../../../../../../../../../utilities/images/images\";\r\n\r\nconst QuestionListPanel = ({\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handleQuestionJump,\r\n questionsCollectionRef,\r\n}) => {\r\n const [isList,setisList] = useState(true);\r\n\r\n return (\r\n //
    \r\n //
    \r\n //

    All Questions

    \r\n //
    \r\n //
    \r\n //
    \r\n //
    \r\n // \r\n // \r\n //
    \r\n //
    \r\n // \r\n // \r\n //
    \r\n //
    \r\n // \r\n // \r\n //
    \r\n //
    \r\n //
    \r\n // \r\n // {testQuestionsDetails?.length\r\n // ? testQuestionsDetails?.map((element, index) => (\r\n // \r\n // ))\r\n // : null}\r\n //
    \r\n // \r\n\r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n\r\n
    \r\n
    \r\n

    All Questions

    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n Completed\r\n
    \r\n
    \r\n \r\n Pending\r\n
    \r\n
    \r\n\r\n
    \r\n {testQuestionsDetails?.length\r\n ? testQuestionsDetails?.map((element, index) => (\r\n \r\n ))\r\n : null}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionListPanel;\r\n","import React, { Fragment, useState, useRef } from \"react\";\r\nimport \"./AdaptiveCpsViewSolutionContent.scss\";\r\n// import QuestionListPanel from \"../questionListPanel/QuestionListPanel\";\r\nimport QuestionDetailPanel from \"./questionDetailPanel/QuestionDetailPanel\";\r\nimport QuestionListPanel from \"./questionListPanel/QuestionListPanel\";\r\n\r\nconst AdaptiveCpsViewSolutionContent = ({\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userData,\r\n handleVideoShow,\r\n videoShow,\r\n}) => {\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const [lang, setLang] = useState(true);\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const progressCount =\r\n (100 / testQuestionsDetails.length) * (currentQuestion + 1);\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n {/* ... LeftSideContent ... */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n\r\n {/* ... RightSideContent ... */}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default AdaptiveCpsViewSolutionContent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport axios from \"axios\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\nimport AdaptiveCpsViewSolutionContent from \"./AdaptiveCpsViewSolutionContent/AdaptiveCpsViewSolutionContent\";\r\n\r\nconst AdaptiveCpsViewSolution = (props) => {\r\n let { startLoading, finishLoading, loader, AdaptiveCpsId, userData } = props;\r\n const [state, setState] = useState({\r\n testQuestionsDetails: [],\r\n currentQuestion: 0,\r\n currentSolutionDetails: {},\r\n videoShow: false,\r\n });\r\n\r\n // const [videoShow, setVideoShow] = useState(false);\r\n\r\n const handleVideoShow = () => {\r\n setState((preState) => ({\r\n ...preState,\r\n videoShow: !state.videoShow,\r\n }));\r\n };\r\n\r\n useEffect(() => {\r\n getQuestionList();\r\n }, []);\r\n\r\n const getQuestionList = async () => {\r\n startLoading();\r\n let data = {\r\n acps_id: AdaptiveCpsId,\r\n };\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/UserACPSViewSolutions\",\r\n data\r\n );\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((preState) => ({\r\n ...preState,\r\n testQuestionsDetails: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = () => {\r\n const { currentQuestion, testQuestionsDetails } = state;\r\n if (currentQuestion < testQuestionsDetails.length - 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n videoShow: false,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const handlePreviousQuestionBtn = () => {\r\n const { currentQuestion } = state;\r\n if (currentQuestion >= 1) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n videoShow: false,\r\n }));\r\n window.scrollTo(0, 0);\r\n }\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n videoShow: false,\r\n }));\r\n };\r\n\r\n return (\r\n
    \r\n \r\n {loader && }\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n AdaptiveCpsId: state.AdaptiveCpsReducer.AdaptiveCpsId,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(AdaptiveCpsViewSolution);\r\n","import React from \"react\";\r\nimport \"./ParentHeaderLeft.scss\";\r\nimport { NavLink } from \"react-router-dom\";\r\nimport images from \"../../../utilities/images/images\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst ParentHeaderLeft = (props) => {\r\n let { studentRollNum, loginFromParent } = props;\r\n return (\r\n <>\r\n
    \r\n
    \r\n \r\n \"\"\r\n \r\n
    \r\n
    \r\n
      \r\n {loginFromParent && (\r\n
    • \r\n \r\n Dashboard\r\n \r\n
    • \r\n )}\r\n\r\n
    • \r\n \r\n Tests\r\n \r\n
    • \r\n\r\n {loginFromParent && (\r\n
    • \r\n \r\n Attendance\r\n \r\n
    • \r\n )}\r\n
    \r\n
    \r\n
    \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n // studentRollNum: state.parentAuthReducer.user.st_rollno,\r\n studentRollNum: state.parentrootReducer.parentAuthReducer.user.st_rollno,\r\n loginFromParent: state.parentrootReducer.parentAuthReducer.loginFromParent,\r\n };\r\n};\r\nexport default connect(mapStateToProps, null)(ParentHeaderLeft);\r\n","import { Fragment, useState, useEffect } from \"react\";\r\nimport \"./ParentHeaderRight.scss\";\r\n\r\nimport images from \"../../../utilities/images/images\";\r\n\r\nimport { isEmpty } from \"../../../custom_utilities/custom_useful_functions\";\r\n\r\n//Redux\r\nimport { connect } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { logoutParentUser } from \"../../redux/authSlice/AuthSlice\";\r\nimport { setLoginCandidate } from \"../../../redux/login/LoginSlice\";\r\n\r\nconst ParentHeaderRight = (props) => {\r\n let {\r\n userData,\r\n logoutUser,\r\n studentProfileDetails,\r\n parentProfileDtails,\r\n parentNum,\r\n setLoginCandidate,\r\n } = props;\r\n const history = useHistory();\r\n\r\n const handleUserLogout = () => {\r\n const confirmed = window.confirm(\"Are you sure you want to logout?\");\r\n if (confirmed) {\r\n logoutUser();\r\n setLoginCandidate(\"student\");\r\n history.push(\"/\");\r\n }\r\n };\r\n\r\n return (\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n \"Logout\"\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n {!isEmpty(studentProfileDetails) ? (\r\n studentProfileDetails.image.length ? (\r\n \"\"\r\n ) : (\r\n \"\"\r\n )\r\n ) : (\r\n \"\"\r\n )}\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Student Details

    \r\n
    \r\n\r\n
    \r\n
    Name
    \r\n
    \r\n {studentProfileDetails.name}\r\n
    \r\n
    \r\n
    \r\n
    Roll No.
    \r\n
    \r\n {\" \"}\r\n {studentProfileDetails.roll_no}\r\n
    \r\n
    \r\n\r\n
    \r\n
    Mbl. No.
    \r\n
    \r\n {studentProfileDetails.mobile}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Parent Details

    \r\n
    \r\n\r\n
    \r\n
    Name
    \r\n
    \r\n {parentProfileDtails.f_name}\r\n
    \r\n
    \r\n\r\n
    \r\n
    Mbl. No.
    \r\n
    \r\n {parentNum}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Course Details

    \r\n
    \r\n\r\n
    \r\n
    Course
    \r\n
    \r\n {studentProfileDetails.course}\r\n
    \r\n
    \r\n
    \r\n
    Class
    \r\n
    \r\n {\" \"}\r\n {studentProfileDetails.classes}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n Study Centre\r\n
    \r\n
    \r\n {\" \"}\r\n {studentProfileDetails.center}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n studentProfileDetails:\r\n state.parentrootReducer.parentAuthReducer.studentProfileDetails,\r\n parentProfileDtails: state.parentrootReducer.parentAuthReducer.user,\r\n parentNum: state.parentrootReducer.parentAuthReducer.mobile_number,\r\n };\r\n};\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n logoutUser: (payload) => {\r\n dispatch(logoutParentUser(payload));\r\n },\r\n\r\n setLoginCandidate: (payload) => {\r\n dispatch(setLoginCandidate(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(ParentHeaderRight);\r\n","import { Fragment } from \"react\";\r\nimport \"./ParentHeader.scss\";\r\nimport ParentHeaderLeft from \"./parentHeaderLeft/ParentHeaderLeft\";\r\nimport ParentHeaderRight from \"./parentHeaderRight/ParentHeaderRight\";\r\n\r\n/////React Toastify\r\nimport { ToastContainer } from \"react-toastify\";\r\nimport \"react-toastify/dist/ReactToastify.css\";\r\n\r\n//Redux\r\n\r\nconst ParentHeader = () => {\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
    \r\n
    \r\n
    \r\n \r\n
    \r\n );\r\n};\r\n\r\nexport default ParentHeader;\r\n","import { connect } from \"react-redux\";\r\nimport \"./StudentAttendanceContent.scss\";\r\n// import uiActions from \"../../../../../../redux/ui/action\";\r\nimport uiActions from \"../../redux/ui/action\";\r\nimport axios from \"axios\";\r\n// import { url_231 } from \"../../../../../../custom_utilities/api_services\";\r\nimport { url_231 } from \"../../custom_utilities/api_services\";\r\nimport { useEffect, useState } from \"react\";\r\nimport DatePicker from \"react-datepicker\";\r\nimport \"react-datepicker/dist/react-datepicker.css\";\r\nimport ParentHeader from \"../parentHeader/ParentHeader\";\r\nimport LoaderPopUp from \"../../components/loader/loader\";\r\n\r\nconst StudentAttendanceContent = (props) => {\r\n let { rollNo, startLoading, finishLoading, loginFromParent, loader } = props;\r\n const [startDate, setStartDate] = useState(\r\n new Date(new Date().getTime() - 24 * 60 * 60 * 1000)\r\n );\r\n const [endDate, setEndDate] = useState(new Date());\r\n\r\n const [state, setState] = useState({\r\n attendanceDetails: {},\r\n });\r\n\r\n useEffect(() => {\r\n console.log(startDate.toLocaleDateString(\"en-GB\"));\r\n }, [startDate]);\r\n\r\n useEffect(() => {\r\n getAttendanceDetails();\r\n }, []);\r\n\r\n const getAttendanceDetails = async () => {\r\n const data = {\r\n method_name: \"attendance_report\",\r\n roll_no: `${rollNo}`,\r\n start_date: `${startDate.toLocaleDateString(\"en-US\")}`,\r\n end_data: `${endDate.toLocaleDateString(\"en-US\")}`,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_231, data);\r\n\r\n console.log(\"response\", response);\r\n console.log(response.data.data);\r\n setState((prevState) => ({\r\n ...prevState,\r\n attendanceDetails: response.data,\r\n }));\r\n finishLoading();\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n return (\r\n <>\r\n {loginFromParent && }\r\n\r\n
    \r\n
    \r\n
    \r\n

    Attendance

    \r\n\r\n
    \r\n
    \r\n

    Data showing from

    \r\n

    Search by specific date

    \r\n
    \r\n
    \r\n
    \r\n

    From

    \r\n {/*

    01 April 2023

    */}\r\n setStartDate(date)}\r\n dateFormat=\"dd/MM/yyyy\"\r\n maxDate={new Date()}\r\n />\r\n
    \r\n
    \r\n

    To

    \r\n {/*

    01 April 2023

    */}\r\n setEndDate(date)}\r\n dateFormat=\"dd/MM/yyyy\"\r\n maxDate={new Date()}\r\n />\r\n
    \r\n \r\n
    \r\n
    \r\n\r\n

    Overall attendance record

    \r\n\r\n
    \r\n
    \r\n

    Total Classes

    \r\n

    {state?.attendanceDetails?.total_working_days}

    \r\n
    \r\n
    \r\n

    Absent

    \r\n

    \r\n {state?.attendanceDetails?.total_absent_days}\r\n

    \r\n
    \r\n
    \r\n

    Present

    \r\n

    \r\n {state?.attendanceDetails?.toal_present_days}\r\n

    \r\n
    \r\n
    \r\n

    Mis punch

    \r\n

    \r\n {state?.attendanceDetails?.total_miss_punch}\r\n

    \r\n
    \r\n
    \r\n

    Attendance details

    \r\n
    \r\n
    \r\n Date\r\n In-Time\r\n Out-Time\r\n Status\r\n
    \r\n {state?.attendanceDetails?.data?.map((element) => {\r\n return (\r\n
    \r\n {element.datetime}\r\n {element.in_punch_time}\r\n {element.out_punch_time}\r\n {element.presance_status}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n // console.log(\"state.auth.user.roll_no\", state.auth);\r\n return {\r\n loader: state.ui.loader,\r\n rollNo: state.parentrootReducer.parentAuthReducer.user.st_rollno,\r\n loginFromParent: state.parentrootReducer.parentAuthReducer.loginFromParent,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(\r\n mapStateToProps,\r\n mapDispatchToProps\r\n)(StudentAttendanceContent);\r\n","import React from \"react\";\r\nimport \"./YourOrderComponent.scss\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst YourOrderComponent = (props) => {\r\n let { cartDetails, singleProduct, couponDetails } = props;\r\n\r\n return (\r\n
    \r\n {singleProduct ? (\r\n
    \r\n
    \r\n
    \r\n
    Your Order
    \r\n
    \r\n Total (1 item)\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \"item_img\"\r\n
    \r\n
    {singleProduct.product_name}
    \r\n Solution book\r\n
    \r\n
    \r\n
    \r\n {parseInt(singleProduct.price).toLocaleString(\"en-US\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {/*
    \r\n
    Delivery
    \r\n
    60(Fast)
    \r\n
    */}\r\n\r\n
    \r\n
    Discount
    \r\n
    \r\n {couponDetails?.coupon_discount_price ? (\r\n
    \r\n -\r\n {parseInt(\r\n couponDetails.coupon_discount_price\r\n ).toLocaleString(\"en-US\")}\r\n
    \r\n ) : (\r\n
    \r\n -\r\n {parseInt(\r\n singleProduct.price - singleProduct.discounted_price\r\n ).toLocaleString(\"en-US\")}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Total Price
    \r\n
    \r\n {couponDetails?.updated_amount ? (\r\n
    \r\n Rs{\" \"}\r\n {parseInt(couponDetails.updated_amount).toLocaleString(\r\n \"en-US\"\r\n )}\r\n
    \r\n ) : (\r\n
    \r\n Rs{\" \"}\r\n {parseInt(singleProduct.discounted_price).toLocaleString(\r\n \"en-US\"\r\n )}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n
    Your Order
    \r\n
    \r\n Total ({cartDetails.data.length} items)\r\n
    \r\n
    \r\n
    \r\n {!isEmpty(cartDetails)\r\n ? cartDetails.data.length\r\n ? cartDetails.data.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n \"item_img\"\r\n
    \r\n
    \r\n {element.product_name}\r\n
    \r\n Solution book\r\n
    \r\n
    \r\n
    \r\n {element.product_price.toLocaleString(\"en-US\")}\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n\r\n
    \r\n {/*
    \r\n
    Delivery
    \r\n
    60(Fast)
    \r\n
    */}\r\n\r\n
    \r\n
    Discount
    \r\n
    \r\n -{cartDetails.discount_price.toLocaleString(\"en-US\")}\r\n
    \r\n
    \r\n\r\n {couponDetails?.coupon_discount_price ? (\r\n
    \r\n
    Discount Price
    \r\n
    \r\n {couponDetails?.coupon_discount_price ? (\r\n
    \r\n -\r\n {couponDetails.coupon_discount_price.toLocaleString(\r\n \"en-US\"\r\n )}\r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n\r\n
    \r\n
    Total Price
    \r\n
    \r\n {couponDetails?.updated_amount ? (\r\n
    \r\n ₹ {couponDetails.updated_amount.toLocaleString(\"en-US\")}\r\n
    \r\n ) : (\r\n
    \r\n {\" \"}\r\n ₹ {cartDetails.total_price.toLocaleString(\"en-US\")}\r\n
    \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nexport default YourOrderComponent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./AddedToCart.scss\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport YourOrderComponent from \"../yourOrderComponent/YourOrderComponent\";\r\nimport { Link } from \"react-router-dom\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_163,\r\n url_161,\r\n url_170,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { connect } from \"react-redux\";\r\nimport axios from \"axios\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\n\r\nconst AddedToCart = (props) => {\r\n let {\r\n handleCheckOut,\r\n cartDetails,\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n getCartDetails,\r\n getWishList,\r\n isProgressdisabled,\r\n token,\r\n tokenType,\r\n } = props;\r\n\r\n const [state, setState] = useState({\r\n deleteItem: {},\r\n });\r\n\r\n const deleteItem = async (p_id) => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n let data = {\r\n product_id: p_id,\r\n };\r\n try {\r\n const response = await axios.post(url_163, data, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n deleteItem: response.data.data,\r\n }));\r\n }\r\n getCartDetails();\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleDeleteItem = (p_id) => {\r\n deleteItem(p_id);\r\n };\r\n\r\n const addWishlist = async (p_id) => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n let data = {\r\n product_id: p_id,\r\n type: 1,\r\n };\r\n try {\r\n const response = await axios.post(url_161, data, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n getWishList();\r\n handleDeleteItem(p_id);\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const userUpdateCart = async (p_id, qnty) => {\r\n startLoading();\r\n let data = {\r\n product_id: p_id,\r\n qty: qnty,\r\n };\r\n try {\r\n const response = await axios.post(url_170, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n getCartDetails();\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleIncrement = (p_id, qty) => {\r\n let qnty = qty + 1;\r\n userUpdateCart(p_id, qnty);\r\n };\r\n\r\n const handleDecrement = (p_id, qty) => {\r\n let qnty = qty - 1;\r\n if (qnty > 0) {\r\n userUpdateCart(p_id, qnty);\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n\r\n
    Back to store
    \r\n
    \r\n\r\n
    \r\n
    \r\n {!isEmpty(cartDetails)\r\n ? cartDetails.data.length\r\n ? cartDetails.data.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"item_img\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n {element.product_name}\r\n
    \r\n

    {element.product_url}

    \r\n
    \r\n
    \r\n handleDeleteItem(element.p_id)}\r\n >\r\n Delete\r\n \r\n |\r\n addWishlist(element.p_id)}\r\n >\r\n Save for later\r\n
    {\" \"}\r\n |\r\n
    \r\n Qty{\" \"}\r\n
    \r\n \r\n handleDecrement(\r\n element.p_id,\r\n element.qty\r\n )\r\n }\r\n >\r\n \r\n \r\n
    {element.qty}
    \r\n \r\n handleIncrement(\r\n element.p_id,\r\n element.qty\r\n )\r\n }\r\n >\r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n Price\r\n \r\n {parseInt(element.price).toLocaleString(\r\n \"en-US\"\r\n )}\r\n /-\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n\r\n {loader && }\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(AddedToCart);\r\n","export const HANDBOOK_SET_ORDER_ID = \"HANDBOOK_SET_ORDER_ID\";\r\nexport const HANDBOOKS_SAVE_TRANSACTION_DETAILS =\r\n \"HANDBOOKS_SAVE_TRANSACTION_DETAILS\";\r\n","import * as actionTypes from \"./action_type\";\r\n\r\nconst setOrderId = (payload) => {\r\n return {\r\n type: actionTypes.HANDBOOK_SET_ORDER_ID,\r\n payload,\r\n };\r\n};\r\n\r\nconst setHandBookTransactionDetails = (payload) => {\r\n return {\r\n type: actionTypes.HANDBOOKS_SAVE_TRANSACTION_DETAILS,\r\n payload,\r\n };\r\n};\r\n\r\nexport default {\r\n setOrderId,\r\n setHandBookTransactionDetails,\r\n};\r\n","import axios from \"axios\";\r\nimport React from \"react\";\r\nimport { useState, useEffect } from \"react\";\r\nimport { connect } from \"react-redux\";\r\n\r\nimport { useHistory } from \"react-router\";\r\nimport \"./HandBooksCcAvenuePayment.scss\";\r\nimport { url_147 } from \"../../../../../../custom_utilities/api_services\";\r\nimport saveOrderId from \"../../../../../../redux/handbook_payment_gateway/action\";\r\n\r\nconst HandBookCcAvenuePayment = (props) => {\r\n const { packageDetails, amount, token, tokenType, paymentAction, userData } =\r\n props;\r\n const { name, mobile, email, address, batch_id, user_id, UsertargetDetail } =\r\n userData;\r\n\r\n const [ccAvenueData, setCcAvenueData] = useState({});\r\n\r\n const history = useHistory();\r\n\r\n useEffect(() => {\r\n getCcAvenueData();\r\n }, []);\r\n\r\n const currentData = new Date();\r\n let date =\r\n currentData.getFullYear() +\r\n \"-\" +\r\n (currentData.getMonth() + 1) +\r\n \"-\" +\r\n currentData.getDate();\r\n let time =\r\n currentData.getHours() +\r\n \":\" +\r\n currentData.getMinutes() +\r\n \":\" +\r\n currentData.getSeconds();\r\n var dateTime = date + \" \" + time;\r\n\r\n const getCcAvenueData = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n try {\r\n const response = await axios.get(`${url_147}?mode=web`, { headers });\r\n console.log(\"getCcAvenueData\", response);\r\n if (response.data.status === 200) {\r\n setCcAvenueData(response.data);\r\n paymentAction(response.data.Order_Id);\r\n }\r\n } catch (err) {\r\n console.log(err);\r\n }\r\n };\r\n\r\n const handleProfileData = () => {\r\n if (name == \"\" || name == null) {\r\n alert(\"You haven't update your name in your profile. Please update it\");\r\n history.push(\"/user_edit_profile\");\r\n } else if (mobile == \"\" || mobile == null) {\r\n alert(\r\n \"You haven't update your mobile number in your profile. Please update it\"\r\n );\r\n history.push(\"/user_edit_profile\");\r\n } else if (email == \"\" || email == null) {\r\n alert(\"You haven't update your email in your profile. Please update it\");\r\n history.push(\"/user_edit_profile\");\r\n } else if (address.state == \"\" || address.state == null) {\r\n alert(\"You haven't update your state in your profile. Please update it\");\r\n history.push(\"/user_edit_profile\");\r\n } else if (address.city == \"\" || address.city == null) {\r\n alert(\"You haven't update your city in your profile. Please update it\");\r\n history.push(\"/user_edit_profile\");\r\n }\r\n };\r\n\r\n const ccAvenueFunction = () => {\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 \r\n \r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n
    \r\n \r\n
    \r\n \r\n
    \r\n \r\n );\r\n };\r\n return <>{Object.keys(ccAvenueData).length ? ccAvenueFunction() : \"\"};\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n token: state.auth.authToken,\r\n tokenType: state.auth.authType,\r\n userData: state.auth.user,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n paymentAction: (payload) => {\r\n dispatch(saveOrderId.setOrderId(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDipatchToProps\r\n)(HandBookCcAvenuePayment);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport YourOrderComponent from \"../yourOrderComponent/YourOrderComponent\";\r\nimport \"./OrderReview.scss\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport HandBooksCcAvenuePayment from \"../../handBooks_cc_avenue_payment/HandBooksCcAvenuePayment\";\r\nimport {\r\n url_167,\r\n url_168,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { connect } from \"react-redux\";\r\nimport axios from \"axios\";\r\nimport saveTransactionAction from \"../../../../../../../redux/handbook_payment_gateway/action\";\r\nimport { checkXSSAttackThroughInput } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\n\r\nconst OrderReview = (props) => {\r\n let {\r\n selectedAddress,\r\n handleReview,\r\n checkoutInput,\r\n cartDetails,\r\n singleProduct,\r\n handleStep2,\r\n flag,\r\n tokenType,\r\n token,\r\n userId,\r\n saveTransactionAction,\r\n } = props;\r\n\r\n const [cpnInput, setCpnInput] = useState(\"\");\r\n const [couponDetails, setCouponDetails] = useState({});\r\n\r\n const [state, setState] = useState({\r\n payment: [],\r\n });\r\n\r\n const packageDetails = {};\r\n\r\n useEffect(() => {\r\n getPayment();\r\n }, []);\r\n\r\n const applyCouponMethod = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n const data = {\r\n coupon_code: cpnInput,\r\n user_id: userId,\r\n amount: flag ? cartDetails.total_price : singleProduct.discounted_price,\r\n };\r\n const response = await axios.post(url_167, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n setCouponDetails(response.data.data);\r\n } else {\r\n alert(\"Invalid Coupon\");\r\n }\r\n };\r\n\r\n const getPayment = async () => {\r\n // startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n let data = {\r\n address:\r\n Object.keys(selectedAddress).length > 0\r\n ? selectedAddress\r\n : checkoutInput,\r\n };\r\n try {\r\n const response = await axios.post(url_168, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n payment: response.data,\r\n }));\r\n saveTransactionAction(response.data);\r\n }\r\n } catch (error) {\r\n // finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleInputchange = async (value) => {\r\n const response = await checkXSSAttackThroughInput(value);\r\n\r\n if (!response) {\r\n return;\r\n } else {\r\n setCpnInput(value);\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n {\" \"}\r\n \"backBtn\"\r\n
    \r\n
    Back to Cart
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    Delivery Address
    \r\n {Object.keys(selectedAddress).length || undefined ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {selectedAddress.fullname} |\r\n {selectedAddress.mobile}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Door No\r\n
    \r\n
    \r\n
    \r\n
    \r\n ) : (\r\n
    \r\n
    \r\n
    \r\n
    \r\n {checkoutInput.fullname}.. |\r\n {checkoutInput.phone}\r\n
    \r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n Door No\r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n handleInputchange(e.target.value)}\r\n />\r\n
    \r\n \r\n
    \r\n {flag ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n {flag ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n userId: state.auth.user.user_id,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n saveTransactionAction: (payload) => {\r\n dispatch(saveTransactionAction.setHandBookTransactionDetails(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDipatchToProps)(OrderReview);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./FillingAddress.scss\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport YourOrderComponent from \"../yourOrderComponent/YourOrderComponent\";\r\nimport axios from \"axios\";\r\nimport OrderReview from \"../orderReview/OrderReview\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_166,\r\n url_165,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\nimport { Button } from \"react-bootstrap\";\r\n\r\nconst FillingAddress = (props) => {\r\n const {\r\n startLoading,\r\n finishLoading,\r\n handleClickNext,\r\n handleClickPrev,\r\n singleProduct,\r\n handleStep1,\r\n cartDetails,\r\n handleStep2,\r\n flag,\r\n step,\r\n tokenType,\r\n token,\r\n } = props;\r\n\r\n const [formView, setFormView] = useState(false);\r\n const [btnView, setBtnView] = useState(false);\r\n const [overReview, setOverReview] = useState(false);\r\n\r\n const [state, setState] = useState({\r\n savedAddress: [],\r\n selectedAddress: \"\",\r\n formSubmit: {},\r\n lastTwo: [],\r\n success: \"\",\r\n step: step,\r\n });\r\n\r\n const [checkoutInput, setCheckoutInput] = useState({\r\n fullname: \"\",\r\n phone: \"\",\r\n address: \"\",\r\n landMark: \"\",\r\n city: \"\",\r\n state: \"\",\r\n zipcode: \"\",\r\n });\r\n\r\n const isDisable = state.selectedAddress.length == \"\" ? true : false;\r\n\r\n useEffect(() => {\r\n getAddress();\r\n }, [state.stopAddress]);\r\n\r\n const handleInput = (e) => {\r\n e.persist();\r\n setCheckoutInput({ ...checkoutInput, [e.target.name]: e.target.value });\r\n };\r\n\r\n const selectData = () => {\r\n let { fullname, phone, address, landMark, city, state, zipcode } =\r\n checkoutInput;\r\n\r\n if (fullname.trim().length === 0) {\r\n alert(\"Please enter a fullname\");\r\n return 0;\r\n } else if (phone.trim().length === 0) {\r\n alert(\"Please enter a phone number\");\r\n return 0;\r\n } else if (address.trim().length === 0) {\r\n alert(\"Please enter a address\");\r\n return 0;\r\n } else if (landMark.trim().length === 0) {\r\n alert(\"Please enter a landMark\");\r\n return 0;\r\n } else if (city.trim().length === 0) {\r\n alert(\"Please enter a city\");\r\n return 0;\r\n } else if (state.trim().length === 0) {\r\n alert(\"Please enter a state\");\r\n return 0;\r\n } else if (zipcode.trim().length === 0) {\r\n alert(\"Please enter a zipcode\");\r\n return 0;\r\n } else {\r\n return 1;\r\n }\r\n };\r\n\r\n const submitOrder = async () => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n const result = await selectData();\r\n if (result) {\r\n var data = {\r\n name: checkoutInput.fullname,\r\n mobile: checkoutInput.phone,\r\n address: checkoutInput.address,\r\n landmark: checkoutInput.landMark,\r\n city: checkoutInput.city,\r\n state: checkoutInput.state,\r\n pincode: checkoutInput.zipcode,\r\n };\r\n try {\r\n const response = await axios.post(url_166, data, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n success: response.data.status,\r\n formSubmit: response.data.data,\r\n }));\r\n }\r\n getAddress();\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n }\r\n };\r\n\r\n const getAddress = async () => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n try {\r\n const response = await axios.post(url_165, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n savedAddress: response.data,\r\n lastTwo: response.data.address.slice(-3),\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleForm = () => {\r\n setFormView(!formView);\r\n setBtnView(!btnView);\r\n };\r\n\r\n const handleChangeAddress = (item) => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedAddress: item,\r\n }));\r\n };\r\n\r\n const renderForm = () => {\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
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const handleReview = async () => {\r\n getAddress();\r\n handleClickNext();\r\n setOverReview(!overReview);\r\n setFormView(!formView);\r\n setBtnView(!btnView);\r\n };\r\n\r\n const handleReview3 = () => {\r\n handleClickPrev();\r\n setOverReview(!overReview);\r\n setFormView(!formView);\r\n setBtnView(!btnView);\r\n };\r\n\r\n const handleReview2 = async () => {\r\n const result = await selectData();\r\n if (result) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n selectedAddress: \"\",\r\n }));\r\n submitOrder();\r\n handleClickNext();\r\n setOverReview(!overReview);\r\n setFormView(formView);\r\n }\r\n };\r\n\r\n return (\r\n
    \r\n {!overReview && (\r\n
    \r\n
    \r\n
    \r\n {\" \"}\r\n \"backBtn\"\r\n
    \r\n
    Back to Cart
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    Delivery Address
    \r\n
    {formView && renderForm()}
    \r\n {!btnView && (\r\n
    \r\n
    \r\n {!isEmpty(state.lastTwo)\r\n ? state.lastTwo.length\r\n ? state.lastTwo.map((item) => {\r\n return (\r\n
    \r\n
    \r\n handleChangeAddress(item)}\r\n checked={\r\n item.id === state.selectedAddress.id\r\n }\r\n >\r\n\r\n
    \r\n
    \r\n \r\n {item.fullname} |\r\n \r\n \r\n {item.mobile}\r\n \r\n
    \r\n
    \r\n {item.address}/ \r\n {item.landmark}, \r\n {item.city}, \r\n {item.state}, \r\n {item.pincode}, \r\n
    \r\n
    \r\n\r\n {/*
    \r\n
    edit
    \r\n
    del
    \r\n
    */}\r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n\r\n
    \r\n {flag ? (\r\n \r\n ) : (\r\n \r\n )}\r\n\r\n
    \r\n {/* {singleProduct ? (\r\n !formView ? (\r\n \r\n ) : (\r\n \r\n )\r\n ) : !formView ? (\r\n \r\n ) : (\r\n \r\n )} */}\r\n\r\n {!formView ? (\r\n \r\n ) : (\r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    \r\n )}\r\n\r\n {overReview && (\r\n \r\n )}\r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(null, mapDispatchToProps)(FillingAddress);\r\n","import React from \"react\";\r\nconst Circle = ({ className, children }) => {\r\n return (\r\n
    \r\n
    \r\n {children}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Circle;\r\n","import React, { useState, useEffect, useMemo, Fragment } from \"react\";\r\nimport HeaderComponent from \"./../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport \"./CartCollection.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport AddedToCart from \"./added_to_cart/AddedToCart\";\r\nimport FillingAddress from \"./filling_address/FillingAddress\";\r\nimport axios from \"axios\";\r\nimport {\r\n url_162,\r\n url_164,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\nimport { connect } from \"react-redux\";\r\nimport userStoreCartDetailsData from \"../../../../../../redux/new_store/action\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\nimport { useHistory, Link, useLocation } from \"react-router-dom\";\r\nimport Circle from \"../circle/Circle\";\r\nimport Footer_component from \"../../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\nimport MobileLeftSideBarComponent from \"../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport Mobile_header_component from \"../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport Mobile__right_sideBar_component from \"../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Header_component from \"./../../../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\nconst CartCollection = (props) => {\r\n let {\r\n setStoreCartDetailsData,\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n tokenType,\r\n token,\r\n history,\r\n userPreference,\r\n userData\r\n } = props;\r\n\r\n let location = useLocation();\r\n\r\n let step2 = location?.state?.step;\r\n\r\n let singleProduct = location?.state?.singleProduct;\r\n\r\n const [state, setState] = useState({\r\n step: step2 ? 2 : 1,\r\n cartDetails: {},\r\n wishList: [],\r\n flag: false,\r\n });\r\n\r\n const [circle] = useState(4);\r\n const [active, setActive] = useState(step2 ? 1 : 0);\r\n const [width, setWidth] = useState(0);\r\n\r\n const arr = [];\r\n for (let i = 0; i < circle; i++) {\r\n arr.push(\r\n \r\n {i}\r\n \r\n );\r\n }\r\n\r\n const progressBarNames = [\r\n \"Added to cart\",\r\n \" Filled Address\",\r\n \"Order Confirmed\",\r\n \" Payment\",\r\n ];\r\n\r\n useEffect(() => {\r\n setWidth((100 / (circle - 1)) * active);\r\n }, [circle, active]);\r\n\r\n const isProgressdisabled = active >= circle - 1 ? true : false;\r\n let historys = useHistory();\r\n\r\n const getCartDetails = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_162, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n cartDetails: response.data,\r\n }));\r\n setStoreCartDetailsData(response.data);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getWishList = async () => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n try {\r\n const response = await axios.post(url_164, { headers });\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n wishList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n useEffect(() => {\r\n getCartDetails();\r\n getWishList();\r\n }, []);\r\n\r\n const handleCheckOut = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 2,\r\n flag: true,\r\n }));\r\n handleClickNext();\r\n };\r\n\r\n const handleWishListPage = () => {\r\n historys.push(\"/wishList_collection\");\r\n };\r\n\r\n const handleRedirect = () => {\r\n historys.push({\r\n pathname: \"/store\",\r\n state: { tab: \"hand_books\" },\r\n });\r\n };\r\n\r\n const handleClickPrev = () => {\r\n if (active <= 0) {\r\n setActive(0);\r\n } else {\r\n setActive(active - 1);\r\n }\r\n };\r\n\r\n const handleClickPrev2 = () => {\r\n if (active <= 0) {\r\n setActive(0);\r\n } else {\r\n setActive(active - 2);\r\n }\r\n };\r\n\r\n const handleClickNext = () => {\r\n if (active >= circle) {\r\n setActive(circle);\r\n } else {\r\n setActive(active + 1);\r\n }\r\n };\r\n\r\n const handleStep1 = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 1,\r\n }));\r\n handleClickPrev();\r\n };\r\n\r\n const handleStep2 = () => {\r\n setState((prevState) => ({\r\n ...prevState,\r\n step: 1,\r\n }));\r\n handleClickPrev2();\r\n };\r\n\r\n const renderView = (step) => {\r\n switch (step) {\r\n case 1:\r\n return (\r\n \r\n );\r\n case 2:\r\n return (\r\n \r\n );\r\n\r\n default:\r\n return null;\r\n }\r\n };\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidths = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidths)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidths)\r\n })\r\n },[windowWidth])\r\n\r\n return (\r\n
    \r\n {/* */}\r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    Cart
    \r\n
    \r\n
    \r\n
    \r\n \"wish-list\"\r\n
    {state.wishList.length}
    \r\n
    Wishlist
    \r\n
    \r\n
    \r\n \"add-cart\"\r\n
    {state.cartDetails.total}
    \r\n
    Cart
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {state.cartDetails.total > 0 ? (\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {arr}\r\n
    \r\n\r\n
    \r\n {progressBarNames.map((item, index) => {\r\n return (\r\n
    \r\n {item}\r\n
    \r\n );\r\n })}\r\n
    \r\n
    \r\n
    \r\n \r\n\r\n
    {renderView(state.step)}
    \r\n \r\n ) : (\r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n\r\n
    Back to store
    \r\n
    \r\n
    \r\n
    Your Cart is empty!
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n {loader && }\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setStoreCartDetailsData: (payload) => {\r\n dispatch(userStoreCartDetailsData.setStoreCartDetailsData(payload));\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CartCollection);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./CartDetails.scss\";\r\nimport images from \"../../../../../../utilities/images/images\";\r\nimport HeaderComponent from \"../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport { Link, useLocation, useHistory } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport uiActions from \"../../../../../../redux/ui/action\";\r\nimport LoaderPopUp from \"../../../../../../components/loader/loader\";\r\nimport {\r\n url_162,\r\n url_160,\r\n url_164,\r\n} from \"../../../../../../custom_utilities/api_services\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\nimport Header_component from \"../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport Mobile__right_sideBar_component from \"../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Mobile_header_component from \"../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport MobileLeftSideBarComponent from \"../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\n\r\nconst CartDetails = (props) => {\r\n let { startLoading, finishLoading, loader, tokenType, token, history, userData, userPreference } = props;\r\n\r\n const [state, setState] = useState({\r\n addToCart: [],\r\n cartDetails: {},\r\n wishList: [],\r\n cartBtnFlag: false,\r\n });\r\n let location = useLocation();\r\n let product = location.state.product;\r\n let historys = useHistory();\r\n\r\n useEffect(() => {\r\n getCartDetails();\r\n getWishList();\r\n }, []);\r\n\r\n const handleRedirect = () => {\r\n historys.push({\r\n pathname: \"/cart_collection\",\r\n // state: { cartDetails: \"sharath\" },\r\n });\r\n };\r\n\r\n const handleWishList = () => {\r\n historys.push(\"/wishList_collection\");\r\n };\r\n\r\n const getCartDetails = async () => {\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_162, { headers });\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n cartDetails: response.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const addToCart = async (p_id) => {\r\n startLoading();\r\n const headers = {\r\n Authorization: `${tokenType} ${token}`,\r\n };\r\n let data = {\r\n product_id: p_id,\r\n };\r\n try {\r\n const response = await axios.post(url_160, data, { headers });\r\n\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n addToCart: response.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleBuyNow = (product) => {\r\n historys.push({\r\n pathname: \"/cart_collection\",\r\n state: { step: 2, singleProduct: product },\r\n });\r\n };\r\n\r\n const handleAddToCart = (p_id) => {\r\n handleAlert(p_id);\r\n addToCart(p_id);\r\n getCartDetails();\r\n setState((prevState) => ({\r\n ...prevState,\r\n cartBtnFlag: true,\r\n }));\r\n };\r\n\r\n const handleAlert = (p_id) => {\r\n const newArr = state.cartDetails?.data?.filter((element) => {\r\n return element.p_id === p_id;\r\n });\r\n if (newArr[0]) {\r\n return alert(\"You have this item in your cart\");\r\n }\r\n };\r\n\r\n const getWishList = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_164);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n wishList: response.data.data,\r\n }));\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderCardTotal = () => {\r\n if (state.addToCart.total) {\r\n return
    {state.addToCart.total}
    ;\r\n } else {\r\n return
    {state.cartDetails.total}
    ;\r\n }\r\n };\r\n\r\n const check = (p_id) => {\r\n const newArr = state.cartDetails?.data?.filter((element) => {\r\n return element.p_id === p_id;\r\n });\r\n console.log(\"check\", newArr[0]);\r\n return newArr[0];\r\n };\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n\r\n return (\r\n <>\r\n {/* */}\r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n <>\r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n <>\r\n
    \r\n {/* */}\r\n
    \r\n
    \r\n \r\n
    \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    Course Details
    \r\n\r\n
    \r\n
    \r\n
    \r\n \"wish-list\"\r\n
    {state.wishList.length}
    \r\n
    Wishlist
    \r\n
    \r\n
    \r\n \"add-cart\"\r\n {renderCardTotal()}\r\n
    Cart
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    Back to Store
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \"...\"\r\n
    \r\n

    {product.product_name}

    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n

    Price Details

    \r\n\r\n
    \r\n
    \r\n
    \r\n \"item_img\"\r\n
    \r\n
    \r\n {product.product_name}\r\n
    \r\n Solution book\r\n
    \r\n
    \r\n
    \r\n {parseInt(product.price).toLocaleString(\"en-US\")}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Discount
    \r\n
    \r\n {/* ₹{\" \"}\r\n {product.price -\r\n product.discounted_price.toLocaleString(\"en-US\")}\r\n /- */}\r\n ₹\r\n {parseInt(\r\n product.price - product.discounted_price\r\n ).toLocaleString(\"en-US\")}\r\n
    \r\n
    \r\n\r\n
    \r\n
    Total Price
    \r\n
    \r\n Rs{\" \"}\r\n {parseInt(product.discounted_price).toLocaleString(\r\n \"en-US\"\r\n )}\r\n /-\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n {/* {state.cartDetails?.data?.length ? (\r\n
    \r\n {check(product.p_id) ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n handleAddToCart2(product.p_id)}\r\n >\r\n Add to cart....\r\n \r\n
    \r\n )}\r\n
    \r\n ) : state.cartBtnFlag ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )} */}\r\n\r\n {state.cartBtnFlag == false ? (\r\n
    \r\n \r\n
    \r\n ) : (\r\n
    \r\n \r\n
    \r\n )}\r\n\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n {loader && }\r\n \r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n tokenType: state.auth.tokenType,\r\n storeCartDetailsData: state.userStore.storeCartDetailsData,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, mapDispatchToProps)(CartDetails);\r\n","import React, { useState, useEffect, Fragment } from \"react\";\r\nimport \"./WishListCollection.scss\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport HeaderComponent from \"../../../../../structure_components/desktop_screens/header_component/header_component\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../../../../../custom_utilities/custom_useful_functions\";\r\nimport {\r\n url_164,\r\n url_161,\r\n url_160,\r\n url_162,\r\n} from \"../../../../../../../custom_utilities/api_services\";\r\nimport { Link } from \"react-router-dom\";\r\nimport wishListData from \"../../../../../../../redux/new_store/action\";\r\nimport uiActions from \"../../../../../../../redux/ui/action\";\r\nimport LoaderPopUp from \"../../../../../../../components/loader/loader\";\r\n\r\nimport { connect } from \"react-redux\";\r\nimport Footer_component from \"../../../../../structure_components/desktop_screens/footer_component/Footer_component\";\r\nimport MobileLeftSideBarComponent from \"../../../../../structure_components/mobile_screens/mobile_left_sideBar_component/mobile_left_sideBar_component\";\r\nimport Mobile_header_component from \"../../../../../structure_components/mobile_screens/mobile_header_component/mobile_header_component\";\r\nimport Mobile__right_sideBar_component from \"../../../../../structure_components/mobile_screens/mobile_right_sideBar_component/mobile__right_sideBar_component\";\r\nimport Header_component from \"../../../../../structure_components/desktop_screens/header_component/header_component\";\r\n\r\nconst WishListCollection = (props) => {\r\n let { setWishList, startLoading, finishLoading, loader, history,userPreference,userData } = props;\r\n\r\n const [state, setState] = useState({\r\n wishList: [],\r\n cartDetails: {},\r\n });\r\n let historys = useHistory();\r\n\r\n useEffect(() => {\r\n getWishList();\r\n getCartDetails();\r\n }, []);\r\n\r\n const handleRedirect = () => {\r\n historys.push({\r\n pathname: \"/cart_collection\",\r\n });\r\n };\r\n\r\n const getWishList = async () => {\r\n startLoading();\r\n try {\r\n const response = await axios.post(url_164);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n wishList: response.data.data,\r\n }));\r\n setWishList(response.data.data);\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n } finally {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const handleDeleteItem = async (p_id) => {\r\n startLoading();\r\n let data = {\r\n product_id: p_id,\r\n type: 0,\r\n };\r\n try {\r\n const response = await axios.post(url_161, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n }\r\n\r\n getWishList();\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n } finally{\r\n finishLoading();\r\n }\r\n };\r\n\r\n const moveToCart = async (p_id) => {\r\n startLoading();\r\n let data = {\r\n product_id: p_id,\r\n };\r\n try {\r\n const response = await axios.post(url_160, data);\r\n if (response.data.status === 200) {\r\n finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n addToCart: response.data,\r\n }));\r\n }\r\n handleDeleteItem(p_id);\r\n getCartDetails();\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n } finally {\r\n finishLoading();\r\n }\r\n };\r\n\r\n const getCartDetails = async () => {\r\n // startLoading();\r\n try {\r\n const response = await axios.post(url_162);\r\n if (response.data.status === 200) {\r\n // finishLoading();\r\n setState((prevState) => ({\r\n ...prevState,\r\n cartDetails: response.data,\r\n }));\r\n }\r\n } catch (error) {\r\n // finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleRedirect2 = () => {\r\n historys.push({\r\n pathname: \"/store\",\r\n state: { tab: \"hand_books\" },\r\n });\r\n };\r\n\r\n const [windowWidth, setWindowWidth] = useState(window.innerWidth)\r\n const setWidth = () => {\r\n setWindowWidth(window.innerWidth)\r\n }\r\n useEffect(() => {\r\n window.addEventListener( 'resize',setWidth)\r\n\r\n return (() => {\r\n window.removeEventListener('resize',setWidth)\r\n })\r\n },[windowWidth])\r\n\r\n return (\r\n
    \r\n {/* */}\r\n {windowWidth <= 480 ? (\r\n /////for Mobile Screens////////////////////\r\n \r\n \r\n \r\n \r\n \r\n ) : (\r\n /////for Screens greater than Mobile Screens////////////////////\r\n \r\n \r\n \r\n )}\r\n
    \r\n
    \r\n
    \r\n
    WishList
    \r\n
    \r\n
    \r\n \"add-cart\"\r\n
    {state.cartDetails.total}
    \r\n
    Cart
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n \r\n \"backBtn\"\r\n \r\n
    Back to store
    \r\n
    \r\n\r\n {state.wishList.length > 0 ? (\r\n
    \r\n {!isEmpty(state.wishList)\r\n ? state.wishList.length\r\n ? state.wishList.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \"item_img\"\r\n
    \r\n
    \r\n
    \r\n
    \r\n {element.product_name}\r\n
    \r\n

    \r\n The pack with Solution book and practice\r\n papers.\r\n

    \r\n
    \r\n
    \r\n \r\n handleDeleteItem(element.p_id)\r\n }\r\n >\r\n Delete\r\n \r\n |\r\n moveToCart(element.p_id)}\r\n >\r\n Move to cart\r\n
    \r\n
    \r\n
    \r\n
    \r\n Price\r\n \r\n {parseInt(element.price).toLocaleString(\r\n \"en-US\"\r\n )}\r\n /-\r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null}\r\n \r\n ) : (\r\n
    \r\n
    \r\n
    Your WishList is empty!
    \r\n \r\n
    \r\n
    \r\n )}\r\n
    \r\n
    \r\n \r\n {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n userData: state.auth.user,\r\n userPreference: state.userPreference,\r\n };\r\n};\r\n\r\nconst mapDispatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n setWishList: (payload) => {\r\n dispatch(wishListData.setWishList(payload));\r\n },\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDispatchToProps)(WishListCollection);\r\n","import React from \"react\";\r\nimport \"./QuestionListPanel.scss\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\n\r\nconst QuestionListPanel = ({\r\n testQuestionsDetails,\r\n currentQuestion,\r\n handleQuestionJump,\r\n questionsCollectionRef,\r\n}) => {\r\n const renderQuestionLabel = (question, index) => {\r\n const isCurrentQuestion = currentQuestion === index;\r\n\r\n const labelClassName = isCurrentQuestion\r\n ? \"unAttempted current_lbl\"\r\n : question.is_attempted\r\n ? \"answereds_lbl\"\r\n : \"unAttempted\";\r\n\r\n return (\r\n {\r\n handleQuestionJump(index);\r\n }}\r\n >\r\n
    \r\n {`${index + 1}.`}\r\n

    \r\n
    \r\n \"arrow\"\r\n \r\n );\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n

    \r\n Questions - {testQuestionsDetails?.data?.length}\r\n

    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n \r\n \r\n
    \r\n
    \r\n
    \r\n \r\n {testQuestionsDetails?.data?.length\r\n ? testQuestionsDetails?.data?.map((element, index) => {\r\n return (\r\n \r\n {renderQuestionLabel(element, index)}\r\n
    \r\n );\r\n })\r\n : null}\r\n \r\n \r\n );\r\n};\r\n\r\nexport default QuestionListPanel;\r\n","import React from \"react\";\r\nimport \"./QuestionInfoSection.scss\";\r\nimport images from \"../../../../../../../../utilities/images/images\";\r\n\r\nconst QuestionInfoSection = ({\r\n currentSolutionDetails,\r\n currentQuestion,\r\n lang,\r\n setLang,\r\n ConvertStringToHTML,\r\n}) => {\r\n return (\r\n
    \r\n

    Practice Test

    \r\n
    \r\n
    \r\n Question type: {currentSolutionDetails?.answer_type}\r\n
    \r\n {ConvertStringToHTML(currentSolutionDetails?.q_text_hindi) ? (\r\n \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n \r\n {`${Number(currentQuestion) + 1}.`}\r\n \r\n\r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails !== undefined ? (\r\n

    \r\n ) : (\r\n \"\"\r\n )}\r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionInfoSection;\r\n","// import React, { Fragment, useEffect, useMemo } from \"react\";\r\n\r\n// const QuestionOptions = ({\r\n// currentSolutionDetails,\r\n// lang,\r\n// currentQuestion,\r\n// testQuestionsDetails,\r\n// }) => {\r\n// const memoizedClassEditor = useMemo(\r\n// () => (s, u) => {\r\n// if (s) {\r\n// return \"single_option_wrapper classCorrect\";\r\n// } else if (!s && u) {\r\n// return \"single_option_wrapper classWrong\";\r\n// } else {\r\n// return \"single_option_wrapper\";\r\n// }\r\n// },\r\n// []\r\n// );\r\n\r\n// const renderOptionInitial = (index) => {\r\n// let alphabetArr = [\r\n// \"A\",\r\n// \"B\",\r\n// \"C\",\r\n// \"D\",\r\n// \"E\",\r\n// \"F\",\r\n// \"G\",\r\n// \"H\",\r\n// \"I\",\r\n// \"J\",\r\n// \"K\",\r\n// \"L\",\r\n// \"M\",\r\n// \"N\",\r\n// \"O\",\r\n// \"P\",\r\n// \"Q\",\r\n// \"R\",\r\n// \"S\",\r\n// \"T\",\r\n// \"U\",\r\n// \"V\",\r\n// \"W\",\r\n// \"X\",\r\n// \"Y\",\r\n// \"Z\",\r\n// ];\r\n\r\n// return alphabetArr[index];\r\n// };\r\n\r\n// const renderOptionText = (optionText) => {\r\n// return { __html: optionText };\r\n// };\r\n\r\n// const renderSingleSelect = (questionData, lang) => {\r\n// return (\r\n// \r\n//
    \r\n// {questionData?.option.length\r\n// ? questionData.option.map((element, index) => {\r\n// return (\r\n//
    \r\n// \r\n// \r\n//
    \r\n//

    {`${renderOptionInitial(\r\n// index\r\n// )}.`}

    \r\n//
    \r\n//
    \r\n//

    \r\n//
    \r\n// \r\n//
    \r\n// );\r\n// })\r\n// : null}\r\n//
    \r\n//
    \r\n// );\r\n// };\r\n\r\n// const renderMultiSelect = (questionData, lang) => {\r\n// return (\r\n// \r\n//
    \r\n// {questionData?.option?.length\r\n// ? questionData.option?.map((element, index) => {\r\n// return (\r\n//
    \r\n// \r\n// \r\n//
    \r\n//

    {`${renderOptionInitial(\r\n// index\r\n// )}.`}

    \r\n//
    \r\n//
    \r\n//

    \r\n//
    \r\n// \r\n//
    \r\n// );\r\n// })\r\n// : null}\r\n//
    \r\n//
    \r\n// );\r\n// };\r\n\r\n// const renderInputField = () => {\r\n// if (testQuestionsDetails?.data?.[currentQuestion]) {\r\n// return (\r\n// \r\n//
    \r\n//
    \r\n// handleInputFieldChange(event)}\r\n// disabled\r\n// />\r\n//
    \r\n//
    \r\n//
    \r\n// );\r\n// } else {\r\n// return null; // Or return a loading indicator or some fallback content if needed\r\n// }\r\n// };\r\n\r\n// const memoizedRenderOptions = useMemo(\r\n// () => (currentSolutionDetails, lang) => {\r\n// if (currentSolutionDetails) {\r\n// let step,\r\n// type = currentSolutionDetails.answer_type;\r\n\r\n// if (type.toLowerCase() === \"single correct\") {\r\n// step = 1;\r\n// } else if (type.toLowerCase() === \"integer correct\") {\r\n// step = 2;\r\n// } else {\r\n// step = 3;\r\n// }\r\n\r\n// switch (step) {\r\n// case 1:\r\n// return renderSingleSelect(currentSolutionDetails, currentQuestion);\r\n// case 2:\r\n// return renderInputField(currentSolutionDetails, currentQuestion);\r\n// case 3:\r\n// return renderMultiSelect(currentSolutionDetails, currentQuestion);\r\n// default:\r\n// return null;\r\n// }\r\n// } else {\r\n// return null;\r\n// }\r\n// },\r\n// []\r\n// );\r\n\r\n// return (\r\n//
    \r\n// {currentSolutionDetails !== null &&\r\n// currentSolutionDetails.option !== undefined\r\n// ? memoizedRenderOptions(currentSolutionDetails, lang)\r\n// : \"\"}\r\n//
    \r\n// );\r\n// };\r\n\r\n// export default QuestionOptions;\r\n\r\nimport React, { Fragment, useEffect, useMemo } from \"react\";\r\n\r\nconst QuestionOptions = React.memo(\r\n ({ currentSolutionDetails, lang, currentQuestion, testQuestionsDetails }) => {\r\n const memoizedClassEditor = useMemo(\r\n () => (s, u) => {\r\n if (s) {\r\n return \"single_option_wrapper classCorrect\";\r\n } else if (!s && u) {\r\n return \"single_option_wrapper classWrong\";\r\n } else {\r\n return \"single_option_wrapper\";\r\n }\r\n },\r\n []\r\n );\r\n\r\n const renderOptionInitial = (index) => {\r\n let alphabetArr = [\r\n \"A\",\r\n \"B\",\r\n \"C\",\r\n \"D\",\r\n \"E\",\r\n \"F\",\r\n \"G\",\r\n \"H\",\r\n \"I\",\r\n \"J\",\r\n \"K\",\r\n \"L\",\r\n \"M\",\r\n \"N\",\r\n \"O\",\r\n \"P\",\r\n \"Q\",\r\n \"R\",\r\n \"S\",\r\n \"T\",\r\n \"U\",\r\n \"V\",\r\n \"W\",\r\n \"X\",\r\n \"Y\",\r\n \"Z\",\r\n ];\r\n\r\n return alphabetArr[index];\r\n };\r\n\r\n const renderOptionText = (optionText) => {\r\n return { __html: optionText };\r\n };\r\n\r\n const renderSingleSelect = (questionData, lang) => {\r\n return (\r\n \r\n
    \r\n {questionData?.option.length\r\n ? questionData.option.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderMultiSelect = (questionData, lang) => {\r\n return (\r\n \r\n
    \r\n {questionData?.option?.length\r\n ? questionData.option?.map((element, index) => {\r\n return (\r\n
    \r\n \r\n \r\n
    \r\n

    {`${renderOptionInitial(\r\n index\r\n )}.`}

    \r\n
    \r\n
    \r\n

    \r\n
    \r\n \r\n
    \r\n );\r\n })\r\n : null}\r\n
    \r\n
    \r\n );\r\n };\r\n\r\n const renderInputField = () => {\r\n if (testQuestionsDetails?.data?.[currentQuestion]) {\r\n return (\r\n \r\n
    \r\n
    \r\n handleInputFieldChange(event)}\r\n disabled\r\n />\r\n
    \r\n
    \r\n
    \r\n );\r\n } else {\r\n return null; // Or return a loading indicator or some fallback content if needed\r\n }\r\n };\r\n\r\n const memoizedRenderOptions = useMemo(\r\n () => (currentSolutionDetails, lang) => {\r\n if (currentSolutionDetails) {\r\n let step,\r\n type = currentSolutionDetails.answer_type;\r\n\r\n if (type.toLowerCase() === \"single correct\") {\r\n step = 1;\r\n } else if (type.toLowerCase() === \"integer correct\") {\r\n step = 2;\r\n } else {\r\n step = 3;\r\n }\r\n\r\n switch (step) {\r\n case 1:\r\n return renderSingleSelect(\r\n currentSolutionDetails,\r\n currentQuestion\r\n );\r\n case 2:\r\n return renderInputField(currentSolutionDetails, currentQuestion);\r\n case 3:\r\n return renderMultiSelect(currentSolutionDetails, currentQuestion);\r\n default:\r\n return null;\r\n }\r\n } else {\r\n return null;\r\n }\r\n },\r\n [currentSolutionDetails, currentQuestion]\r\n );\r\n\r\n return (\r\n
    \r\n {currentSolutionDetails !== null &&\r\n currentSolutionDetails.option !== undefined\r\n ? memoizedRenderOptions(currentSolutionDetails, lang)\r\n : \"\"}\r\n
    \r\n );\r\n }\r\n);\r\n\r\nexport default QuestionOptions;\r\n","import React from \"react\";\r\nimport { Link } from \"react-router-dom/cjs/react-router-dom.min\";\r\n\r\nconst QuestionSwitcher = ({\r\n currentSolutionDetails,\r\n currentQuestion,\r\n scrollUp2,\r\n scrollUp,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n testQuestionsDetails,\r\n}) => {\r\n return (\r\n
    \r\n
    \r\n {currentQuestion > 0 && (\r\n
    \r\n {\r\n handlePreviousQuestionBtn(currentQuestion - 1);\r\n // setVideoShow(false);\r\n scrollUp2();\r\n }}\r\n >\r\n Previous\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n {testQuestionsDetails?.data?.length === currentQuestion + 1 ? (\r\n
    \r\n \r\n Exit\r\n \r\n
    \r\n ) : (\r\n
    \r\n {\r\n handleNextQuestionBtn(currentQuestion + 1);\r\n // setVideoShow(false);\r\n scrollUp();\r\n }}\r\n >\r\n Next\r\n \r\n
    \r\n )}\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionSwitcher;\r\n","import React from \"react\";\r\n\r\nconst QuestionSolution = ({\r\n currentSolutionDetails,\r\n lang,\r\n ConvertStringToHTML,\r\n}) => {\r\n const renderSolution = (currentSolutionDetails, lang) => {\r\n let html = \"\";\r\n\r\n if (lang) {\r\n html = currentSolutionDetails?.sol_text;\r\n } else {\r\n const hindiText = currentSolutionDetails?.sol_text_hindi;\r\n const flag = ConvertStringToHTML(hindiText);\r\n html = flag ? hindiText : currentSolutionDetails?.sol_text;\r\n }\r\n\r\n return { __html: html };\r\n };\r\n\r\n return (\r\n
    \r\n
    Solution :
    \r\n
    \r\n

    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionSolution;\r\n","import React, { useState } from \"react\";\r\nimport \"./QuestionDetailPanel.scss\";\r\nimport ProgressBar from \"react-bootstrap/ProgressBar\";\r\nimport images from \"../../../../../../../utilities/images/images\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport QuestionInfoSection from \"./questionInfoSection/QuestionInfoSection\";\r\nimport QuestionOptions from \"./questionOptions/QuestionOptions\";\r\nimport QuestionSwitcher from \"./questionSwitcher/QuestionSwitcher\";\r\nimport QuestionSolution from \"./questionSolution/QuestionSolution\";\r\n\r\nconst QuestionDetailPanel = ({\r\n testQuestionsDetails,\r\n currentQuestion,\r\n currentSolutionDetails,\r\n scrollUp2,\r\n scrollUp,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n}) => {\r\n const history = useHistory();\r\n\r\n const [lang, setLang] = useState(true);\r\n\r\n let progressCount =\r\n (100 / testQuestionsDetails?.data?.length) * (currentQuestion + 1);\r\n\r\n const handleGoBack = () => {\r\n history.push({\r\n pathname: \"/student-tests\",\r\n state: { step: 2 },\r\n });\r\n };\r\n\r\n const handleRedirect = () => {\r\n history.push({\r\n pathname: \"/student-report-pdf\",\r\n });\r\n };\r\n\r\n let ConvertStringToHTML = function (str) {\r\n if (!str) {\r\n return false;\r\n }\r\n let parser = new DOMParser();\r\n let doc = parser.parseFromString(str, \"text/html\");\r\n\r\n return doc.body.children.length > 0;\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    \r\n \"backBtn\"\r\n
    \r\n\r\n
    RBTS Full Test
    \r\n
    \r\n
    \r\n
    12-Dec-2022
    \r\n {/*
    Obj-Type
    */}\r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n

    Test Question progress Indicator

    \r\n
    \r\n \r\n {`${\r\n currentQuestion + 1\r\n }`}\r\n
    \r\n
    \r\n 1\r\n {testQuestionsDetails?.data?.length}\r\n
    \r\n
    \r\n\r\n \r\n\r\n \r\n\r\n \r\n\r\n \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default QuestionDetailPanel;\r\n","import React, { Fragment, useState, useEffect, useRef } from \"react\";\r\nimport \"./QuestionViewContentComponent.scss\";\r\nimport QuestionListPanel from \"./questionListPanel/QuestionListPanel\";\r\nimport QuestionDetailPanel from \"./questionDetailPanel/QuestionDetailPanel\";\r\n\r\nconst QuestionViewContentComponent = React.memo((props) => {\r\n const {\r\n testQuestionsDetails,\r\n currentSolutionDetails,\r\n currentQuestion,\r\n handlePreviousQuestionBtn,\r\n handleNextQuestionBtn,\r\n handleQuestionJump,\r\n userId,\r\n } = props;\r\n\r\n const questionsCollectionRef = useRef(null);\r\n\r\n const [videoShow, setVideoShow] = useState(false);\r\n\r\n useEffect(() => {\r\n console.log(\"currentSolutionDetails\", currentSolutionDetails);\r\n }, [currentSolutionDetails]);\r\n\r\n const scrollUp = () => {\r\n const nextQuestionIndex = currentQuestion + 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[nextQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const scrollUp2 = () => {\r\n const prevQuestionIndex = currentQuestion - 1;\r\n const questionElement =\r\n questionsCollectionRef.current.children[prevQuestionIndex];\r\n questionElement.scrollIntoView({ behavior: \"smooth\", block: \"start\" });\r\n };\r\n\r\n const handleOnLoad = () => {\r\n let frame = document.querySelector(\"#iframe\");\r\n frame.contentWindow.postMessage(\r\n `{\"activate\": true,\"userId\":\"${userId}\"}`,\r\n \"*\"\r\n );\r\n\r\n // //////jump to a particular time///////////////////////\r\n // frame.contentWindow.postMessage(JSON.stringify({ seekTo: 1 }), \"*\");\r\n\r\n ////////////////testing///////////////////////////////////\r\n let eventMethod = window.addEventListener\r\n ? \"addEventListener\"\r\n : \"attachEvent\";\r\n let eventer = window[eventMethod];\r\n let messageEvent = eventMethod === \"attachEvent\" ? \"onmessage\" : \"message\";\r\n\r\n eventer(messageEvent, function (e) {\r\n if (e.data && e.data.currentTime) {\r\n let videoTimingDetails = { currentTime: e.data.currentTime };\r\n sessionStorage.setItem(\r\n \"videoTimingDetails\",\r\n JSON.stringify(videoTimingDetails)\r\n );\r\n }\r\n });\r\n };\r\n\r\n const handleVideoShow = () => {\r\n setVideoShow(!videoShow);\r\n };\r\n\r\n const renderVideo = () => {\r\n if (\r\n currentSolutionDetails.video_id === \" \" ||\r\n currentSolutionDetails.video_id === null\r\n ) {\r\n return null;\r\n } else {\r\n return (\r\n
    \r\n \r\n\r\n {videoShow && (\r\n \r\n )}\r\n
    \r\n );\r\n }\r\n };\r\n\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 \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n});\r\n\r\nexport default QuestionViewContentComponent;\r\n","import React, { useState, useEffect, useMemo } from \"react\";\r\nimport \"./QuestionViewComponent.scss\";\r\nimport QuestionViewContentComponent from \"./questionViewContentComponent/QuestionViewContentComponent\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport { useLocation } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport uiActions from \"../../../../../redux/ui/action\";\r\nimport LoaderPopUp from \"../../../../../components/loader/loader\";\r\n\r\nconst QuestionViewComponent = ({\r\n parentUserId,\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n}) => {\r\n const location = useLocation();\r\n\r\n const currentSubject = location.state.currentSubject;\r\n const planner_test_id = location?.state?.plannerTestId;\r\n const parentPaperId = location?.state?.parentPaperId;\r\n const paperIdd = location?.state?.paperIdd;\r\n const userId = location?.state?.userId;\r\n\r\n const [state, setState] = useState({\r\n testQuestionsDetails: {},\r\n currentSolutionDetails: {},\r\n page: 1,\r\n currentQuestion: 0,\r\n });\r\n\r\n const { testQuestionsDetails, currentQuestion } = state;\r\n\r\n useEffect(() => {\r\n getQuestionList();\r\n }, [parentUserId, planner_test_id]);\r\n\r\n const memoizedTestQuestionsDetails = useMemo(\r\n () => state.testQuestionsDetails,\r\n [state.testQuestionsDetails]\r\n );\r\n\r\n const memoizedCurrentSolutionDetails = useMemo(\r\n () => state.currentSolutionDetails,\r\n [state.currentSolutionDetails]\r\n );\r\n\r\n const getQuestionList = async () => {\r\n startLoading();\r\n\r\n const data = {\r\n subject: currentSubject,\r\n user_id: parentUserId || userId,\r\n paper_id: parentPaperId || paperIdd,\r\n planner_test_id,\r\n };\r\n\r\n console.log(\"getQuestionList\", data);\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/getquestionlist\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n const currentQuestionData = response.data.data[state.currentQuestion];\r\n getCurrentSolutionDetails(\r\n currentQuestionData.paper_id,\r\n currentQuestionData.qid\r\n );\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n testQuestionsDetails: response.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const getCurrentSolutionDetails = async (paper_id, qid) => {\r\n startLoading();\r\n const data = {\r\n subject: currentSubject,\r\n user_id: parentUserId || userId,\r\n paper_id: parentPaperId || paperIdd,\r\n planner_test_id,\r\n qid,\r\n };\r\n\r\n try {\r\n const response = await axios.get(\r\n `https://learning.motion.ac.in/motioneducation/api/getviewsolution?subject=${data.subject}&paper_id=${data.paper_id}&planner_test_id=${data.planner_test_id}&user_id=${data.user_id}&qid=${data.qid}`\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentSolutionDetails: response.data.data[0],\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n const handleNextQuestionBtn = (currentQuestion2) => {\r\n const { paper_id, qid } = testQuestionsDetails.data[currentQuestion2];\r\n getCurrentSolutionDetails(paper_id, qid);\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion + 1,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handlePreviousQuestionBtn = (currentQuestion2) => {\r\n const { paper_id, qid } = testQuestionsDetails.data[currentQuestion2];\r\n getCurrentSolutionDetails(paper_id, qid);\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: currentQuestion - 1,\r\n }));\r\n window.scrollTo(0, 0);\r\n };\r\n\r\n const handleQuestionJump = (questionNumber) => {\r\n const { paper_id, qid } = testQuestionsDetails.data[questionNumber];\r\n getCurrentSolutionDetails(paper_id, qid);\r\n\r\n setState((prevState) => ({\r\n ...prevState,\r\n currentQuestion: questionNumber,\r\n }));\r\n };\r\n\r\n return (\r\n
    \r\n
    \r\n \r\n {loader && }\r\n
    \r\n
    \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n parentUserId: state.parentrootReducer.parentAuthReducer.userId,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\n\r\nexport default connect(\r\n mapStateToProps,\r\n mapDipatchToProps\r\n)(QuestionViewComponent);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./StudentTestReportPdf.scss\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport uiActions from \"../../redux/ui/action\";\r\nimport LoaderPopUp from \"../../components/loader/loader\";\r\n\r\nconst StudentReportPDF = (props) => {\r\n let {\r\n parentPaperId,\r\n parentUserId,\r\n startLoading,\r\n finishLoading,\r\n studentPaperId,\r\n studentUserId,\r\n loader,\r\n } = props;\r\n const [state, setState] = useState({\r\n studentPaperAnalysisReport: {},\r\n });\r\n\r\n useEffect(() => {\r\n getStudentPaperAnalysisReport();\r\n }, []);\r\n\r\n const getStudentPaperAnalysisReport = async () => {\r\n startLoading();\r\n let data = {\r\n user_id: parentUserId ? parentUserId : studentUserId,\r\n paper_id: parentPaperId ? parentPaperId : studentPaperId,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/user/StudentPaperAnalysisReport\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n studentPaperAnalysisReport: response.data.data,\r\n }));\r\n finishLoading();\r\n }\r\n } catch (error) {\r\n finishLoading();\r\n console.log(error);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n

    \r\n
    \r\n  {loader && }\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n parentUserId: state.parentrootReducer.parentAuthReducer.userId,\r\n parentPaperId: state.parentrootReducer.parentTestReducer.paperId,\r\n studentPaperId: state.parentrootReducer.parentTestReducer.studentPaperId,\r\n studentUserId: state.parentrootReducer.parentTestReducer.studentUserId,\r\n };\r\n};\r\n\r\nconst mapDipatchToProps = (dispatch) => {\r\n return {\r\n startLoading: () => {\r\n dispatch(uiActions.startLoading());\r\n },\r\n finishLoading: () => {\r\n dispatch(uiActions.finishLoading());\r\n },\r\n };\r\n};\r\nexport default connect(mapStateToProps, mapDipatchToProps)(StudentReportPDF);\r\n","import { useRef } from \"react\";\r\nimport \"./Pdf.scss\";\r\nimport jsPDF from \"jspdf\";\r\nimport StudentReportPDF from \"./StudentTestReportPdf\";\r\nimport { useHistory } from \"react-router-dom/cjs/react-router-dom.min\";\r\nimport { connect } from \"react-redux\";\r\n\r\nfunction Pdf({ loginFromParent }) {\r\n let history = useHistory();\r\n\r\n const reportTemplateRef = useRef(null);\r\n\r\n const handleGeneratePdf = () => {\r\n const doc = new jsPDF({\r\n format: \"a1\",\r\n unit: \"px\",\r\n });\r\n\r\n let pageHeight = doc.internal.pageSize.height;\r\n // Adding the fonts.\r\n doc.setFont(\"Inter-Regular\", \"normal\");\r\n let y = 500; // Height position of new content\r\n if (y >= pageHeight) {\r\n doc.addPage();\r\n y = 0; // Restart height position\r\n }\r\n doc.html(reportTemplateRef.current, {\r\n async callback(doc) {\r\n await doc.save(\"document\");\r\n },\r\n });\r\n\r\n setTimeout(() => {\r\n if (loginFromParent) {\r\n history.push(\"/parent-dashboard\");\r\n } else {\r\n history.push({\r\n pathname: \"/student-tests\",\r\n state: { step: 2 },\r\n });\r\n }\r\n }, 2000);\r\n };\r\n\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\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loginFromParent: state.parentrootReducer.parentAuthReducer.loginFromParent,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(Pdf);\r\n","import React from \"react\";\r\nimport \"./Footer.scss\";\r\n\r\nconst Footer = () => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n C:\r\n Chemistry\r\n
    • \r\n
    • \r\n P:\r\n Physics\r\n
    • \r\n
    • \r\n M:\r\n Maths\r\n
    • \r\n
    • \r\n B:\r\n Biology\r\n
    • \r\n
    \r\n
      \r\n
    • \r\n A:\r\n Average\r\n
    • \r\n
    • \r\n R:\r\n Rank\r\n
    • \r\n
    • \r\n %:\r\n Percentage\r\n
    • \r\n
    • \r\n E:\r\n English\r\n
    • \r\n
    \r\n
      \r\n
    • \r\n OM:\r\n Over all Marks Obtained\r\n
    • \r\n
    • \r\n CRS:\r\n Total Class Room Students\r\n
    • \r\n
    • \r\n CR:\r\n Class Rank\r\n
    • \r\n
    • \r\n AIR:\r\n All India Rank\r\n
    • \r\n
    \r\n\r\n
      \r\n
    • \r\n MM:\r\n Maximum Marks\r\n
    • \r\n
    • \r\n H:\r\n Highest\r\n
    • \r\n
    • \r\n AIS:\r\n Total Students All Over India\r\n
    • \r\n
    • \r\n ER:\r\n Expected Rank \r\n
    • \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n};\r\n\r\nexport default Footer;\r\n","import React, { useState, useEffect } from \"react\";\r\n\r\nimport \"./AllTestsPerformanceReportTabel.scss\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../../../custom_utilities/custom_useful_functions\";\r\nimport { connect } from \"react-redux\";\r\n\r\nconst AllTestsPerformanceReportTabel = (props) => {\r\n let {\r\n startLoading,\r\n finishLoading,\r\n loader,\r\n LoaderPopUp,\r\n parentUserId,\r\n } = props;\r\n\r\n let [state, setState] = useState({\r\n allTestsPerformanceReport: {},\r\n });\r\n\r\n let { test_details } = state.allTestsPerformanceReport;\r\n\r\n useEffect(() => {\r\n getAllTestsPerformanceReport();\r\n }, []);\r\n\r\n const getAllTestsPerformanceReport = async () => {\r\n let data = {\r\n user_id: parentUserId,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/StudentOverallTestReport\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n allTestsPerformanceReport: response.data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const renderTabel = () => {\r\n if (state.allTestsPerformanceReport.type == \"JEE\") {\r\n return (\r\n
    \r\n
    \r\n \r\n \r\n \r\n Test Details\r\n \r\n \r\n Physics\r\n \r\n \r\n Chemistry\r\n \r\n \r\n Maths\r\n \r\n\r\n \r\n Overall\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {!isEmpty(test_details)\r\n ? test_details.length\r\n ? test_details.map((element, index) => {\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\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })\r\n : null\r\n : null}\r\n
    Test IDTypeDatePMM%RHACMM%RHAMMM%RHAOMMM%CRCRSAIRAISHAAR
    {element.test_id}{element.type}\r\n {element.date}\r\n \r\n {element.subjects?.Physics?.marks}\r\n \r\n {\" \"}\r\n {element.subjects?.Physics?.max_marks.toFixed(0)}\r\n \r\n {\" \"}\r\n {element.subjects?.Physics?.percentage.toFixed(2)}\r\n \r\n {element.subjects?.Physics?.rank}\r\n \r\n {\r\n element.subjects?.Physics?.highest_mark\r\n .physics_marks\r\n }\r\n \r\n {element.subjects?.Physics?.avg}\r\n \r\n {element.subjects?.Chemistry?.marks}\r\n \r\n {element.subjects?.Chemistry?.max_marks.toFixed(2)}\r\n \r\n {element.subjects?.Chemistry?.percentage.toFixed(2)}\r\n \r\n {element.subjects?.Chemistry?.rank}\r\n \r\n {\" \"}\r\n {\r\n element?.subjects?.Chemistry?.highest_mark\r\n .chemistry_marks\r\n }\r\n \r\n {element.subjects?.Chemistry?.avg}\r\n \r\n {element.subjects?.Maths?.marks}\r\n \r\n {element.subjects?.Maths?.max_marks.toFixed(2)}\r\n \r\n {element.subjects?.Maths?.percentage.toFixed(2)}\r\n \r\n {element.subjects?.Maths?.rank}\r\n \r\n {element.subjects?.Maths?.highest_mark?.maths_marks}\r\n \r\n {element.subjects?.Maths?.avg}\r\n \r\n {element.overallsummary?.obtained_marks}\r\n \r\n {element.overallsummary?.max_marks}\r\n \r\n {element.overallsummary?.percentage}\r\n \r\n {element.overallsummary?.rank}\r\n \r\n {element.overallsummary?.stud_count}\r\n \r\n {element.overallsummary?.all_india_rank}\r\n \r\n {element.overallsummary?.tot_stud_india}\r\n \r\n {element.overallsummary?.high_mark?.total_marks}\r\n \r\n {element.overallsummary?.avg}\r\n \r\n {element.overallsummary?.expectrank}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n );\r\n } else {\r\n return (\r\n
    \r\n
    \r\n
    \r\n \r\n \r\n \r\n Test Details\r\n \r\n \r\n Physics\r\n \r\n \r\n Chemistry\r\n \r\n\r\n \r\n Zoology\r\n \r\n\r\n \r\n Botony\r\n \r\n\r\n \r\n Overall\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {!isEmpty(test_details)\r\n ? test_details.length\r\n ? test_details.map((element, index) => {\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\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n })\r\n : null\r\n : null}\r\n
    Test IDTypeDatePMM%RHACMM%RHAZMM%RHABMM%RHAOMMM%CRCRSAIRAISHAAR
    {element.test_id}{element.type}\r\n {element.date}\r\n \r\n {element.subjects?.Physics?.marks}\r\n \r\n {\" \"}\r\n {element.subjects?.Physics?.max_marks.toFixed(0)}\r\n \r\n {\" \"}\r\n {element.subjects?.Physics?.percentage.toFixed(2)}\r\n \r\n {element.subjects?.Physics?.rank}\r\n \r\n {\r\n element.subjects?.Physics?.highest_mark\r\n ?.physics_marks\r\n }\r\n \r\n {element.subjects?.Physics?.avg}\r\n \r\n {element.subjects?.Chemistry?.marks}\r\n \r\n {element.subjects?.Chemistry?.max_marks.toFixed(\r\n 2\r\n )}\r\n \r\n {element.subjects?.Chemistry?.percentage.toFixed(\r\n 2\r\n )}\r\n \r\n {element.subjects?.Chemistry?.rank}\r\n \r\n {\" \"}\r\n {\r\n element.subjects?.Chemistry?.highest_mark\r\n ?.chemistry_marks\r\n }\r\n \r\n {element.subjects?.Chemistry?.avg}\r\n \r\n {element.subjects?.Zoology?.marks}\r\n \r\n {element.subjects?.Zoology?.max_marks.toFixed(2)}\r\n \r\n {element.subjects?.Zoology?.percentage.toFixed(2)}\r\n \r\n {element.subjects?.Zoology?.rank}\r\n \r\n {\r\n element.subjects?.Zoology?.highest_mark\r\n ?.zoology_marks\r\n }\r\n \r\n {element.subjects?.Zoology?.avg}\r\n \r\n {element.subjects?.Botony?.marks}\r\n \r\n {element.subjects?.Botony?.max_marks.toFixed(2)}\r\n \r\n {element.subjects?.Botony?.percentage.toFixed(2)}\r\n \r\n {element.subjects?.Botony?.rank}\r\n \r\n {\r\n element.subjects?.Botony?.highest_mark\r\n ?.botany_marks\r\n }\r\n \r\n {element.subjects?.Botony?.avg}\r\n \r\n {element.overallsummary?.obtained_marks}\r\n \r\n {element.overallsummary?.max_marks}\r\n \r\n {element.overallsummary?.percentage}\r\n \r\n {element.overallsummary?.rank}\r\n \r\n {element.overallsummary?.stud_count}\r\n \r\n {element.overallsummary?.all_india_rank}\r\n \r\n {element.overallsummary?.tot_stud_india}\r\n \r\n {element.overallsummary?.high_mark.total_marks}\r\n \r\n {element.overallsummary?.avg}\r\n \r\n {element.overallsummary?.expectrank}\r\n
    \r\n
    \r\n {loader && }\r\n
    \r\n
    \r\n );\r\n }\r\n };\r\n\r\n return
    {renderTabel()}
    ;\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n parentUserId: state.parentrootReducer.parentAuthReducer.userId,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(AllTestsPerformanceReportTabel);\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./StudentProfile.scss\";\r\nimport axios from \"axios\";\r\nimport { connect } from \"react-redux\";\r\nimport AllTestsPerformanceReportTabel from \"../allTestsPerformanceReportTabel/AllTestsPerformanceReportTabel\";\r\nimport images from \"../../../utilities/images/images\";\r\n\r\nconst StudentProfile = (props) => {\r\n let {\r\n token,\r\n tokenType,\r\n studentRollNum,\r\n setUserId,\r\n setStudentProfileDetails,\r\n startLoading,\r\n finishLoading,\r\n LoaderPopUp,\r\n loader,\r\n setParentTarget,\r\n } = props;\r\n const [state, setState] = useState({\r\n studentAttendance: {},\r\n studentProfile: {},\r\n userId: \"\",\r\n });\r\n\r\n const { studentProfile, userId } = state;\r\n useEffect(() => {\r\n getStudentProfile();\r\n }, []);\r\n\r\n const getStudentProfile = async () => {\r\n // Get the student profile data\r\n let data = {\r\n roll_no: studentRollNum,\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/Parentdashboard\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n await setUserId(response?.data?.data?.user_id);\r\n await setParentTarget(response?.data?.data?.target);\r\n setState((prevState) => ({\r\n ...prevState,\r\n studentProfile: response.data,\r\n userId: response.data.data.user_id,\r\n }));\r\n setStudentProfileDetails(response.data.data);\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\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

    {studentProfile?.data?.name}

    \r\n
      \r\n
    • \r\n Target\r\n \r\n {studentProfile?.data?.target}\r\n \r\n
    • \r\n
    • \r\n Center\r\n \r\n {studentProfile?.data?.center}\r\n \r\n
    • \r\n
    • \r\n Roll.no\r\n \r\n {studentProfile?.data?.roll_no}\r\n \r\n
    • \r\n
    • \r\n Class\r\n \r\n {studentProfile?.data?.classes}\r\n \r\n
    • \r\n
    • \r\n Course\r\n \r\n {studentProfile?.data?.course}\r\n \r\n
    • \r\n
    • \r\n Batch\r\n \r\n {studentProfile?.data?.batch}\r\n \r\n
    • \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    TotalTests
    \r\n
    \r\n
    {studentProfile?.total_test}
    \r\n\r\n
    Main + Advance
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Appeared
    \r\n
    \r\n
    {studentProfile?.appeared_count}
    \r\n\r\n
    Main + Advance
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    Attendance
    \r\n
    \r\n
    \r\n Classes{\" \"}\r\n {studentProfile?.classes}\r\n
    \r\n
    \r\n Attended\r\n {studentProfile?.attendance}\r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n {userId && (\r\n \r\n )}\r\n \r\n );\r\n};\r\n\r\nconst mapStateToProps = (state) => {\r\n return {\r\n loader: state.ui.loader,\r\n token: state.auth.authToken,\r\n };\r\n};\r\n\r\nexport default connect(mapStateToProps, null)(StudentProfile);\r\n","import React from \"react\";\r\nimport StudentProfile from \"./studentProfile/StudentProfile\";\r\nimport AllTestsPerformanceReportTabel from \"./allTestsPerformanceReportTabel/AllTestsPerformanceReportTabel\";\r\n\r\nconst ParentContentComponent = ({\r\n finishLoading,\r\n startLoading,\r\n studentRollNum,\r\n setUserId,\r\n setStudentProfileDetails,\r\n loader,\r\n LoaderPopUp,\r\n setParentTarget,\r\n}) => {\r\n return (\r\n <>\r\n \r\n\r\n {/* */}\r\n \r\n );\r\n};\r\n\r\nexport default ParentContentComponent;\r\n","import React, { useState, useEffect } from \"react\";\r\nimport \"./Parent.scss\";\r\nimport ParentHeader from \"./parentHeader/ParentHeader\";\r\nimport Footer from \"./footer/Footer\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport axios from \"axios\";\r\nimport { isEmpty } from \"../custom_utilities/custom_useful_functions\";\r\nimport images from \"../utilities/images/images\";\r\n\r\n//// redux ////\r\nimport uiActions from \"../redux/ui/action\";\r\nimport { connect } from \"react-redux\";\r\nimport {\r\n setUserId,\r\n setStudentProfileDetails,\r\n setParentTarget,\r\n} from \"../parent/redux/authSlice/AuthSlice\";\r\n\r\nimport LoaderPopUp from \"../components/loader/loader\";\r\nimport {\r\n setPaperId,\r\n setPlannerTestId,\r\n setPapers,\r\n} from \"./redux/testDataSlice/TestDataSlice\";\r\nimport ParentContentComponent from \"./parentContentComponent/ParentContentComponent\";\r\nconst Parent = (props) => {\r\n let {\r\n finishLoading,\r\n startLoading,\r\n loader,\r\n studentRollNum,\r\n setUserId,\r\n setPaperId,\r\n setPlannerTestId,\r\n setPapers,\r\n setStudentProfileDetails,\r\n parentUserId,\r\n setParentTarget,\r\n } = props;\r\n let history = useHistory();\r\n\r\n let [state, setState] = useState({\r\n studentData: {},\r\n });\r\n\r\n let { studentData } = state;\r\n\r\n useEffect(() => {\r\n // Call the necessary functions when the component mounts\r\n getStudentData();\r\n }, []);\r\n\r\n const handleRedirect = () => {\r\n // Redirect to the student-tests page with necessary parameters\r\n history.push({\r\n pathname: \"/student-tests\",\r\n state: { step: 1, roll_no: studentRollNum },\r\n });\r\n };\r\n\r\n const handleRedirect2 = (element) => {\r\n // Set necessary parameters and redirect to the student-tests page\r\n setPaperId(element.paper_id);\r\n setPlannerTestId(element.planner_test_id);\r\n\r\n setPapers(element.papers);\r\n history.push({\r\n pathname: \"/student-tests\",\r\n state: { step: 2 },\r\n });\r\n };\r\n\r\n const handleRedirect3 = (paperId) => {\r\n // Set the paperId parameter and redirect to the student-report-pdf page\r\n setPaperId(paperId);\r\n history.push({\r\n pathname: \"/student-report-pdf\",\r\n state: { paper_id: paperId },\r\n });\r\n };\r\n\r\n const getStudentData = async () => {\r\n // Get the student data\r\n let data = {\r\n roll_no: studentRollNum,\r\n device: \"Web\",\r\n };\r\n\r\n try {\r\n const response = await axios.post(\r\n \"https://learning.motion.ac.in/motioneducation/api/SPR_StudentOverallSummary\",\r\n data\r\n );\r\n\r\n if (response.data.status === 200) {\r\n setState((prevState) => ({\r\n ...prevState,\r\n studentData: response.data.student_data,\r\n }));\r\n }\r\n } catch (error) {\r\n console.log(error);\r\n }\r\n };\r\n\r\n const formatDate = (dateString) => {\r\n const date = new Date(dateString);\r\n const day = date.toLocaleString(\"en-US\", { day: \"2-digit\" });\r\n const month = date.toLocaleString(\"en-US\", { month: \"short\" });\r\n const year = date.toLocaleString(\"en-US\", { year: \"numeric\" });\r\n return `${day}-${month}-${year}`;\r\n };\r\n\r\n return (\r\n <>\r\n
    \r\n \r\n
    \r\n \r\n\r\n
    \r\n
    Test-wise Analysis
    \r\n \r\n
    \r\n
    \r\n {/* {!isEmpty(state.studentData)\r\n ? state.studentData.data.length\r\n ? state.studentData.data.map((element, index) => {\r\n return (\r\n
    \r\n
    \r\n
    \r\n
    RBTS Full Test
    \r\n
    \r\n {formatDate(\r\n element.student_summary.to_be_held_on\r\n )}\r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n
    \r\n
      \r\n
    • \r\n
      \r\n
      \r\n
      Marks
      \r\n
      \r\n
      \r\n Out of 300\r\n
      \r\n
      \r\n
      \r\n
      \r\n {element.student_summary.total_marks}\r\n
      \r\n
      \r\n
    • \r\n\r\n
    • \r\n
      \r\n
      \r\n
      Rank
      \r\n
      \r\n
      \r\n 600 Students\r\n
      \r\n
      \r\n
      \r\n
      \r\n {element.student_summary.rank}\r\n
      \r\n
      \r\n
    • \r\n
    • \r\n
      \r\n
      \r\n
      Accuracy
      \r\n
      \r\n
      \r\n {element.student_summary.Accuracy}\r\n
      \r\n
      \r\n
    • \r\n\r\n
    • \r\n
      \r\n
      \r\n
      \r\n Highest Marks\r\n
      \r\n
      \r\n
      \r\n {element.student_summary.highest_marks}\r\n
      \r\n
      \r\n
    • \r\n\r\n
    • \r\n
      \r\n
      \r\n
      \r\n Average Marks\r\n
      \r\n
      \r\n
      \r\n {element.student_summary.avg_score}\r\n
      \r\n
      \r\n
    • \r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n
    Percentile
    \r\n
    \r\n {element.student_summary.percentile}\r\n
    \r\n
    \r\n
    \r\n \r\n
    \r\n\r\n
    \r\n
    Percentage
    \r\n
    \r\n {element.student_summary.percentage}\r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
      \r\n {element.student_summary?.Physics\r\n ?.user_score !== null &&\r\n element.student_summary?.Physics\r\n ?.user_score !== 0 ? (\r\n
    • \r\n
      Physics
      \r\n
      \r\n {\r\n element.student_summary?.Physics\r\n ?.rank\r\n }\r\n
      \r\n
    • \r\n ) : null}\r\n\r\n {element.student_summary?.Chemistry\r\n ?.user_score !== null &&\r\n element.student_summary?.Chemistry\r\n ?.user_score !== 0 ? (\r\n
    • \r\n
      Chemistry
      \r\n
      \r\n {\r\n element.student_summary?.Chemistry\r\n ?.rank\r\n }\r\n
      \r\n
    • \r\n ) : null}\r\n\r\n {element.student_summary?.Maths\r\n ?.user_score !== null &&\r\n element.student_summary?.Maths\r\n ?.user_score !== 0 ? (\r\n
    • \r\n
      Maths
      \r\n
      \r\n {element.student_summary?.Maths?.rank}\r\n
      \r\n
    • \r\n ) : null}\r\n\r\n {element.student_summary?.Botany\r\n ?.user_score !== null &&\r\n element.student_summary?.Botany\r\n ?.user_score !== 0 ? (\r\n
    • \r\n
      Botany
      \r\n
      \r\n {\r\n element.student_summary?.Botany\r\n ?.rank\r\n }\r\n
      \r\n
    • \r\n ) : null}\r\n\r\n {element.student_summary?.Zoology\r\n ?.user_score !== null &&\r\n element.student_summary?.Botany\r\n ?.user_score !== 0 ? (\r\n
    • \r\n
      Zoology
      \r\n
      \r\n {\r\n element.student_summary?.Zoology\r\n ?.rank\r\n }\r\n
      \r\n
    • \r\n ) : null}\r\n
    \r\n
    \r\n
    \r\n
    \r\n\r\n
    \r\n
    \r\n handleRedirect2(element)}\r\n >\r\n View report\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n handleRedirect3(element.paper_id)\r\n }\r\n >\r\n Download report\r\n \r\n
    \r\n \r\n
    \r\n
    \r\n \r\n
    \r\n
    \r\n
    \r\n
    \r\n
    \r\n );\r\n })\r\n : null\r\n : null} */}\r\n\r\n
    \r\n {!isEmpty(state.studentData) ? (\r\n state.studentData.data.length ? (\r\n state.studentData.data.map((element, index) => (\r\n \r\n ))\r\n ) : (\r\n
    \r\n
    \r\n \"img\"\r\n
    No Data Found!
    \r\n
    \r\n
    \r\n )\r\n ) : null}\r\n
    \r\n\r\n {loader && }\r\n
    \r\n
    \r\n\r\n