@ebubekirylmaz/link-test 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.babelrc +3 -0
- package/.browserslistrc +1 -0
- package/.env +2 -0
- package/.eslintignore +3 -0
- package/.eslintrc.json +58 -0
- package/.gitattributes +1 -0
- package/.github/workflows/publish.yml +66 -0
- package/.prettierignore +1 -0
- package/.prettierrc +10 -0
- package/.storybook/main.js +15 -0
- package/.storybook/preview.js +17 -0
- package/.storybook/vitest.setup.js +6 -0
- package/README.md +1 -0
- package/cypress.config.js +11 -0
- package/index.js +1 -0
- package/package.json +111 -0
- package/project/.eslintrc.cjs +22 -0
- package/project/config.js +18 -0
- package/project/config.menu.js +39 -0
- package/project/config.template.js +31 -0
- package/project/cypress/e2e/layouts.cy.js +170 -0
- package/project/cypress/e2e/login.cy.js +35 -0
- package/project/cypress/e2e/selectbar.cy.js +80 -0
- package/project/cypress/fixtures/CONFIG/MENU_CONFIG.js +39 -0
- package/project/cypress/fixtures/EMPEROR/EMPERORS_GET.json +51 -0
- package/project/cypress/fixtures/EMPEROR/EMPERORS_POST.json +9 -0
- package/project/cypress/fixtures/OAUTH/GITHUB/user.json +46 -0
- package/project/cypress/fixtures/example.json +5 -0
- package/project/cypress/support/commands.js +104 -0
- package/project/cypress/support/e2e.js +1 -0
- package/project/cypress.config.js +10 -0
- package/project/index.html +12 -0
- package/project/media/ProjectIcons/3d.png +0 -0
- package/project/media/ProjectIcons/box.png +0 -0
- package/project/media/ProjectIcons/cafe.png +0 -0
- package/project/media/ProjectIcons/cargo.png +0 -0
- package/project/media/ProjectIcons/cloud.png +0 -0
- package/project/media/ProjectIcons/code.png +0 -0
- package/project/media/ProjectIcons/company.png +0 -0
- package/project/media/ProjectIcons/conversation.png +0 -0
- package/project/media/ProjectIcons/distributed.png +0 -0
- package/project/media/ProjectIcons/fingerprint.png +0 -0
- package/project/media/ProjectIcons/forest.png +0 -0
- package/project/media/ProjectIcons/headphones.png +0 -0
- package/project/media/ProjectIcons/office.png +0 -0
- package/project/media/ProjectIcons/path.png +0 -0
- package/project/media/ProjectIcons/printer.png +0 -0
- package/project/media/ProjectIcons/project.png +0 -0
- package/project/media/ProjectIcons/resume.png +0 -0
- package/project/media/ProjectIcons/rocket.png +0 -0
- package/project/media/ProjectIcons/rtruck.png +0 -0
- package/project/media/ProjectIcons/sign.png +0 -0
- package/project/media/ProjectIcons/site.png +0 -0
- package/project/media/ProjectIcons/truck.png +0 -0
- package/project/media/logo.png +0 -0
- package/project/package-lock.json +22434 -0
- package/project/package.json +42 -0
- package/project/public/assets/background/overlay_2.jpg +0 -0
- package/project/public/assets/illustrations/illustration_dashboard.png +0 -0
- package/project/public/media/largeLogo.png +0 -0
- package/project/public/media/logo.png +0 -0
- package/project/public/vite.svg +1 -0
- package/project/routes.jsx +47 -0
- package/project/server/mock.json +110 -0
- package/project/server/oauthMock.js +27 -0
- package/project/server/package-lock.json +1505 -0
- package/project/server/package.json +20 -0
- package/project/server/server.js +127 -0
- package/project/src/Container.jsx +7 -0
- package/project/src/components/ActionButton.jsx +18 -0
- package/project/src/hooks/useEmperor.jsx +21 -0
- package/project/src/http/index.js +39 -0
- package/project/src/main.jsx +10 -0
- package/project/src/pages/Battles.jsx +16 -0
- package/project/src/pages/Emperor.jsx +50 -0
- package/project/src/pages/index.jsx +33 -0
- package/project/src/theme.js +151 -0
- package/project/src/widgets/ActionButton.jsx +68 -0
- package/project/src/widgets/AddNewEmperor.jsx +120 -0
- package/project/src/widgets/ProjectContainer.jsx +27 -0
- package/project/vite.config.js +6 -0
- package/project/vite.config.js.timestamp-1709564450418-45fdd27900806.mjs +341 -0
- package/public/assets/background/overlay_2.jpg +0 -0
- package/public/assets/illustrations/illustration_dashboard.png +0 -0
- package/public/vite.svg +1 -0
- package/src/ContextProvider/ContextProvider.jsx +19 -0
- package/src/GlobalSnackMessage/GlobalSnackMessage.jsx +45 -0
- package/src/GlobalSnackMessage/index.js +1 -0
- package/src/GlobalSnackMessage/styles.js +3 -0
- package/src/Platform.jsx +76 -0
- package/src/RouteManager/RouteManager.jsx +56 -0
- package/src/RouteManager/index.js +1 -0
- package/src/assets/illustrations/avatar-shape.jsx +31 -0
- package/src/assets/illustrations/background-shape.jsx +37 -0
- package/src/assets/illustrations/booking-illustration.jsx +335 -0
- package/src/assets/illustrations/check-in-illustration.jsx +96 -0
- package/src/assets/illustrations/check-out-illustration.jsx +69 -0
- package/src/assets/illustrations/coming-soon-illustration.jsx +125 -0
- package/src/assets/illustrations/forbidden-illustration.jsx +95 -0
- package/src/assets/illustrations/index.js +2 -0
- package/src/assets/illustrations/maintenance-illustration.jsx +228 -0
- package/src/assets/illustrations/motivation-illustration.jsx +74 -0
- package/src/assets/illustrations/order-complete-illustration.jsx +126 -0
- package/src/assets/illustrations/page-not-found-illustration.jsx +81 -0
- package/src/assets/illustrations/seo-illustration.jsx +244 -0
- package/src/assets/illustrations/sever-error-illustration.jsx +152 -0
- package/src/assets/illustrations/upgrade-storage-illustration.jsx +161 -0
- package/src/assets/illustrations/upload-illustration.jsx +622 -0
- package/src/components/Iconify/Iconify.jsx +18 -0
- package/src/components/Iconify/index.js +1 -0
- package/src/components/MiniTopBar/MiniTopBar.jsx +25 -0
- package/src/components/MiniTopBar/index.js +1 -0
- package/src/components/MiniTopBar/styles.js +6 -0
- package/src/components/NucleoidLoginForm/NucleoidLoginForm.jsx +69 -0
- package/src/components/NucleoidLoginForm/index.js +1 -0
- package/src/components/NucleoidLoginForm/styles.js +3 -0
- package/src/components/Sidebar/Sidebar.jsx +76 -0
- package/src/components/Sidebar/index.js +1 -0
- package/src/components/Sidebar/styles.js +25 -0
- package/src/components/SocialLoginButtons/SocialLoginButtons.jsx +55 -0
- package/src/components/SocialLoginButtons/index.js +1 -0
- package/src/components/SocialLoginButtons/styles.js +3 -0
- package/src/components/TopNavBar/TopNavBar.jsx +186 -0
- package/src/components/TopNavBar/index.js +1 -0
- package/src/components/TopNavBar/styles.js +7 -0
- package/src/components/animate/index.js +4 -0
- package/src/components/animate/motion-container.jsx +38 -0
- package/src/components/animate/motion-lazy.jsx +11 -0
- package/src/components/animate/motion-viewport.jsx +30 -0
- package/src/components/animate/variants/actions.js +4 -0
- package/src/components/animate/variants/background.js +97 -0
- package/src/components/animate/variants/bounce.js +107 -0
- package/src/components/animate/variants/container.js +20 -0
- package/src/components/animate/variants/fade.js +127 -0
- package/src/components/animate/variants/flip.js +54 -0
- package/src/components/animate/variants/index.js +12 -0
- package/src/components/animate/variants/path.js +12 -0
- package/src/components/animate/variants/rotate.js +33 -0
- package/src/components/animate/variants/scale.js +54 -0
- package/src/components/animate/variants/slide.js +65 -0
- package/src/components/animate/variants/transition.js +20 -0
- package/src/components/animate/variants/zoom.js +130 -0
- package/src/components/chart/chart.js +69 -0
- package/src/components/chart/index.js +5 -0
- package/src/components/chart/use-chart.js +215 -0
- package/src/components/custom-popover/custom-popover.jsx +46 -0
- package/src/components/custom-popover/index.js +3 -0
- package/src/components/custom-popover/styles.js +84 -0
- package/src/components/custom-popover/use-popover.js +22 -0
- package/src/components/custom-popover/utils.js +100 -0
- package/src/components/file-thumbnail/download-button.jsx +39 -0
- package/src/components/file-thumbnail/file-thumbnail.jsx +72 -0
- package/src/components/file-thumbnail/index.js +5 -0
- package/src/components/file-thumbnail/utils.js +148 -0
- package/src/components/image/image.jsx +119 -0
- package/src/components/image/index.js +1 -0
- package/src/components/image/utils.js +15 -0
- package/src/components/label/index.js +1 -0
- package/src/components/label/label.jsx +51 -0
- package/src/components/label/styles.js +78 -0
- package/src/components/loading-screen/index.js +2 -0
- package/src/components/loading-screen/loading-screen.jsx +23 -0
- package/src/components/loading-screen/splash-screen.jsx +95 -0
- package/src/components/logo/index.js +1 -0
- package/src/components/logo/logo.jsx +61 -0
- package/src/components/logo/styles.js +17 -0
- package/src/components/nav-section/horizontal/index.js +1 -0
- package/src/components/nav-section/horizontal/nav-item.jsx +224 -0
- package/src/components/nav-section/horizontal/nav-list.jsx +113 -0
- package/src/components/nav-section/horizontal/nav-section-horizontal.jsx +41 -0
- package/src/components/nav-section/index.js +3 -0
- package/src/components/nav-section/mini/index.js +1 -0
- package/src/components/nav-section/mini/nav-item.jsx +242 -0
- package/src/components/nav-section/mini/nav-list.jsx +107 -0
- package/src/components/nav-section/mini/nav-section-mini.jsx +35 -0
- package/src/components/nav-section/vertical/index.js +1 -0
- package/src/components/nav-section/vertical/nav-item.jsx +294 -0
- package/src/components/nav-section/vertical/nav-list.jsx +66 -0
- package/src/components/nav-section/vertical/nav-section-vertical.jsx +74 -0
- package/src/components/scrollbar/index.js +1 -0
- package/src/components/scrollbar/scrollbar.jsx +39 -0
- package/src/components/scrollbar/styles.js +27 -0
- package/src/components/search-not-found/index.js +1 -0
- package/src/components/search-not-found/search-not-found.jsx +29 -0
- package/src/components/settings/context/index.js +2 -0
- package/src/components/settings/context/settings-context.js +14 -0
- package/src/components/settings/context/settings-provider.jsx +46 -0
- package/src/components/settings/drawer/base-option.jsx +52 -0
- package/src/components/settings/drawer/fullscreen-option.jsx +58 -0
- package/src/components/settings/drawer/index.js +1 -0
- package/src/components/settings/drawer/layout-options.jsx +144 -0
- package/src/components/settings/drawer/presets-options.jsx +53 -0
- package/src/components/settings/drawer/settings-drawer.jsx +189 -0
- package/src/components/settings/drawer/stretch-options.jsx +67 -0
- package/src/components/settings/index.js +3 -0
- package/src/components/svg-color/index.js +1 -0
- package/src/components/svg-color/svg-color.jsx +23 -0
- package/src/config/config.js +48 -0
- package/src/config/schemas.js +148 -0
- package/src/context/reducer.js +52 -0
- package/src/global.css +2 -0
- package/src/hooks/index.js +2 -0
- package/src/hooks/use-boolean.js +27 -0
- package/src/hooks/use-event-listener.js +34 -0
- package/src/hooks/use-local-storage.js +89 -0
- package/src/hooks/use-off-set-top.js +37 -0
- package/src/hooks/use-responsive.js +47 -0
- package/src/hooks/use-scroll-to-top.js +14 -0
- package/src/hooks/use-user.js +58 -0
- package/src/hooks/useApi.js +25 -0
- package/src/hooks/useItemsState.js +23 -0
- package/src/hooks/useProjects.js +24 -0
- package/src/hooks/useSettings.jsx +51 -0
- package/src/http/index.js +155 -0
- package/src/http/oauth.js +27 -0
- package/src/http/user.js +110 -0
- package/src/layouts/AppLayout.jsx +113 -0
- package/src/layouts/CompactLayout/CompactLayout.jsx +32 -0
- package/src/layouts/CompactLayout/index.js +1 -0
- package/src/layouts/DashboardLayout/DashboardLayout.jsx +87 -0
- package/src/layouts/DashboardLayout/config-navigation.jsx +0 -0
- package/src/layouts/DashboardLayout/header.jsx +104 -0
- package/src/layouts/DashboardLayout/index.js +2 -0
- package/src/layouts/DashboardLayout/main.jsx +64 -0
- package/src/layouts/DashboardLayout/nav-horizontal.jsx +62 -0
- package/src/layouts/DashboardLayout/nav-mini.jsx +99 -0
- package/src/layouts/DashboardLayout/nav-vertical.jsx +201 -0
- package/src/layouts/FullScreenLayout/FullScreenLayout.jsx +101 -0
- package/src/layouts/FullScreenLayout/index.js +1 -0
- package/src/layouts/FullScreenLayout/nav-horizontal.jsx +50 -0
- package/src/layouts/FullScreenLayout/nav-vertical.jsx +136 -0
- package/src/layouts/MainLayout/MainLayout.jsx +21 -0
- package/src/layouts/MainLayout/footer.jsx +153 -0
- package/src/layouts/MainLayout/header.jsx +81 -0
- package/src/layouts/MainLayout/index.js +1 -0
- package/src/layouts/MainLayout/nav/desktop/index.jsx +20 -0
- package/src/layouts/MainLayout/nav/desktop/nav-item.jsx +186 -0
- package/src/layouts/MainLayout/nav/desktop/nav-list.jsx +145 -0
- package/src/layouts/MainLayout/nav/mobile/index.jsx +60 -0
- package/src/layouts/MainLayout/nav/mobile/nav-item.jsx +90 -0
- package/src/layouts/MainLayout/nav/mobile/nav-list.jsx +72 -0
- package/src/layouts/Page.jsx +16 -0
- package/src/layouts/SimpleLayout/SimpleLayout.jsx +8 -0
- package/src/layouts/SimpleLayout/index.js +1 -0
- package/src/layouts/TwoSideLayout/TwoSideLayout.jsx +31 -0
- package/src/layouts/TwoSideLayout/index.js +1 -0
- package/src/layouts/auth/classic.jsx +95 -0
- package/src/layouts/auth/modern-compact.jsx +51 -0
- package/src/layouts/auth/modern.jsx +94 -0
- package/src/layouts/common/ProjectBar/index.jsx +325 -0
- package/src/layouts/common/ProjectBar/result-item.jsx +90 -0
- package/src/layouts/common/ProjectBar/utils.js +86 -0
- package/src/layouts/common/account-popover.jsx +116 -0
- package/src/layouts/common/header-shadow.jsx +26 -0
- package/src/layouts/common/header-sim.jsx +52 -0
- package/src/layouts/common/header-simple.jsx +76 -0
- package/src/layouts/common/nav-toggle-button.jsx +57 -0
- package/src/layouts/common/notifications-popover/index.jsx +177 -0
- package/src/layouts/common/notifications-popover/notification-item.jsx +252 -0
- package/src/layouts/common/settings-button.jsx +48 -0
- package/src/layouts/config-layout.js +12 -0
- package/src/layouts/index.js +7 -0
- package/src/lib/AddItemWizard/AddItemWizard.jsx +211 -0
- package/src/lib/AddItemWizard/index.js +1 -0
- package/src/lib/CustomBreadcrumbs/CustomBreadcrumbs.jsx +88 -0
- package/src/lib/CustomBreadcrumbs/index.js +1 -0
- package/src/lib/CustomBreadcrumbs/link-item.jsx +58 -0
- package/src/lib/CustomPopover/CustomPopover.jsx +46 -0
- package/src/lib/CustomPopover/index.js +3 -0
- package/src/lib/CustomPopover/styles.js +82 -0
- package/src/lib/CustomPopover/usePopover.js +20 -0
- package/src/lib/CustomPopover/utils.js +100 -0
- package/src/lib/Flow/connectors/DynamicConnector.jsx +247 -0
- package/src/lib/Flow/core/Flow.jsx +79 -0
- package/src/lib/Flow/core/FlowNode.jsx +68 -0
- package/src/lib/Flow/core/FlowViewport.jsx +259 -0
- package/src/lib/Flow/graph/FloatingGraph.jsx +44 -0
- package/src/lib/Flow/hooks/useGraphOperations.js +362 -0
- package/src/lib/Flow/hooks/useNodeStyle.js +56 -0
- package/src/lib/Flow/index.js +1 -0
- package/src/lib/Flow/layouts/ActionNode.jsx +78 -0
- package/src/lib/Flow/layouts/AnimatedNode.jsx +22 -0
- package/src/lib/Flow/layouts/CardLayout.jsx +397 -0
- package/src/lib/Flow/layouts/InfoNode.jsx +255 -0
- package/src/lib/Flow/layouts/LoadingNode.jsx +37 -0
- package/src/lib/Flow/nodes/DefaultCard.jsx +107 -0
- package/src/lib/Flow/nodes/DraggableNode.jsx +162 -0
- package/src/lib/Flow/nodes/FlowNodeView.jsx +214 -0
- package/src/lib/Flow/selection/SelectionContext.jsx +259 -0
- package/src/lib/Flow/selection/SelectionOverlay.jsx +31 -0
- package/src/lib/Flow/styles.js +154 -0
- package/src/lib/Flow/utils/flowUtils.js +268 -0
- package/src/lib/FormProvider/FormProvider.jsx +16 -0
- package/src/lib/FormProvider/index.js +1 -0
- package/src/lib/IconSelector/IconSelector.jsx +89 -0
- package/src/lib/Iconify/Iconify.jsx +17 -0
- package/src/lib/Iconify/index.js +1 -0
- package/src/lib/Image/Image.jsx +116 -0
- package/src/lib/Image/index.js +1 -0
- package/src/lib/Image/utils.js +15 -0
- package/src/lib/ItemSummary/ItemSummary.jsx +77 -0
- package/src/lib/ItemSummary/ItemsSummary.jsx +163 -0
- package/src/lib/Label/Label.jsx +51 -0
- package/src/lib/Label/index.js +1 -0
- package/src/lib/Label/styles.js +76 -0
- package/src/lib/ProjectWizard.jsx +137 -0
- package/src/lib/RHFTextfield/RHFTextfield.jsx +39 -0
- package/src/lib/RHFTextfield/index.js +1 -0
- package/src/lib/Scrollbar/Scrollbar.jsx +39 -0
- package/src/lib/Scrollbar/index.js +1 -0
- package/src/lib/Scrollbar/styles.js +27 -0
- package/src/lib/SearchNotFound/SearchNotFound.jsx +29 -0
- package/src/lib/SearchNotFound/index.js +1 -0
- package/src/lib/SparkleInput/SparkleInput.jsx +51 -0
- package/src/lib/StepComponent/StepComponent.jsx +98 -0
- package/src/lib/SvgColor/SvgColor.jsx +28 -0
- package/src/lib/SvgColor/index.js +1 -0
- package/src/lib/TableHeadCustom/TableHeadCustom.jsx +87 -0
- package/src/lib/TableHeadCustom/index.js +1 -0
- package/src/lib/TableSelectedAction/TableSelectedAction.jsx +72 -0
- package/src/lib/TableSelectedAction/index.js +1 -0
- package/src/lib/index.js +36 -0
- package/src/lib/lib/Icons.js +40 -0
- package/src/lib/lib/context.json +272 -0
- package/src/lib/useChart/useChart.js +179 -0
- package/src/lib/useTable/useTable.js +121 -0
- package/src/pages/404.jsx +17 -0
- package/src/pages/Callback.jsx +126 -0
- package/src/pages/ConfigError.jsx +49 -0
- package/src/pages/LoginPage.jsx +43 -0
- package/src/routes/components/index.js +1 -0
- package/src/routes/components/router-link.jsx +11 -0
- package/src/routes/hooks/index.js +4 -0
- package/src/routes/hooks/use-active-link.js +15 -0
- package/src/routes/hooks/use-pathname.js +10 -0
- package/src/routes/hooks/use-router.js +21 -0
- package/src/stories/FlowChart.stories.jsx +333 -0
- package/src/stories/Iconify.stories.jsx +183 -0
- package/src/stories/Label.stories.jsx +447 -0
- package/src/stories/Navbar.stories.jsx +588 -0
- package/src/theme/css.js +152 -0
- package/src/theme/custom-shadows.js +47 -0
- package/src/theme/index.jsx +100 -0
- package/src/theme/options/contrast.js +34 -0
- package/src/theme/options/presets.js +89 -0
- package/src/theme/options/right-to-left.jsx +26 -0
- package/src/theme/overrides/components/accordion.js +43 -0
- package/src/theme/overrides/components/alert.js +69 -0
- package/src/theme/overrides/components/appbar.js +13 -0
- package/src/theme/overrides/components/autocomplete.js +44 -0
- package/src/theme/overrides/components/avatar.js +111 -0
- package/src/theme/overrides/components/backdrop.js +18 -0
- package/src/theme/overrides/components/badge.js +90 -0
- package/src/theme/overrides/components/breadcrumbs.js +21 -0
- package/src/theme/overrides/components/button-group.js +90 -0
- package/src/theme/overrides/components/button.js +145 -0
- package/src/theme/overrides/components/card.js +30 -0
- package/src/theme/overrides/components/checkbox.js +13 -0
- package/src/theme/overrides/components/chip.js +129 -0
- package/src/theme/overrides/components/css-baseline.js +48 -0
- package/src/theme/overrides/components/data-grid.js +94 -0
- package/src/theme/overrides/components/date-picker.jsx +94 -0
- package/src/theme/overrides/components/dialog.js +49 -0
- package/src/theme/overrides/components/drawer.js +39 -0
- package/src/theme/overrides/components/fab.js +165 -0
- package/src/theme/overrides/components/list.js +33 -0
- package/src/theme/overrides/components/loading-button.js +30 -0
- package/src/theme/overrides/components/menu.js +15 -0
- package/src/theme/overrides/components/pagination.js +81 -0
- package/src/theme/overrides/components/paper.js +18 -0
- package/src/theme/overrides/components/popover.js +20 -0
- package/src/theme/overrides/components/progress.js +40 -0
- package/src/theme/overrides/components/radio.js +22 -0
- package/src/theme/overrides/components/rating.js +40 -0
- package/src/theme/overrides/components/select.js +26 -0
- package/src/theme/overrides/components/skeleton.js +16 -0
- package/src/theme/overrides/components/slider.js +30 -0
- package/src/theme/overrides/components/stepper.js +13 -0
- package/src/theme/overrides/components/svg-icon.js +15 -0
- package/src/theme/overrides/components/switch.js +66 -0
- package/src/theme/overrides/components/table.js +79 -0
- package/src/theme/overrides/components/tabs.js +39 -0
- package/src/theme/overrides/components/textfield.js +146 -0
- package/src/theme/overrides/components/timeline.js +20 -0
- package/src/theme/overrides/components/toggle-button.js +70 -0
- package/src/theme/overrides/components/tooltip.js +18 -0
- package/src/theme/overrides/components/tree-view.js +16 -0
- package/src/theme/overrides/components/typography.js +16 -0
- package/src/theme/overrides/default-props.jsx +238 -0
- package/src/theme/overrides/index.js +100 -0
- package/src/theme/palette.js +144 -0
- package/src/theme/shadows.js +41 -0
- package/src/theme/typography.js +107 -0
- package/src/utils/flatten-array.js +16 -0
- package/src/utils/format-number.js +37 -0
- package/src/utils/format-time.js +27 -0
- package/src/utils/storage-available.js +24 -0
- package/src/widgets/Login/CognitoLogin.jsx +43 -0
- package/src/widgets/Login/Login.jsx +58 -0
- package/src/widgets/Login/cognitoAuth.jsx +26 -0
- package/src/widgets/LoginForm/LoginForm.jsx +87 -0
- package/src/widgets/LoginForm/LoginFormStyles.js +43 -0
- package/src/widgets/LoginForm/index.js +1 -0
- package/src/widgets/SettingsDialog.jsx +308 -0
- package/src/widgets/error/index.js +1 -0
- package/src/widgets/error/not-found-view.jsx +42 -0
- package/vite/vite.js +77 -0
- package/vite.config.js +7 -0
- package/vitest.config.js +32 -0
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import AddNewEmperor from "./AddNewEmperor";
|
|
2
|
+
// TODO: Add default laoding to platform
|
|
3
|
+
//import Loading from "../pages/Loading";
|
|
4
|
+
import React from "react";
|
|
5
|
+
import { useEffect } from "react";
|
|
6
|
+
import useEmperor from "../hooks/useEmperor";
|
|
7
|
+
import { useEvent } from "@nucleoidai/react-event";
|
|
8
|
+
|
|
9
|
+
//TODO: decide name (Container or SelectBar) ?
|
|
10
|
+
function ProjectContainer() {
|
|
11
|
+
const [event] = useEvent("ITEM_SELECTED", { itemId: "" });
|
|
12
|
+
const { getEmperorById } = useEmperor();
|
|
13
|
+
|
|
14
|
+
const { emperor } = getEmperorById(event.itemId);
|
|
15
|
+
useEffect(() => {
|
|
16
|
+
//TODO If we move <BrowserRouter> to main.jsx we can use navigate() here
|
|
17
|
+
if (emperor.id === event.itemId) {
|
|
18
|
+
window.location.assign(`${window.location.origin}/`);
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// eslint-disable-next-line react-hooks/exhaustive-deps
|
|
22
|
+
}, [emperor]);
|
|
23
|
+
|
|
24
|
+
return <AddNewEmperor />;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
export default ProjectContainer;
|
|
@@ -0,0 +1,341 @@
|
|
|
1
|
+
// config.js
|
|
2
|
+
import { Button as Button2 } from "file:///C:/Users/Halil/Desktop/nucleoid/platform/example/node_modules/@mui/material/node/index.js";
|
|
3
|
+
|
|
4
|
+
// src/widgets/ConsoleButton.jsx
|
|
5
|
+
import {
|
|
6
|
+
Button,
|
|
7
|
+
Dialog,
|
|
8
|
+
DialogActions,
|
|
9
|
+
DialogContent,
|
|
10
|
+
DialogTitle,
|
|
11
|
+
IconButton
|
|
12
|
+
} from "file:///C:/Users/Halil/Desktop/nucleoid/platform/example/node_modules/@mui/material/node/index.js";
|
|
13
|
+
import AdjustIcon from "file:///C:/Users/Halil/Desktop/nucleoid/platform/node_modules/@mui/icons-material/Adjust.js";
|
|
14
|
+
import React2 from "file:///C:/Users/Halil/Desktop/nucleoid/platform/example/node_modules/react/index.js";
|
|
15
|
+
|
|
16
|
+
// src/components/ActionButton.jsx
|
|
17
|
+
import BoltIcon from "file:///C:/Users/Halil/Desktop/nucleoid/platform/node_modules/@mui/icons-material/Bolt.js";
|
|
18
|
+
import { IconButton as IconButton2 } from "file:///C:/Users/Halil/Desktop/nucleoid/platform/example/node_modules/@mui/material/node/index.js";
|
|
19
|
+
var EnergyButton = () => /* @__PURE__ */ React.createElement(
|
|
20
|
+
IconButton2,
|
|
21
|
+
{
|
|
22
|
+
sx: {
|
|
23
|
+
width: "3rem",
|
|
24
|
+
height: "3rem",
|
|
25
|
+
borderStyle: "solid",
|
|
26
|
+
borderWidth: "1px",
|
|
27
|
+
borderColor: (theme) => theme.palette.primary
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
/* @__PURE__ */ React.createElement(BoltIcon, { sx: { width: "100%", height: "100%" }, color: "primary" })
|
|
31
|
+
);
|
|
32
|
+
var ActionButton_default = EnergyButton;
|
|
33
|
+
|
|
34
|
+
// config.menu.js
|
|
35
|
+
var menuConfig = {
|
|
36
|
+
sideMenu: [
|
|
37
|
+
{
|
|
38
|
+
subheader: "Pages",
|
|
39
|
+
items: [
|
|
40
|
+
{
|
|
41
|
+
title: "First Page",
|
|
42
|
+
icon: "solar:fire-minimalistic-bold-duotone",
|
|
43
|
+
path: "/"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
title: "Main",
|
|
47
|
+
icon: "solar:home-2-bold-duotone",
|
|
48
|
+
path: "/main"
|
|
49
|
+
},
|
|
50
|
+
{
|
|
51
|
+
title: "Second Page",
|
|
52
|
+
icon: "solar:document-bold-duotone",
|
|
53
|
+
path: "/secondPage"
|
|
54
|
+
}
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
subheader: "SUBLISTS",
|
|
59
|
+
items: [
|
|
60
|
+
{
|
|
61
|
+
title: "user",
|
|
62
|
+
path: "/user",
|
|
63
|
+
icon: "solar:users-group-rounded-bold-duotone",
|
|
64
|
+
children: [
|
|
65
|
+
{
|
|
66
|
+
title: "profile",
|
|
67
|
+
path: "/user/profile",
|
|
68
|
+
icon: "solar:shield-user-bold-duotone"
|
|
69
|
+
},
|
|
70
|
+
{
|
|
71
|
+
title: "list",
|
|
72
|
+
path: "/user/list",
|
|
73
|
+
icon: "solar:list-bold-duotone"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
title: "create",
|
|
77
|
+
path: "/user/create",
|
|
78
|
+
icon: "solar:add-circle-bold-duotone"
|
|
79
|
+
},
|
|
80
|
+
{
|
|
81
|
+
title: "delete",
|
|
82
|
+
path: "/user/delete",
|
|
83
|
+
icon: "solar:trash-bin-2-bold-duotone"
|
|
84
|
+
}
|
|
85
|
+
]
|
|
86
|
+
}
|
|
87
|
+
]
|
|
88
|
+
}
|
|
89
|
+
],
|
|
90
|
+
topMenu: [
|
|
91
|
+
{
|
|
92
|
+
title: "Index",
|
|
93
|
+
icon: "solar:home-2-bold-duotone",
|
|
94
|
+
path: "/"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
title: "Main",
|
|
98
|
+
icon: "solar:home-2-bold-duotone",
|
|
99
|
+
path: "/main"
|
|
100
|
+
},
|
|
101
|
+
{
|
|
102
|
+
title: "SecondPage",
|
|
103
|
+
icon: "solar:atom-bold-duotone",
|
|
104
|
+
path: "/secondPage"
|
|
105
|
+
}
|
|
106
|
+
],
|
|
107
|
+
options: [
|
|
108
|
+
{
|
|
109
|
+
label: "Home",
|
|
110
|
+
linkTo: "/"
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
label: "Profile",
|
|
114
|
+
linkTo: "/"
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
label: "Settings",
|
|
118
|
+
linkTo: "/"
|
|
119
|
+
}
|
|
120
|
+
],
|
|
121
|
+
itemBar: [
|
|
122
|
+
{
|
|
123
|
+
itemName: "item",
|
|
124
|
+
addNewItem: function addNew() {
|
|
125
|
+
return (
|
|
126
|
+
/* eslint-disable */
|
|
127
|
+
console.log(...oo_oo(`591449464_95_15_95_40_4`, "addNewItem"))
|
|
128
|
+
);
|
|
129
|
+
},
|
|
130
|
+
itemsData: [{ id: 1, title: "item1", icon: ":box:" }]
|
|
131
|
+
}
|
|
132
|
+
],
|
|
133
|
+
actionButtons: [ActionButton_default],
|
|
134
|
+
fullScreenLayout: "left"
|
|
135
|
+
};
|
|
136
|
+
var config_menu_default = menuConfig;
|
|
137
|
+
function oo_cm() {
|
|
138
|
+
try {
|
|
139
|
+
return (0, eval)("globalThis._console_ninja") || (0, eval)(`/* https://github.com/wallabyjs/console-ninja#how-does-it-work */'use strict';var _0x1f7fe1=_0x37e4;(function(_0x47ffb5,_0x305716){var _0x372d84=_0x37e4,_0x325e8f=_0x47ffb5();while(!![]){try{var _0x493611=-parseInt(_0x372d84(0x225))/0x1*(-parseInt(_0x372d84(0x1d6))/0x2)+-parseInt(_0x372d84(0x1a9))/0x3*(-parseInt(_0x372d84(0x272))/0x4)+-parseInt(_0x372d84(0x25b))/0x5+-parseInt(_0x372d84(0x18b))/0x6*(-parseInt(_0x372d84(0x235))/0x7)+-parseInt(_0x372d84(0x1f1))/0x8*(parseInt(_0x372d84(0x1b9))/0x9)+parseInt(_0x372d84(0x1f2))/0xa*(-parseInt(_0x372d84(0x1ed))/0xb)+parseInt(_0x372d84(0x1e8))/0xc;if(_0x493611===_0x305716)break;else _0x325e8f['push'](_0x325e8f['shift']());}catch(_0x2b499e){_0x325e8f['push'](_0x325e8f['shift']());}}}(_0x28ed,0x45f58));function _0x28ed(){var _0x8ba4d7=[':logPointId:','_HTMLAllCollection','2376365mjTMQa','concat','_getOwnPropertyDescriptor','setter','Console\\x20Ninja\\x20failed\\x20to\\x20send\\x20logs,\\x20refreshing\\x20the\\x20page\\x20may\\x20help;\\x20also\\x20see\\x20','replace','parse','getOwnPropertyNames','port','_reconnectTimeout','nodeModules','String','_property','autoExpandMaxDepth','_additionalMetadata','_allowedToSend','url','ws/index.js','Console\\x20Ninja\\x20failed\\x20to\\x20send\\x20logs,\\x20restarting\\x20the\\x20process\\x20may\\x20help;\\x20also\\x20see\\x20','_console_ninja_session','resolveGetters','constructor','_propertyName','88864PeNoQn','props','autoExpand','_getOwnPropertyNames','method','level','create','onclose','versions','expId','453786hZRTMQ','_isPrimitiveWrapperType','_inNextEdge','1709564446066','_connectToHostNow','hasOwnProperty','index','_setNodeExpressionPath','stack','_ws','autoExpandPropertyCount','edge','Buffer','object','set','ws://','_cleanNode','astro','_type','_webSocketErrorDocsLink','catch','prototype','_p_','timeEnd','WebSocket','global','slice','Error','_isPrimitiveType','_isUndefined','54iRnQJN','_objectToString','trace','isArray','_quotedRegExp','time','','_setNodeLabel','','unknown','funcName','Set','\\x20browser','reduceLimits','failed\\x20to\\x20connect\\x20to\\x20host:\\x20','getOwnPropertyDescriptor','9VpHEMS','includes','_Symbol','negativeInfinity','function','message','nan','onmessage','_dateToString','root_exp','rootExpression','dockerizedApp','_WebSocketClass','getter','hostname','warn','array','_isMap','elapsed','_allowedToConnectOnSend','log','NEGATIVE_INFINITY','cappedElements','_processTreeNodeResult','reload','_connected','value','readyState','autoExpandLimit','14twUgXH',"c:\\\\Users\\\\Halil\\\\.vscode\\\\extensions\\\\wallabyjs.console-ninja-1.0.290\\\\node_modules",'_treeNodePropertiesAfterFullValue','...','string','_maxConnectAttemptCount','_capIfString','allStrLength','coverage','map','pop','_addLoadNode','elements','number','Map','path','[object\\x20Array]','NEXT_RUNTIME','8772096aBeiNa','_regExpToString','_setNodeId','totalStrLength','data','275zCfauG','negativeZero','symbol','getWebSocketClass','3827464fsivUc','99430rMpwcs','push','_connectAttemptCount','env','split','null','_setNodePermissions','type','_keyStrRegExp','__es'+'Module','node','_hasMapOnItsPath','toString','_consoleNinjaAllowedToStart','close','send','_isNegativeZero','then','_inBrowser','unref','name','unshift','hits','vite','_socket','_disposeWebsocket','54066','length','_blacklistedProperty','perf_hooks','expressionsToEvaluate','_isSet','_sendErrorMessage','127.0.0.1','process','host','join','HTMLAllCollection','_addFunctionsNode','_treeNodePropertiesBeforeFullValue','getOwnPropertySymbols','strLength','failed\\x20to\\x20find\\x20and\\x20load\\x20WebSocket','call','_getOwnPropertySymbols','_hasSymbolPropertyOnItsPath','depth','_WebSocket','bind','_setNodeQueryPath','isExpressionToEvaluate','29525YGRNBJ','count','noFunctions','_attemptToReconnectShortly','stackTraceLimit','Number','performance','test','valueOf','positiveInfinity','_p_length','error','onerror','_console_ninja','[object\\x20Map]','cappedProps','14hxDKYV','indexOf','forEach','parent','get','serialize','getPrototypeOf','_addProperty','timeStamp','location','capped','undefined','_connecting','[object\\x20BigInt]','_setNodeExpandableState','enumerable','autoExpandPreviousObjects','https://tinyurl.com/37x8b79t','\\x20server','hrtime','sortProps','match','bigint','logger\\x20failed\\x20to\\x20connect\\x20to\\x20host,\\x20see\\x20','sort','toLowerCase','_undefined','onopen','now','POSITIVE_INFINITY','current','logger\\x20failed\\x20to\\x20connect\\x20to\\x20host','_isArray','console','_addObjectProperty','gateway.docker.internal'];_0x28ed=function(){return _0x8ba4d7;};return _0x28ed();}function _0x37e4(_0x69e146,_0x3db28d){var _0x28ed6e=_0x28ed();return _0x37e4=function(_0x37e460,_0x19a257){_0x37e460=_0x37e460-0x189;var _0x1890cd=_0x28ed6e[_0x37e460];return _0x1890cd;},_0x37e4(_0x69e146,_0x3db28d);}var j=Object[_0x1f7fe1(0x278)],H=Object['defineProperty'],G=Object[_0x1f7fe1(0x1b8)],ee=Object[_0x1f7fe1(0x262)],te=Object[_0x1f7fe1(0x23b)],ne=Object[_0x1f7fe1(0x1a0)][_0x1f7fe1(0x190)],re=(_0x5ac642,_0x1cf560,_0x561553,_0x20c447)=>{var _0x45c202=_0x1f7fe1;if(_0x1cf560&&typeof _0x1cf560==_0x45c202(0x198)||typeof _0x1cf560==_0x45c202(0x1bd)){for(let _0x508a2c of ee(_0x1cf560))!ne[_0x45c202(0x21d)](_0x5ac642,_0x508a2c)&&_0x508a2c!==_0x561553&&H(_0x5ac642,_0x508a2c,{'get':()=>_0x1cf560[_0x508a2c],'enumerable':!(_0x20c447=G(_0x1cf560,_0x508a2c))||_0x20c447[_0x45c202(0x244)]});}return _0x5ac642;},x=(_0x1a9261,_0xb842e1,_0x3a123d)=>(_0x3a123d=_0x1a9261!=null?j(te(_0x1a9261)):{},re(_0xb842e1||!_0x1a9261||!_0x1a9261[_0x1f7fe1(0x1fb)]?H(_0x3a123d,'default',{'value':_0x1a9261,'enumerable':!0x0}):_0x3a123d,_0x1a9261)),X=class{constructor(_0x258946,_0x4abc24,_0x53a90a,_0x68db45,_0x5457e8){var _0x2597cb=_0x1f7fe1;this[_0x2597cb(0x1a4)]=_0x258946,this[_0x2597cb(0x215)]=_0x4abc24,this[_0x2597cb(0x263)]=_0x53a90a,this[_0x2597cb(0x265)]=_0x68db45,this['dockerizedApp']=_0x5457e8,this['_allowedToSend']=!0x0,this[_0x2597cb(0x1cc)]=!0x0,this[_0x2597cb(0x1d2)]=!0x1,this[_0x2597cb(0x241)]=!0x1,this[_0x2597cb(0x18d)]=_0x258946[_0x2597cb(0x214)]?.['env']?.[_0x2597cb(0x1e7)]==='edge',this[_0x2597cb(0x204)]=!this[_0x2597cb(0x1a4)][_0x2597cb(0x214)]?.[_0x2597cb(0x189)]?.[_0x2597cb(0x1fc)]&&!this[_0x2597cb(0x18d)],this['_WebSocketClass']=null,this[_0x2597cb(0x1f4)]=0x0,this[_0x2597cb(0x1db)]=0x14,this[_0x2597cb(0x19e)]=_0x2597cb(0x246),this[_0x2597cb(0x212)]=(this[_0x2597cb(0x204)]?_0x2597cb(0x25f):_0x2597cb(0x26d))+this['_webSocketErrorDocsLink'];}async[_0x1f7fe1(0x1f0)](){var _0x3361a6=_0x1f7fe1;if(this[_0x3361a6(0x1c5)])return this['_WebSocketClass'];let _0x240d8f;if(this[_0x3361a6(0x204)]||this['_inNextEdge'])_0x240d8f=this['global'][_0x3361a6(0x1a3)];else{if(this['global']['process']?.[_0x3361a6(0x221)])_0x240d8f=this['global'][_0x3361a6(0x214)]?.[_0x3361a6(0x221)];else try{let _0x425912=await import(_0x3361a6(0x1e5));_0x240d8f=(await import((await import(_0x3361a6(0x26b)))['pathToFileURL'](_0x425912[_0x3361a6(0x216)](this[_0x3361a6(0x265)],_0x3361a6(0x26c)))[_0x3361a6(0x1fe)]()))['default'];}catch{try{_0x240d8f=require(require(_0x3361a6(0x1e5))[_0x3361a6(0x216)](this[_0x3361a6(0x265)],'ws'));}catch{throw new Error(_0x3361a6(0x21c));}}}return this[_0x3361a6(0x1c5)]=_0x240d8f,_0x240d8f;}[_0x1f7fe1(0x18f)](){var _0x1041c7=_0x1f7fe1;this[_0x1041c7(0x241)]||this[_0x1041c7(0x1d2)]||this[_0x1041c7(0x1f4)]>=this['_maxConnectAttemptCount']||(this[_0x1041c7(0x1cc)]=!0x1,this[_0x1041c7(0x241)]=!0x0,this[_0x1041c7(0x1f4)]++,this[_0x1041c7(0x194)]=new Promise((_0x1d47a8,_0x3026d6)=>{var _0xdd1106=_0x1041c7;this[_0xdd1106(0x1f0)]()[_0xdd1106(0x203)](_0x4cc8ff=>{var _0x47dac7=_0xdd1106;let _0x1d10d0=new _0x4cc8ff(_0x47dac7(0x19a)+(!this[_0x47dac7(0x204)]&&this[_0x47dac7(0x1c4)]?_0x47dac7(0x258):this['host'])+':'+this['port']);_0x1d10d0[_0x47dac7(0x231)]=()=>{var _0x836ce0=_0x47dac7;this[_0x836ce0(0x26a)]=!0x1,this['_disposeWebsocket'](_0x1d10d0),this[_0x836ce0(0x228)](),_0x3026d6(new Error('logger\\x20websocket\\x20error'));},_0x1d10d0[_0x47dac7(0x250)]=()=>{var _0x316d98=_0x47dac7;this['_inBrowser']||_0x1d10d0[_0x316d98(0x20a)]&&_0x1d10d0[_0x316d98(0x20a)]['unref']&&_0x1d10d0[_0x316d98(0x20a)][_0x316d98(0x205)](),_0x1d47a8(_0x1d10d0);},_0x1d10d0['onclose']=()=>{var _0x31901b=_0x47dac7;this[_0x31901b(0x1cc)]=!0x0,this[_0x31901b(0x20b)](_0x1d10d0),this[_0x31901b(0x228)]();},_0x1d10d0[_0x47dac7(0x1c0)]=_0x934319=>{var _0x2f2917=_0x47dac7;try{_0x934319&&_0x934319[_0x2f2917(0x1ec)]&&this[_0x2f2917(0x204)]&&JSON[_0x2f2917(0x261)](_0x934319['data'])[_0x2f2917(0x276)]===_0x2f2917(0x1d1)&&this[_0x2f2917(0x1a4)][_0x2f2917(0x23e)]['reload']();}catch{}};})[_0xdd1106(0x203)](_0x479578=>(this[_0xdd1106(0x1d2)]=!0x0,this[_0xdd1106(0x241)]=!0x1,this[_0xdd1106(0x1cc)]=!0x1,this[_0xdd1106(0x26a)]=!0x0,this[_0xdd1106(0x1f4)]=0x0,_0x479578))[_0xdd1106(0x19f)](_0x4edd30=>(this[_0xdd1106(0x1d2)]=!0x1,this['_connecting']=!0x1,console[_0xdd1106(0x1c8)](_0xdd1106(0x24c)+this[_0xdd1106(0x19e)]),_0x3026d6(new Error(_0xdd1106(0x1b7)+(_0x4edd30&&_0x4edd30[_0xdd1106(0x1be)])))));}));}['_disposeWebsocket'](_0x49318d){var _0x4323c0=_0x1f7fe1;this[_0x4323c0(0x1d2)]=!0x1,this[_0x4323c0(0x241)]=!0x1;try{_0x49318d[_0x4323c0(0x279)]=null,_0x49318d[_0x4323c0(0x231)]=null,_0x49318d[_0x4323c0(0x250)]=null;}catch{}try{_0x49318d[_0x4323c0(0x1d4)]<0x2&&_0x49318d[_0x4323c0(0x200)]();}catch{}}['_attemptToReconnectShortly'](){var _0xafae58=_0x1f7fe1;clearTimeout(this[_0xafae58(0x264)]),!(this[_0xafae58(0x1f4)]>=this[_0xafae58(0x1db)])&&(this[_0xafae58(0x264)]=setTimeout(()=>{var _0x17ce1b=_0xafae58;this[_0x17ce1b(0x1d2)]||this[_0x17ce1b(0x241)]||(this[_0x17ce1b(0x18f)](),this['_ws']?.[_0x17ce1b(0x19f)](()=>this[_0x17ce1b(0x228)]()));},0x1f4),this[_0xafae58(0x264)][_0xafae58(0x205)]&&this['_reconnectTimeout'][_0xafae58(0x205)]());}async[_0x1f7fe1(0x201)](_0x16766e){var _0x150c4e=_0x1f7fe1;try{if(!this[_0x150c4e(0x26a)])return;this[_0x150c4e(0x1cc)]&&this[_0x150c4e(0x18f)](),(await this[_0x150c4e(0x194)])[_0x150c4e(0x201)](JSON['stringify'](_0x16766e));}catch(_0x58d9aa){console[_0x150c4e(0x1c8)](this[_0x150c4e(0x212)]+':\\x20'+(_0x58d9aa&&_0x58d9aa[_0x150c4e(0x1be)])),this[_0x150c4e(0x26a)]=!0x1,this['_attemptToReconnectShortly']();}}};function b(_0x1266e6,_0x5e5ebe,_0x3659b0,_0x42e04e,_0x503754,_0xf95501){var _0x1cbf77=_0x1f7fe1;let _0x1c2814=_0x3659b0['split'](',')[_0x1cbf77(0x1df)](_0x290148=>{var _0x4336e5=_0x1cbf77;try{_0x1266e6[_0x4336e5(0x26e)]||((_0x503754==='next.js'||_0x503754==='remix'||_0x503754===_0x4336e5(0x19c)||_0x503754==='angular')&&(_0x503754+=!_0x1266e6[_0x4336e5(0x214)]?.['versions']?.[_0x4336e5(0x1fc)]&&_0x1266e6[_0x4336e5(0x214)]?.[_0x4336e5(0x1f5)]?.['NEXT_RUNTIME']!==_0x4336e5(0x196)?_0x4336e5(0x1b5):_0x4336e5(0x247)),_0x1266e6['_console_ninja_session']={'id':+new Date(),'tool':_0x503754});let _0xd2e366=new X(_0x1266e6,_0x5e5ebe,_0x290148,_0x42e04e,_0xf95501);return _0xd2e366[_0x4336e5(0x201)][_0x4336e5(0x222)](_0xd2e366);}catch(_0x46304f){return console['warn'](_0x4336e5(0x254),_0x46304f&&_0x46304f[_0x4336e5(0x1be)]),()=>{};}});return _0x130af4=>_0x1c2814[_0x1cbf77(0x237)](_0x353891=>_0x353891(_0x130af4));}function W(_0x23fa9f){var _0x409e0d=_0x1f7fe1;let _0x4e8289=function(_0x1deaf8,_0x175b0b){return _0x175b0b-_0x1deaf8;},_0x52630f;if(_0x23fa9f[_0x409e0d(0x22b)])_0x52630f=function(){var _0x343bf=_0x409e0d;return _0x23fa9f[_0x343bf(0x22b)][_0x343bf(0x251)]();};else{if(_0x23fa9f[_0x409e0d(0x214)]&&_0x23fa9f[_0x409e0d(0x214)][_0x409e0d(0x248)]&&_0x23fa9f[_0x409e0d(0x214)]?.[_0x409e0d(0x1f5)]?.[_0x409e0d(0x1e7)]!==_0x409e0d(0x196))_0x52630f=function(){var _0x3f21b4=_0x409e0d;return _0x23fa9f[_0x3f21b4(0x214)][_0x3f21b4(0x248)]();},_0x4e8289=function(_0x5ba0ff,_0x3f75fb){return 0x3e8*(_0x3f75fb[0x0]-_0x5ba0ff[0x0])+(_0x3f75fb[0x1]-_0x5ba0ff[0x1])/0xf4240;};else try{let {performance:_0x830f41}=require(_0x409e0d(0x20f));_0x52630f=function(){return _0x830f41['now']();};}catch{_0x52630f=function(){return+new Date();};}}return{'elapsed':_0x4e8289,'timeStamp':_0x52630f,'now':()=>Date[_0x409e0d(0x251)]()};}function J(_0x4220c1,_0x2aef74,_0x3cf029){var _0x551246=_0x1f7fe1;if(_0x4220c1[_0x551246(0x1ff)]!==void 0x0)return _0x4220c1['_consoleNinjaAllowedToStart'];let _0x1283f4=_0x4220c1[_0x551246(0x214)]?.[_0x551246(0x189)]?.[_0x551246(0x1fc)]||_0x4220c1[_0x551246(0x214)]?.[_0x551246(0x1f5)]?.['NEXT_RUNTIME']===_0x551246(0x196);return _0x1283f4&&_0x3cf029==='nuxt'?_0x4220c1[_0x551246(0x1ff)]=!0x1:_0x4220c1[_0x551246(0x1ff)]=_0x1283f4||!_0x2aef74||_0x4220c1['location']?.['hostname']&&_0x2aef74[_0x551246(0x1ba)](_0x4220c1['location'][_0x551246(0x1c7)]),_0x4220c1['_consoleNinjaAllowedToStart'];}function Y(_0x4a231c,_0x39e58b,_0x2e0b83,_0x12de0b){var _0x11d2fd=_0x1f7fe1;_0x4a231c=_0x4a231c,_0x39e58b=_0x39e58b,_0x2e0b83=_0x2e0b83,_0x12de0b=_0x12de0b;let _0x35cb99=W(_0x4a231c),_0x27fc15=_0x35cb99[_0x11d2fd(0x1cb)],_0x9e4c4d=_0x35cb99['timeStamp'];class _0x33872f{constructor(){var _0x25774f=_0x11d2fd;this[_0x25774f(0x1fa)]=/^(?!(?:do|if|in|for|let|new|try|var|case|else|enum|eval|false|null|this|true|void|with|break|catch|class|const|super|throw|while|yield|delete|export|import|public|return|static|switch|typeof|default|extends|finally|package|private|continue|debugger|function|arguments|interface|protected|implements|instanceof)$)[_$a-zA-Z\\xA0-\\uFFFF][_$a-zA-Z0-9\\xA0-\\uFFFF]*$/,this['_numberRegExp']=/^(0|[1-9][0-9]*)$/,this[_0x25774f(0x1ad)]=/'([^\\\\']|\\\\')*'/,this['_undefined']=_0x4a231c[_0x25774f(0x240)],this[_0x25774f(0x25a)]=_0x4a231c['HTMLAllCollection'],this['_getOwnPropertyDescriptor']=Object['getOwnPropertyDescriptor'],this[_0x25774f(0x275)]=Object[_0x25774f(0x262)],this['_Symbol']=_0x4a231c['Symbol'],this['_regExpToString']=RegExp[_0x25774f(0x1a0)]['toString'],this[_0x25774f(0x1c1)]=Date[_0x25774f(0x1a0)][_0x25774f(0x1fe)];}[_0x11d2fd(0x23a)](_0x3811cf,_0x356064,_0x4f2c04,_0x1eef20){var _0x44970c=_0x11d2fd,_0x2c428f=this,_0x4e9b94=_0x4f2c04[_0x44970c(0x274)];function _0x56a9a7(_0x56ecc6,_0x45009d,_0x30aaee){var _0x4e0075=_0x44970c;_0x45009d['type']=_0x4e0075(0x1b2),_0x45009d[_0x4e0075(0x230)]=_0x56ecc6[_0x4e0075(0x1be)],_0x3032b6=_0x30aaee[_0x4e0075(0x1fc)][_0x4e0075(0x253)],_0x30aaee[_0x4e0075(0x1fc)][_0x4e0075(0x253)]=_0x45009d,_0x2c428f[_0x4e0075(0x219)](_0x45009d,_0x30aaee);}try{_0x4f2c04[_0x44970c(0x277)]++,_0x4f2c04[_0x44970c(0x274)]&&_0x4f2c04[_0x44970c(0x245)][_0x44970c(0x1f3)](_0x356064);var _0x4839bd,_0x4b4f61,_0x1ebfe1,_0x244d80,_0xbe4d9a=[],_0xdfac7a=[],_0x1705af,_0x3e3e7f=this[_0x44970c(0x19d)](_0x356064),_0x1c36fe=_0x3e3e7f===_0x44970c(0x1c9),_0x13b536=!0x1,_0x5b148b=_0x3e3e7f==='function',_0x575384=this[_0x44970c(0x1a7)](_0x3e3e7f),_0x34250c=this['_isPrimitiveWrapperType'](_0x3e3e7f),_0x3e85e0=_0x575384||_0x34250c,_0x25c339={},_0x16e036=0x0,_0x3cc5fd=!0x1,_0x3032b6,_0x8dc30c=/^(([1-9]{1}[0-9]*)|0)$/;if(_0x4f2c04[_0x44970c(0x220)]){if(_0x1c36fe){if(_0x4b4f61=_0x356064[_0x44970c(0x20d)],_0x4b4f61>_0x4f2c04['elements']){for(_0x1ebfe1=0x0,_0x244d80=_0x4f2c04[_0x44970c(0x1e2)],_0x4839bd=_0x1ebfe1;_0x4839bd<_0x244d80;_0x4839bd++)_0xdfac7a['push'](_0x2c428f['_addProperty'](_0xbe4d9a,_0x356064,_0x3e3e7f,_0x4839bd,_0x4f2c04));_0x3811cf[_0x44970c(0x1cf)]=!0x0;}else{for(_0x1ebfe1=0x0,_0x244d80=_0x4b4f61,_0x4839bd=_0x1ebfe1;_0x4839bd<_0x244d80;_0x4839bd++)_0xdfac7a[_0x44970c(0x1f3)](_0x2c428f[_0x44970c(0x23c)](_0xbe4d9a,_0x356064,_0x3e3e7f,_0x4839bd,_0x4f2c04));}_0x4f2c04[_0x44970c(0x195)]+=_0xdfac7a[_0x44970c(0x20d)];}if(!(_0x3e3e7f===_0x44970c(0x1f7)||_0x3e3e7f==='undefined')&&!_0x575384&&_0x3e3e7f!==_0x44970c(0x266)&&_0x3e3e7f!==_0x44970c(0x197)&&_0x3e3e7f!==_0x44970c(0x24b)){var _0xb99f3c=_0x1eef20[_0x44970c(0x273)]||_0x4f2c04[_0x44970c(0x273)];if(this[_0x44970c(0x211)](_0x356064)?(_0x4839bd=0x0,_0x356064[_0x44970c(0x237)](function(_0x19c16a){var _0xbae55e=_0x44970c;if(_0x16e036++,_0x4f2c04['autoExpandPropertyCount']++,_0x16e036>_0xb99f3c){_0x3cc5fd=!0x0;return;}if(!_0x4f2c04[_0xbae55e(0x224)]&&_0x4f2c04['autoExpand']&&_0x4f2c04[_0xbae55e(0x195)]>_0x4f2c04[_0xbae55e(0x1d5)]){_0x3cc5fd=!0x0;return;}_0xdfac7a[_0xbae55e(0x1f3)](_0x2c428f[_0xbae55e(0x23c)](_0xbe4d9a,_0x356064,_0xbae55e(0x1b4),_0x4839bd++,_0x4f2c04,function(_0x232a17){return function(){return _0x232a17;};}(_0x19c16a)));})):this[_0x44970c(0x1ca)](_0x356064)&&_0x356064[_0x44970c(0x237)](function(_0x49e5a8,_0x14bf92){var _0x21c289=_0x44970c;if(_0x16e036++,_0x4f2c04[_0x21c289(0x195)]++,_0x16e036>_0xb99f3c){_0x3cc5fd=!0x0;return;}if(!_0x4f2c04['isExpressionToEvaluate']&&_0x4f2c04['autoExpand']&&_0x4f2c04[_0x21c289(0x195)]>_0x4f2c04['autoExpandLimit']){_0x3cc5fd=!0x0;return;}var _0x57858b=_0x14bf92[_0x21c289(0x1fe)]();_0x57858b[_0x21c289(0x20d)]>0x64&&(_0x57858b=_0x57858b[_0x21c289(0x1a5)](0x0,0x64)+_0x21c289(0x1d9)),_0xdfac7a[_0x21c289(0x1f3)](_0x2c428f[_0x21c289(0x23c)](_0xbe4d9a,_0x356064,_0x21c289(0x1e4),_0x57858b,_0x4f2c04,function(_0x311c38){return function(){return _0x311c38;};}(_0x49e5a8)));}),!_0x13b536){try{for(_0x1705af in _0x356064)if(!(_0x1c36fe&&_0x8dc30c['test'](_0x1705af))&&!this[_0x44970c(0x20e)](_0x356064,_0x1705af,_0x4f2c04)){if(_0x16e036++,_0x4f2c04[_0x44970c(0x195)]++,_0x16e036>_0xb99f3c){_0x3cc5fd=!0x0;break;}if(!_0x4f2c04[_0x44970c(0x224)]&&_0x4f2c04['autoExpand']&&_0x4f2c04['autoExpandPropertyCount']>_0x4f2c04[_0x44970c(0x1d5)]){_0x3cc5fd=!0x0;break;}_0xdfac7a[_0x44970c(0x1f3)](_0x2c428f['_addObjectProperty'](_0xbe4d9a,_0x25c339,_0x356064,_0x3e3e7f,_0x1705af,_0x4f2c04));}}catch{}if(_0x25c339[_0x44970c(0x22f)]=!0x0,_0x5b148b&&(_0x25c339['_p_name']=!0x0),!_0x3cc5fd){var _0x9e31=[][_0x44970c(0x25c)](this[_0x44970c(0x275)](_0x356064))[_0x44970c(0x25c)](this[_0x44970c(0x21e)](_0x356064));for(_0x4839bd=0x0,_0x4b4f61=_0x9e31[_0x44970c(0x20d)];_0x4839bd<_0x4b4f61;_0x4839bd++)if(_0x1705af=_0x9e31[_0x4839bd],!(_0x1c36fe&&_0x8dc30c[_0x44970c(0x22c)](_0x1705af[_0x44970c(0x1fe)]()))&&!this[_0x44970c(0x20e)](_0x356064,_0x1705af,_0x4f2c04)&&!_0x25c339[_0x44970c(0x1a1)+_0x1705af[_0x44970c(0x1fe)]()]){if(_0x16e036++,_0x4f2c04['autoExpandPropertyCount']++,_0x16e036>_0xb99f3c){_0x3cc5fd=!0x0;break;}if(!_0x4f2c04[_0x44970c(0x224)]&&_0x4f2c04['autoExpand']&&_0x4f2c04['autoExpandPropertyCount']>_0x4f2c04[_0x44970c(0x1d5)]){_0x3cc5fd=!0x0;break;}_0xdfac7a[_0x44970c(0x1f3)](_0x2c428f[_0x44970c(0x257)](_0xbe4d9a,_0x25c339,_0x356064,_0x3e3e7f,_0x1705af,_0x4f2c04));}}}}}if(_0x3811cf['type']=_0x3e3e7f,_0x3e85e0?(_0x3811cf[_0x44970c(0x1d3)]=_0x356064[_0x44970c(0x22d)](),this[_0x44970c(0x1dc)](_0x3e3e7f,_0x3811cf,_0x4f2c04,_0x1eef20)):_0x3e3e7f==='date'?_0x3811cf['value']=this[_0x44970c(0x1c1)]['call'](_0x356064):_0x3e3e7f===_0x44970c(0x24b)?_0x3811cf[_0x44970c(0x1d3)]=_0x356064[_0x44970c(0x1fe)]():_0x3e3e7f==='RegExp'?_0x3811cf['value']=this[_0x44970c(0x1e9)][_0x44970c(0x21d)](_0x356064):_0x3e3e7f===_0x44970c(0x1ef)&&this[_0x44970c(0x1bb)]?_0x3811cf[_0x44970c(0x1d3)]=this['_Symbol'][_0x44970c(0x1a0)][_0x44970c(0x1fe)][_0x44970c(0x21d)](_0x356064):!_0x4f2c04['depth']&&!(_0x3e3e7f===_0x44970c(0x1f7)||_0x3e3e7f===_0x44970c(0x240))&&(delete _0x3811cf['value'],_0x3811cf['capped']=!0x0),_0x3cc5fd&&(_0x3811cf[_0x44970c(0x234)]=!0x0),_0x3032b6=_0x4f2c04[_0x44970c(0x1fc)][_0x44970c(0x253)],_0x4f2c04[_0x44970c(0x1fc)][_0x44970c(0x253)]=_0x3811cf,this['_treeNodePropertiesBeforeFullValue'](_0x3811cf,_0x4f2c04),_0xdfac7a[_0x44970c(0x20d)]){for(_0x4839bd=0x0,_0x4b4f61=_0xdfac7a[_0x44970c(0x20d)];_0x4839bd<_0x4b4f61;_0x4839bd++)_0xdfac7a[_0x4839bd](_0x4839bd);}_0xbe4d9a['length']&&(_0x3811cf[_0x44970c(0x273)]=_0xbe4d9a);}catch(_0x370d44){_0x56a9a7(_0x370d44,_0x3811cf,_0x4f2c04);}return this[_0x44970c(0x269)](_0x356064,_0x3811cf),this['_treeNodePropertiesAfterFullValue'](_0x3811cf,_0x4f2c04),_0x4f2c04[_0x44970c(0x1fc)][_0x44970c(0x253)]=_0x3032b6,_0x4f2c04['level']--,_0x4f2c04['autoExpand']=_0x4e9b94,_0x4f2c04[_0x44970c(0x274)]&&_0x4f2c04[_0x44970c(0x245)][_0x44970c(0x1e0)](),_0x3811cf;}[_0x11d2fd(0x21e)](_0x48b7d6){var _0x3de307=_0x11d2fd;return Object['getOwnPropertySymbols']?Object[_0x3de307(0x21a)](_0x48b7d6):[];}[_0x11d2fd(0x211)](_0x3763e4){var _0x55b8a1=_0x11d2fd;return!!(_0x3763e4&&_0x4a231c[_0x55b8a1(0x1b4)]&&this['_objectToString'](_0x3763e4)==='[object\\x20Set]'&&_0x3763e4[_0x55b8a1(0x237)]);}[_0x11d2fd(0x20e)](_0x4769e4,_0x48cf79,_0x5a42e8){var _0x28c014=_0x11d2fd;return _0x5a42e8[_0x28c014(0x227)]?typeof _0x4769e4[_0x48cf79]==_0x28c014(0x1bd):!0x1;}['_type'](_0x49dfdd){var _0x55173a=_0x11d2fd,_0x912292='';return _0x912292=typeof _0x49dfdd,_0x912292===_0x55173a(0x198)?this[_0x55173a(0x1aa)](_0x49dfdd)===_0x55173a(0x1e6)?_0x912292=_0x55173a(0x1c9):this['_objectToString'](_0x49dfdd)==='[object\\x20Date]'?_0x912292='date':this[_0x55173a(0x1aa)](_0x49dfdd)===_0x55173a(0x242)?_0x912292=_0x55173a(0x24b):_0x49dfdd===null?_0x912292=_0x55173a(0x1f7):_0x49dfdd[_0x55173a(0x270)]&&(_0x912292=_0x49dfdd['constructor'][_0x55173a(0x206)]||_0x912292):_0x912292==='undefined'&&this[_0x55173a(0x25a)]&&_0x49dfdd instanceof this['_HTMLAllCollection']&&(_0x912292=_0x55173a(0x217)),_0x912292;}[_0x11d2fd(0x1aa)](_0x43d414){var _0x57de40=_0x11d2fd;return Object[_0x57de40(0x1a0)][_0x57de40(0x1fe)][_0x57de40(0x21d)](_0x43d414);}[_0x11d2fd(0x1a7)](_0xcdaeb7){var _0x192334=_0x11d2fd;return _0xcdaeb7==='boolean'||_0xcdaeb7===_0x192334(0x1da)||_0xcdaeb7==='number';}[_0x11d2fd(0x18c)](_0x5ca27f){var _0x346078=_0x11d2fd;return _0x5ca27f==='Boolean'||_0x5ca27f===_0x346078(0x266)||_0x5ca27f===_0x346078(0x22a);}[_0x11d2fd(0x23c)](_0x1b8706,_0x4819e1,_0x4ee3fb,_0x5a7a70,_0x107b05,_0x4ea6e1){var _0x5d7e22=this;return function(_0x2b580b){var _0x47290f=_0x37e4,_0xfcc17a=_0x107b05[_0x47290f(0x1fc)][_0x47290f(0x253)],_0x194d30=_0x107b05[_0x47290f(0x1fc)][_0x47290f(0x191)],_0x1fedfd=_0x107b05[_0x47290f(0x1fc)]['parent'];_0x107b05[_0x47290f(0x1fc)][_0x47290f(0x238)]=_0xfcc17a,_0x107b05['node'][_0x47290f(0x191)]=typeof _0x5a7a70=='number'?_0x5a7a70:_0x2b580b,_0x1b8706[_0x47290f(0x1f3)](_0x5d7e22[_0x47290f(0x267)](_0x4819e1,_0x4ee3fb,_0x5a7a70,_0x107b05,_0x4ea6e1)),_0x107b05[_0x47290f(0x1fc)]['parent']=_0x1fedfd,_0x107b05[_0x47290f(0x1fc)][_0x47290f(0x191)]=_0x194d30;};}['_addObjectProperty'](_0x16588b,_0x11cea7,_0x13b6ef,_0x380310,_0x1c01d4,_0x4d4b6b,_0x7feca6){var _0x243e50=_0x11d2fd,_0x44abba=this;return _0x11cea7[_0x243e50(0x1a1)+_0x1c01d4[_0x243e50(0x1fe)]()]=!0x0,function(_0x1f4d51){var _0x4bdc1f=_0x243e50,_0x44d283=_0x4d4b6b[_0x4bdc1f(0x1fc)][_0x4bdc1f(0x253)],_0x4fb828=_0x4d4b6b[_0x4bdc1f(0x1fc)][_0x4bdc1f(0x191)],_0x3169d7=_0x4d4b6b['node'][_0x4bdc1f(0x238)];_0x4d4b6b[_0x4bdc1f(0x1fc)]['parent']=_0x44d283,_0x4d4b6b[_0x4bdc1f(0x1fc)][_0x4bdc1f(0x191)]=_0x1f4d51,_0x16588b['push'](_0x44abba[_0x4bdc1f(0x267)](_0x13b6ef,_0x380310,_0x1c01d4,_0x4d4b6b,_0x7feca6)),_0x4d4b6b['node'][_0x4bdc1f(0x238)]=_0x3169d7,_0x4d4b6b[_0x4bdc1f(0x1fc)][_0x4bdc1f(0x191)]=_0x4fb828;};}[_0x11d2fd(0x267)](_0x2ee2f9,_0x504c63,_0x2be839,_0x5d4bfe,_0x466772){var _0x280f6e=_0x11d2fd,_0xc6afe0=this;_0x466772||(_0x466772=function(_0xe7fdf,_0x44194f){return _0xe7fdf[_0x44194f];});var _0x298103=_0x2be839[_0x280f6e(0x1fe)](),_0x28f594=_0x5d4bfe[_0x280f6e(0x210)]||{},_0x5c79a8=_0x5d4bfe[_0x280f6e(0x220)],_0x20bebc=_0x5d4bfe[_0x280f6e(0x224)];try{var _0x27f153=this[_0x280f6e(0x1ca)](_0x2ee2f9),_0x14178a=_0x298103;_0x27f153&&_0x14178a[0x0]==='\\x27'&&(_0x14178a=_0x14178a['substr'](0x1,_0x14178a[_0x280f6e(0x20d)]-0x2));var _0x126371=_0x5d4bfe[_0x280f6e(0x210)]=_0x28f594['_p_'+_0x14178a];_0x126371&&(_0x5d4bfe[_0x280f6e(0x220)]=_0x5d4bfe[_0x280f6e(0x220)]+0x1),_0x5d4bfe['isExpressionToEvaluate']=!!_0x126371;var _0x239579=typeof _0x2be839==_0x280f6e(0x1ef),_0x2075b5={'name':_0x239579||_0x27f153?_0x298103:this[_0x280f6e(0x271)](_0x298103)};if(_0x239579&&(_0x2075b5[_0x280f6e(0x1ef)]=!0x0),!(_0x504c63==='array'||_0x504c63===_0x280f6e(0x1a6))){var _0x3d2d8e=this[_0x280f6e(0x25d)](_0x2ee2f9,_0x2be839);if(_0x3d2d8e&&(_0x3d2d8e[_0x280f6e(0x199)]&&(_0x2075b5[_0x280f6e(0x25e)]=!0x0),_0x3d2d8e[_0x280f6e(0x239)]&&!_0x126371&&!_0x5d4bfe['resolveGetters']))return _0x2075b5[_0x280f6e(0x1c6)]=!0x0,this[_0x280f6e(0x1d0)](_0x2075b5,_0x5d4bfe),_0x2075b5;}var _0x216f35;try{_0x216f35=_0x466772(_0x2ee2f9,_0x2be839);}catch(_0x50f558){return _0x2075b5={'name':_0x298103,'type':_0x280f6e(0x1b2),'error':_0x50f558[_0x280f6e(0x1be)]},this[_0x280f6e(0x1d0)](_0x2075b5,_0x5d4bfe),_0x2075b5;}var _0x4dc249=this[_0x280f6e(0x19d)](_0x216f35),_0x5e863a=this[_0x280f6e(0x1a7)](_0x4dc249);if(_0x2075b5[_0x280f6e(0x1f9)]=_0x4dc249,_0x5e863a)this[_0x280f6e(0x1d0)](_0x2075b5,_0x5d4bfe,_0x216f35,function(){var _0x5ca40f=_0x280f6e;_0x2075b5[_0x5ca40f(0x1d3)]=_0x216f35[_0x5ca40f(0x22d)](),!_0x126371&&_0xc6afe0[_0x5ca40f(0x1dc)](_0x4dc249,_0x2075b5,_0x5d4bfe,{});});else{var _0x1e54db=_0x5d4bfe['autoExpand']&&_0x5d4bfe[_0x280f6e(0x277)]<_0x5d4bfe[_0x280f6e(0x268)]&&_0x5d4bfe[_0x280f6e(0x245)][_0x280f6e(0x236)](_0x216f35)<0x0&&_0x4dc249!==_0x280f6e(0x1bd)&&_0x5d4bfe[_0x280f6e(0x195)]<_0x5d4bfe[_0x280f6e(0x1d5)];_0x1e54db||_0x5d4bfe['level']<_0x5c79a8||_0x126371?(this[_0x280f6e(0x23a)](_0x2075b5,_0x216f35,_0x5d4bfe,_0x126371||{}),this[_0x280f6e(0x269)](_0x216f35,_0x2075b5)):this[_0x280f6e(0x1d0)](_0x2075b5,_0x5d4bfe,_0x216f35,function(){var _0x519504=_0x280f6e;_0x4dc249===_0x519504(0x1f7)||_0x4dc249===_0x519504(0x240)||(delete _0x2075b5[_0x519504(0x1d3)],_0x2075b5[_0x519504(0x23f)]=!0x0);});}return _0x2075b5;}finally{_0x5d4bfe[_0x280f6e(0x210)]=_0x28f594,_0x5d4bfe[_0x280f6e(0x220)]=_0x5c79a8,_0x5d4bfe[_0x280f6e(0x224)]=_0x20bebc;}}['_capIfString'](_0x3fc6ce,_0x478b61,_0x11351e,_0x3eb109){var _0x45bb7c=_0x11d2fd,_0x196223=_0x3eb109['strLength']||_0x11351e['strLength'];if((_0x3fc6ce==='string'||_0x3fc6ce===_0x45bb7c(0x266))&&_0x478b61[_0x45bb7c(0x1d3)]){let _0x5832dd=_0x478b61[_0x45bb7c(0x1d3)][_0x45bb7c(0x20d)];_0x11351e[_0x45bb7c(0x1dd)]+=_0x5832dd,_0x11351e['allStrLength']>_0x11351e[_0x45bb7c(0x1eb)]?(_0x478b61[_0x45bb7c(0x23f)]='',delete _0x478b61['value']):_0x5832dd>_0x196223&&(_0x478b61[_0x45bb7c(0x23f)]=_0x478b61[_0x45bb7c(0x1d3)]['substr'](0x0,_0x196223),delete _0x478b61['value']);}}[_0x11d2fd(0x1ca)](_0x36ea58){var _0x4e1853=_0x11d2fd;return!!(_0x36ea58&&_0x4a231c[_0x4e1853(0x1e4)]&&this[_0x4e1853(0x1aa)](_0x36ea58)===_0x4e1853(0x233)&&_0x36ea58[_0x4e1853(0x237)]);}['_propertyName'](_0x889d08){var _0x2a9e0f=_0x11d2fd;if(_0x889d08[_0x2a9e0f(0x24a)](/^\\d+$/))return _0x889d08;var _0x5be9f3;try{_0x5be9f3=JSON['stringify'](''+_0x889d08);}catch{_0x5be9f3='\\x22'+this[_0x2a9e0f(0x1aa)](_0x889d08)+'\\x22';}return _0x5be9f3['match'](/^"([a-zA-Z_][a-zA-Z_0-9]*)"$/)?_0x5be9f3=_0x5be9f3['substr'](0x1,_0x5be9f3[_0x2a9e0f(0x20d)]-0x2):_0x5be9f3=_0x5be9f3[_0x2a9e0f(0x260)](/'/g,'\\x5c\\x27')['replace'](/\\\\"/g,'\\x22')['replace'](/(^"|"$)/g,'\\x27'),_0x5be9f3;}[_0x11d2fd(0x1d0)](_0x223c38,_0xee378e,_0xced986,_0x4803c2){var _0x8480ae=_0x11d2fd;this[_0x8480ae(0x219)](_0x223c38,_0xee378e),_0x4803c2&&_0x4803c2(),this[_0x8480ae(0x269)](_0xced986,_0x223c38),this['_treeNodePropertiesAfterFullValue'](_0x223c38,_0xee378e);}['_treeNodePropertiesBeforeFullValue'](_0x13c011,_0x31fc7c){var _0x394e81=_0x11d2fd;this[_0x394e81(0x1ea)](_0x13c011,_0x31fc7c),this[_0x394e81(0x223)](_0x13c011,_0x31fc7c),this[_0x394e81(0x192)](_0x13c011,_0x31fc7c),this['_setNodePermissions'](_0x13c011,_0x31fc7c);}[_0x11d2fd(0x1ea)](_0x115c5c,_0x1c8355){}[_0x11d2fd(0x223)](_0x54bbce,_0x179cf4){}[_0x11d2fd(0x1b0)](_0x479590,_0x258dde){}[_0x11d2fd(0x1a8)](_0x30d571){var _0x3c36bf=_0x11d2fd;return _0x30d571===this[_0x3c36bf(0x24f)];}[_0x11d2fd(0x1d8)](_0x1e498e,_0x425178){var _0x55389b=_0x11d2fd;this[_0x55389b(0x1b0)](_0x1e498e,_0x425178),this['_setNodeExpandableState'](_0x1e498e),_0x425178[_0x55389b(0x249)]&&this['_sortProps'](_0x1e498e),this[_0x55389b(0x218)](_0x1e498e,_0x425178),this['_addLoadNode'](_0x1e498e,_0x425178),this[_0x55389b(0x19b)](_0x1e498e);}['_additionalMetadata'](_0x446c33,_0x5100e1){var _0xa612d4=_0x11d2fd;let _0x4c171c;try{_0x4a231c[_0xa612d4(0x256)]&&(_0x4c171c=_0x4a231c[_0xa612d4(0x256)][_0xa612d4(0x230)],_0x4a231c[_0xa612d4(0x256)][_0xa612d4(0x230)]=function(){}),_0x446c33&&typeof _0x446c33[_0xa612d4(0x20d)]==_0xa612d4(0x1e3)&&(_0x5100e1['length']=_0x446c33[_0xa612d4(0x20d)]);}catch{}finally{_0x4c171c&&(_0x4a231c[_0xa612d4(0x256)][_0xa612d4(0x230)]=_0x4c171c);}if(_0x5100e1[_0xa612d4(0x1f9)]===_0xa612d4(0x1e3)||_0x5100e1[_0xa612d4(0x1f9)]==='Number'){if(isNaN(_0x5100e1[_0xa612d4(0x1d3)]))_0x5100e1[_0xa612d4(0x1bf)]=!0x0,delete _0x5100e1[_0xa612d4(0x1d3)];else switch(_0x5100e1['value']){case Number[_0xa612d4(0x252)]:_0x5100e1[_0xa612d4(0x22e)]=!0x0,delete _0x5100e1['value'];break;case Number[_0xa612d4(0x1ce)]:_0x5100e1[_0xa612d4(0x1bc)]=!0x0,delete _0x5100e1[_0xa612d4(0x1d3)];break;case 0x0:this[_0xa612d4(0x202)](_0x5100e1[_0xa612d4(0x1d3)])&&(_0x5100e1[_0xa612d4(0x1ee)]=!0x0);break;}}else _0x5100e1[_0xa612d4(0x1f9)]===_0xa612d4(0x1bd)&&typeof _0x446c33[_0xa612d4(0x206)]=='string'&&_0x446c33[_0xa612d4(0x206)]&&_0x5100e1['name']&&_0x446c33['name']!==_0x5100e1[_0xa612d4(0x206)]&&(_0x5100e1[_0xa612d4(0x1b3)]=_0x446c33[_0xa612d4(0x206)]);}['_isNegativeZero'](_0x59c9ba){return 0x1/_0x59c9ba===Number['NEGATIVE_INFINITY'];}['_sortProps'](_0x194b22){var _0x489762=_0x11d2fd;!_0x194b22['props']||!_0x194b22[_0x489762(0x273)][_0x489762(0x20d)]||_0x194b22[_0x489762(0x1f9)]===_0x489762(0x1c9)||_0x194b22[_0x489762(0x1f9)]===_0x489762(0x1e4)||_0x194b22[_0x489762(0x1f9)]===_0x489762(0x1b4)||_0x194b22['props'][_0x489762(0x24d)](function(_0x5750f1,_0x2eb738){var _0x76f8ac=_0x489762,_0x5b2bb8=_0x5750f1[_0x76f8ac(0x206)][_0x76f8ac(0x24e)](),_0x4a4f8f=_0x2eb738[_0x76f8ac(0x206)]['toLowerCase']();return _0x5b2bb8<_0x4a4f8f?-0x1:_0x5b2bb8>_0x4a4f8f?0x1:0x0;});}[_0x11d2fd(0x218)](_0x1c5692,_0x5941d2){var _0x6ddc63=_0x11d2fd;if(!(_0x5941d2[_0x6ddc63(0x227)]||!_0x1c5692[_0x6ddc63(0x273)]||!_0x1c5692['props']['length'])){for(var _0x397818=[],_0x1bb0d6=[],_0xcf63f9=0x0,_0x522aed=_0x1c5692[_0x6ddc63(0x273)][_0x6ddc63(0x20d)];_0xcf63f9<_0x522aed;_0xcf63f9++){var _0x5b66ea=_0x1c5692['props'][_0xcf63f9];_0x5b66ea[_0x6ddc63(0x1f9)]===_0x6ddc63(0x1bd)?_0x397818[_0x6ddc63(0x1f3)](_0x5b66ea):_0x1bb0d6[_0x6ddc63(0x1f3)](_0x5b66ea);}if(!(!_0x1bb0d6['length']||_0x397818[_0x6ddc63(0x20d)]<=0x1)){_0x1c5692[_0x6ddc63(0x273)]=_0x1bb0d6;var _0x4d8efd={'functionsNode':!0x0,'props':_0x397818};this[_0x6ddc63(0x1ea)](_0x4d8efd,_0x5941d2),this[_0x6ddc63(0x1b0)](_0x4d8efd,_0x5941d2),this[_0x6ddc63(0x243)](_0x4d8efd),this[_0x6ddc63(0x1f8)](_0x4d8efd,_0x5941d2),_0x4d8efd['id']+='\\x20f',_0x1c5692['props'][_0x6ddc63(0x207)](_0x4d8efd);}}}[_0x11d2fd(0x1e1)](_0x1c7ad0,_0x297b6d){}[_0x11d2fd(0x243)](_0x2f5087){}[_0x11d2fd(0x255)](_0x401698){var _0x3fdb91=_0x11d2fd;return Array[_0x3fdb91(0x1ac)](_0x401698)||typeof _0x401698==_0x3fdb91(0x198)&&this[_0x3fdb91(0x1aa)](_0x401698)==='[object\\x20Array]';}[_0x11d2fd(0x1f8)](_0x152162,_0x1ed574){}[_0x11d2fd(0x19b)](_0x161253){var _0x679a0c=_0x11d2fd;delete _0x161253[_0x679a0c(0x21f)],delete _0x161253['_hasSetOnItsPath'],delete _0x161253[_0x679a0c(0x1fd)];}[_0x11d2fd(0x192)](_0x43a91c,_0x4b1cef){}}let _0x1698da=new _0x33872f(),_0x4336d8={'props':0x64,'elements':0x64,'strLength':0x400*0x32,'totalStrLength':0x400*0x32,'autoExpandLimit':0x1388,'autoExpandMaxDepth':0xa},_0x507368={'props':0x5,'elements':0x5,'strLength':0x100,'totalStrLength':0x100*0x3,'autoExpandLimit':0x1e,'autoExpandMaxDepth':0x2};function _0x23c2be(_0x19fcd2,_0x453451,_0x181b6d,_0x2a08b3,_0x4b434e,_0x54185d){var _0x9210d5=_0x11d2fd;let _0x5b44f0,_0x36715b;try{_0x36715b=_0x9e4c4d(),_0x5b44f0=_0x2e0b83[_0x453451],!_0x5b44f0||_0x36715b-_0x5b44f0['ts']>0x1f4&&_0x5b44f0[_0x9210d5(0x226)]&&_0x5b44f0['time']/_0x5b44f0[_0x9210d5(0x226)]<0x64?(_0x2e0b83[_0x453451]=_0x5b44f0={'count':0x0,'time':0x0,'ts':_0x36715b},_0x2e0b83[_0x9210d5(0x208)]={}):_0x36715b-_0x2e0b83[_0x9210d5(0x208)]['ts']>0x32&&_0x2e0b83[_0x9210d5(0x208)][_0x9210d5(0x226)]&&_0x2e0b83[_0x9210d5(0x208)][_0x9210d5(0x1ae)]/_0x2e0b83[_0x9210d5(0x208)]['count']<0x64&&(_0x2e0b83[_0x9210d5(0x208)]={});let _0x7293a0=[],_0x36296b=_0x5b44f0['reduceLimits']||_0x2e0b83[_0x9210d5(0x208)][_0x9210d5(0x1b6)]?_0x507368:_0x4336d8,_0x247beb=_0x217a47=>{var _0x4a89a2=_0x9210d5;let _0x541454={};return _0x541454[_0x4a89a2(0x273)]=_0x217a47[_0x4a89a2(0x273)],_0x541454[_0x4a89a2(0x1e2)]=_0x217a47[_0x4a89a2(0x1e2)],_0x541454[_0x4a89a2(0x21b)]=_0x217a47[_0x4a89a2(0x21b)],_0x541454[_0x4a89a2(0x1eb)]=_0x217a47[_0x4a89a2(0x1eb)],_0x541454['autoExpandLimit']=_0x217a47['autoExpandLimit'],_0x541454[_0x4a89a2(0x268)]=_0x217a47['autoExpandMaxDepth'],_0x541454[_0x4a89a2(0x249)]=!0x1,_0x541454[_0x4a89a2(0x227)]=!_0x39e58b,_0x541454['depth']=0x1,_0x541454[_0x4a89a2(0x277)]=0x0,_0x541454[_0x4a89a2(0x18a)]='root_exp_id',_0x541454[_0x4a89a2(0x1c3)]=_0x4a89a2(0x1c2),_0x541454['autoExpand']=!0x0,_0x541454[_0x4a89a2(0x245)]=[],_0x541454[_0x4a89a2(0x195)]=0x0,_0x541454[_0x4a89a2(0x26f)]=!0x0,_0x541454[_0x4a89a2(0x1dd)]=0x0,_0x541454[_0x4a89a2(0x1fc)]={'current':void 0x0,'parent':void 0x0,'index':0x0},_0x541454;};for(var _0x40c849=0x0;_0x40c849<_0x4b434e[_0x9210d5(0x20d)];_0x40c849++)_0x7293a0['push'](_0x1698da[_0x9210d5(0x23a)]({'timeNode':_0x19fcd2==='time'||void 0x0},_0x4b434e[_0x40c849],_0x247beb(_0x36296b),{}));if(_0x19fcd2===_0x9210d5(0x1ab)){let _0x4b4e9e=Error[_0x9210d5(0x229)];try{Error['stackTraceLimit']=0x1/0x0,_0x7293a0[_0x9210d5(0x1f3)](_0x1698da[_0x9210d5(0x23a)]({'stackNode':!0x0},new Error()[_0x9210d5(0x193)],_0x247beb(_0x36296b),{'strLength':0x1/0x0}));}finally{Error[_0x9210d5(0x229)]=_0x4b4e9e;}}return{'method':_0x9210d5(0x1cd),'version':_0x12de0b,'args':[{'ts':_0x181b6d,'session':_0x2a08b3,'args':_0x7293a0,'id':_0x453451,'context':_0x54185d}]};}catch(_0x3c4fcd){return{'method':'log','version':_0x12de0b,'args':[{'ts':_0x181b6d,'session':_0x2a08b3,'args':[{'type':_0x9210d5(0x1b2),'error':_0x3c4fcd&&_0x3c4fcd[_0x9210d5(0x1be)]}],'id':_0x453451,'context':_0x54185d}]};}finally{try{if(_0x5b44f0&&_0x36715b){let _0x39c04e=_0x9e4c4d();_0x5b44f0[_0x9210d5(0x226)]++,_0x5b44f0['time']+=_0x27fc15(_0x36715b,_0x39c04e),_0x5b44f0['ts']=_0x39c04e,_0x2e0b83[_0x9210d5(0x208)][_0x9210d5(0x226)]++,_0x2e0b83['hits'][_0x9210d5(0x1ae)]+=_0x27fc15(_0x36715b,_0x39c04e),_0x2e0b83['hits']['ts']=_0x39c04e,(_0x5b44f0[_0x9210d5(0x226)]>0x32||_0x5b44f0['time']>0x64)&&(_0x5b44f0[_0x9210d5(0x1b6)]=!0x0),(_0x2e0b83['hits']['count']>0x3e8||_0x2e0b83[_0x9210d5(0x208)][_0x9210d5(0x1ae)]>0x12c)&&(_0x2e0b83[_0x9210d5(0x208)][_0x9210d5(0x1b6)]=!0x0);}}catch{}}}return _0x23c2be;}((_0x4b00d8,_0x5578f1,_0x3ed2a7,_0x30eaab,_0x213295,_0x57888b,_0x4d288a,_0x2fe894,_0x3cfa6a,_0x26d1d4)=>{var _0x1998d3=_0x1f7fe1;if(_0x4b00d8[_0x1998d3(0x232)])return _0x4b00d8['_console_ninja'];if(!J(_0x4b00d8,_0x2fe894,_0x213295))return _0x4b00d8['_console_ninja']={'consoleLog':()=>{},'consoleTrace':()=>{},'consoleTime':()=>{},'consoleTimeEnd':()=>{},'autoLog':()=>{},'autoLogMany':()=>{},'autoTraceMany':()=>{},'coverage':()=>{},'autoTrace':()=>{},'autoTime':()=>{},'autoTimeEnd':()=>{}},_0x4b00d8[_0x1998d3(0x232)];let _0x1ec8c8=W(_0x4b00d8),_0x1a3c7f=_0x1ec8c8['elapsed'],_0x41cf6a=_0x1ec8c8[_0x1998d3(0x23d)],_0x247060=_0x1ec8c8[_0x1998d3(0x251)],_0x1d3c45={'hits':{},'ts':{}},_0x5683be=Y(_0x4b00d8,_0x3cfa6a,_0x1d3c45,_0x57888b),_0x3e248f=_0x10392f=>{_0x1d3c45['ts'][_0x10392f]=_0x41cf6a();},_0x2ebbe7=(_0x1a02c8,_0x4327c1)=>{var _0x1595a3=_0x1998d3;let _0x48011b=_0x1d3c45['ts'][_0x4327c1];if(delete _0x1d3c45['ts'][_0x4327c1],_0x48011b){let _0x441fec=_0x1a3c7f(_0x48011b,_0x41cf6a());_0x341adf(_0x5683be(_0x1595a3(0x1ae),_0x1a02c8,_0x247060(),_0x3e00fc,[_0x441fec],_0x4327c1));}},_0x665301=_0x409553=>_0x2a8d96=>{var _0x35b2aa=_0x1998d3;try{_0x3e248f(_0x2a8d96),_0x409553(_0x2a8d96);}finally{_0x4b00d8['console'][_0x35b2aa(0x1ae)]=_0x409553;}},_0x146215=_0x5aa591=>_0x44b8c0=>{var _0xc5b6e3=_0x1998d3;try{let [_0x4eb1b6,_0x154adc]=_0x44b8c0[_0xc5b6e3(0x1f6)](_0xc5b6e3(0x259));_0x2ebbe7(_0x154adc,_0x4eb1b6),_0x5aa591(_0x4eb1b6);}finally{_0x4b00d8[_0xc5b6e3(0x256)]['timeEnd']=_0x5aa591;}};_0x4b00d8[_0x1998d3(0x232)]={'consoleLog':(_0x2393f8,_0x51be62)=>{var _0x51151b=_0x1998d3;_0x4b00d8[_0x51151b(0x256)][_0x51151b(0x1cd)][_0x51151b(0x206)]!=='disabledLog'&&_0x341adf(_0x5683be(_0x51151b(0x1cd),_0x2393f8,_0x247060(),_0x3e00fc,_0x51be62));},'consoleTrace':(_0x119369,_0x442031)=>{var _0x594c80=_0x1998d3;_0x4b00d8[_0x594c80(0x256)][_0x594c80(0x1cd)]['name']!=='disabledTrace'&&_0x341adf(_0x5683be(_0x594c80(0x1ab),_0x119369,_0x247060(),_0x3e00fc,_0x442031));},'consoleTime':()=>{var _0x32edf0=_0x1998d3;_0x4b00d8[_0x32edf0(0x256)][_0x32edf0(0x1ae)]=_0x665301(_0x4b00d8[_0x32edf0(0x256)][_0x32edf0(0x1ae)]);},'consoleTimeEnd':()=>{var _0xceb7a9=_0x1998d3;_0x4b00d8[_0xceb7a9(0x256)][_0xceb7a9(0x1a2)]=_0x146215(_0x4b00d8['console']['timeEnd']);},'autoLog':(_0x561021,_0x3343a6)=>{var _0x99253f=_0x1998d3;_0x341adf(_0x5683be(_0x99253f(0x1cd),_0x3343a6,_0x247060(),_0x3e00fc,[_0x561021]));},'autoLogMany':(_0x14df62,_0x1aca85)=>{var _0x4e9934=_0x1998d3;_0x341adf(_0x5683be(_0x4e9934(0x1cd),_0x14df62,_0x247060(),_0x3e00fc,_0x1aca85));},'autoTrace':(_0x19f33b,_0x49cf5c)=>{var _0x38aba5=_0x1998d3;_0x341adf(_0x5683be(_0x38aba5(0x1ab),_0x49cf5c,_0x247060(),_0x3e00fc,[_0x19f33b]));},'autoTraceMany':(_0xcd9962,_0x3adbc0)=>{var _0x40a7aa=_0x1998d3;_0x341adf(_0x5683be(_0x40a7aa(0x1ab),_0xcd9962,_0x247060(),_0x3e00fc,_0x3adbc0));},'autoTime':(_0x1e1fd7,_0x2e5429,_0x2ccb02)=>{_0x3e248f(_0x2ccb02);},'autoTimeEnd':(_0x2e38e6,_0x141bf8,_0xdc33b2)=>{_0x2ebbe7(_0x141bf8,_0xdc33b2);},'coverage':_0x298f37=>{var _0x2380b2=_0x1998d3;_0x341adf({'method':_0x2380b2(0x1de),'version':_0x57888b,'args':[{'id':_0x298f37}]});}};let _0x341adf=b(_0x4b00d8,_0x5578f1,_0x3ed2a7,_0x30eaab,_0x213295,_0x26d1d4),_0x3e00fc=_0x4b00d8[_0x1998d3(0x26e)];return _0x4b00d8[_0x1998d3(0x232)];})(globalThis,_0x1f7fe1(0x213),_0x1f7fe1(0x20c),_0x1f7fe1(0x1d7),_0x1f7fe1(0x209),'1.0.0',_0x1f7fe1(0x18e),["localhost","127.0.0.1","example.cypress.io","hcengel","192.168.56.1","192.168.1.102"],_0x1f7fe1(0x1af),_0x1f7fe1(0x1b1));`);
|
|
140
|
+
} catch (e) {
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
function oo_oo(i, ...v) {
|
|
144
|
+
try {
|
|
145
|
+
oo_cm().consoleLog(i, v);
|
|
146
|
+
} catch (e) {
|
|
147
|
+
}
|
|
148
|
+
return v;
|
|
149
|
+
}
|
|
150
|
+
|
|
151
|
+
// config.js
|
|
152
|
+
var config = {
|
|
153
|
+
base: "/AAA",
|
|
154
|
+
//Optional
|
|
155
|
+
api: "http://localhost:3001",
|
|
156
|
+
//Optional but login doesn't work without it
|
|
157
|
+
login: {
|
|
158
|
+
//Mandatory
|
|
159
|
+
icon: "/media/logo.png",
|
|
160
|
+
largeIcon: "/media/largeLogo.png",
|
|
161
|
+
name: "Gray Collar Dashboard",
|
|
162
|
+
nucleoid: {},
|
|
163
|
+
github: {
|
|
164
|
+
authUrl: "https://github.com/login/oauth/authorize",
|
|
165
|
+
clientId: "0c2844d3d19dc9293fc5",
|
|
166
|
+
redirectUri: "http://localhost:5173/callback",
|
|
167
|
+
scope: "user",
|
|
168
|
+
response_type: "code"
|
|
169
|
+
}
|
|
170
|
+
},
|
|
171
|
+
settings: {
|
|
172
|
+
mode: "dark"
|
|
173
|
+
// 'light' | 'dark'
|
|
174
|
+
},
|
|
175
|
+
...config_menu_default,
|
|
176
|
+
itemsData: [
|
|
177
|
+
{
|
|
178
|
+
id: 1,
|
|
179
|
+
title: "Project X",
|
|
180
|
+
icon: "tdesign/anchor"
|
|
181
|
+
},
|
|
182
|
+
{
|
|
183
|
+
id: 2,
|
|
184
|
+
title: "Project Y",
|
|
185
|
+
icon: "material-symbols/wine-bar"
|
|
186
|
+
},
|
|
187
|
+
{
|
|
188
|
+
id: 3,
|
|
189
|
+
title: "Deneme",
|
|
190
|
+
icon: "material-symbols/wind-power-sharp"
|
|
191
|
+
},
|
|
192
|
+
{
|
|
193
|
+
id: 4,
|
|
194
|
+
title: "Fasign",
|
|
195
|
+
icon: "material-symbols/whatshot"
|
|
196
|
+
}
|
|
197
|
+
]
|
|
198
|
+
};
|
|
199
|
+
var config_default = config;
|
|
200
|
+
|
|
201
|
+
// vite.config.js
|
|
202
|
+
import { defineConfig } from "file:///C:/Users/Halil/Desktop/nucleoid/platform/example/node_modules/vite/dist/node/index.js";
|
|
203
|
+
|
|
204
|
+
// ../vite/ConfigSchema.js
|
|
205
|
+
import Joi from "file:///C:/Users/Halil/Desktop/nucleoid/platform/node_modules/joi/lib/index.js";
|
|
206
|
+
var ConfigSchema = Joi.object({
|
|
207
|
+
name: Joi.string().optional().default(""),
|
|
208
|
+
base: Joi.string().optional().default(""),
|
|
209
|
+
api: Joi.string().uri().optional().default(""),
|
|
210
|
+
login: Joi.object({
|
|
211
|
+
icon: Joi.string().required(),
|
|
212
|
+
largeIcon: Joi.string().required(),
|
|
213
|
+
name: Joi.string().required(),
|
|
214
|
+
nucleoid: Joi.object().optional(),
|
|
215
|
+
github: Joi.object({
|
|
216
|
+
authUrl: Joi.string().uri().required(),
|
|
217
|
+
clientId: Joi.string().required(),
|
|
218
|
+
redirectUri: Joi.string().uri().required(),
|
|
219
|
+
scope: Joi.string().required(),
|
|
220
|
+
response_type: Joi.string().required()
|
|
221
|
+
}).optional()
|
|
222
|
+
}).required(),
|
|
223
|
+
settings: Joi.object({
|
|
224
|
+
mode: Joi.string().valid("light", "dark").optional().default("dark"),
|
|
225
|
+
colorPresets: Joi.string().valid("default", "cyan", "purple", "blue", "orange", "red").optional().default("default")
|
|
226
|
+
}).optional(),
|
|
227
|
+
itemsPath: Joi.string().required(),
|
|
228
|
+
addNewItemButton: Joi.function().required()
|
|
229
|
+
}).required().unknown(true);
|
|
230
|
+
|
|
231
|
+
// ../../../config.js
|
|
232
|
+
var config2 = {
|
|
233
|
+
name: "Nucleoid.com",
|
|
234
|
+
base: "platform",
|
|
235
|
+
api: "http://localhost:3000",
|
|
236
|
+
login: {
|
|
237
|
+
icon: "/media/logo.png",
|
|
238
|
+
largeIcon: "/media/largeLogo.png",
|
|
239
|
+
name: "Nucleoid.com",
|
|
240
|
+
nucleoid: {},
|
|
241
|
+
github: {
|
|
242
|
+
authUrl: "https://github.com/login/oauth/authorize",
|
|
243
|
+
clientId: "0c2844d3d19dc9293fc5",
|
|
244
|
+
redirectUri: "http://localhost:5173/callback",
|
|
245
|
+
scope: "user",
|
|
246
|
+
response_type: "code"
|
|
247
|
+
}
|
|
248
|
+
},
|
|
249
|
+
flowise: {
|
|
250
|
+
token: "Bearer LoLQZcqQsDQgqVCEGbV4fH7CL9HLnzryWObnPYxch5o=",
|
|
251
|
+
url: "http://flowise.graycollar.ai:3000/api/v1/prediction/88666388-0cae-4735-96e9-7c15b12896df"
|
|
252
|
+
},
|
|
253
|
+
settings: {
|
|
254
|
+
mode: "dark",
|
|
255
|
+
// 'light' | 'dark'
|
|
256
|
+
colorPresets: "cyan"
|
|
257
|
+
// 'default' | 'cyan' | 'purple' | 'blue' | 'orange' | 'red'
|
|
258
|
+
},
|
|
259
|
+
addNewItemButton: function() {
|
|
260
|
+
console.log("hello");
|
|
261
|
+
},
|
|
262
|
+
itemsPath: "projects"
|
|
263
|
+
};
|
|
264
|
+
var config_default2 = config2;
|
|
265
|
+
|
|
266
|
+
// ../vite/vite.js
|
|
267
|
+
import path from "path";
|
|
268
|
+
import react from "file:///C:/Users/Halil/Desktop/nucleoid/platform/node_modules/@vitejs/plugin-react/dist/index.mjs";
|
|
269
|
+
import { splitVendorChunkPlugin } from "file:///C:/Users/Halil/Desktop/nucleoid/platform/node_modules/vite/dist/node/index.js";
|
|
270
|
+
import svgr from "file:///C:/Users/Halil/Desktop/nucleoid/platform/node_modules/vite-plugin-svgr/dist/index.js";
|
|
271
|
+
async function vite() {
|
|
272
|
+
return {
|
|
273
|
+
base: config_default2.base,
|
|
274
|
+
plugins: [
|
|
275
|
+
{
|
|
276
|
+
name: "joi-error",
|
|
277
|
+
configureServer(server) {
|
|
278
|
+
server.middlewares.use((req, res, next) => {
|
|
279
|
+
const { error } = ConfigSchema.validate(config_default2);
|
|
280
|
+
if (!config_default2) {
|
|
281
|
+
server.config.logger.error(`Config.js not found`);
|
|
282
|
+
res.statusCode = 500;
|
|
283
|
+
res.end(`Config.js not found`);
|
|
284
|
+
} else if (error) {
|
|
285
|
+
server.config.logger.error(
|
|
286
|
+
`Config validation error: ${error.stack}`,
|
|
287
|
+
{ tag: "joi-error" }
|
|
288
|
+
);
|
|
289
|
+
res.statusCode = 500;
|
|
290
|
+
res.end(`Config validation error: ${error.stack}`);
|
|
291
|
+
} else {
|
|
292
|
+
next();
|
|
293
|
+
}
|
|
294
|
+
});
|
|
295
|
+
}
|
|
296
|
+
},
|
|
297
|
+
splitVendorChunkPlugin(),
|
|
298
|
+
react(),
|
|
299
|
+
svgr()
|
|
300
|
+
],
|
|
301
|
+
optimizeDeps: {
|
|
302
|
+
esbuildOptions: {
|
|
303
|
+
jsx: "automatic"
|
|
304
|
+
},
|
|
305
|
+
include: ["@mui/material"]
|
|
306
|
+
},
|
|
307
|
+
resolve: {
|
|
308
|
+
alias: [
|
|
309
|
+
{
|
|
310
|
+
find: /^~(.+)/,
|
|
311
|
+
replacement: path.join(process.cwd(), "node_modules/$1")
|
|
312
|
+
},
|
|
313
|
+
{
|
|
314
|
+
find: /^src(.+)/,
|
|
315
|
+
replacement: path.join(
|
|
316
|
+
process.cwd(),
|
|
317
|
+
"/node_modules/platform-npm/minimal/src/$1"
|
|
318
|
+
)
|
|
319
|
+
}
|
|
320
|
+
]
|
|
321
|
+
},
|
|
322
|
+
build: {
|
|
323
|
+
rollupOptions: {
|
|
324
|
+
output: {
|
|
325
|
+
manualChunks(id) {
|
|
326
|
+
if (id.includes("node_modules")) {
|
|
327
|
+
return id.toString().split("node_modules/")[1].split("/")[0].toString();
|
|
328
|
+
}
|
|
329
|
+
}
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
}
|
|
335
|
+
|
|
336
|
+
// vite.config.js
|
|
337
|
+
var vite_config_default = defineConfig(vite(config_default));
|
|
338
|
+
export {
|
|
339
|
+
vite_config_default as default
|
|
340
|
+
};
|
|
341
|
+
//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiY29uZmlnLmpzIiwgInNyYy93aWRnZXRzL0NvbnNvbGVCdXR0b24uanN4IiwgInNyYy9jb21wb25lbnRzL0FjdGlvbkJ1dHRvbi5qc3giLCAiY29uZmlnLm1lbnUuanMiLCAidml0ZS5jb25maWcuanMiLCAiLi4vdml0ZS9Db25maWdTY2hlbWEuanMiLCAiLi4vLi4vLi4vY29uZmlnLmpzIiwgIi4uL3ZpdGUvdml0ZS5qcyJdLAogICJzb3VyY2VzQ29udGVudCI6IFsiY29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2Rpcm5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXEhhbGlsXFxcXERlc2t0b3BcXFxcbnVjbGVvaWRcXFxccGxhdGZvcm1cXFxcZXhhbXBsZVwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcSGFsaWxcXFxcRGVza3RvcFxcXFxudWNsZW9pZFxcXFxwbGF0Zm9ybVxcXFxleGFtcGxlXFxcXGNvbmZpZy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvSGFsaWwvRGVza3RvcC9udWNsZW9pZC9wbGF0Zm9ybS9leGFtcGxlL2NvbmZpZy5qc1wiO2ltcG9ydCB7IEJ1dHRvbiB9IGZyb20gXCJAbXVpL21hdGVyaWFsXCI7XG5pbXBvcnQgQ29uc29sZUJ1dHRvbiBmcm9tIFwiLi9zcmMvd2lkZ2V0cy9Db25zb2xlQnV0dG9uXCI7XG5pbXBvcnQgbWVudUNvbmZpZyBmcm9tIFwiLi9jb25maWcubWVudVwiO1xuXG5jb25zdCBjb25maWcgPSB7XG4gIGJhc2U6IFwiL0FBQVwiLCAvL09wdGlvbmFsXG4gIGFwaTogXCJodHRwOi8vbG9jYWxob3N0OjMwMDFcIiwgLy9PcHRpb25hbCBidXQgbG9naW4gZG9lc24ndCB3b3JrIHdpdGhvdXQgaXRcbiAgbG9naW46IHtcbiAgICAvL01hbmRhdG9yeVxuICAgIGljb246IFwiL21lZGlhL2xvZ28ucG5nXCIsXG4gICAgbGFyZ2VJY29uOiBcIi9tZWRpYS9sYXJnZUxvZ28ucG5nXCIsXG4gICAgbmFtZTogXCJHcmF5IENvbGxhciBEYXNoYm9hcmRcIixcbiAgICBudWNsZW9pZDoge30sXG4gICAgZ2l0aHViOiB7XG4gICAgICBhdXRoVXJsOiBcImh0dHBzOi8vZ2l0aHViLmNvbS9sb2dpbi9vYXV0aC9hdXRob3JpemVcIixcbiAgICAgIGNsaWVudElkOiBcIjBjMjg0NGQzZDE5ZGM5MjkzZmM1XCIsXG4gICAgICByZWRpcmVjdFVyaTogXCJodHRwOi8vbG9jYWxob3N0OjUxNzMvY2FsbGJhY2tcIixcbiAgICAgIHNjb3BlOiBcInVzZXJcIixcbiAgICAgIHJlc3BvbnNlX3R5cGU6IFwiY29kZVwiLFxuICAgIH0sXG4gIH0sXG4gIHNldHRpbmdzOiB7XG4gICAgbW9kZTogXCJkYXJrXCIsIC8vICdsaWdodCcgfCAnZGFyaydcbiAgfSxcbiAgLi4ubWVudUNvbmZpZyxcbiAgaXRlbXNEYXRhOiBbXG4gICAge1xuICAgICAgaWQ6IDEsXG4gICAgICB0aXRsZTogXCJQcm9qZWN0IFhcIixcbiAgICAgIGljb246IFwidGRlc2lnbi9hbmNob3JcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAyLFxuICAgICAgdGl0bGU6IFwiUHJvamVjdCBZXCIsXG4gICAgICBpY29uOiBcIm1hdGVyaWFsLXN5bWJvbHMvd2luZS1iYXJcIixcbiAgICB9LFxuICAgIHtcbiAgICAgIGlkOiAzLFxuICAgICAgdGl0bGU6IFwiRGVuZW1lXCIsXG4gICAgICBpY29uOiBcIm1hdGVyaWFsLXN5bWJvbHMvd2luZC1wb3dlci1zaGFycFwiLFxuICAgIH0sXG4gICAge1xuICAgICAgaWQ6IDQsXG4gICAgICB0aXRsZTogXCJGYXNpZ25cIixcbiAgICAgIGljb246IFwibWF0ZXJpYWwtc3ltYm9scy93aGF0c2hvdFwiLFxuICAgIH0sXG4gIF0sXG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb25maWc7XG4iLCAiaW1wb3J0IHtcbiAgQnV0dG9uLFxuICBEaWFsb2csXG4gIERpYWxvZ0FjdGlvbnMsXG4gIERpYWxvZ0NvbnRlbnQsXG4gIERpYWxvZ1RpdGxlLFxuICBJY29uQnV0dG9uLFxufSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuXG5pbXBvcnQgQWRqdXN0SWNvbiBmcm9tIFwiQG11aS9pY29ucy1tYXRlcmlhbC9BZGp1c3RcIjtcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ29uc29sZUJ1dHRvbigpIHtcbiAgY29uc3QgW29wZW4sIHNldE9wZW5dID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpO1xuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxJY29uQnV0dG9uIG9uQ2xpY2s9eygpID0+IHNldE9wZW4odHJ1ZSl9PlxuICAgICAgICA8QWRqdXN0SWNvbiAvPlxuICAgICAgPC9JY29uQnV0dG9uPlxuICAgICAgPERpYWxvZyBvcGVuPXtvcGVufT5cbiAgICAgICAgPERpYWxvZ1RpdGxlPlRlc3Q8L0RpYWxvZ1RpdGxlPlxuICAgICAgICA8RGlhbG9nQ29udGVudD5Xb3JrZWQgITwvRGlhbG9nQ29udGVudD5cbiAgICAgICAgPERpYWxvZ0FjdGlvbnM+XG4gICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRPcGVuKGZhbHNlKX0+Q2xvc2U8L0J1dHRvbj5cbiAgICAgICAgPC9EaWFsb2dBY3Rpb25zPlxuICAgICAgPC9EaWFsb2c+XG4gICAgPC8+XG4gICk7XG59XG4iLCAiaW1wb3J0IEJvbHRJY29uIGZyb20gXCJAbXVpL2ljb25zLW1hdGVyaWFsL0JvbHRcIjtcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tIFwiQG11aS9tYXRlcmlhbFwiO1xuXG5jb25zdCBFbmVyZ3lCdXR0b24gPSAoKSA9PiAoXG4gIDxJY29uQnV0dG9uXG4gICAgc3g9e3tcbiAgICAgIHdpZHRoOiBcIjNyZW1cIixcbiAgICAgIGhlaWdodDogXCIzcmVtXCIsXG4gICAgICBib3JkZXJTdHlsZTogXCJzb2xpZFwiLFxuICAgICAgYm9yZGVyV2lkdGg6IFwiMXB4XCIsXG4gICAgICBib3JkZXJDb2xvcjogKHRoZW1lKSA9PiB0aGVtZS5wYWxldHRlLnByaW1hcnksXG4gICAgfX1cbiAgPlxuICAgIDxCb2x0SWNvbiBzeD17eyB3aWR0aDogXCIxMDAlXCIsIGhlaWdodDogXCIxMDAlXCIgfX0gY29sb3I9XCJwcmltYXJ5XCIgLz5cbiAgPC9JY29uQnV0dG9uPlxuKTtcblxuZXhwb3J0IGRlZmF1bHQgRW5lcmd5QnV0dG9uO1xuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxIYWxpbFxcXFxEZXNrdG9wXFxcXG51Y2xlb2lkXFxcXHBsYXRmb3JtXFxcXGV4YW1wbGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXEhhbGlsXFxcXERlc2t0b3BcXFxcbnVjbGVvaWRcXFxccGxhdGZvcm1cXFxcZXhhbXBsZVxcXFxjb25maWcubWVudS5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvSGFsaWwvRGVza3RvcC9udWNsZW9pZC9wbGF0Zm9ybS9leGFtcGxlL2NvbmZpZy5tZW51LmpzXCI7aW1wb3J0IEFjdGlvbkJ1dHRvbiBmcm9tIFwiLi9zcmMvY29tcG9uZW50cy9BY3Rpb25CdXR0b25cIjtcbmNvbnN0IG1lbnVDb25maWcgPSB7XG4gIHNpZGVNZW51OiBbXG4gICAge1xuICAgICAgc3ViaGVhZGVyOiBcIlBhZ2VzXCIsXG4gICAgICBpdGVtczogW1xuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6IFwiRmlyc3QgUGFnZVwiLFxuICAgICAgICAgIGljb246IFwic29sYXI6ZmlyZS1taW5pbWFsaXN0aWMtYm9sZC1kdW90b25lXCIsXG4gICAgICAgICAgcGF0aDogXCIvXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogXCJNYWluXCIsXG4gICAgICAgICAgaWNvbjogXCJzb2xhcjpob21lLTItYm9sZC1kdW90b25lXCIsXG4gICAgICAgICAgcGF0aDogXCIvbWFpblwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGl0bGU6IFwiU2Vjb25kIFBhZ2VcIixcbiAgICAgICAgICBpY29uOiBcInNvbGFyOmRvY3VtZW50LWJvbGQtZHVvdG9uZVwiLFxuICAgICAgICAgIHBhdGg6IFwiL3NlY29uZFBhZ2VcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICBzdWJoZWFkZXI6IFwiU1VCTElTVFNcIixcbiAgICAgIGl0ZW1zOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0aXRsZTogXCJ1c2VyXCIsXG4gICAgICAgICAgcGF0aDogXCIvdXNlclwiLFxuICAgICAgICAgIGljb246IFwic29sYXI6dXNlcnMtZ3JvdXAtcm91bmRlZC1ib2xkLWR1b3RvbmVcIixcbiAgICAgICAgICBjaGlsZHJlbjogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0aXRsZTogXCJwcm9maWxlXCIsXG4gICAgICAgICAgICAgIHBhdGg6IFwiL3VzZXIvcHJvZmlsZVwiLFxuICAgICAgICAgICAgICBpY29uOiBcInNvbGFyOnNoaWVsZC11c2VyLWJvbGQtZHVvdG9uZVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IFwibGlzdFwiLFxuICAgICAgICAgICAgICBwYXRoOiBcIi91c2VyL2xpc3RcIixcbiAgICAgICAgICAgICAgaWNvbjogXCJzb2xhcjpsaXN0LWJvbGQtZHVvdG9uZVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGl0bGU6IFwiY3JlYXRlXCIsXG4gICAgICAgICAgICAgIHBhdGg6IFwiL3VzZXIvY3JlYXRlXCIsXG4gICAgICAgICAgICAgIGljb246IFwic29sYXI6YWRkLWNpcmNsZS1ib2xkLWR1b3RvbmVcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRpdGxlOiBcImRlbGV0ZVwiLFxuICAgICAgICAgICAgICBwYXRoOiBcIi91c2VyL2RlbGV0ZVwiLFxuICAgICAgICAgICAgICBpY29uOiBcInNvbGFyOnRyYXNoLWJpbi0yLWJvbGQtZHVvdG9uZVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxuXG4gIHRvcE1lbnU6IFtcbiAgICB7XG4gICAgICB0aXRsZTogXCJJbmRleFwiLFxuICAgICAgaWNvbjogXCJzb2xhcjpob21lLTItYm9sZC1kdW90b25lXCIsXG4gICAgICBwYXRoOiBcIi9cIixcbiAgICB9LFxuICAgIHtcbiAgICAgIHRpdGxlOiBcIk1haW5cIixcbiAgICAgIGljb246IFwic29sYXI6aG9tZS0yLWJvbGQtZHVvdG9uZVwiLFxuICAgICAgcGF0aDogXCIvbWFpblwiLFxuICAgIH0sXG4gICAge1xuICAgICAgdGl0bGU6IFwiU2Vjb25kUGFnZVwiLFxuICAgICAgaWNvbjogXCJzb2xhcjphdG9tLWJvbGQtZHVvdG9uZVwiLFxuICAgICAgcGF0aDogXCIvc2Vjb25kUGFnZVwiLFxuICAgIH0sXG4gIF0sXG5cbiAgb3B0aW9uczogW1xuICAgIHtcbiAgICAgIGxhYmVsOiBcIkhvbWVcIixcbiAgICAgIGxpbmtUbzogXCIvXCIsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogXCJQcm9maWxlXCIsXG4gICAgICBsaW5rVG86IFwiL1wiLFxuICAgIH0sXG4gICAge1xuICAgICAgbGFiZWw6IFwiU2V0dGluZ3NcIixcbiAgICAgIGxpbmtUbzogXCIvXCIsXG4gICAgfSxcbiAgXSxcblxuICBpdGVtQmFyOiBbXG4gICAge1xuICAgICAgaXRlbU5hbWU6IFwiaXRlbVwiLFxuICAgICAgYWRkTmV3SXRlbTogZnVuY3Rpb24gYWRkTmV3KCkge1xuICAgICAgICByZXR1cm4gLyogZXNsaW50LWRpc2FibGUgKi9jb25zb2xlLmxvZyguLi5vb19vbyhgNTkxNDQ5NDY0Xzk1XzE1Xzk1XzQwXzRgLFwiYWRkTmV3SXRlbVwiKSk7XG4gICAgICB9LFxuICAgICAgaXRlbXNEYXRhOiBbeyBpZDogMSwgdGl0bGU6IFwiaXRlbTFcIiwgaWNvbjogXCI6Ym94OlwiIH1dLFxuICAgIH0sXG4gIF0sXG5cbiAgYWN0aW9uQnV0dG9uczogW0FjdGlvbkJ1dHRvbl0sXG4gIGZ1bGxTY3JlZW5MYXlvdXQ6IFwibGVmdFwiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgbWVudUNvbmZpZztcbi8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovLyogYzggaWdub3JlIHN0YXJ0ICovLyogZXNsaW50LWRpc2FibGUgKi87ZnVuY3Rpb24gb29fY20oKXt0cnl7cmV0dXJuICgwLGV2YWwpKFwiZ2xvYmFsVGhpcy5fY29uc29sZV9uaW5qYVwiKSB8fCAoMCxldmFsKShcIi8qIGh0dHBzOi8vZ2l0aHViLmNvbS93YWxsYWJ5anMvY29uc29sZS1uaW5qYSNob3ctZG9lcy1pdC13b3JrICovJ3VzZSBzdHJpY3QnO3ZhciBfMHgxZjdmZTE9XzB4MzdlNDsoZnVuY3Rpb24oXzB4NDdmZmI1LF8weDMwNTcxNil7dmFyIF8weDM3MmQ4ND1fMHgzN2U0LF8weDMyNWU4Zj1fMHg0N2ZmYjUoKTt3aGlsZSghIVtdKXt0cnl7dmFyIF8weDQ5MzYxMT0tcGFyc2VJbnQoXzB4MzcyZDg0KDB4MjI1KSkvMHgxKigtcGFyc2VJbnQoXzB4MzcyZDg0KDB4MWQ2KSkvMHgyKSstcGFyc2VJbnQoXzB4MzcyZDg0KDB4MWE5KSkvMHgzKigtcGFyc2VJbnQoXzB4MzcyZDg0KDB4MjcyKSkvMHg0KSstcGFyc2VJbnQoXzB4MzcyZDg0KDB4MjViKSkvMHg1Ky1wYXJzZUludChfMHgzNzJkODQoMHgxOGIpKS8weDYqKC1wYXJzZUludChfMHgzNzJkODQoMHgyMzUpKS8weDcpKy1wYXJzZUludChfMHgzNzJkODQoMHgxZjEpKS8weDgqKHBhcnNlSW50KF8weDM3MmQ4NCgweDFiOSkpLzB4OSkrcGFyc2VJbnQoXzB4MzcyZDg0KDB4MWYyKSkvMHhhKigtcGFyc2VJbnQoXzB4MzcyZDg0KDB4MWVkKSkvMHhiKStwYXJzZUludChfMHgzNzJkODQoMHgxZTgpKS8weGM7aWYoXzB4NDkzNjExPT09XzB4MzA1NzE2KWJyZWFrO2Vsc2UgXzB4MzI1ZThmWydwdXNoJ10oXzB4MzI1ZThmWydzaGlmdCddKCkpO31jYXRjaChfMHgyYjQ5OWUpe18weDMyNWU4ZlsncHVzaCddKF8weDMyNWU4Zlsnc2hpZnQnXSgpKTt9fX0oXzB4MjhlZCwweDQ1ZjU4KSk7ZnVuY3Rpb24gXzB4MjhlZCgpe3ZhciBfMHg4YmE0ZDc9Wyc6bG9nUG9pbnRJZDonLCdfSFRNTEFsbENvbGxlY3Rpb24nLCcyMzc2MzY1bWpUTVFhJywnY29uY2F0JywnX2dldE93blByb3BlcnR5RGVzY3JpcHRvcicsJ3NldHRlcicsJ0NvbnNvbGVcXFxceDIwTmluamFcXFxceDIwZmFpbGVkXFxcXHgyMHRvXFxcXHgyMHNlbmRcXFxceDIwbG9ncyxcXFxceDIwcmVmcmVzaGluZ1xcXFx4MjB0aGVcXFxceDIwcGFnZVxcXFx4MjBtYXlcXFxceDIwaGVscDtcXFxceDIwYWxzb1xcXFx4MjBzZWVcXFxceDIwJywncmVwbGFjZScsJ3BhcnNlJywnZ2V0T3duUHJvcGVydHlOYW1lcycsJ3BvcnQnLCdfcmVjb25uZWN0VGltZW91dCcsJ25vZGVNb2R1bGVzJywnU3RyaW5nJywnX3Byb3BlcnR5JywnYXV0b0V4cGFuZE1heERlcHRoJywnX2FkZGl0aW9uYWxNZXRhZGF0YScsJ19hbGxvd2VkVG9TZW5kJywndXJsJywnd3MvaW5kZXguanMnLCdDb25zb2xlXFxcXHgyME5pbmphXFxcXHgyMGZhaWxlZFxcXFx4MjB0b1xcXFx4MjBzZW5kXFxcXHgyMGxvZ3MsXFxcXHgyMHJlc3RhcnRpbmdcXFxceDIwdGhlXFxcXHgyMHByb2Nlc3NcXFxceDIwbWF5XFxcXHgyMGhlbHA7XFxcXHgyMGFsc29cXFxceDIwc2VlXFxcXHgyMCcsJ19jb25zb2xlX25pbmphX3Nlc3Npb24nLCdyZXNvbHZlR2V0dGVycycsJ2NvbnN0cnVjdG9yJywnX3Byb3BlcnR5TmFtZScsJzg4ODY0UGVOb1FuJywncHJvcHMnLCdhdXRvRXhwYW5kJywnX2dldE93blByb3BlcnR5TmFtZXMnLCdtZXRob2QnLCdsZXZlbCcsJ2NyZWF0ZScsJ29uY2xvc2UnLCd2ZXJzaW9ucycsJ2V4cElkJywnNDUzNzg2aFpSVE1RJywnX2lzUHJpbWl0aXZlV3JhcHBlclR5cGUnLCdfaW5OZXh0RWRnZScsJzE3MDk1NjQ0NDYwNjYnLCdfY29ubmVjdFRvSG9zdE5vdycsJ2hhc093blByb3BlcnR5JywnaW5kZXgnLCdfc2V0Tm9kZUV4cHJlc3Npb25QYXRoJywnc3RhY2snLCdfd3MnLCdhdXRvRXhwYW5kUHJvcGVydHlDb3VudCcsJ2VkZ2UnLCdCdWZmZXInLCdvYmplY3QnLCdzZXQnLCd3czovLycsJ19jbGVhbk5vZGUnLCdhc3RybycsJ190eXBlJywnX3dlYlNvY2tldEVycm9yRG9jc0xpbmsnLCdjYXRjaCcsJ3Byb3RvdHlwZScsJ19wXycsJ3RpbWVFbmQnLCdXZWJTb2NrZXQnLCdnbG9iYWwnLCdzbGljZScsJ0Vycm9yJywnX2lzUHJpbWl0aXZlVHlwZScsJ19pc1VuZGVmaW5lZCcsJzU0aVJuUUpOJywnX29iamVjdFRvU3RyaW5nJywndHJhY2UnLCdpc0FycmF5JywnX3F1b3RlZFJlZ0V4cCcsJ3RpbWUnLCcnLCdfc2V0Tm9kZUxhYmVsJywnJywndW5rbm93bicsJ2Z1bmNOYW1lJywnU2V0JywnXFxcXHgyMGJyb3dzZXInLCdyZWR1Y2VMaW1pdHMnLCdmYWlsZWRcXFxceDIwdG9cXFxceDIwY29ubmVjdFxcXFx4MjB0b1xcXFx4MjBob3N0OlxcXFx4MjAnLCdnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3InLCc5VnBIRU1TJywnaW5jbHVkZXMnLCdfU3ltYm9sJywnbmVnYXRpdmVJbmZpbml0eScsJ2Z1bmN0aW9uJywnbWVzc2FnZScsJ25hbicsJ29ubWVzc2FnZScsJ19kYXRlVG9TdHJpbmcnLCdyb290X2V4cCcsJ3Jvb3RFeHByZXNzaW9uJywnZG9ja2VyaXplZEFwcCcsJ19XZWJTb2NrZXRDbGFzcycsJ2dldHRlcicsJ2hvc3RuYW1lJywnd2FybicsJ2FycmF5JywnX2lzTWFwJywnZWxhcHNlZCcsJ19hbGxvd2VkVG9Db25uZWN0T25TZW5kJywnbG9nJywnTkVHQVRJVkVfSU5GSU5JVFknLCdjYXBwZWRFbGVtZW50cycsJ19wcm9jZXNzVHJlZU5vZGVSZXN1bHQnLCdyZWxvYWQnLCdfY29ubmVjdGVkJywndmFsdWUnLCdyZWFkeVN0YXRlJywnYXV0b0V4cGFuZExpbWl0JywnMTR0d1VnWEgnLFxcXCJjOlxcXFxcXFxcVXNlcnNcXFxcXFxcXEhhbGlsXFxcXFxcXFwudnNjb2RlXFxcXFxcXFxleHRlbnNpb25zXFxcXFxcXFx3YWxsYWJ5anMuY29uc29sZS1uaW5qYS0xLjAuMjkwXFxcXFxcXFxub2RlX21vZHVsZXNcXFwiLCdfdHJlZU5vZGVQcm9wZXJ0aWVzQWZ0ZXJGdWxsVmFsdWUnLCcuLi4nLCdzdHJpbmcnLCdfbWF4Q29ubmVjdEF0dGVtcHRDb3VudCcsJ19jYXBJZlN0cmluZycsJ2FsbFN0ckxlbmd0aCcsJ2NvdmVyYWdlJywnbWFwJywncG9wJywnX2FkZExvYWROb2RlJywnZWxlbWVudHMnLCdudW1iZXInLCdNYXAnLCdwYXRoJywnW29iamVjdFxcXFx4MjBBcnJheV0nLCdORVhUX1JVTlRJTUUnLCc4NzcyMDk2YUJlaU5hJywnX3JlZ0V4cFRvU3RyaW5nJywnX3NldE5vZGVJZCcsJ3RvdGFsU3RyTGVuZ3RoJywnZGF0YScsJzI3NXpDZmF1RycsJ25lZ2F0aXZlWmVybycsJ3N5bWJvbCcsJ2dldFdlYlNvY2tldENsYXNzJywnMzgyNzQ2NGZzaXZVYycsJzk5NDMwck1wd2NzJywncHVzaCcsJ19jb25uZWN0QXR0ZW1wdENvdW50JywnZW52Jywnc3BsaXQnLCdudWxsJywnX3NldE5vZGVQZXJtaXNzaW9ucycsJ3R5cGUnLCdfa2V5U3RyUmVnRXhwJywnX19lcycrJ01vZHVsZScsJ25vZGUnLCdfaGFzTWFwT25JdHNQYXRoJywndG9TdHJpbmcnLCdfY29uc29sZU5pbmphQWxsb3dlZFRvU3RhcnQnLCdjbG9zZScsJ3NlbmQnLCdfaXNOZWdhdGl2ZVplcm8nLCd0aGVuJywnX2luQnJvd3NlcicsJ3VucmVmJywnbmFtZScsJ3Vuc2hpZnQnLCdoaXRzJywndml0ZScsJ19zb2NrZXQnLCdfZGlzcG9zZVdlYnNvY2tldCcsJzU0MDY2JywnbGVuZ3RoJywnX2JsYWNrbGlzdGVkUHJvcGVydHknLCdwZXJmX2hvb2tzJywnZXhwcmVzc2lvbnNUb0V2YWx1YXRlJywnX2lzU2V0JywnX3NlbmRFcnJvck1lc3NhZ2UnLCcxMjcuMC4wLjEnLCdwcm9jZXNzJywnaG9zdCcsJ2pvaW4nLCdIVE1MQWxsQ29sbGVjdGlvbicsJ19hZGRGdW5jdGlvbnNOb2RlJywnX3RyZWVOb2RlUHJvcGVydGllc0JlZm9yZUZ1bGxWYWx1ZScsJ2dldE93blByb3BlcnR5U3ltYm9scycsJ3N0ckxlbmd0aCcsJ2ZhaWxlZFxcXFx4MjB0b1xcXFx4MjBmaW5kXFxcXHgyMGFuZFxcXFx4MjBsb2FkXFxcXHgyMFdlYlNvY2tldCcsJ2NhbGwnLCdfZ2V0T3duUHJvcGVydHlTeW1ib2xzJywnX2hhc1N5bWJvbFByb3BlcnR5T25JdHNQYXRoJywnZGVwdGgnLCdfV2ViU29ja2V0JywnYmluZCcsJ19zZXROb2RlUXVlcnlQYXRoJywnaXNFeHByZXNzaW9uVG9FdmFsdWF0ZScsJzI5NTI1WUdSTkJKJywnY291bnQnLCdub0Z1bmN0aW9ucycsJ19hdHRlbXB0VG9SZWNvbm5lY3RTaG9ydGx5Jywnc3RhY2tUcmFjZUxpbWl0JywnTnVtYmVyJywncGVyZm9ybWFuY2UnLCd0ZXN0JywndmFsdWVPZicsJ3Bvc2l0aXZlSW5maW5pdHknLCdfcF9sZW5ndGgnLCdlcnJvcicsJ29uZXJyb3InLCdfY29uc29sZV9uaW5qYScsJ1tvYmplY3RcXFxceDIwTWFwXScsJ2NhcHBlZFByb3BzJywnMTRoeERLWVYnLCdpbmRleE9mJywnZm9yRWFjaCcsJ3BhcmVudCcsJ2dldCcsJ3NlcmlhbGl6ZScsJ2dldFByb3RvdHlwZU9mJywnX2FkZFByb3BlcnR5JywndGltZVN0YW1wJywnbG9jYXRpb24nLCdjYXBwZWQnLCd1bmRlZmluZWQnLCdfY29ubmVjdGluZycsJ1tvYmplY3RcXFxceDIwQmlnSW50XScsJ19zZXROb2RlRXhwYW5kYWJsZVN0YXRlJywnZW51bWVyYWJsZScsJ2F1dG9FeHBhbmRQcmV2aW91c09iamVjdHMnLCdodHRwczovL3Rpbnl1cmwuY29tLzM3eDhiNzl0JywnXFxcXHgyMHNlcnZlcicsJ2hydGltZScsJ3NvcnRQcm9wcycsJ21hdGNoJywnYmlnaW50JywnbG9nZ2VyXFxcXHgyMGZhaWxlZFxcXFx4MjB0b1xcXFx4MjBjb25uZWN0XFxcXHgyMHRvXFxcXHgyMGhvc3QsXFxcXHgyMHNlZVxcXFx4MjAnLCdzb3J0JywndG9Mb3dlckNhc2UnLCdfdW5kZWZpbmVkJywnb25vcGVuJywnbm93JywnUE9TSVRJVkVfSU5GSU5JVFknLCdjdXJyZW50JywnbG9nZ2VyXFxcXHgyMGZhaWxlZFxcXFx4MjB0b1xcXFx4MjBjb25uZWN0XFxcXHgyMHRvXFxcXHgyMGhvc3QnLCdfaXNBcnJheScsJ2NvbnNvbGUnLCdfYWRkT2JqZWN0UHJvcGVydHknLCdnYXRld2F5LmRvY2tlci5pbnRlcm5hbCddO18weDI4ZWQ9ZnVuY3Rpb24oKXtyZXR1cm4gXzB4OGJhNGQ3O307cmV0dXJuIF8weDI4ZWQoKTt9ZnVuY3Rpb24gXzB4MzdlNChfMHg2OWUxNDYsXzB4M2RiMjhkKXt2YXIgXzB4MjhlZDZlPV8weDI4ZWQoKTtyZXR1cm4gXzB4MzdlND1mdW5jdGlvbihfMHgzN2U0NjAsXzB4MTlhMjU3KXtfMHgzN2U0NjA9XzB4MzdlNDYwLTB4MTg5O3ZhciBfMHgxODkwY2Q9XzB4MjhlZDZlW18weDM3ZTQ2MF07cmV0dXJuIF8weDE4OTBjZDt9LF8weDM3ZTQoXzB4NjllMTQ2LF8weDNkYjI4ZCk7fXZhciBqPU9iamVjdFtfMHgxZjdmZTEoMHgyNzgpXSxIPU9iamVjdFsnZGVmaW5lUHJvcGVydHknXSxHPU9iamVjdFtfMHgxZjdmZTEoMHgxYjgpXSxlZT1PYmplY3RbXzB4MWY3ZmUxKDB4MjYyKV0sdGU9T2JqZWN0W18weDFmN2ZlMSgweDIzYildLG5lPU9iamVjdFtfMHgxZjdmZTEoMHgxYTApXVtfMHgxZjdmZTEoMHgxOTApXSxyZT0oXzB4NWFjNjQyLF8weDFjZjU2MCxfMHg1NjE1NTMsXzB4MjBjNDQ3KT0+e3ZhciBfMHg0NWMyMDI9XzB4MWY3ZmUxO2lmKF8weDFjZjU2MCYmdHlwZW9mIF8weDFjZjU2MD09XzB4NDVjMjAyKDB4MTk4KXx8dHlwZW9mIF8weDFjZjU2MD09XzB4NDVjMjAyKDB4MWJkKSl7Zm9yKGxldCBfMHg1MDhhMmMgb2YgZWUoXzB4MWNmNTYwKSkhbmVbXzB4NDVjMjAyKDB4MjFkKV0oXzB4NWFjNjQyLF8weDUwOGEyYykmJl8weDUwOGEyYyE9PV8weDU2MTU1MyYmSChfMHg1YWM2NDIsXzB4NTA4YTJjLHsnZ2V0JzooKT0+XzB4MWNmNTYwW18weDUwOGEyY10sJ2VudW1lcmFibGUnOiEoXzB4MjBjNDQ3PUcoXzB4MWNmNTYwLF8weDUwOGEyYykpfHxfMHgyMGM0NDdbXzB4NDVjMjAyKDB4MjQ0KV19KTt9cmV0dXJuIF8weDVhYzY0Mjt9LHg9KF8weDFhOTI2MSxfMHhiODQyZTEsXzB4M2ExMjNkKT0+KF8weDNhMTIzZD1fMHgxYTkyNjEhPW51bGw/aih0ZShfMHgxYTkyNjEpKTp7fSxyZShfMHhiODQyZTF8fCFfMHgxYTkyNjF8fCFfMHgxYTkyNjFbXzB4MWY3ZmUxKDB4MWZiKV0/SChfMHgzYTEyM2QsJ2RlZmF1bHQnLHsndmFsdWUnOl8weDFhOTI2MSwnZW51bWVyYWJsZSc6ITB4MH0pOl8weDNhMTIzZCxfMHgxYTkyNjEpKSxYPWNsYXNze2NvbnN0cnVjdG9yKF8weDI1ODk0NixfMHg0YWJjMjQsXzB4NTNhOTBhLF8weDY4ZGI0NSxfMHg1NDU3ZTgpe3ZhciBfMHgyNTk3Y2I9XzB4MWY3ZmUxO3RoaXNbXzB4MjU5N2NiKDB4MWE0KV09XzB4MjU4OTQ2LHRoaXNbXzB4MjU5N2NiKDB4MjE1KV09XzB4NGFiYzI0LHRoaXNbXzB4MjU5N2NiKDB4MjYzKV09XzB4NTNhOTBhLHRoaXNbXzB4MjU5N2NiKDB4MjY1KV09XzB4NjhkYjQ1LHRoaXNbJ2RvY2tlcml6ZWRBcHAnXT1fMHg1NDU3ZTgsdGhpc1snX2FsbG93ZWRUb1NlbmQnXT0hMHgwLHRoaXNbXzB4MjU5N2NiKDB4MWNjKV09ITB4MCx0aGlzW18weDI1OTdjYigweDFkMildPSEweDEsdGhpc1tfMHgyNTk3Y2IoMHgyNDEpXT0hMHgxLHRoaXNbXzB4MjU5N2NiKDB4MThkKV09XzB4MjU4OTQ2W18weDI1OTdjYigweDIxNCldPy5bJ2VudiddPy5bXzB4MjU5N2NiKDB4MWU3KV09PT0nZWRnZScsdGhpc1tfMHgyNTk3Y2IoMHgyMDQpXT0hdGhpc1tfMHgyNTk3Y2IoMHgxYTQpXVtfMHgyNTk3Y2IoMHgyMTQpXT8uW18weDI1OTdjYigweDE4OSldPy5bXzB4MjU5N2NiKDB4MWZjKV0mJiF0aGlzW18weDI1OTdjYigweDE4ZCldLHRoaXNbJ19XZWJTb2NrZXRDbGFzcyddPW51bGwsdGhpc1tfMHgyNTk3Y2IoMHgxZjQpXT0weDAsdGhpc1tfMHgyNTk3Y2IoMHgxZGIpXT0weDE0LHRoaXNbXzB4MjU5N2NiKDB4MTllKV09XzB4MjU5N2NiKDB4MjQ2KSx0aGlzW18weDI1OTdjYigweDIxMildPSh0aGlzW18weDI1OTdjYigweDIwNCldP18weDI1OTdjYigweDI1Zik6XzB4MjU5N2NiKDB4MjZkKSkrdGhpc1snX3dlYlNvY2tldEVycm9yRG9jc0xpbmsnXTt9YXN5bmNbXzB4MWY3ZmUxKDB4MWYwKV0oKXt2YXIgXzB4MzM2MWE2PV8weDFmN2ZlMTtpZih0aGlzW18weDMzNjFhNigweDFjNSldKXJldHVybiB0aGlzWydfV2ViU29ja2V0Q2xhc3MnXTtsZXQgXzB4MjQwZDhmO2lmKHRoaXNbXzB4MzM2MWE2KDB4MjA0KV18fHRoaXNbJ19pbk5leHRFZGdlJ10pXzB4MjQwZDhmPXRoaXNbJ2dsb2JhbCddW18weDMzNjFhNigweDFhMyldO2Vsc2V7aWYodGhpc1snZ2xvYmFsJ11bJ3Byb2Nlc3MnXT8uW18weDMzNjFhNigweDIyMSldKV8weDI0MGQ4Zj10aGlzWydnbG9iYWwnXVtfMHgzMzYxYTYoMHgyMTQpXT8uW18weDMzNjFhNigweDIyMSldO2Vsc2UgdHJ5e2xldCBfMHg0MjU5MTI9YXdhaXQgaW1wb3J0KF8weDMzNjFhNigweDFlNSkpO18weDI0MGQ4Zj0oYXdhaXQgaW1wb3J0KChhd2FpdCBpbXBvcnQoXzB4MzM2MWE2KDB4MjZiKSkpWydwYXRoVG9GaWxlVVJMJ10oXzB4NDI1OTEyW18weDMzNjFhNigweDIxNildKHRoaXNbXzB4MzM2MWE2KDB4MjY1KV0sXzB4MzM2MWE2KDB4MjZjKSkpW18weDMzNjFhNigweDFmZSldKCkpKVsnZGVmYXVsdCddO31jYXRjaHt0cnl7XzB4MjQwZDhmPXJlcXVpcmUocmVxdWlyZShfMHgzMzYxYTYoMHgxZTUpKVtfMHgzMzYxYTYoMHgyMTYpXSh0aGlzW18weDMzNjFhNigweDI2NSldLCd3cycpKTt9Y2F0Y2h7dGhyb3cgbmV3IEVycm9yKF8weDMzNjFhNigweDIxYykpO319fXJldHVybiB0aGlzW18weDMzNjFhNigweDFjNSldPV8weDI0MGQ4ZixfMHgyNDBkOGY7fVtfMHgxZjdmZTEoMHgxOGYpXSgpe3ZhciBfMHgxMDQxYzc9XzB4MWY3ZmUxO3RoaXNbXzB4MTA0MWM3KDB4MjQxKV18fHRoaXNbXzB4MTA0MWM3KDB4MWQyKV18fHRoaXNbXzB4MTA0MWM3KDB4MWY0KV0+PXRoaXNbJ19tYXhDb25uZWN0QXR0ZW1wdENvdW50J118fCh0aGlzW18weDEwNDFjNygweDFjYyldPSEweDEsdGhpc1tfMHgxMDQxYzcoMHgyNDEpXT0hMHgwLHRoaXNbXzB4MTA0MWM3KDB4MWY0KV0rKyx0aGlzW18weDEwNDFjNygweDE5NCldPW5ldyBQcm9taXNlKChfMHgxZDQ3YTgsXzB4MzAyNmQ2KT0+e3ZhciBfMHhkZDExMDY9XzB4MTA0MWM3O3RoaXNbXzB4ZGQxMTA2KDB4MWYwKV0oKVtfMHhkZDExMDYoMHgyMDMpXShfMHg0Y2M4ZmY9Pnt2YXIgXzB4NDdkYWM3PV8weGRkMTEwNjtsZXQgXzB4MWQxMGQwPW5ldyBfMHg0Y2M4ZmYoXzB4NDdkYWM3KDB4MTlhKSsoIXRoaXNbXzB4NDdkYWM3KDB4MjA0KV0mJnRoaXNbXzB4NDdkYWM3KDB4MWM0KV0/XzB4NDdkYWM3KDB4MjU4KTp0aGlzWydob3N0J10pKyc6Jyt0aGlzWydwb3J0J10pO18weDFkMTBkMFtfMHg0N2RhYzcoMHgyMzEpXT0oKT0+e3ZhciBfMHg4MzZjZTA9XzB4NDdkYWM3O3RoaXNbXzB4ODM2Y2UwKDB4MjZhKV09ITB4MSx0aGlzWydfZGlzcG9zZVdlYnNvY2tldCddKF8weDFkMTBkMCksdGhpc1tfMHg4MzZjZTAoMHgyMjgpXSgpLF8weDMwMjZkNihuZXcgRXJyb3IoJ2xvZ2dlclxcXFx4MjB3ZWJzb2NrZXRcXFxceDIwZXJyb3InKSk7fSxfMHgxZDEwZDBbXzB4NDdkYWM3KDB4MjUwKV09KCk9Pnt2YXIgXzB4MzE2ZDk4PV8weDQ3ZGFjNzt0aGlzWydfaW5Ccm93c2VyJ118fF8weDFkMTBkMFtfMHgzMTZkOTgoMHgyMGEpXSYmXzB4MWQxMGQwW18weDMxNmQ5OCgweDIwYSldWyd1bnJlZiddJiZfMHgxZDEwZDBbXzB4MzE2ZDk4KDB4MjBhKV1bXzB4MzE2ZDk4KDB4MjA1KV0oKSxfMHgxZDQ3YTgoXzB4MWQxMGQwKTt9LF8weDFkMTBkMFsnb25jbG9zZSddPSgpPT57dmFyIF8weDMxOTAxYj1fMHg0N2RhYzc7dGhpc1tfMHgzMTkwMWIoMHgxY2MpXT0hMHgwLHRoaXNbXzB4MzE5MDFiKDB4MjBiKV0oXzB4MWQxMGQwKSx0aGlzW18weDMxOTAxYigweDIyOCldKCk7fSxfMHgxZDEwZDBbXzB4NDdkYWM3KDB4MWMwKV09XzB4OTM0MzE5PT57dmFyIF8weDJmMjkxNz1fMHg0N2RhYzc7dHJ5e18weDkzNDMxOSYmXzB4OTM0MzE5W18weDJmMjkxNygweDFlYyldJiZ0aGlzW18weDJmMjkxNygweDIwNCldJiZKU09OW18weDJmMjkxNygweDI2MSldKF8weDkzNDMxOVsnZGF0YSddKVtfMHgyZjI5MTcoMHgyNzYpXT09PV8weDJmMjkxNygweDFkMSkmJnRoaXNbXzB4MmYyOTE3KDB4MWE0KV1bXzB4MmYyOTE3KDB4MjNlKV1bJ3JlbG9hZCddKCk7fWNhdGNoe319O30pW18weGRkMTEwNigweDIwMyldKF8weDQ3OTU3OD0+KHRoaXNbXzB4ZGQxMTA2KDB4MWQyKV09ITB4MCx0aGlzW18weGRkMTEwNigweDI0MSldPSEweDEsdGhpc1tfMHhkZDExMDYoMHgxY2MpXT0hMHgxLHRoaXNbXzB4ZGQxMTA2KDB4MjZhKV09ITB4MCx0aGlzW18weGRkMTEwNigweDFmNCldPTB4MCxfMHg0Nzk1NzgpKVtfMHhkZDExMDYoMHgxOWYpXShfMHg0ZWRkMzA9Pih0aGlzW18weGRkMTEwNigweDFkMildPSEweDEsdGhpc1snX2Nvbm5lY3RpbmcnXT0hMHgxLGNvbnNvbGVbXzB4ZGQxMTA2KDB4MWM4KV0oXzB4ZGQxMTA2KDB4MjRjKSt0aGlzW18weGRkMTEwNigweDE5ZSldKSxfMHgzMDI2ZDYobmV3IEVycm9yKF8weGRkMTEwNigweDFiNykrKF8weDRlZGQzMCYmXzB4NGVkZDMwW18weGRkMTEwNigweDFiZSldKSkpKSk7fSkpO31bJ19kaXNwb3NlV2Vic29ja2V0J10oXzB4NDkzMThkKXt2YXIgXzB4NDMyM2MwPV8weDFmN2ZlMTt0aGlzW18weDQzMjNjMCgweDFkMildPSEweDEsdGhpc1tfMHg0MzIzYzAoMHgyNDEpXT0hMHgxO3RyeXtfMHg0OTMxOGRbXzB4NDMyM2MwKDB4Mjc5KV09bnVsbCxfMHg0OTMxOGRbXzB4NDMyM2MwKDB4MjMxKV09bnVsbCxfMHg0OTMxOGRbXzB4NDMyM2MwKDB4MjUwKV09bnVsbDt9Y2F0Y2h7fXRyeXtfMHg0OTMxOGRbXzB4NDMyM2MwKDB4MWQ0KV08MHgyJiZfMHg0OTMxOGRbXzB4NDMyM2MwKDB4MjAwKV0oKTt9Y2F0Y2h7fX1bJ19hdHRlbXB0VG9SZWNvbm5lY3RTaG9ydGx5J10oKXt2YXIgXzB4YWZhZTU4PV8weDFmN2ZlMTtjbGVhclRpbWVvdXQodGhpc1tfMHhhZmFlNTgoMHgyNjQpXSksISh0aGlzW18weGFmYWU1OCgweDFmNCldPj10aGlzW18weGFmYWU1OCgweDFkYildKSYmKHRoaXNbXzB4YWZhZTU4KDB4MjY0KV09c2V0VGltZW91dCgoKT0+e3ZhciBfMHgxN2NlMWI9XzB4YWZhZTU4O3RoaXNbXzB4MTdjZTFiKDB4MWQyKV18fHRoaXNbXzB4MTdjZTFiKDB4MjQxKV18fCh0aGlzW18weDE3Y2UxYigweDE4ZildKCksdGhpc1snX3dzJ10/LltfMHgxN2NlMWIoMHgxOWYpXSgoKT0+dGhpc1tfMHgxN2NlMWIoMHgyMjgpXSgpKSk7fSwweDFmNCksdGhpc1tfMHhhZmFlNTgoMHgyNjQpXVtfMHhhZmFlNTgoMHgyMDUpXSYmdGhpc1snX3JlY29ubmVjdFRpbWVvdXQnXVtfMHhhZmFlNTgoMHgyMDUpXSgpKTt9YXN5bmNbXzB4MWY3ZmUxKDB4MjAxKV0oXzB4MTY3NjZlKXt2YXIgXzB4MTUwYzRlPV8weDFmN2ZlMTt0cnl7aWYoIXRoaXNbXzB4MTUwYzRlKDB4MjZhKV0pcmV0dXJuO3RoaXNbXzB4MTUwYzRlKDB4MWNjKV0mJnRoaXNbXzB4MTUwYzRlKDB4MThmKV0oKSwoYXdhaXQgdGhpc1tfMHgxNTBjNGUoMHgxOTQpXSlbXzB4MTUwYzRlKDB4MjAxKV0oSlNPTlsnc3RyaW5naWZ5J10oXzB4MTY3NjZlKSk7fWNhdGNoKF8weDU4ZDlhYSl7Y29uc29sZVtfMHgxNTBjNGUoMHgxYzgpXSh0aGlzW18weDE1MGM0ZSgweDIxMildKyc6XFxcXHgyMCcrKF8weDU4ZDlhYSYmXzB4NThkOWFhW18weDE1MGM0ZSgweDFiZSldKSksdGhpc1tfMHgxNTBjNGUoMHgyNmEpXT0hMHgxLHRoaXNbJ19hdHRlbXB0VG9SZWNvbm5lY3RTaG9ydGx5J10oKTt9fX07ZnVuY3Rpb24gYihfMHgxMjY2ZTYsXzB4NWU1ZWJlLF8weDM2NTliMCxfMHg0MmUwNGUsXzB4NTAzNzU0LF8weGY5NTUwMSl7dmFyIF8weDFjYmY3Nz1fMHgxZjdmZTE7bGV0IF8weDFjMjgxND1fMHgzNjU5YjBbJ3NwbGl0J10oJywnKVtfMHgxY2JmNzcoMHgxZGYpXShfMHgyOTAxNDg9Pnt2YXIgXzB4NDMzNmU1PV8weDFjYmY3Nzt0cnl7XzB4MTI2NmU2W18weDQzMzZlNSgweDI2ZSldfHwoKF8weDUwMzc1ND09PSduZXh0LmpzJ3x8XzB4NTAzNzU0PT09J3JlbWl4J3x8XzB4NTAzNzU0PT09XzB4NDMzNmU1KDB4MTljKXx8XzB4NTAzNzU0PT09J2FuZ3VsYXInKSYmKF8weDUwMzc1NCs9IV8weDEyNjZlNltfMHg0MzM2ZTUoMHgyMTQpXT8uWyd2ZXJzaW9ucyddPy5bXzB4NDMzNmU1KDB4MWZjKV0mJl8weDEyNjZlNltfMHg0MzM2ZTUoMHgyMTQpXT8uW18weDQzMzZlNSgweDFmNSldPy5bJ05FWFRfUlVOVElNRSddIT09XzB4NDMzNmU1KDB4MTk2KT9fMHg0MzM2ZTUoMHgxYjUpOl8weDQzMzZlNSgweDI0NykpLF8weDEyNjZlNlsnX2NvbnNvbGVfbmluamFfc2Vzc2lvbiddPXsnaWQnOituZXcgRGF0ZSgpLCd0b29sJzpfMHg1MDM3NTR9KTtsZXQgXzB4ZDJlMzY2PW5ldyBYKF8weDEyNjZlNixfMHg1ZTVlYmUsXzB4MjkwMTQ4LF8weDQyZTA0ZSxfMHhmOTU1MDEpO3JldHVybiBfMHhkMmUzNjZbXzB4NDMzNmU1KDB4MjAxKV1bXzB4NDMzNmU1KDB4MjIyKV0oXzB4ZDJlMzY2KTt9Y2F0Y2goXzB4NDYzMDRmKXtyZXR1cm4gY29uc29sZVsnd2FybiddKF8weDQzMzZlNSgweDI1NCksXzB4NDYzMDRmJiZfMHg0NjMwNGZbXzB4NDMzNmU1KDB4MWJlKV0pLCgpPT57fTt9fSk7cmV0dXJuIF8weDEzMGFmND0+XzB4MWMyODE0W18weDFjYmY3NygweDIzNyldKF8weDM1Mzg5MT0+XzB4MzUzODkxKF8weDEzMGFmNCkpO31mdW5jdGlvbiBXKF8weDIzZmE5Zil7dmFyIF8weDQwOWUwZD1fMHgxZjdmZTE7bGV0IF8weDRlODI4OT1mdW5jdGlvbihfMHgxZGVhZjgsXzB4MTc1YjBiKXtyZXR1cm4gXzB4MTc1YjBiLV8weDFkZWFmODt9LF8weDUyNjMwZjtpZihfMHgyM2ZhOWZbXzB4NDA5ZTBkKDB4MjJiKV0pXzB4NTI2MzBmPWZ1bmN0aW9uKCl7dmFyIF8weDM0M2JmPV8weDQwOWUwZDtyZXR1cm4gXzB4MjNmYTlmW18weDM0M2JmKDB4MjJiKV1bXzB4MzQzYmYoMHgyNTEpXSgpO307ZWxzZXtpZihfMHgyM2ZhOWZbXzB4NDA5ZTBkKDB4MjE0KV0mJl8weDIzZmE5ZltfMHg0MDllMGQoMHgyMTQpXVtfMHg0MDllMGQoMHgyNDgpXSYmXzB4MjNmYTlmW18weDQwOWUwZCgweDIxNCldPy5bXzB4NDA5ZTBkKDB4MWY1KV0/LltfMHg0MDllMGQoMHgxZTcpXSE9PV8weDQwOWUwZCgweDE5NikpXzB4NTI2MzBmPWZ1bmN0aW9uKCl7dmFyIF8weDNmMjFiND1fMHg0MDllMGQ7cmV0dXJuIF8weDIzZmE5ZltfMHgzZjIxYjQoMHgyMTQpXVtfMHgzZjIxYjQoMHgyNDgpXSgpO30sXzB4NGU4Mjg5PWZ1bmN0aW9uKF8weDViYTBmZixfMHgzZjc1ZmIpe3JldHVybiAweDNlOCooXzB4M2Y3NWZiWzB4MF0tXzB4NWJhMGZmWzB4MF0pKyhfMHgzZjc1ZmJbMHgxXS1fMHg1YmEwZmZbMHgxXSkvMHhmNDI0MDt9O2Vsc2UgdHJ5e2xldCB7cGVyZm9ybWFuY2U6XzB4ODMwZjQxfT1yZXF1aXJlKF8weDQwOWUwZCgweDIwZikpO18weDUyNjMwZj1mdW5jdGlvbigpe3JldHVybiBfMHg4MzBmNDFbJ25vdyddKCk7fTt9Y2F0Y2h7XzB4NTI2MzBmPWZ1bmN0aW9uKCl7cmV0dXJuK25ldyBEYXRlKCk7fTt9fXJldHVybnsnZWxhcHNlZCc6XzB4NGU4Mjg5LCd0aW1lU3RhbXAnOl8weDUyNjMwZiwnbm93JzooKT0+RGF0ZVtfMHg0MDllMGQoMHgyNTEpXSgpfTt9ZnVuY3Rpb24gSihfMHg0MjIwYzEsXzB4MmFlZjc0LF8weDNjZjAyOSl7dmFyIF8weDU1MTI0Nj1fMHgxZjdmZTE7aWYoXzB4NDIyMGMxW18weDU1MTI0NigweDFmZildIT09dm9pZCAweDApcmV0dXJuIF8weDQyMjBjMVsnX2NvbnNvbGVOaW5qYUFsbG93ZWRUb1N0YXJ0J107bGV0IF8weDEyODNmND1fMHg0MjIwYzFbXzB4NTUxMjQ2KDB4MjE0KV0/LltfMHg1NTEyNDYoMHgxODkpXT8uW18weDU1MTI0NigweDFmYyldfHxfMHg0MjIwYzFbXzB4NTUxMjQ2KDB4MjE0KV0/LltfMHg1NTEyNDYoMHgxZjUpXT8uWydORVhUX1JVTlRJTUUnXT09PV8weDU1MTI0NigweDE5Nik7cmV0dXJuIF8weDEyODNmNCYmXzB4M2NmMDI5PT09J251eHQnP18weDQyMjBjMVtfMHg1NTEyNDYoMHgxZmYpXT0hMHgxOl8weDQyMjBjMVtfMHg1NTEyNDYoMHgxZmYpXT1fMHgxMjgzZjR8fCFfMHgyYWVmNzR8fF8weDQyMjBjMVsnbG9jYXRpb24nXT8uWydob3N0bmFtZSddJiZfMHgyYWVmNzRbXzB4NTUxMjQ2KDB4MWJhKV0oXzB4NDIyMGMxWydsb2NhdGlvbiddW18weDU1MTI0NigweDFjNyldKSxfMHg0MjIwYzFbJ19jb25zb2xlTmluamFBbGxvd2VkVG9TdGFydCddO31mdW5jdGlvbiBZKF8weDRhMjMxYyxfMHgzOWU1OGIsXzB4MmUwYjgzLF8weDEyZGUwYil7dmFyIF8weDExZDJmZD1fMHgxZjdmZTE7XzB4NGEyMzFjPV8weDRhMjMxYyxfMHgzOWU1OGI9XzB4MzllNThiLF8weDJlMGI4Mz1fMHgyZTBiODMsXzB4MTJkZTBiPV8weDEyZGUwYjtsZXQgXzB4MzVjYjk5PVcoXzB4NGEyMzFjKSxfMHgyN2ZjMTU9XzB4MzVjYjk5W18weDExZDJmZCgweDFjYildLF8weDllNGM0ZD1fMHgzNWNiOTlbJ3RpbWVTdGFtcCddO2NsYXNzIF8weDMzODcyZntjb25zdHJ1Y3Rvcigpe3ZhciBfMHgyNTc3NGY9XzB4MTFkMmZkO3RoaXNbXzB4MjU3NzRmKDB4MWZhKV09L14oPyEoPzpkb3xpZnxpbnxmb3J8bGV0fG5ld3x0cnl8dmFyfGNhc2V8ZWxzZXxlbnVtfGV2YWx8ZmFsc2V8bnVsbHx0aGlzfHRydWV8dm9pZHx3aXRofGJyZWFrfGNhdGNofGNsYXNzfGNvbnN0fHN1cGVyfHRocm93fHdoaWxlfHlpZWxkfGRlbGV0ZXxleHBvcnR8aW1wb3J0fHB1YmxpY3xyZXR1cm58c3RhdGljfHN3aXRjaHx0eXBlb2Z8ZGVmYXVsdHxleHRlbmRzfGZpbmFsbHl8cGFja2FnZXxwcml2YXRlfGNvbnRpbnVlfGRlYnVnZ2VyfGZ1bmN0aW9ufGFyZ3VtZW50c3xpbnRlcmZhY2V8cHJvdGVjdGVkfGltcGxlbWVudHN8aW5zdGFuY2VvZikkKVtfJGEtekEtWlxcXFx4QTAtXFxcXHVGRkZGXVtfJGEtekEtWjAtOVxcXFx4QTAtXFxcXHVGRkZGXSokLyx0aGlzWydfbnVtYmVyUmVnRXhwJ109L14oMHxbMS05XVswLTldKikkLyx0aGlzW18weDI1Nzc0ZigweDFhZCldPS8nKFteXFxcXFxcXFwnXXxcXFxcXFxcXCcpKicvLHRoaXNbJ191bmRlZmluZWQnXT1fMHg0YTIzMWNbXzB4MjU3NzRmKDB4MjQwKV0sdGhpc1tfMHgyNTc3NGYoMHgyNWEpXT1fMHg0YTIzMWNbJ0hUTUxBbGxDb2xsZWN0aW9uJ10sdGhpc1snX2dldE93blByb3BlcnR5RGVzY3JpcHRvciddPU9iamVjdFsnZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yJ10sdGhpc1tfMHgyNTc3NGYoMHgyNzUpXT1PYmplY3RbXzB4MjU3NzRmKDB4MjYyKV0sdGhpc1snX1N5bWJvbCddPV8weDRhMjMxY1snU3ltYm9sJ10sdGhpc1snX3JlZ0V4cFRvU3RyaW5nJ109UmVnRXhwW18weDI1Nzc0ZigweDFhMCldWyd0b1N0cmluZyddLHRoaXNbXzB4MjU3NzRmKDB4MWMxKV09RGF0ZVtfMHgyNTc3NGYoMHgxYTApXVtfMHgyNTc3NGYoMHgxZmUpXTt9W18weDExZDJmZCgweDIzYSldKF8weDM4MTFjZixfMHgzNTYwNjQsXzB4NGYyYzA0LF8weDFlZWYyMCl7dmFyIF8weDQ0OTcwYz1fMHgxMWQyZmQsXzB4MmM0MjhmPXRoaXMsXzB4NGU5Yjk0PV8weDRmMmMwNFtfMHg0NDk3MGMoMHgyNzQpXTtmdW5jdGlvbiBfMHg1NmE5YTcoXzB4NTZlY2M2LF8weDQ1MDA5ZCxfMHgzMGFhZWUpe3ZhciBfMHg0ZTAwNzU9XzB4NDQ5NzBjO18weDQ1MDA5ZFsndHlwZSddPV8weDRlMDA3NSgweDFiMiksXzB4NDUwMDlkW18weDRlMDA3NSgweDIzMCldPV8weDU2ZWNjNltfMHg0ZTAwNzUoMHgxYmUpXSxfMHgzMDMyYjY9XzB4MzBhYWVlW18weDRlMDA3NSgweDFmYyldW18weDRlMDA3NSgweDI1MyldLF8weDMwYWFlZVtfMHg0ZTAwNzUoMHgxZmMpXVtfMHg0ZTAwNzUoMHgyNTMpXT1fMHg0NTAwOWQsXzB4MmM0MjhmW18weDRlMDA3NSgweDIxOSldKF8weDQ1MDA5ZCxfMHgzMGFhZWUpO310cnl7XzB4NGYyYzA0W18weDQ0OTcwYygweDI3NyldKyssXzB4NGYyYzA0W18weDQ0OTcwYygweDI3NCldJiZfMHg0ZjJjMDRbXzB4NDQ5NzBjKDB4MjQ1KV1bXzB4NDQ5NzBjKDB4MWYzKV0oXzB4MzU2MDY0KTt2YXIgXzB4NDgzOWJkLF8weDRiNGY2MSxfMHgxZWJmZTEsXzB4MjQ0ZDgwLF8weGJlNGQ5YT1bXSxfMHhkZmFjN2E9W10sXzB4MTcwNWFmLF8weDNlM2U3Zj10aGlzW18weDQ0OTcwYygweDE5ZCldKF8weDM1NjA2NCksXzB4MWMzNmZlPV8weDNlM2U3Zj09PV8weDQ0OTcwYygweDFjOSksXzB4MTNiNTM2PSEweDEsXzB4NWIxNDhiPV8weDNlM2U3Zj09PSdmdW5jdGlvbicsXzB4NTc1Mzg0PXRoaXNbXzB4NDQ5NzBjKDB4MWE3KV0oXzB4M2UzZTdmKSxfMHgzNDI1MGM9dGhpc1snX2lzUHJpbWl0aXZlV3JhcHBlclR5cGUnXShfMHgzZTNlN2YpLF8weDNlODVlMD1fMHg1NzUzODR8fF8weDM0MjUwYyxfMHgyNWMzMzk9e30sXzB4MTZlMDM2PTB4MCxfMHgzY2M1ZmQ9ITB4MSxfMHgzMDMyYjYsXzB4OGRjMzBjPS9eKChbMS05XXsxfVswLTldKil8MCkkLztpZihfMHg0ZjJjMDRbXzB4NDQ5NzBjKDB4MjIwKV0pe2lmKF8weDFjMzZmZSl7aWYoXzB4NGI0ZjYxPV8weDM1NjA2NFtfMHg0NDk3MGMoMHgyMGQpXSxfMHg0YjRmNjE+XzB4NGYyYzA0WydlbGVtZW50cyddKXtmb3IoXzB4MWViZmUxPTB4MCxfMHgyNDRkODA9XzB4NGYyYzA0W18weDQ0OTcwYygweDFlMildLF8weDQ4MzliZD1fMHgxZWJmZTE7XzB4NDgzOWJkPF8weDI0NGQ4MDtfMHg0ODM5YmQrKylfMHhkZmFjN2FbJ3B1c2gnXShfMHgyYzQyOGZbJ19hZGRQcm9wZXJ0eSddKF8weGJlNGQ5YSxfMHgzNTYwNjQsXzB4M2UzZTdmLF8weDQ4MzliZCxfMHg0ZjJjMDQpKTtfMHgzODExY2ZbXzB4NDQ5NzBjKDB4MWNmKV09ITB4MDt9ZWxzZXtmb3IoXzB4MWViZmUxPTB4MCxfMHgyNDRkODA9XzB4NGI0ZjYxLF8weDQ4MzliZD1fMHgxZWJmZTE7XzB4NDgzOWJkPF8weDI0NGQ4MDtfMHg0ODM5YmQrKylfMHhkZmFjN2FbXzB4NDQ5NzBjKDB4MWYzKV0oXzB4MmM0MjhmW18weDQ0OTcwYygweDIzYyldKF8weGJlNGQ5YSxfMHgzNTYwNjQsXzB4M2UzZTdmLF8weDQ4MzliZCxfMHg0ZjJjMDQpKTt9XzB4NGYyYzA0W18weDQ0OTcwYygweDE5NSldKz1fMHhkZmFjN2FbXzB4NDQ5NzBjKDB4MjBkKV07fWlmKCEoXzB4M2UzZTdmPT09XzB4NDQ5NzBjKDB4MWY3KXx8XzB4M2UzZTdmPT09J3VuZGVmaW5lZCcpJiYhXzB4NTc1Mzg0JiZfMHgzZTNlN2YhPT1fMHg0NDk3MGMoMHgyNjYpJiZfMHgzZTNlN2YhPT1fMHg0NDk3MGMoMHgxOTcpJiZfMHgzZTNlN2YhPT1fMHg0NDk3MGMoMHgyNGIpKXt2YXIgXzB4Yjk5ZjNjPV8weDFlZWYyMFtfMHg0NDk3MGMoMHgyNzMpXXx8XzB4NGYyYzA0W18weDQ0OTcwYygweDI3MyldO2lmKHRoaXNbXzB4NDQ5NzBjKDB4MjExKV0oXzB4MzU2MDY0KT8oXzB4NDgzOWJkPTB4MCxfMHgzNTYwNjRbXzB4NDQ5NzBjKDB4MjM3KV0oZnVuY3Rpb24oXzB4MTljMTZhKXt2YXIgXzB4YmFlNTVlPV8weDQ0OTcwYztpZihfMHgxNmUwMzYrKyxfMHg0ZjJjMDRbJ2F1dG9FeHBhbmRQcm9wZXJ0eUNvdW50J10rKyxfMHgxNmUwMzY+XzB4Yjk5ZjNjKXtfMHgzY2M1ZmQ9ITB4MDtyZXR1cm47fWlmKCFfMHg0ZjJjMDRbXzB4YmFlNTVlKDB4MjI0KV0mJl8weDRmMmMwNFsnYXV0b0V4cGFuZCddJiZfMHg0ZjJjMDRbXzB4YmFlNTVlKDB4MTk1KV0+XzB4NGYyYzA0W18weGJhZTU1ZSgweDFkNSldKXtfMHgzY2M1ZmQ9ITB4MDtyZXR1cm47fV8weGRmYWM3YVtfMHhiYWU1NWUoMHgxZjMpXShfMHgyYzQyOGZbXzB4YmFlNTVlKDB4MjNjKV0oXzB4YmU0ZDlhLF8weDM1NjA2NCxfMHhiYWU1NWUoMHgxYjQpLF8weDQ4MzliZCsrLF8weDRmMmMwNCxmdW5jdGlvbihfMHgyMzJhMTcpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfMHgyMzJhMTc7fTt9KF8weDE5YzE2YSkpKTt9KSk6dGhpc1tfMHg0NDk3MGMoMHgxY2EpXShfMHgzNTYwNjQpJiZfMHgzNTYwNjRbXzB4NDQ5NzBjKDB4MjM3KV0oZnVuY3Rpb24oXzB4NDllNWE4LF8weDE0YmY5Mil7dmFyIF8weDIxYzI4OT1fMHg0NDk3MGM7aWYoXzB4MTZlMDM2KyssXzB4NGYyYzA0W18weDIxYzI4OSgweDE5NSldKyssXzB4MTZlMDM2Pl8weGI5OWYzYyl7XzB4M2NjNWZkPSEweDA7cmV0dXJuO31pZighXzB4NGYyYzA0Wydpc0V4cHJlc3Npb25Ub0V2YWx1YXRlJ10mJl8weDRmMmMwNFsnYXV0b0V4cGFuZCddJiZfMHg0ZjJjMDRbXzB4MjFjMjg5KDB4MTk1KV0+XzB4NGYyYzA0WydhdXRvRXhwYW5kTGltaXQnXSl7XzB4M2NjNWZkPSEweDA7cmV0dXJuO312YXIgXzB4NTc4NThiPV8weDE0YmY5MltfMHgyMWMyODkoMHgxZmUpXSgpO18weDU3ODU4YltfMHgyMWMyODkoMHgyMGQpXT4weDY0JiYoXzB4NTc4NThiPV8weDU3ODU4YltfMHgyMWMyODkoMHgxYTUpXSgweDAsMHg2NCkrXzB4MjFjMjg5KDB4MWQ5KSksXzB4ZGZhYzdhW18weDIxYzI4OSgweDFmMyldKF8weDJjNDI4ZltfMHgyMWMyODkoMHgyM2MpXShfMHhiZTRkOWEsXzB4MzU2MDY0LF8weDIxYzI4OSgweDFlNCksXzB4NTc4NThiLF8weDRmMmMwNCxmdW5jdGlvbihfMHgzMTFjMzgpe3JldHVybiBmdW5jdGlvbigpe3JldHVybiBfMHgzMTFjMzg7fTt9KF8weDQ5ZTVhOCkpKTt9KSwhXzB4MTNiNTM2KXt0cnl7Zm9yKF8weDE3MDVhZiBpbiBfMHgzNTYwNjQpaWYoIShfMHgxYzM2ZmUmJl8weDhkYzMwY1sndGVzdCddKF8weDE3MDVhZikpJiYhdGhpc1tfMHg0NDk3MGMoMHgyMGUpXShfMHgzNTYwNjQsXzB4MTcwNWFmLF8weDRmMmMwNCkpe2lmKF8weDE2ZTAzNisrLF8weDRmMmMwNFtfMHg0NDk3MGMoMHgxOTUpXSsrLF8weDE2ZTAzNj5fMHhiOTlmM2Mpe18weDNjYzVmZD0hMHgwO2JyZWFrO31pZighXzB4NGYyYzA0W18weDQ0OTcwYygweDIyNCldJiZfMHg0ZjJjMDRbJ2F1dG9FeHBhbmQnXSYmXzB4NGYyYzA0WydhdXRvRXhwYW5kUHJvcGVydHlDb3VudCddPl8weDRmMmMwNFtfMHg0NDk3MGMoMHgxZDUpXSl7XzB4M2NjNWZkPSEweDA7YnJlYWs7fV8weGRmYWM3YVtfMHg0NDk3MGMoMHgxZjMpXShfMHgyYzQyOGZbJ19hZGRPYmplY3RQcm9wZXJ0eSddKF8weGJlNGQ5YSxfMHgyNWMzMzksXzB4MzU2MDY0LF8weDNlM2U3ZixfMHgxNzA1YWYsXzB4NGYyYzA0KSk7fX1jYXRjaHt9aWYoXzB4MjVjMzM5W18weDQ0OTcwYygweDIyZildPSEweDAsXzB4NWIxNDhiJiYoXzB4MjVjMzM5WydfcF9uYW1lJ109ITB4MCksIV8weDNjYzVmZCl7dmFyIF8weDllMzE9W11bXzB4NDQ5NzBjKDB4MjVjKV0odGhpc1tfMHg0NDk3MGMoMHgyNzUpXShfMHgzNTYwNjQpKVtfMHg0NDk3MGMoMHgyNWMpXSh0aGlzW18weDQ0OTcwYygweDIxZSldKF8weDM1NjA2NCkpO2ZvcihfMHg0ODM5YmQ9MHgwLF8weDRiNGY2MT1fMHg5ZTMxW18weDQ0OTcwYygweDIwZCldO18weDQ4MzliZDxfMHg0YjRmNjE7XzB4NDgzOWJkKyspaWYoXzB4MTcwNWFmPV8weDllMzFbXzB4NDgzOWJkXSwhKF8weDFjMzZmZSYmXzB4OGRjMzBjW18weDQ0OTcwYygweDIyYyldKF8weDE3MDVhZltfMHg0NDk3MGMoMHgxZmUpXSgpKSkmJiF0aGlzW18weDQ0OTcwYygweDIwZSldKF8weDM1NjA2NCxfMHgxNzA1YWYsXzB4NGYyYzA0KSYmIV8weDI1YzMzOVtfMHg0NDk3MGMoMHgxYTEpK18weDE3MDVhZltfMHg0NDk3MGMoMHgxZmUpXSgpXSl7aWYoXzB4MTZlMDM2KyssXzB4NGYyYzA0WydhdXRvRXhwYW5kUHJvcGVydHlDb3VudCddKyssXzB4MTZlMDM2Pl8weGI5OWYzYyl7XzB4M2NjNWZkPSEweDA7YnJlYWs7fWlmKCFfMHg0ZjJjMDRbXzB4NDQ5NzBjKDB4MjI0KV0mJl8weDRmMmMwNFsnYXV0b0V4cGFuZCddJiZfMHg0ZjJjMDRbJ2F1dG9FeHBhbmRQcm9wZXJ0eUNvdW50J10+XzB4NGYyYzA0W18weDQ0OTcwYygweDFkNSldKXtfMHgzY2M1ZmQ9ITB4MDticmVhazt9XzB4ZGZhYzdhW18weDQ0OTcwYygweDFmMyldKF8weDJjNDI4ZltfMHg0NDk3MGMoMHgyNTcpXShfMHhiZTRkOWEsXzB4MjVjMzM5LF8weDM1NjA2NCxfMHgzZTNlN2YsXzB4MTcwNWFmLF8weDRmMmMwNCkpO319fX19aWYoXzB4MzgxMWNmWyd0eXBlJ109XzB4M2UzZTdmLF8weDNlODVlMD8oXzB4MzgxMWNmW18weDQ0OTcwYygweDFkMyldPV8weDM1NjA2NFtfMHg0NDk3MGMoMHgyMmQpXSgpLHRoaXNbXzB4NDQ5NzBjKDB4MWRjKV0oXzB4M2UzZTdmLF8weDM4MTFjZixfMHg0ZjJjMDQsXzB4MWVlZjIwKSk6XzB4M2UzZTdmPT09J2RhdGUnP18weDM4MTFjZlsndmFsdWUnXT10aGlzW18weDQ0OTcwYygweDFjMSldWydjYWxsJ10oXzB4MzU2MDY0KTpfMHgzZTNlN2Y9PT1fMHg0NDk3MGMoMHgyNGIpP18weDM4MTFjZltfMHg0NDk3MGMoMHgxZDMpXT1fMHgzNTYwNjRbXzB4NDQ5NzBjKDB4MWZlKV0oKTpfMHgzZTNlN2Y9PT0nUmVnRXhwJz9fMHgzODExY2ZbJ3ZhbHVlJ109dGhpc1tfMHg0NDk3MGMoMHgxZTkpXVtfMHg0NDk3MGMoMHgyMWQpXShfMHgzNTYwNjQpOl8weDNlM2U3Zj09PV8weDQ0OTcwYygweDFlZikmJnRoaXNbXzB4NDQ5NzBjKDB4MWJiKV0/XzB4MzgxMWNmW18weDQ0OTcwYygweDFkMyldPXRoaXNbJ19TeW1ib2wnXVtfMHg0NDk3MGMoMHgxYTApXVtfMHg0NDk3MGMoMHgxZmUpXVtfMHg0NDk3MGMoMHgyMWQpXShfMHgzNTYwNjQpOiFfMHg0ZjJjMDRbJ2RlcHRoJ10mJiEoXzB4M2UzZTdmPT09XzB4NDQ5NzBjKDB4MWY3KXx8XzB4M2UzZTdmPT09XzB4NDQ5NzBjKDB4MjQwKSkmJihkZWxldGUgXzB4MzgxMWNmWyd2YWx1ZSddLF8weDM4MTFjZlsnY2FwcGVkJ109ITB4MCksXzB4M2NjNWZkJiYoXzB4MzgxMWNmW18weDQ0OTcwYygweDIzNCldPSEweDApLF8weDMwMzJiNj1fMHg0ZjJjMDRbXzB4NDQ5NzBjKDB4MWZjKV1bXzB4NDQ5NzBjKDB4MjUzKV0sXzB4NGYyYzA0W18weDQ0OTcwYygweDFmYyldW18weDQ0OTcwYygweDI1MyldPV8weDM4MTFjZix0aGlzWydfdHJlZU5vZGVQcm9wZXJ0aWVzQmVmb3JlRnVsbFZhbHVlJ10oXzB4MzgxMWNmLF8weDRmMmMwNCksXzB4ZGZhYzdhW18weDQ0OTcwYygweDIwZCldKXtmb3IoXzB4NDgzOWJkPTB4MCxfMHg0YjRmNjE9XzB4ZGZhYzdhW18weDQ0OTcwYygweDIwZCldO18weDQ4MzliZDxfMHg0YjRmNjE7XzB4NDgzOWJkKyspXzB4ZGZhYzdhW18weDQ4MzliZF0oXzB4NDgzOWJkKTt9XzB4YmU0ZDlhWydsZW5ndGgnXSYmKF8weDM4MTFjZltfMHg0NDk3MGMoMHgyNzMpXT1fMHhiZTRkOWEpO31jYXRjaChfMHgzNzBkNDQpe18weDU2YTlhNyhfMHgzNzBkNDQsXzB4MzgxMWNmLF8weDRmMmMwNCk7fXJldHVybiB0aGlzW18weDQ0OTcwYygweDI2OSldKF8weDM1NjA2NCxfMHgzODExY2YpLHRoaXNbJ190cmVlTm9kZVByb3BlcnRpZXNBZnRlckZ1bGxWYWx1ZSddKF8weDM4MTFjZixfMHg0ZjJjMDQpLF8weDRmMmMwNFtfMHg0NDk3MGMoMHgxZmMpXVtfMHg0NDk3MGMoMHgyNTMpXT1fMHgzMDMyYjYsXzB4NGYyYzA0WydsZXZlbCddLS0sXzB4NGYyYzA0WydhdXRvRXhwYW5kJ109XzB4NGU5Yjk0LF8weDRmMmMwNFtfMHg0NDk3MGMoMHgyNzQpXSYmXzB4NGYyYzA0W18weDQ0OTcwYygweDI0NSldW18weDQ0OTcwYygweDFlMCldKCksXzB4MzgxMWNmO31bXzB4MTFkMmZkKDB4MjFlKV0oXzB4NDhiN2Q2KXt2YXIgXzB4M2RlMzA3PV8weDExZDJmZDtyZXR1cm4gT2JqZWN0WydnZXRPd25Qcm9wZXJ0eVN5bWJvbHMnXT9PYmplY3RbXzB4M2RlMzA3KDB4MjFhKV0oXzB4NDhiN2Q2KTpbXTt9W18weDExZDJmZCgweDIxMSldKF8weDM3NjNlNCl7dmFyIF8weDU1YjhhMT1fMHgxMWQyZmQ7cmV0dXJuISEoXzB4Mzc2M2U0JiZfMHg0YTIzMWNbXzB4NTViOGExKDB4MWI0KV0mJnRoaXNbJ19vYmplY3RUb1N0cmluZyddKF8weDM3NjNlNCk9PT0nW29iamVjdFxcXFx4MjBTZXRdJyYmXzB4Mzc2M2U0W18weDU1YjhhMSgweDIzNyldKTt9W18weDExZDJmZCgweDIwZSldKF8weDQ3NjllNCxfMHg0OGNmNzksXzB4NWE0MmU4KXt2YXIgXzB4MjhjMDE0PV8weDExZDJmZDtyZXR1cm4gXzB4NWE0MmU4W18weDI4YzAxNCgweDIyNyldP3R5cGVvZiBfMHg0NzY5ZTRbXzB4NDhjZjc5XT09XzB4MjhjMDE0KDB4MWJkKTohMHgxO31bJ190eXBlJ10oXzB4NDlkZmRkKXt2YXIgXzB4NTUxNzNhPV8weDExZDJmZCxfMHg5MTIyOTI9Jyc7cmV0dXJuIF8weDkxMjI5Mj10eXBlb2YgXzB4NDlkZmRkLF8weDkxMjI5Mj09PV8weDU1MTczYSgweDE5OCk/dGhpc1tfMHg1NTE3M2EoMHgxYWEpXShfMHg0OWRmZGQpPT09XzB4NTUxNzNhKDB4MWU2KT9fMHg5MTIyOTI9XzB4NTUxNzNhKDB4MWM5KTp0aGlzWydfb2JqZWN0VG9TdHJpbmcnXShfMHg0OWRmZGQpPT09J1tvYmplY3RcXFxceDIwRGF0ZV0nP18weDkxMjI5Mj0nZGF0ZSc6dGhpc1tfMHg1NTE3M2EoMHgxYWEpXShfMHg0OWRmZGQpPT09XzB4NTUxNzNhKDB4MjQyKT9fMHg5MTIyOTI9XzB4NTUxNzNhKDB4MjRiKTpfMHg0OWRmZGQ9PT1udWxsP18weDkxMjI5Mj1fMHg1NTE3M2EoMHgxZjcpOl8weDQ5ZGZkZFtfMHg1NTE3M2EoMHgyNzApXSYmKF8weDkxMjI5Mj1fMHg0OWRmZGRbJ2NvbnN0cnVjdG9yJ11bXzB4NTUxNzNhKDB4MjA2KV18fF8weDkxMjI5Mik6XzB4OTEyMjkyPT09J3VuZGVmaW5lZCcmJnRoaXNbXzB4NTUxNzNhKDB4MjVhKV0mJl8weDQ5ZGZkZCBpbnN0YW5jZW9mIHRoaXNbJ19IVE1MQWxsQ29sbGVjdGlvbiddJiYoXzB4OTEyMjkyPV8weDU1MTczYSgweDIxNykpLF8weDkxMjI5Mjt9W18weDExZDJmZCgweDFhYSldKF8weDQzZDQxNCl7dmFyIF8weDU3ZGU0MD1fMHgxMWQyZmQ7cmV0dXJuIE9iamVjdFtfMHg1N2RlNDAoMHgxYTApXVtfMHg1N2RlNDAoMHgxZmUpXVtfMHg1N2RlNDAoMHgyMWQpXShfMHg0M2Q0MTQpO31bXzB4MTFkMmZkKDB4MWE3KV0oXzB4Y2RhZWI3KXt2YXIgXzB4MTkyMzM0PV8weDExZDJmZDtyZXR1cm4gXzB4Y2RhZWI3PT09J2Jvb2xlYW4nfHxfMHhjZGFlYjc9PT1fMHgxOTIzMzQoMHgxZGEpfHxfMHhjZGFlYjc9PT0nbnVtYmVyJzt9W18weDExZDJmZCgweDE4YyldKF8weDVjYTI3Zil7dmFyIF8weDM0NjA3OD1fMHgxMWQyZmQ7cmV0dXJuIF8weDVjYTI3Zj09PSdCb29sZWFuJ3x8XzB4NWNhMjdmPT09XzB4MzQ2MDc4KDB4MjY2KXx8XzB4NWNhMjdmPT09XzB4MzQ2MDc4KDB4MjJhKTt9W18weDExZDJmZCgweDIzYyldKF8weDFiODcwNixfMHg0ODE5ZTEsXzB4NGVlM2ZiLF8weDVhN2E3MCxfMHgxMDdiMDUsXzB4NGVhNmUxKXt2YXIgXzB4NWQ3ZTIyPXRoaXM7cmV0dXJuIGZ1bmN0aW9uKF8weDJiNTgwYil7dmFyIF8weDQ3MjkwZj1fMHgzN2U0LF8weGZjYzE3YT1fMHgxMDdiMDVbXzB4NDcyOTBmKDB4MWZjKV1bXzB4NDcyOTBmKDB4MjUzKV0sXzB4MTk0ZDMwPV8weDEwN2IwNVtfMHg0NzI5MGYoMHgxZmMpXVtfMHg0NzI5MGYoMHgxOTEpXSxfMHgxZmVkZmQ9XzB4MTA3YjA1W18weDQ3MjkwZigweDFmYyldWydwYXJlbnQnXTtfMHgxMDdiMDVbXzB4NDcyOTBmKDB4MWZjKV1bXzB4NDcyOTBmKDB4MjM4KV09XzB4ZmNjMTdhLF8weDEwN2IwNVsnbm9kZSddW18weDQ3MjkwZigweDE5MSldPXR5cGVvZiBfMHg1YTdhNzA9PSdudW1iZXInP18weDVhN2E3MDpfMHgyYjU4MGIsXzB4MWI4NzA2W18weDQ3MjkwZigweDFmMyldKF8weDVkN2UyMltfMHg0NzI5MGYoMHgyNjcpXShfMHg0ODE5ZTEsXzB4NGVlM2ZiLF8weDVhN2E3MCxfMHgxMDdiMDUsXzB4NGVhNmUxKSksXzB4MTA3YjA1W18weDQ3MjkwZigweDFmYyldWydwYXJlbnQnXT1fMHgxZmVkZmQsXzB4MTA3YjA1W18weDQ3MjkwZigweDFmYyldW18weDQ3MjkwZigweDE5MSldPV8weDE5NGQzMDt9O31bJ19hZGRPYmplY3RQcm9wZXJ0eSddKF8weDE2NTg4YixfMHgxMWNlYTcsXzB4MTNiNmVmLF8weDM4MDMxMCxfMHgxYzAxZDQsXzB4NGQ0YjZiLF8weDdmZWNhNil7dmFyIF8weDI0M2U1MD1fMHgxMWQyZmQsXzB4NDRhYmJhPXRoaXM7cmV0dXJuIF8weDExY2VhN1tfMHgyNDNlNTAoMHgxYTEpK18weDFjMDFkNFtfMHgyNDNlNTAoMHgxZmUpXSgpXT0hMHgwLGZ1bmN0aW9uKF8weDFmNGQ1MSl7dmFyIF8weDRiZGMxZj1fMHgyNDNlNTAsXzB4NDRkMjgzPV8weDRkNGI2YltfMHg0YmRjMWYoMHgxZmMpXVtfMHg0YmRjMWYoMHgyNTMpXSxfMHg0ZmI4Mjg9XzB4NGQ0YjZiW18weDRiZGMxZigweDFmYyldW18weDRiZGMxZigweDE5MSldLF8weDMxNjlkNz1fMHg0ZDRiNmJbJ25vZGUnXVtfMHg0YmRjMWYoMHgyMzgpXTtfMHg0ZDRiNmJbXzB4NGJkYzFmKDB4MWZjKV1bJ3BhcmVudCddPV8weDQ0ZDI4MyxfMHg0ZDRiNmJbXzB4NGJkYzFmKDB4MWZjKV1bXzB4NGJkYzFmKDB4MTkxKV09XzB4MWY0ZDUxLF8weDE2NTg4YlsncHVzaCddKF8weDQ0YWJiYVtfMHg0YmRjMWYoMHgyNjcpXShfMHgxM2I2ZWYsXzB4MzgwMzEwLF8weDFjMDFkNCxfMHg0ZDRiNmIsXzB4N2ZlY2E2KSksXzB4NGQ0YjZiWydub2RlJ11bXzB4NGJkYzFmKDB4MjM4KV09XzB4MzE2OWQ3LF8weDRkNGI2YltfMHg0YmRjMWYoMHgxZmMpXVtfMHg0YmRjMWYoMHgxOTEpXT1fMHg0ZmI4Mjg7fTt9W18weDExZDJmZCgweDI2NyldKF8weDJlZTJmOSxfMHg1MDRjNjMsXzB4MmJlODM5LF8weDVkNGJmZSxfMHg0NjY3NzIpe3ZhciBfMHgyODBmNmU9XzB4MTFkMmZkLF8weGM2YWZlMD10aGlzO18weDQ2Njc3Mnx8KF8weDQ2Njc3Mj1mdW5jdGlvbihfMHhlN2ZkZixfMHg0NDE5NGYpe3JldHVybiBfMHhlN2ZkZltfMHg0NDE5NGZdO30pO3ZhciBfMHgyOTgxMDM9XzB4MmJlODM5W18weDI4MGY2ZSgweDFmZSldKCksXzB4MjhmNTk0PV8weDVkNGJmZVtfMHgyODBmNmUoMHgyMTApXXx8e30sXzB4NWM3OWE4PV8weDVkNGJmZVtfMHgyODBmNmUoMHgyMjApXSxfMHgyMGJlYmM9XzB4NWQ0YmZlW18weDI4MGY2ZSgweDIyNCldO3RyeXt2YXIgXzB4MjdmMTUzPXRoaXNbXzB4MjgwZjZlKDB4MWNhKV0oXzB4MmVlMmY5KSxfMHgxNDE3OGE9XzB4Mjk4MTAzO18weDI3ZjE1MyYmXzB4MTQxNzhhWzB4MF09PT0nXFxcXHgyNycmJihfMHgxNDE3OGE9XzB4MTQxNzhhWydzdWJzdHInXSgweDEsXzB4MTQxNzhhW18weDI4MGY2ZSgweDIwZCldLTB4MikpO3ZhciBfMHgxMjYzNzE9XzB4NWQ0YmZlW18weDI4MGY2ZSgweDIxMCldPV8weDI4ZjU5NFsnX3BfJytfMHgxNDE3OGFdO18weDEyNjM3MSYmKF8weDVkNGJmZVtfMHgyODBmNmUoMHgyMjApXT1fMHg1ZDRiZmVbXzB4MjgwZjZlKDB4MjIwKV0rMHgxKSxfMHg1ZDRiZmVbJ2lzRXhwcmVzc2lvblRvRXZhbHVhdGUnXT0hIV8weDEyNjM3MTt2YXIgXzB4MjM5NTc5PXR5cGVvZiBfMHgyYmU4Mzk9PV8weDI4MGY2ZSgweDFlZiksXzB4MjA3NWI1PXsnbmFtZSc6XzB4MjM5NTc5fHxfMHgyN2YxNTM/XzB4Mjk4MTAzOnRoaXNbXzB4MjgwZjZlKDB4MjcxKV0oXzB4Mjk4MTAzKX07aWYoXzB4MjM5NTc5JiYoXzB4MjA3NWI1W18weDI4MGY2ZSgweDFlZildPSEweDApLCEoXzB4NTA0YzYzPT09J2FycmF5J3x8XzB4NTA0YzYzPT09XzB4MjgwZjZlKDB4MWE2KSkpe3ZhciBfMHgzZDJkOGU9dGhpc1tfMHgyODBmNmUoMHgyNWQpXShfMHgyZWUyZjksXzB4MmJlODM5KTtpZihfMHgzZDJkOGUmJihfMHgzZDJkOGVbXzB4MjgwZjZlKDB4MTk5KV0mJihfMHgyMDc1YjVbXzB4MjgwZjZlKDB4MjVlKV09ITB4MCksXzB4M2QyZDhlW18weDI4MGY2ZSgweDIzOSldJiYhXzB4MTI2MzcxJiYhXzB4NWQ0YmZlWydyZXNvbHZlR2V0dGVycyddKSlyZXR1cm4gXzB4MjA3NWI1W18weDI4MGY2ZSgweDFjNildPSEweDAsdGhpc1tfMHgyODBmNmUoMHgxZDApXShfMHgyMDc1YjUsXzB4NWQ0YmZlKSxfMHgyMDc1YjU7fXZhciBfMHgyMTZmMzU7dHJ5e18weDIxNmYzNT1fMHg0NjY3NzIoXzB4MmVlMmY5LF8weDJiZTgzOSk7fWNhdGNoKF8weDUwZjU1OCl7cmV0dXJuIF8weDIwNzViNT17J25hbWUnOl8weDI5ODEwMywndHlwZSc6XzB4MjgwZjZlKDB4MWIyKSwnZXJyb3InOl8weDUwZjU1OFtfMHgyODBmNmUoMHgxYmUpXX0sdGhpc1tfMHgyODBmNmUoMHgxZDApXShfMHgyMDc1YjUsXzB4NWQ0YmZlKSxfMHgyMDc1YjU7fXZhciBfMHg0ZGMyNDk9dGhpc1tfMHgyODBmNmUoMHgxOWQpXShfMHgyMTZmMzUpLF8weDVlODYzYT10aGlzW18weDI4MGY2ZSgweDFhNyldKF8weDRkYzI0OSk7aWYoXzB4MjA3NWI1W18weDI4MGY2ZSgweDFmOSldPV8weDRkYzI0OSxfMHg1ZTg2M2EpdGhpc1tfMHgyODBmNmUoMHgxZDApXShfMHgyMDc1YjUsXzB4NWQ0YmZlLF8weDIxNmYzNSxmdW5jdGlvbigpe3ZhciBfMHg1Y2E0MGY9XzB4MjgwZjZlO18weDIwNzViNVtfMHg1Y2E0MGYoMHgxZDMpXT1fMHgyMTZmMzVbXzB4NWNhNDBmKDB4MjJkKV0oKSwhXzB4MTI2MzcxJiZfMHhjNmFmZTBbXzB4NWNhNDBmKDB4MWRjKV0oXzB4NGRjMjQ5LF8weDIwNzViNSxfMHg1ZDRiZmUse30pO30pO2Vsc2V7dmFyIF8weDFlNTRkYj1fMHg1ZDRiZmVbJ2F1dG9FeHBhbmQnXSYmXzB4NWQ0YmZlW18weDI4MGY2ZSgweDI3NyldPF8weDVkNGJmZVtfMHgyODBmNmUoMHgyNjgpXSYmXzB4NWQ0YmZlW18weDI4MGY2ZSgweDI0NSldW18weDI4MGY2ZSgweDIzNildKF8weDIxNmYzNSk8MHgwJiZfMHg0ZGMyNDkhPT1fMHgyODBmNmUoMHgxYmQpJiZfMHg1ZDRiZmVbXzB4MjgwZjZlKDB4MTk1KV08XzB4NWQ0YmZlW18weDI4MGY2ZSgweDFkNSldO18weDFlNTRkYnx8XzB4NWQ0YmZlWydsZXZlbCddPF8weDVjNzlhOHx8XzB4MTI2MzcxPyh0aGlzW18weDI4MGY2ZSgweDIzYSldKF8weDIwNzViNSxfMHgyMTZmMzUsXzB4NWQ0YmZlLF8weDEyNjM3MXx8e30pLHRoaXNbXzB4MjgwZjZlKDB4MjY5KV0oXzB4MjE2ZjM1LF8weDIwNzViNSkpOnRoaXNbXzB4MjgwZjZlKDB4MWQwKV0oXzB4MjA3NWI1LF8weDVkNGJmZSxfMHgyMTZmMzUsZnVuY3Rpb24oKXt2YXIgXzB4NTE5NTA0PV8weDI4MGY2ZTtfMHg0ZGMyNDk9PT1fMHg1MTk1MDQoMHgxZjcpfHxfMHg0ZGMyNDk9PT1fMHg1MTk1MDQoMHgyNDApfHwoZGVsZXRlIF8weDIwNzViNVtfMHg1MTk1MDQoMHgxZDMpXSxfMHgyMDc1YjVbXzB4NTE5NTA0KDB4MjNmKV09ITB4MCk7fSk7fXJldHVybiBfMHgyMDc1YjU7fWZpbmFsbHl7XzB4NWQ0YmZlW18weDI4MGY2ZSgweDIxMCldPV8weDI4ZjU5NCxfMHg1ZDRiZmVbXzB4MjgwZjZlKDB4MjIwKV09XzB4NWM3OWE4LF8weDVkNGJmZVtfMHgyODBmNmUoMHgyMjQpXT1fMHgyMGJlYmM7fX1bJ19jYXBJZlN0cmluZyddKF8weDNmYzZjZSxfMHg0NzhiNjEsXzB4MTEzNTFlLF8weDNlYjEwOSl7dmFyIF8weDQ1YmI3Yz1fMHgxMWQyZmQsXzB4MTk2MjIzPV8weDNlYjEwOVsnc3RyTGVuZ3RoJ118fF8weDExMzUxZVsnc3RyTGVuZ3RoJ107aWYoKF8weDNmYzZjZT09PSdzdHJpbmcnfHxfMHgzZmM2Y2U9PT1fMHg0NWJiN2MoMHgyNjYpKSYmXzB4NDc4YjYxW18weDQ1YmI3YygweDFkMyldKXtsZXQgXzB4NTgzMmRkPV8weDQ3OGI2MVtfMHg0NWJiN2MoMHgxZDMpXVtfMHg0NWJiN2MoMHgyMGQpXTtfMHgxMTM1MWVbXzB4NDViYjdjKDB4MWRkKV0rPV8weDU4MzJkZCxfMHgxMTM1MWVbJ2FsbFN0ckxlbmd0aCddPl8weDExMzUxZVtfMHg0NWJiN2MoMHgxZWIpXT8oXzB4NDc4YjYxW18weDQ1YmI3YygweDIzZildPScnLGRlbGV0ZSBfMHg0NzhiNjFbJ3ZhbHVlJ10pOl8weDU4MzJkZD5fMHgxOTYyMjMmJihfMHg0NzhiNjFbXzB4NDViYjdjKDB4MjNmKV09XzB4NDc4YjYxW18weDQ1YmI3YygweDFkMyldWydzdWJzdHInXSgweDAsXzB4MTk2MjIzKSxkZWxldGUgXzB4NDc4YjYxWyd2YWx1ZSddKTt9fVtfMHgxMWQyZmQoMHgxY2EpXShfMHgzNmVhNTgpe3ZhciBfMHg0ZTE4NTM9XzB4MTFkMmZkO3JldHVybiEhKF8weDM2ZWE1OCYmXzB4NGEyMzFjW18weDRlMTg1MygweDFlNCldJiZ0aGlzW18weDRlMTg1MygweDFhYSldKF8weDM2ZWE1OCk9PT1fMHg0ZTE4NTMoMHgyMzMpJiZfMHgzNmVhNThbXzB4NGUxODUzKDB4MjM3KV0pO31bJ19wcm9wZXJ0eU5hbWUnXShfMHg4ODlkMDgpe3ZhciBfMHgyYTllMGY9XzB4MTFkMmZkO2lmKF8weDg4OWQwOFtfMHgyYTllMGYoMHgyNGEpXSgvXlxcXFxkKyQvKSlyZXR1cm4gXzB4ODg5ZDA4O3ZhciBfMHg1YmU5ZjM7dHJ5e18weDViZTlmMz1KU09OWydzdHJpbmdpZnknXSgnJytfMHg4ODlkMDgpO31jYXRjaHtfMHg1YmU5ZjM9J1xcXFx4MjInK3RoaXNbXzB4MmE5ZTBmKDB4MWFhKV0oXzB4ODg5ZDA4KSsnXFxcXHgyMic7fXJldHVybiBfMHg1YmU5ZjNbJ21hdGNoJ10oL15cXFwiKFthLXpBLVpfXVthLXpBLVpfMC05XSopXFxcIiQvKT9fMHg1YmU5ZjM9XzB4NWJlOWYzWydzdWJzdHInXSgweDEsXzB4NWJlOWYzW18weDJhOWUwZigweDIwZCldLTB4Mik6XzB4NWJlOWYzPV8weDViZTlmM1tfMHgyYTllMGYoMHgyNjApXSgvJy9nLCdcXFxceDVjXFxcXHgyNycpWydyZXBsYWNlJ10oL1xcXFxcXFxcXFxcIi9nLCdcXFxceDIyJylbJ3JlcGxhY2UnXSgvKF5cXFwifFxcXCIkKS9nLCdcXFxceDI3JyksXzB4NWJlOWYzO31bXzB4MTFkMmZkKDB4MWQwKV0oXzB4MjIzYzM4LF8weGVlMzc4ZSxfMHhjZWQ5ODYsXzB4NDgwM2MyKXt2YXIgXzB4ODQ4MGFlPV8weDExZDJmZDt0aGlzW18weDg0ODBhZSgweDIxOSldKF8weDIyM2MzOCxfMHhlZTM3OGUpLF8weDQ4MDNjMiYmXzB4NDgwM2MyKCksdGhpc1tfMHg4NDgwYWUoMHgyNjkpXShfMHhjZWQ5ODYsXzB4MjIzYzM4KSx0aGlzWydfdHJlZU5vZGVQcm9wZXJ0aWVzQWZ0ZXJGdWxsVmFsdWUnXShfMHgyMjNjMzgsXzB4ZWUzNzhlKTt9WydfdHJlZU5vZGVQcm9wZXJ0aWVzQmVmb3JlRnVsbFZhbHVlJ10oXzB4MTNjMDExLF8weDMxZmM3Yyl7dmFyIF8weDM5NGU4MT1fMHgxMWQyZmQ7dGhpc1tfMHgzOTRlODEoMHgxZWEpXShfMHgxM2MwMTEsXzB4MzFmYzdjKSx0aGlzW18weDM5NGU4MSgweDIyMyldKF8weDEzYzAxMSxfMHgzMWZjN2MpLHRoaXNbXzB4Mzk0ZTgxKDB4MTkyKV0oXzB4MTNjMDExLF8weDMxZmM3YyksdGhpc1snX3NldE5vZGVQZXJtaXNzaW9ucyddKF8weDEzYzAxMSxfMHgzMWZjN2MpO31bXzB4MTFkMmZkKDB4MWVhKV0oXzB4MTE1YzVjLF8weDFjODM1NSl7fVtfMHgxMWQyZmQoMHgyMjMpXShfMHg1NGJiY2UsXzB4MTc5Y2Y0KXt9W18weDExZDJmZCgweDFiMCldKF8weDQ3OTU5MCxfMHgyNThkZGUpe31bXzB4MTFkMmZkKDB4MWE4KV0oXzB4MzBkNTcxKXt2YXIgXzB4M2MzNmJmPV8weDExZDJmZDtyZXR1cm4gXzB4MzBkNTcxPT09dGhpc1tfMHgzYzM2YmYoMHgyNGYpXTt9W18weDExZDJmZCgweDFkOCldKF8weDFlNDk4ZSxfMHg0MjUxNzgpe3ZhciBfMHg1NTM4OWI9XzB4MTFkMmZkO3RoaXNbXzB4NTUzODliKDB4MWIwKV0oXzB4MWU0OThlLF8weDQyNTE3OCksdGhpc1snX3NldE5vZGVFeHBhbmRhYmxlU3RhdGUnXShfMHgxZTQ5OGUpLF8weDQyNTE3OFtfMHg1NTM4OWIoMHgyNDkpXSYmdGhpc1snX3NvcnRQcm9wcyddKF8weDFlNDk4ZSksdGhpc1tfMHg1NTM4OWIoMHgyMTgpXShfMHgxZTQ5OGUsXzB4NDI1MTc4KSx0aGlzWydfYWRkTG9hZE5vZGUnXShfMHgxZTQ5OGUsXzB4NDI1MTc4KSx0aGlzW18weDU1Mzg5YigweDE5YildKF8weDFlNDk4ZSk7fVsnX2FkZGl0aW9uYWxNZXRhZGF0YSddKF8weDQ0NmMzMyxfMHg1MTAwZTEpe3ZhciBfMHhhNjEyZDQ9XzB4MTFkMmZkO2xldCBfMHg0YzE3MWM7dHJ5e18weDRhMjMxY1tfMHhhNjEyZDQoMHgyNTYpXSYmKF8weDRjMTcxYz1fMHg0YTIzMWNbXzB4YTYxMmQ0KDB4MjU2KV1bXzB4YTYxMmQ0KDB4MjMwKV0sXzB4NGEyMzFjW18weGE2MTJkNCgweDI1NildW18weGE2MTJkNCgweDIzMCldPWZ1bmN0aW9uKCl7fSksXzB4NDQ2YzMzJiZ0eXBlb2YgXzB4NDQ2YzMzW18weGE2MTJkNCgweDIwZCldPT1fMHhhNjEyZDQoMHgxZTMpJiYoXzB4NTEwMGUxWydsZW5ndGgnXT1fMHg0NDZjMzNbXzB4YTYxMmQ0KDB4MjBkKV0pO31jYXRjaHt9ZmluYWxseXtfMHg0YzE3MWMmJihfMHg0YTIzMWNbXzB4YTYxMmQ0KDB4MjU2KV1bXzB4YTYxMmQ0KDB4MjMwKV09XzB4NGMxNzFjKTt9aWYoXzB4NTEwMGUxW18weGE2MTJkNCgweDFmOSldPT09XzB4YTYxMmQ0KDB4MWUzKXx8XzB4NTEwMGUxW18weGE2MTJkNCgweDFmOSldPT09J051bWJlcicpe2lmKGlzTmFOKF8weDUxMDBlMVtfMHhhNjEyZDQoMHgxZDMpXSkpXzB4NTEwMGUxW18weGE2MTJkNCgweDFiZildPSEweDAsZGVsZXRlIF8weDUxMDBlMVtfMHhhNjEyZDQoMHgxZDMpXTtlbHNlIHN3aXRjaChfMHg1MTAwZTFbJ3ZhbHVlJ10pe2Nhc2UgTnVtYmVyW18weGE2MTJkNCgweDI1MildOl8weDUxMDBlMVtfMHhhNjEyZDQoMHgyMmUpXT0hMHgwLGRlbGV0ZSBfMHg1MTAwZTFbJ3ZhbHVlJ107YnJlYWs7Y2FzZSBOdW1iZXJbXzB4YTYxMmQ0KDB4MWNlKV06XzB4NTEwMGUxW18weGE2MTJkNCgweDFiYyldPSEweDAsZGVsZXRlIF8weDUxMDBlMVtfMHhhNjEyZDQoMHgxZDMpXTticmVhaztjYXNlIDB4MDp0aGlzW18weGE2MTJkNCgweDIwMildKF8weDUxMDBlMVtfMHhhNjEyZDQoMHgxZDMpXSkmJihfMHg1MTAwZTFbXzB4YTYxMmQ0KDB4MWVlKV09ITB4MCk7YnJlYWs7fX1lbHNlIF8weDUxMDBlMVtfMHhhNjEyZDQoMHgxZjkpXT09PV8weGE2MTJkNCgweDFiZCkmJnR5cGVvZiBfMHg0NDZjMzNbXzB4YTYxMmQ0KDB4MjA2KV09PSdzdHJpbmcnJiZfMHg0NDZjMzNbXzB4YTYxMmQ0KDB4MjA2KV0mJl8weDUxMDBlMVsnbmFtZSddJiZfMHg0NDZjMzNbJ25hbWUnXSE9PV8weDUxMDBlMVtfMHhhNjEyZDQoMHgyMDYpXSYmKF8weDUxMDBlMVtfMHhhNjEyZDQoMHgxYjMpXT1fMHg0NDZjMzNbXzB4YTYxMmQ0KDB4MjA2KV0pO31bJ19pc05lZ2F0aXZlWmVybyddKF8weDU5YzliYSl7cmV0dXJuIDB4MS9fMHg1OWM5YmE9PT1OdW1iZXJbJ05FR0FUSVZFX0lORklOSVRZJ107fVsnX3NvcnRQcm9wcyddKF8weDE5NGIyMil7dmFyIF8weDQ4OTc2Mj1fMHgxMWQyZmQ7IV8weDE5NGIyMlsncHJvcHMnXXx8IV8weDE5NGIyMltfMHg0ODk3NjIoMHgyNzMpXVtfMHg0ODk3NjIoMHgyMGQpXXx8XzB4MTk0YjIyW18weDQ4OTc2MigweDFmOSldPT09XzB4NDg5NzYyKDB4MWM5KXx8XzB4MTk0YjIyW18weDQ4OTc2MigweDFmOSldPT09XzB4NDg5NzYyKDB4MWU0KXx8XzB4MTk0YjIyW18weDQ4OTc2MigweDFmOSldPT09XzB4NDg5NzYyKDB4MWI0KXx8XzB4MTk0YjIyWydwcm9wcyddW18weDQ4OTc2MigweDI0ZCldKGZ1bmN0aW9uKF8weDU3NTBmMSxfMHgyZWI3Mzgpe3ZhciBfMHg3NmY4YWM9XzB4NDg5NzYyLF8weDViMmJiOD1fMHg1NzUwZjFbXzB4NzZmOGFjKDB4MjA2KV1bXzB4NzZmOGFjKDB4MjRlKV0oKSxfMHg0YTRmOGY9XzB4MmViNzM4W18weDc2ZjhhYygweDIwNildWyd0b0xvd2VyQ2FzZSddKCk7cmV0dXJuIF8weDViMmJiODxfMHg0YTRmOGY/LTB4MTpfMHg1YjJiYjg+XzB4NGE0ZjhmPzB4MToweDA7fSk7fVtfMHgxMWQyZmQoMHgyMTgpXShfMHgxYzU2OTIsXzB4NTk0MWQyKXt2YXIgXzB4NmRkYzYzPV8weDExZDJmZDtpZighKF8weDU5NDFkMltfMHg2ZGRjNjMoMHgyMjcpXXx8IV8weDFjNTY5MltfMHg2ZGRjNjMoMHgyNzMpXXx8IV8weDFjNTY5MlsncHJvcHMnXVsnbGVuZ3RoJ10pKXtmb3IodmFyIF8weDM5NzgxOD1bXSxfMHgxYmIwZDY9W10sXzB4Y2Y2M2Y5PTB4MCxfMHg1MjJhZWQ9XzB4MWM1NjkyW18weDZkZGM2MygweDI3MyldW18weDZkZGM2MygweDIwZCldO18weGNmNjNmOTxfMHg1MjJhZWQ7XzB4Y2Y2M2Y5Kyspe3ZhciBfMHg1YjY2ZWE9XzB4MWM1NjkyWydwcm9wcyddW18weGNmNjNmOV07XzB4NWI2NmVhW18weDZkZGM2MygweDFmOSldPT09XzB4NmRkYzYzKDB4MWJkKT9fMHgzOTc4MThbXzB4NmRkYzYzKDB4MWYzKV0oXzB4NWI2NmVhKTpfMHgxYmIwZDZbXzB4NmRkYzYzKDB4MWYzKV0oXzB4NWI2NmVhKTt9aWYoISghXzB4MWJiMGQ2WydsZW5ndGgnXXx8XzB4Mzk3ODE4W18weDZkZGM2MygweDIwZCldPD0weDEpKXtfMHgxYzU2OTJbXzB4NmRkYzYzKDB4MjczKV09XzB4MWJiMGQ2O3ZhciBfMHg0ZDhlZmQ9eydmdW5jdGlvbnNOb2RlJzohMHgwLCdwcm9wcyc6XzB4Mzk3ODE4fTt0aGlzW18weDZkZGM2MygweDFlYSldKF8weDRkOGVmZCxfMHg1OTQxZDIpLHRoaXNbXzB4NmRkYzYzKDB4MWIwKV0oXzB4NGQ4ZWZkLF8weDU5NDFkMiksdGhpc1tfMHg2ZGRjNjMoMHgyNDMpXShfMHg0ZDhlZmQpLHRoaXNbXzB4NmRkYzYzKDB4MWY4KV0oXzB4NGQ4ZWZkLF8weDU5NDFkMiksXzB4NGQ4ZWZkWydpZCddKz0nXFxcXHgyMGYnLF8weDFjNTY5MlsncHJvcHMnXVtfMHg2ZGRjNjMoMHgyMDcpXShfMHg0ZDhlZmQpO319fVtfMHgxMWQyZmQoMHgxZTEpXShfMHgxYzdhZDAsXzB4Mjk3YjZkKXt9W18weDExZDJmZCgweDI0MyldKF8weDJmNTA4Nyl7fVtfMHgxMWQyZmQoMHgyNTUpXShfMHg0MDE2OTgpe3ZhciBfMHgzZmRiOTE9XzB4MTFkMmZkO3JldHVybiBBcnJheVtfMHgzZmRiOTEoMHgxYWMpXShfMHg0MDE2OTgpfHx0eXBlb2YgXzB4NDAxNjk4PT1fMHgzZmRiOTEoMHgxOTgpJiZ0aGlzW18weDNmZGI5MSgweDFhYSldKF8weDQwMTY5OCk9PT0nW29iamVjdFxcXFx4MjBBcnJheV0nO31bXzB4MTFkMmZkKDB4MWY4KV0oXzB4MTUyMTYyLF8weDFlZDU3NCl7fVtfMHgxMWQyZmQoMHgxOWIpXShfMHgxNjEyNTMpe3ZhciBfMHg2NzlhMGM9XzB4MTFkMmZkO2RlbGV0ZSBfMHgxNjEyNTNbXzB4Njc5YTBjKDB4MjFmKV0sZGVsZXRlIF8weDE2MTI1M1snX2hhc1NldE9uSXRzUGF0aCddLGRlbGV0ZSBfMHgxNjEyNTNbXzB4Njc5YTBjKDB4MWZkKV07fVtfMHgxMWQyZmQoMHgxOTIpXShfMHg0M2E5MWMsXzB4NGIxY2VmKXt9fWxldCBfMHgxNjk4ZGE9bmV3IF8weDMzODcyZigpLF8weDQzMzZkOD17J3Byb3BzJzoweDY0LCdlbGVtZW50cyc6MHg2NCwnc3RyTGVuZ3RoJzoweDQwMCoweDMyLCd0b3RhbFN0ckxlbmd0aCc6MHg0MDAqMHgzMiwnYXV0b0V4cGFuZExpbWl0JzoweDEzODgsJ2F1dG9FeHBhbmRNYXhEZXB0aCc6MHhhfSxfMHg1MDczNjg9eydwcm9wcyc6MHg1LCdlbGVtZW50cyc6MHg1LCdzdHJMZW5ndGgnOjB4MTAwLCd0b3RhbFN0ckxlbmd0aCc6MHgxMDAqMHgzLCdhdXRvRXhwYW5kTGltaXQnOjB4MWUsJ2F1dG9FeHBhbmRNYXhEZXB0aCc6MHgyfTtmdW5jdGlvbiBfMHgyM2MyYmUoXzB4MTlmY2QyLF8weDQ1MzQ1MSxfMHgxODFiNmQsXzB4MmEwOGIzLF8weDRiNDM0ZSxfMHg1NDE4NWQpe3ZhciBfMHg5MjEwZDU9XzB4MTFkMmZkO2xldCBfMHg1YjQ0ZjAsXzB4MzY3MTViO3RyeXtfMHgzNjcxNWI9XzB4OWU0YzRkKCksXzB4NWI0NGYwPV8weDJlMGI4M1tfMHg0NTM0NTFdLCFfMHg1YjQ0ZjB8fF8weDM2NzE1Yi1fMHg1YjQ0ZjBbJ3RzJ10+MHgxZjQmJl8weDViNDRmMFtfMHg5MjEwZDUoMHgyMjYpXSYmXzB4NWI0NGYwWyd0aW1lJ10vXzB4NWI0NGYwW18weDkyMTBkNSgweDIyNildPDB4NjQ/KF8weDJlMGI4M1tfMHg0NTM0NTFdPV8weDViNDRmMD17J2NvdW50JzoweDAsJ3RpbWUnOjB4MCwndHMnOl8weDM2NzE1Yn0sXzB4MmUwYjgzW18weDkyMTBkNSgweDIwOCldPXt9KTpfMHgzNjcxNWItXzB4MmUwYjgzW18weDkyMTBkNSgweDIwOCldWyd0cyddPjB4MzImJl8weDJlMGI4M1tfMHg5MjEwZDUoMHgyMDgpXVtfMHg5MjEwZDUoMHgyMjYpXSYmXzB4MmUwYjgzW18weDkyMTBkNSgweDIwOCldW18weDkyMTBkNSgweDFhZSldL18weDJlMGI4M1tfMHg5MjEwZDUoMHgyMDgpXVsnY291bnQnXTwweDY0JiYoXzB4MmUwYjgzW18weDkyMTBkNSgweDIwOCldPXt9KTtsZXQgXzB4NzI5M2EwPVtdLF8weDM2Mjk2Yj1fMHg1YjQ0ZjBbJ3JlZHVjZUxpbWl0cyddfHxfMHgyZTBiODNbXzB4OTIxMGQ1KDB4MjA4KV1bXzB4OTIxMGQ1KDB4MWI2KV0/XzB4NTA3MzY4Ol8weDQzMzZkOCxfMHgyNDdiZWI9XzB4MjE3YTQ3PT57dmFyIF8weDRhODlhMj1fMHg5MjEwZDU7bGV0IF8weDU0MTQ1ND17fTtyZXR1cm4gXzB4NTQxNDU0W18weDRhODlhMigweDI3MyldPV8weDIxN2E0N1tfMHg0YTg5YTIoMHgyNzMpXSxfMHg1NDE0NTRbXzB4NGE4OWEyKDB4MWUyKV09XzB4MjE3YTQ3W18weDRhODlhMigweDFlMildLF8weDU0MTQ1NFtfMHg0YTg5YTIoMHgyMWIpXT1fMHgyMTdhNDdbXzB4NGE4OWEyKDB4MjFiKV0sXzB4NTQxNDU0W18weDRhODlhMigweDFlYildPV8weDIxN2E0N1tfMHg0YTg5YTIoMHgxZWIpXSxfMHg1NDE0NTRbJ2F1dG9FeHBhbmRMaW1pdCddPV8weDIxN2E0N1snYXV0b0V4cGFuZExpbWl0J10sXzB4NTQxNDU0W18weDRhODlhMigweDI2OCldPV8weDIxN2E0N1snYXV0b0V4cGFuZE1heERlcHRoJ10sXzB4NTQxNDU0W18weDRhODlhMigweDI0OSldPSEweDEsXzB4NTQxNDU0W18weDRhODlhMigweDIyNyldPSFfMHgzOWU1OGIsXzB4NTQxNDU0WydkZXB0aCddPTB4MSxfMHg1NDE0NTRbXzB4NGE4OWEyKDB4Mjc3KV09MHgwLF8weDU0MTQ1NFtfMHg0YTg5YTIoMHgxOGEpXT0ncm9vdF9leHBfaWQnLF8weDU0MTQ1NFtfMHg0YTg5YTIoMHgxYzMpXT1fMHg0YTg5YTIoMHgxYzIpLF8weDU0MTQ1NFsnYXV0b0V4cGFuZCddPSEweDAsXzB4NTQxNDU0W18weDRhODlhMigweDI0NSldPVtdLF8weDU0MTQ1NFtfMHg0YTg5YTIoMHgxOTUpXT0weDAsXzB4NTQxNDU0W18weDRhODlhMigweDI2ZildPSEweDAsXzB4NTQxNDU0W18weDRhODlhMigweDFkZCldPTB4MCxfMHg1NDE0NTRbXzB4NGE4OWEyKDB4MWZjKV09eydjdXJyZW50Jzp2b2lkIDB4MCwncGFyZW50Jzp2b2lkIDB4MCwnaW5kZXgnOjB4MH0sXzB4NTQxNDU0O307Zm9yKHZhciBfMHg0MGM4NDk9MHgwO18weDQwYzg0OTxfMHg0YjQzNGVbXzB4OTIxMGQ1KDB4MjBkKV07XzB4NDBjODQ5KyspXzB4NzI5M2EwWydwdXNoJ10oXzB4MTY5OGRhW18weDkyMTBkNSgweDIzYSldKHsndGltZU5vZGUnOl8weDE5ZmNkMj09PSd0aW1lJ3x8dm9pZCAweDB9LF8weDRiNDM0ZVtfMHg0MGM4NDldLF8weDI0N2JlYihfMHgzNjI5NmIpLHt9KSk7aWYoXzB4MTlmY2QyPT09XzB4OTIxMGQ1KDB4MWFiKSl7bGV0IF8weDRiNGU5ZT1FcnJvcltfMHg5MjEwZDUoMHgyMjkpXTt0cnl7RXJyb3JbJ3N0YWNrVHJhY2VMaW1pdCddPTB4MS8weDAsXzB4NzI5M2EwW18weDkyMTBkNSgweDFmMyldKF8weDE2OThkYVtfMHg5MjEwZDUoMHgyM2EpXSh7J3N0YWNrTm9kZSc6ITB4MH0sbmV3IEVycm9yKClbXzB4OTIxMGQ1KDB4MTkzKV0sXzB4MjQ3YmViKF8weDM2Mjk2YikseydzdHJMZW5ndGgnOjB4MS8weDB9KSk7fWZpbmFsbHl7RXJyb3JbXzB4OTIxMGQ1KDB4MjI5KV09XzB4NGI0ZTllO319cmV0dXJueydtZXRob2QnOl8weDkyMTBkNSgweDFjZCksJ3ZlcnNpb24nOl8weDEyZGUwYiwnYXJncyc6W3sndHMnOl8weDE4MWI2ZCwnc2Vzc2lvbic6XzB4MmEwOGIzLCdhcmdzJzpfMHg3MjkzYTAsJ2lkJzpfMHg0NTM0NTEsJ2NvbnRleHQnOl8weDU0MTg1ZH1dfTt9Y2F0Y2goXzB4M2M0ZmNkKXtyZXR1cm57J21ldGhvZCc6J2xvZycsJ3ZlcnNpb24nOl8weDEyZGUwYiwnYXJncyc6W3sndHMnOl8weDE4MWI2ZCwnc2Vzc2lvbic6XzB4MmEwOGIzLCdhcmdzJzpbeyd0eXBlJzpfMHg5MjEwZDUoMHgxYjIpLCdlcnJvcic6XzB4M2M0ZmNkJiZfMHgzYzRmY2RbXzB4OTIxMGQ1KDB4MWJlKV19XSwnaWQnOl8weDQ1MzQ1MSwnY29udGV4dCc6XzB4NTQxODVkfV19O31maW5hbGx5e3RyeXtpZihfMHg1YjQ0ZjAmJl8weDM2NzE1Yil7bGV0IF8weDM5YzA0ZT1fMHg5ZTRjNGQoKTtfMHg1YjQ0ZjBbXzB4OTIxMGQ1KDB4MjI2KV0rKyxfMHg1YjQ0ZjBbJ3RpbWUnXSs9XzB4MjdmYzE1KF8weDM2NzE1YixfMHgzOWMwNGUpLF8weDViNDRmMFsndHMnXT1fMHgzOWMwNGUsXzB4MmUwYjgzW18weDkyMTBkNSgweDIwOCldW18weDkyMTBkNSgweDIyNildKyssXzB4MmUwYjgzWydoaXRzJ11bXzB4OTIxMGQ1KDB4MWFlKV0rPV8weDI3ZmMxNShfMHgzNjcxNWIsXzB4MzljMDRlKSxfMHgyZTBiODNbJ2hpdHMnXVsndHMnXT1fMHgzOWMwNGUsKF8weDViNDRmMFtfMHg5MjEwZDUoMHgyMjYpXT4weDMyfHxfMHg1YjQ0ZjBbJ3RpbWUnXT4weDY0KSYmKF8weDViNDRmMFtfMHg5MjEwZDUoMHgxYjYpXT0hMHgwKSwoXzB4MmUwYjgzWydoaXRzJ11bJ2NvdW50J10+MHgzZTh8fF8weDJlMGI4M1tfMHg5MjEwZDUoMHgyMDgpXVtfMHg5MjEwZDUoMHgxYWUpXT4weDEyYykmJihfMHgyZTBiODNbXzB4OTIxMGQ1KDB4MjA4KV1bXzB4OTIxMGQ1KDB4MWI2KV09ITB4MCk7fX1jYXRjaHt9fX1yZXR1cm4gXzB4MjNjMmJlO30oKF8weDRiMDBkOCxfMHg1NTc4ZjEsXzB4M2VkMmE3LF8weDMwZWFhYixfMHgyMTMyOTUsXzB4NTc4ODhiLF8weDRkMjg4YSxfMHgyZmU4OTQsXzB4M2NmYTZhLF8weDI2ZDFkNCk9Pnt2YXIgXzB4MTk5OGQzPV8weDFmN2ZlMTtpZihfMHg0YjAwZDhbXzB4MTk5OGQzKDB4MjMyKV0pcmV0dXJuIF8weDRiMDBkOFsnX2NvbnNvbGVfbmluamEnXTtpZighSihfMHg0YjAwZDgsXzB4MmZlODk0LF8weDIxMzI5NSkpcmV0dXJuIF8weDRiMDBkOFsnX2NvbnNvbGVfbmluamEnXT17J2NvbnNvbGVMb2cnOigpPT57fSwnY29uc29sZVRyYWNlJzooKT0+e30sJ2NvbnNvbGVUaW1lJzooKT0+e30sJ2NvbnNvbGVUaW1lRW5kJzooKT0+e30sJ2F1dG9Mb2cnOigpPT57fSwnYXV0b0xvZ01hbnknOigpPT57fSwnYXV0b1RyYWNlTWFueSc6KCk9Pnt9LCdjb3ZlcmFnZSc6KCk9Pnt9LCdhdXRvVHJhY2UnOigpPT57fSwnYXV0b1RpbWUnOigpPT57fSwnYXV0b1RpbWVFbmQnOigpPT57fX0sXzB4NGIwMGQ4W18weDE5OThkMygweDIzMildO2xldCBfMHgxZWM4Yzg9VyhfMHg0YjAwZDgpLF8weDFhM2M3Zj1fMHgxZWM4YzhbJ2VsYXBzZWQnXSxfMHg0MWNmNmE9XzB4MWVjOGM4W18weDE5OThkMygweDIzZCldLF8weDI0NzA2MD1fMHgxZWM4YzhbXzB4MTk5OGQzKDB4MjUxKV0sXzB4MWQzYzQ1PXsnaGl0cyc6e30sJ3RzJzp7fX0sXzB4NTY4M2JlPVkoXzB4NGIwMGQ4LF8weDNjZmE2YSxfMHgxZDNjNDUsXzB4NTc4ODhiKSxfMHgzZTI0OGY9XzB4MTAzOTJmPT57XzB4MWQzYzQ1Wyd0cyddW18weDEwMzkyZl09XzB4NDFjZjZhKCk7fSxfMHgyZWJiZTc9KF8weDFhMDJjOCxfMHg0MzI3YzEpPT57dmFyIF8weDE1OTVhMz1fMHgxOTk4ZDM7bGV0IF8weDQ4MDExYj1fMHgxZDNjNDVbJ3RzJ11bXzB4NDMyN2MxXTtpZihkZWxldGUgXzB4MWQzYzQ1Wyd0cyddW18weDQzMjdjMV0sXzB4NDgwMTFiKXtsZXQgXzB4NDQxZmVjPV8weDFhM2M3ZihfMHg0ODAxMWIsXzB4NDFjZjZhKCkpO18weDM0MWFkZihfMHg1NjgzYmUoXzB4MTU5NWEzKDB4MWFlKSxfMHgxYTAyYzgsXzB4MjQ3MDYwKCksXzB4M2UwMGZjLFtfMHg0NDFmZWNdLF8weDQzMjdjMSkpO319LF8weDY2NTMwMT1fMHg0MDk1NTM9Pl8weDJhOGQ5Nj0+e3ZhciBfMHgzNWIyYWE9XzB4MTk5OGQzO3RyeXtfMHgzZTI0OGYoXzB4MmE4ZDk2KSxfMHg0MDk1NTMoXzB4MmE4ZDk2KTt9ZmluYWxseXtfMHg0YjAwZDhbJ2NvbnNvbGUnXVtfMHgzNWIyYWEoMHgxYWUpXT1fMHg0MDk1NTM7fX0sXzB4MTQ2MjE1PV8weDVhYTU5MT0+XzB4NDRiOGMwPT57dmFyIF8weGM1YjZlMz1fMHgxOTk4ZDM7dHJ5e2xldCBbXzB4NGViMWI2LF8weDE1NGFkY109XzB4NDRiOGMwW18weGM1YjZlMygweDFmNildKF8weGM1YjZlMygweDI1OSkpO18weDJlYmJlNyhfMHgxNTRhZGMsXzB4NGViMWI2KSxfMHg1YWE1OTEoXzB4NGViMWI2KTt9ZmluYWxseXtfMHg0YjAwZDhbXzB4YzViNmUzKDB4MjU2KV1bJ3RpbWVFbmQnXT1fMHg1YWE1OTE7fX07XzB4NGIwMGQ4W18weDE5OThkMygweDIzMildPXsnY29uc29sZUxvZyc6KF8weDIzOTNmOCxfMHg1MWJlNjIpPT57dmFyIF8weDUxMTUxYj1fMHgxOTk4ZDM7XzB4NGIwMGQ4W18weDUxMTUxYigweDI1NildW18weDUxMTUxYigweDFjZCldW18weDUxMTUxYigweDIwNildIT09J2Rpc2FibGVkTG9nJyYmXzB4MzQxYWRmKF8weDU2ODNiZShfMHg1MTE1MWIoMHgxY2QpLF8weDIzOTNmOCxfMHgyNDcwNjAoKSxfMHgzZTAwZmMsXzB4NTFiZTYyKSk7fSwnY29uc29sZVRyYWNlJzooXzB4MTE5MzY5LF8weDQ0MjAzMSk9Pnt2YXIgXzB4NTk0YzgwPV8weDE5OThkMztfMHg0YjAwZDhbXzB4NTk0YzgwKDB4MjU2KV1bXzB4NTk0YzgwKDB4MWNkKV1bJ25hbWUnXSE9PSdkaXNhYmxlZFRyYWNlJyYmXzB4MzQxYWRmKF8weDU2ODNiZShfMHg1OTRjODAoMHgxYWIpLF8weDExOTM2OSxfMHgyNDcwNjAoKSxfMHgzZTAwZmMsXzB4NDQyMDMxKSk7fSwnY29uc29sZVRpbWUnOigpPT57dmFyIF8weDMyZWRmMD1fMHgxOTk4ZDM7XzB4NGIwMGQ4W18weDMyZWRmMCgweDI1NildW18weDMyZWRmMCgweDFhZSldPV8weDY2NTMwMShfMHg0YjAwZDhbXzB4MzJlZGYwKDB4MjU2KV1bXzB4MzJlZGYwKDB4MWFlKV0pO30sJ2NvbnNvbGVUaW1lRW5kJzooKT0+e3ZhciBfMHhjZWI3YTk9XzB4MTk5OGQzO18weDRiMDBkOFtfMHhjZWI3YTkoMHgyNTYpXVtfMHhjZWI3YTkoMHgxYTIpXT1fMHgxNDYyMTUoXzB4NGIwMGQ4Wydjb25zb2xlJ11bJ3RpbWVFbmQnXSk7fSwnYXV0b0xvZyc6KF8weDU2MTAyMSxfMHgzMzQzYTYpPT57dmFyIF8weDk5MjUzZj1fMHgxOTk4ZDM7XzB4MzQxYWRmKF8weDU2ODNiZShfMHg5OTI1M2YoMHgxY2QpLF8weDMzNDNhNixfMHgyNDcwNjAoKSxfMHgzZTAwZmMsW18weDU2MTAyMV0pKTt9LCdhdXRvTG9nTWFueSc6KF8weDE0ZGY2MixfMHgxYWNhODUpPT57dmFyIF8weDRlOTkzND1fMHgxOTk4ZDM7XzB4MzQxYWRmKF8weDU2ODNiZShfMHg0ZTk5MzQoMHgxY2QpLF8weDE0ZGY2MixfMHgyNDcwNjAoKSxfMHgzZTAwZmMsXzB4MWFjYTg1KSk7fSwnYXV0b1RyYWNlJzooXzB4MTlmMzNiLF8weDQ5Y2Y1Yyk9Pnt2YXIgXzB4MzhhYmE1PV8weDE5OThkMztfMHgzNDFhZGYoXzB4NTY4M2JlKF8weDM4YWJhNSgweDFhYiksXzB4NDljZjVjLF8weDI0NzA2MCgpLF8weDNlMDBmYyxbXzB4MTlmMzNiXSkpO30sJ2F1dG9UcmFjZU1hbnknOihfMHhjZDk5NjIsXzB4M2FkYmMwKT0+e3ZhciBfMHg0MGE3YWE9XzB4MTk5OGQzO18weDM0MWFkZihfMHg1NjgzYmUoXzB4NDBhN2FhKDB4MWFiKSxfMHhjZDk5NjIsXzB4MjQ3MDYwKCksXzB4M2UwMGZjLF8weDNhZGJjMCkpO30sJ2F1dG9UaW1lJzooXzB4MWUxZmQ3LF8weDJlNTQyOSxfMHgyY2NiMDIpPT57XzB4M2UyNDhmKF8weDJjY2IwMik7fSwnYXV0b1RpbWVFbmQnOihfMHgyZTM4ZTYsXzB4MTQxYmY4LF8weGRjMzNiMik9PntfMHgyZWJiZTcoXzB4MTQxYmY4LF8weGRjMzNiMik7fSwnY292ZXJhZ2UnOl8weDI5OGYzNz0+e3ZhciBfMHgyMzgwYjI9XzB4MTk5OGQzO18weDM0MWFkZih7J21ldGhvZCc6XzB4MjM4MGIyKDB4MWRlKSwndmVyc2lvbic6XzB4NTc4ODhiLCdhcmdzJzpbeydpZCc6XzB4Mjk4ZjM3fV19KTt9fTtsZXQgXzB4MzQxYWRmPWIoXzB4NGIwMGQ4LF8weDU1NzhmMSxfMHgzZWQyYTcsXzB4MzBlYWFiLF8weDIxMzI5NSxfMHgyNmQxZDQpLF8weDNlMDBmYz1fMHg0YjAwZDhbXzB4MTk5OGQzKDB4MjZlKV07cmV0dXJuIF8weDRiMDBkOFtfMHgxOTk4ZDMoMHgyMzIpXTt9KShnbG9iYWxUaGlzLF8weDFmN2ZlMSgweDIxMyksXzB4MWY3ZmUxKDB4MjBjKSxfMHgxZjdmZTEoMHgxZDcpLF8weDFmN2ZlMSgweDIwOSksJzEuMC4wJyxfMHgxZjdmZTEoMHgxOGUpLFtcXFwibG9jYWxob3N0XFxcIixcXFwiMTI3LjAuMC4xXFxcIixcXFwiZXhhbXBsZS5jeXByZXNzLmlvXFxcIixcXFwiaGNlbmdlbFxcXCIsXFxcIjE5Mi4xNjguNTYuMVxcXCIsXFxcIjE5Mi4xNjguMS4xMDJcXFwiXSxfMHgxZjdmZTEoMHgxYWYpLF8weDFmN2ZlMSgweDFiMSkpO1wiKTt9Y2F0Y2goZSl7fX07LyogaXN0YW5idWwgaWdub3JlIG5leHQgKi9mdW5jdGlvbiBvb19vbyhpLC4uLnYpe3RyeXtvb19jbSgpLmNvbnNvbGVMb2coaSwgdik7fWNhdGNoKGUpe30gcmV0dXJuIHZ9Oy8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovZnVuY3Rpb24gb29fdHIoaSwuLi52KXt0cnl7b29fY20oKS5jb25zb2xlVHJhY2UoaSwgdik7fWNhdGNoKGUpe30gcmV0dXJuIHZ9Oy8qIGlzdGFuYnVsIGlnbm9yZSBuZXh0ICovZnVuY3Rpb24gb29fdHMoKXt0cnl7b29fY20oKS5jb25zb2xlVGltZSgpO31jYXRjaChlKXt9fTsvKiBpc3RhbmJ1bCBpZ25vcmUgbmV4dCAqL2Z1bmN0aW9uIG9vX3RlKCl7dHJ5e29vX2NtKCkuY29uc29sZVRpbWVFbmQoKTt9Y2F0Y2goZSl7fX07Lyplc2xpbnQgdW5pY29ybi9uby1hYnVzaXZlLWVzbGludC1kaXNhYmxlOixlc2xpbnQtY29tbWVudHMvZGlzYWJsZS1lbmFibGUtcGFpcjosZXNsaW50LWNvbW1lbnRzL25vLXVubGltaXRlZC1kaXNhYmxlOixlc2xpbnQtY29tbWVudHMvbm8tYWdncmVnYXRpbmctZW5hYmxlOixlc2xpbnQtY29tbWVudHMvbm8tZHVwbGljYXRlLWRpc2FibGU6LGVzbGludC1jb21tZW50cy9uby11bnVzZWQtZGlzYWJsZTosZXNsaW50LWNvbW1lbnRzL25vLXVudXNlZC1lbmFibGU6LCovIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxIYWxpbFxcXFxEZXNrdG9wXFxcXG51Y2xlb2lkXFxcXHBsYXRmb3JtXFxcXGV4YW1wbGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXEhhbGlsXFxcXERlc2t0b3BcXFxcbnVjbGVvaWRcXFxccGxhdGZvcm1cXFxcZXhhbXBsZVxcXFx2aXRlLmNvbmZpZy5qc1wiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9pbXBvcnRfbWV0YV91cmwgPSBcImZpbGU6Ly8vQzovVXNlcnMvSGFsaWwvRGVza3RvcC9udWNsZW9pZC9wbGF0Zm9ybS9leGFtcGxlL3ZpdGUuY29uZmlnLmpzXCI7aW1wb3J0IGNvbmZpZyBmcm9tIFwiLi9jb25maWdcIjtcbmltcG9ydCB7IGRlZmluZUNvbmZpZyB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgeyB2aXRlIH0gZnJvbSBcIi4uL3ZpdGUvdml0ZVwiO1xuXG5leHBvcnQgZGVmYXVsdCBkZWZpbmVDb25maWcodml0ZShjb25maWcpKTtcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcSGFsaWxcXFxcRGVza3RvcFxcXFxudWNsZW9pZFxcXFxwbGF0Zm9ybVxcXFx2aXRlXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ZpbGVuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxIYWxpbFxcXFxEZXNrdG9wXFxcXG51Y2xlb2lkXFxcXHBsYXRmb3JtXFxcXHZpdGVcXFxcQ29uZmlnU2NoZW1hLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9DOi9Vc2Vycy9IYWxpbC9EZXNrdG9wL251Y2xlb2lkL3BsYXRmb3JtL3ZpdGUvQ29uZmlnU2NoZW1hLmpzXCI7aW1wb3J0IEpvaSBmcm9tIFwiam9pXCI7XG5cbmV4cG9ydCBjb25zdCBDb25maWdTY2hlbWEgPSBKb2kub2JqZWN0KHtcbiAgbmFtZTogSm9pLnN0cmluZygpLm9wdGlvbmFsKCkuZGVmYXVsdChcIlwiKSxcbiAgYmFzZTogSm9pLnN0cmluZygpLm9wdGlvbmFsKCkuZGVmYXVsdChcIlwiKSxcbiAgYXBpOiBKb2kuc3RyaW5nKCkudXJpKCkub3B0aW9uYWwoKS5kZWZhdWx0KFwiXCIpLFxuICBsb2dpbjogSm9pLm9iamVjdCh7XG4gICAgaWNvbjogSm9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgbGFyZ2VJY29uOiBKb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICBuYW1lOiBKb2kuc3RyaW5nKCkucmVxdWlyZWQoKSxcbiAgICBudWNsZW9pZDogSm9pLm9iamVjdCgpLm9wdGlvbmFsKCksXG4gICAgZ2l0aHViOiBKb2kub2JqZWN0KHtcbiAgICAgIGF1dGhVcmw6IEpvaS5zdHJpbmcoKS51cmkoKS5yZXF1aXJlZCgpLFxuICAgICAgY2xpZW50SWQ6IEpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgcmVkaXJlY3RVcmk6IEpvaS5zdHJpbmcoKS51cmkoKS5yZXF1aXJlZCgpLFxuICAgICAgc2NvcGU6IEpvaS5zdHJpbmcoKS5yZXF1aXJlZCgpLFxuICAgICAgcmVzcG9uc2VfdHlwZTogSm9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gICAgfSkub3B0aW9uYWwoKSxcbiAgfSkucmVxdWlyZWQoKSxcbiAgc2V0dGluZ3M6IEpvaS5vYmplY3Qoe1xuICAgIG1vZGU6IEpvaS5zdHJpbmcoKS52YWxpZChcImxpZ2h0XCIsIFwiZGFya1wiKS5vcHRpb25hbCgpLmRlZmF1bHQoXCJkYXJrXCIpLFxuICAgIGNvbG9yUHJlc2V0czogSm9pLnN0cmluZygpXG4gICAgICAudmFsaWQoXCJkZWZhdWx0XCIsIFwiY3lhblwiLCBcInB1cnBsZVwiLCBcImJsdWVcIiwgXCJvcmFuZ2VcIiwgXCJyZWRcIilcbiAgICAgIC5vcHRpb25hbCgpXG4gICAgICAuZGVmYXVsdChcImRlZmF1bHRcIiksXG4gIH0pLm9wdGlvbmFsKCksXG4gIGl0ZW1zUGF0aDogSm9pLnN0cmluZygpLnJlcXVpcmVkKCksXG4gIGFkZE5ld0l0ZW1CdXR0b246IEpvaS5mdW5jdGlvbigpLnJlcXVpcmVkKCksXG59KVxuICAucmVxdWlyZWQoKVxuICAudW5rbm93bih0cnVlKTtcbiIsICJjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZGlybmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcSGFsaWxcXFxcRGVza3RvcFwiO2NvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9maWxlbmFtZSA9IFwiQzpcXFxcVXNlcnNcXFxcSGFsaWxcXFxcRGVza3RvcFxcXFxjb25maWcuanNcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfaW1wb3J0X21ldGFfdXJsID0gXCJmaWxlOi8vL0M6L1VzZXJzL0hhbGlsL0Rlc2t0b3AvY29uZmlnLmpzXCI7Y29uc3QgY29uZmlnID0ge1xuICBuYW1lOiBcIk51Y2xlb2lkLmNvbVwiLFxuICBiYXNlOiBcInBsYXRmb3JtXCIsXG4gIGFwaTogXCJodHRwOi8vbG9jYWxob3N0OjMwMDBcIixcbiAgbG9naW46IHtcbiAgICBpY29uOiBcIi9tZWRpYS9sb2dvLnBuZ1wiLFxuICAgIGxhcmdlSWNvbjogXCIvbWVkaWEvbGFyZ2VMb2dvLnBuZ1wiLFxuICAgIG5hbWU6IFwiTnVjbGVvaWQuY29tXCIsXG4gICAgbnVjbGVvaWQ6IHt9LFxuICAgIGdpdGh1Yjoge1xuICAgICAgYXV0aFVybDogXCJodHRwczovL2dpdGh1Yi5jb20vbG9naW4vb2F1dGgvYXV0aG9yaXplXCIsXG4gICAgICBjbGllbnRJZDogXCIwYzI4NDRkM2QxOWRjOTI5M2ZjNVwiLFxuICAgICAgcmVkaXJlY3RVcmk6IFwiaHR0cDovL2xvY2FsaG9zdDo1MTczL2NhbGxiYWNrXCIsXG4gICAgICBzY29wZTogXCJ1c2VyXCIsXG4gICAgICByZXNwb25zZV90eXBlOiBcImNvZGVcIixcbiAgICB9LFxuICB9LFxuICBmbG93aXNlOiB7XG4gICAgdG9rZW46IFwiQmVhcmVyIExvTFFaY3FRc0RRZ3FWQ0VHYlY0Zkg3Q0w5SExuenJ5V09iblBZeGNoNW89XCIsXG4gICAgdXJsOiBcImh0dHA6Ly9mbG93aXNlLmdyYXljb2xsYXIuYWk6MzAwMC9hcGkvdjEvcHJlZGljdGlvbi84ODY2NjM4OC0wY2FlLTQ3MzUtOTZlOS03YzE1YjEyODk2ZGZcIixcbiAgfSxcbiAgc2V0dGluZ3M6IHtcbiAgICBtb2RlOiBcImRhcmtcIiwgLy8gJ2xpZ2h0JyB8ICdkYXJrJ1xuICAgIGNvbG9yUHJlc2V0czogXCJjeWFuXCIsIC8vICdkZWZhdWx0JyB8ICdjeWFuJyB8ICdwdXJwbGUnIHwgJ2JsdWUnIHwgJ29yYW5nZScgfCAncmVkJ1xuICB9LFxuICBhZGROZXdJdGVtQnV0dG9uOiBmdW5jdGlvbiAoKSB7XG4gICAgY29uc29sZS5sb2coXCJoZWxsb1wiKTtcbiAgfSxcblxuICBpdGVtc1BhdGg6IFwicHJvamVjdHNcIixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbmZpZztcblxuIiwgImNvbnN0IF9fdml0ZV9pbmplY3RlZF9vcmlnaW5hbF9kaXJuYW1lID0gXCJDOlxcXFxVc2Vyc1xcXFxIYWxpbFxcXFxEZXNrdG9wXFxcXG51Y2xlb2lkXFxcXHBsYXRmb3JtXFxcXHZpdGVcIjtjb25zdCBfX3ZpdGVfaW5qZWN0ZWRfb3JpZ2luYWxfZmlsZW5hbWUgPSBcIkM6XFxcXFVzZXJzXFxcXEhhbGlsXFxcXERlc2t0b3BcXFxcbnVjbGVvaWRcXFxccGxhdGZvcm1cXFxcdml0ZVxcXFx2aXRlLmpzXCI7Y29uc3QgX192aXRlX2luamVjdGVkX29yaWdpbmFsX2ltcG9ydF9tZXRhX3VybCA9IFwiZmlsZTovLy9DOi9Vc2Vycy9IYWxpbC9EZXNrdG9wL251Y2xlb2lkL3BsYXRmb3JtL3ZpdGUvdml0ZS5qc1wiO2ltcG9ydCB7IENvbmZpZ1NjaGVtYSB9IGZyb20gXCIuL0NvbmZpZ1NjaGVtYS5qc1wiO1xuaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi4vLi4vLi4vY29uZmlnLmpzXCI7XG5pbXBvcnQgcGF0aCBmcm9tIFwicGF0aFwiO1xuaW1wb3J0IHJlYWN0IGZyb20gXCJAdml0ZWpzL3BsdWdpbi1yZWFjdFwiO1xuaW1wb3J0IHsgc3BsaXRWZW5kb3JDaHVua1BsdWdpbiB9IGZyb20gXCJ2aXRlXCI7XG5pbXBvcnQgc3ZnciBmcm9tIFwidml0ZS1wbHVnaW4tc3ZnclwiO1xuXG5hc3luYyBmdW5jdGlvbiB2aXRlKCkge1xuICByZXR1cm4ge1xuICAgIGJhc2U6IGNvbmZpZy5iYXNlLFxuICAgIHBsdWdpbnM6IFtcbiAgICAgIHtcbiAgICAgICAgbmFtZTogXCJqb2ktZXJyb3JcIixcbiAgICAgICAgY29uZmlndXJlU2VydmVyKHNlcnZlcikge1xuICAgICAgICAgIHNlcnZlci5taWRkbGV3YXJlcy51c2UoKHJlcSwgcmVzLCBuZXh0KSA9PiB7XG4gICAgICAgICAgICBjb25zdCB7IGVycm9yIH0gPSBDb25maWdTY2hlbWEudmFsaWRhdGUoY29uZmlnKTtcblxuICAgICAgICAgICAgaWYgKCFjb25maWcpIHtcbiAgICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoYENvbmZpZy5qcyBub3QgZm91bmRgKTtcbiAgICAgICAgICAgICAgcmVzLnN0YXR1c0NvZGUgPSA1MDA7XG4gICAgICAgICAgICAgIHJlcy5lbmQoYENvbmZpZy5qcyBub3QgZm91bmRgKTtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgICAgICAgYENvbmZpZyB2YWxpZGF0aW9uIGVycm9yOiAke2Vycm9yLnN0YWNrfWAsXG4gICAgICAgICAgICAgICAgeyB0YWc6IFwiam9pLWVycm9yXCIgfVxuICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICByZXMuc3RhdHVzQ29kZSA9IDUwMDtcbiAgICAgICAgICAgICAgcmVzLmVuZChgQ29uZmlnIHZhbGlkYXRpb24gZXJyb3I6ICR7ZXJyb3Iuc3RhY2t9YCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBuZXh0KCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSk7XG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgICAgc3BsaXRWZW5kb3JDaHVua1BsdWdpbigpLFxuICAgICAgcmVhY3QoKSxcbiAgICAgIHN2Z3IoKSxcbiAgICBdLFxuICAgIG9wdGltaXplRGVwczoge1xuICAgICAgZXNidWlsZE9wdGlvbnM6IHtcbiAgICAgICAganN4OiBcImF1dG9tYXRpY1wiLFxuICAgICAgfSxcbiAgICAgIGluY2x1ZGU6IFtcIkBtdWkvbWF0ZXJpYWxcIl0sXG4gICAgfSxcbiAgICByZXNvbHZlOiB7XG4gICAgICBhbGlhczogW1xuICAgICAgICB7XG4gICAgICAgICAgZmluZDogL15+KC4rKS8sXG4gICAgICAgICAgcmVwbGFjZW1lbnQ6IHBhdGguam9pbihwcm9jZXNzLmN3ZCgpLCBcIm5vZGVfbW9kdWxlcy8kMVwiKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbmQ6IC9ec3JjKC4rKS8sXG4gICAgICAgICAgcmVwbGFjZW1lbnQ6IHBhdGguam9pbihcbiAgICAgICAgICAgIHByb2Nlc3MuY3dkKCksXG4gICAgICAgICAgICBcIi9ub2RlX21vZHVsZXMvcGxhdGZvcm0tbnBtL21pbmltYWwvc3JjLyQxXCJcbiAgICAgICAgICApLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIGJ1aWxkOiB7XG4gICAgICByb2xsdXBPcHRpb25zOiB7XG4gICAgICAgIG91dHB1dDoge1xuICAgICAgICAgIG1hbnVhbENodW5rcyhpZCkge1xuICAgICAgICAgICAgaWYgKGlkLmluY2x1ZGVzKFwibm9kZV9tb2R1bGVzXCIpKSB7XG4gICAgICAgICAgICAgIHJldHVybiBpZFxuICAgICAgICAgICAgICAgIC50b1N0cmluZygpXG4gICAgICAgICAgICAgICAgLnNwbGl0KFwibm9kZV9tb2R1bGVzL1wiKVsxXVxuICAgICAgICAgICAgICAgIC5zcGxpdChcIi9cIilbMF1cbiAgICAgICAgICAgICAgICAudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9LFxuICB9O1xufVxuXG5leHBvcnQgeyB2aXRlIH07XG4iXSwKICAibWFwcGluZ3MiOiAiO0FBQXNVLFNBQVMsVUFBQUEsZUFBYzs7O0FDQTdWO0FBQUEsRUFDRTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsRUFDQTtBQUFBLEVBQ0E7QUFBQSxFQUNBO0FBQUEsT0FDSztBQUVQLE9BQU8sZ0JBQWdCO0FBQ3ZCLE9BQU9DLFlBQVc7OztBQ1ZsQixPQUFPLGNBQWM7QUFDckIsU0FBUyxjQUFBQyxtQkFBa0I7QUFFM0IsSUFBTSxlQUFlLE1BQ25CO0FBQUEsRUFBQ0E7QUFBQSxF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QUFDO0FBQUEsUUFDSDtBQUFBLE1BQ0Y7QUFBQSxNQUNBLHVCQUF1QjtBQUFBLE1BQ3ZCLE1BQU07QUFBQSxNQUNOLEtBQUs7QUFBQSxJQUNQO0FBQUEsSUFDQSxjQUFjO0FBQUEsTUFDWixnQkFBZ0I7QUFBQSxRQUNkLEtBQUs7QUFBQSxNQUNQO0FBQUEsTUFDQSxTQUFTLENBQUMsZUFBZTtBQUFBLElBQzNCO0FBQUEsSUFDQSxTQUFTO0FBQUEsTUFDUCxPQUFPO0FBQUEsUUFDTDtBQUFBLFVBQ0UsTUFBTTtBQUFBLFVBQ04sYUFBYSxLQUFLLEtBQUssUUFBUSxJQUFJLEdBQUcsaUJBQWlCO0FBQUEsUUFDekQ7QUFBQSxRQUNBO0FBQUEsVUFDRSxNQUFNO0FBQUEsVUFDTixhQUFhLEtBQUs7QUFBQSxZQUNoQixRQUFRLElBQUk7QUFBQSxZQUNaO0FBQUEsVUFDRjtBQUFBLFFBQ0Y7QUFBQSxNQUNGO0FBQUEsSUFDRjtBQUFBLElBQ0EsT0FBTztBQUFBLE1BQ0wsZUFBZTtBQUFBLFFBQ2IsUUFBUTtBQUFBLFVBQ04sYUFBYSxJQUFJO0FBQ2YsZ0JBQUksR0FBRyxTQUFTLGNBQWMsR0FBRztBQUMvQixxQkFBTyxHQUNKLFNBQVMsRUFDVCxNQUFNLGVBQWUsRUFBRSxDQUFDLEVBQ3hCLE1BQU0sR0FBRyxFQUFFLENBQUMsRUFDWixTQUFTO0FBQUEsWUFDZDtBQUFBLFVBQ0Y7QUFBQSxRQUNGO0FBQUEsTUFDRjtBQUFBLElBQ0Y7QUFBQSxFQUNGO0FBQ0Y7OztBSHZFQSxJQUFPLHNCQUFRLGFBQWEsS0FBSyxjQUFNLENBQUM7IiwKICAibmFtZXMiOiBbIkJ1dHRvbiIsICJSZWFjdCIsICJJY29uQnV0dG9uIiwgImNvbmZpZyIsICJjb25maWdfZGVmYXVsdCIsICJjb25maWdfZGVmYXVsdCJdCn0K
|
|
Binary file
|
|
Binary file
|