"use strict";
(() => {
var exports = {};
exports.id = 3952;
exports.ids = [3952,8105];
exports.modules = {

/***/ 2279:
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {

// ESM COMPAT FLAG
__webpack_require__.r(__webpack_exports__);

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "DatabaseConnectContext": () => (/* binding */ DatabaseConnectContext),
  "default": () => (/* binding */ DatabaseConnectPage),
  "getServerSideProps": () => (/* binding */ getServerSideProps)
});

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(997);
// EXTERNAL MODULE: external "react"
var external_react_ = __webpack_require__(6689);
var external_react_default = /*#__PURE__*/__webpack_require__.n(external_react_);
// EXTERNAL MODULE: ./layouts/AdminLayout.jsx + 2 modules
var AdminLayout = __webpack_require__(4858);
// EXTERNAL MODULE: ./functions/backend/userAuth.js
var userAuth = __webpack_require__(370);
var userAuth_default = /*#__PURE__*/__webpack_require__.n(userAuth);
// EXTERNAL MODULE: ./components/general/ExtraContentDatabase.jsx
var ExtraContentDatabase = __webpack_require__(4941);
// EXTERNAL MODULE: ./components/general/BackButton.jsx
var BackButton = __webpack_require__(1781);
// EXTERNAL MODULE: ./components/general/Breadcrumbs.jsx
var Breadcrumbs = __webpack_require__(424);
// EXTERNAL MODULE: ./functions/frontend/fetchApi.js
var fetchApi = __webpack_require__(6729);
// EXTERNAL MODULE: ./components/form/FormInput.jsx + 2 modules
var FormInput = __webpack_require__(7901);
// EXTERNAL MODULE: ./components/general/LoadingBlock.jsx
var LoadingBlock = __webpack_require__(5264);
// EXTERNAL MODULE: ./components/form/FormRadios.jsx
var FormRadios = __webpack_require__(2348);
// EXTERNAL MODULE: ./components/form/FormSelect.jsx
var FormSelect = __webpack_require__(4114);
;// CONCATENATED MODULE: ./components/admin/databases/connect/ConnectForm.jsx
// @ts-check







/**
 * @param {object} props
 * @param {import("@/package-shared/types").DSQL_MYSQL_user_databases_Type} props.database
 * @param {import("@/package-shared/types").DSQL_DatabaseSchemaType} props.targetDbSchema
 * @param {import("@/package-shared/types").UserType} props.user
 * @returns
 */ function ConnectForm({ database , targetDbSchema , user  }) {
    const [isValid, setIsValid] = external_react_default().useState(false);
    const [loading, setLoading] = external_react_default().useState(false);
    /** @type {[ state: "pull" | "push", dispatch: React.Dispatch<React.SetStateAction<"pull" | "push">> ]} */ // @ts-ignore
    const [type, setType] = external_react_default().useState("pull");
    /** @type {[ state: import("@/package-shared/types").DbConnectType | null, dispatch: React.Dispatch<React.SetStateAction<import("@/package-shared/types").DbConnectType | null>> ]} */ // @ts-ignore
    const [connectPayload, setConnectPayload] = external_react_default().useState(null);
    if (isValid && connectPayload) {
        return /*#__PURE__*/ jsx_runtime_.jsx(SelectRemoteDbAndFinalizeForm, {
            payload: connectPayload,
            setConnectPayload: setConnectPayload,
            setIsValid: setIsValid,
            user: user
        });
    }
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("form", {
        onSubmit: (e)=>{
            verifyFormSubmitHandler({
                e,
                setLoading,
                database,
                type,
                targetDbSchema,
                setIsValid,
                setConnectPayload
            });
        },
        className: "w-full flex flex-col items-start justify-start gap-4 static",
        children: [
            loading && /*#__PURE__*/ jsx_runtime_.jsx(LoadingBlock/* default */.Z, {}),
            type?.match(/pull/) ? /*#__PURE__*/ jsx_runtime_.jsx("div", {
                className: "info warning",
                children: "NOTE: This will override your current Database Schema"
            }) : /*#__PURE__*/ jsx_runtime_.jsx("div", {
                className: "info green",
                children: "NOTE: The remote database will be updated with this Database Info"
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("span", {
                children: "This Feature links this current database to a remote database schema"
            }),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                className: "flex flex-col items-start gap-2 justify-start p-6 bg-slate-100 w-full rounded",
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx("span", {
                        className: "font-bold",
                        children: "Select the connection type"
                    }),
                    /*#__PURE__*/ jsx_runtime_.jsx(FormRadios/* default */.Z, {
                        radioValues: [
                            {
                                title: "Pull",
                                payload: "pull",
                                default: true
                            },
                            {
                                title: "Push",
                                payload: "push",
                                default: false
                            }, 
                        ],
                        flexRow: true,
                        onChangeHandler: (e)=>{
                            setType(e.target.value);
                        },
                        name: "type-radio"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                        children: [
                            type.match(/pull/i) && /*#__PURE__*/ jsx_runtime_.jsx("span", {
                                children: "A pull connection imposes the remote database on your current database"
                            }),
                            type.match(/push/i) && /*#__PURE__*/ jsx_runtime_.jsx("span", {
                                children: "A push connection imposes your current database to the remote"
                            })
                        ]
                    })
                ]
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(FormInput/* default */.Z, {
                placeholder: "Eg. https://domain.com",
                title: "Remote Origin Address",
                name: "remote-address",
                required: true
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(FormInput/* default */.Z, {
                placeholder: "Eg. ab81XFogyWe4yc51Agjve52cUQ5XW75m2hLFVzGeoDZT2ob6hC",
                title: "Remote API key (Full Access)",
                name: "remote-key",
                required: true
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("button", {
                className: "w-full",
                children: "Verify Remote"
            })
        ]
    });
}
/** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /**
 * ### VErify Form Submit Handler Function
 * @param {object} params
 * @param {React.FormEvent<HTMLFormElement>} params.e
 * @param {React.Dispatch<React.SetStateAction<boolean>>} params.setLoading
 * @param {"pull" | "push"} params.type
 * @param {import("@/package-shared/types").DSQL_MYSQL_user_databases_Type} params.database
 * @param {import("@/package-shared/types").DSQL_DatabaseSchemaType} params.targetDbSchema
 * @param {React.Dispatch<React.SetStateAction<boolean>>} params.setIsValid
 * @param {React.Dispatch<React.SetStateAction<import("@/package-shared/types").DbConnectType | null>>} params.setConnectPayload
 */ function verifyFormSubmitHandler({ e , setLoading , database , type , targetDbSchema , setIsValid , setConnectPayload ,  }) {
    e.preventDefault();
    /** @type {HTMLFormElement} */ // @ts-ignore
    const formEl = e.target;
    setLoading(true);
    /** @type {import("@/package-shared/types").DbConnectType} */ const postBody = {
        url: formEl["remote-address"].value,
        key: formEl["remote-key"].value,
        database,
        dbSchema: targetDbSchema,
        type
    };
    (0,fetchApi/* default */.Z)("/api/connect/verify", {
        method: "POST",
        body: postBody
    }, true).then((res)=>{
        if (res.success) {
            setIsValid(true);
            setConnectPayload({
                ...postBody,
                remoteDbs: res.payload
            });
        } else {
            console.log(res);
            setTimeout(()=>{
                setLoading(false);
            }, 2000);
        }
    }).finally(()=>{
        setTimeout(()=>{
            setLoading(false);
        }, 2000);
    });
}
/** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /**
 * ## Final Submit Form
 * @param {object} props
 * @param {import("@/package-shared/types").DbConnectType | null} props.payload
 * @param {React.Dispatch<React.SetStateAction<boolean>>} props.setIsValid
 * @param {React.Dispatch<React.SetStateAction<import("@/package-shared/types").DbConnectType | null>>} props.setConnectPayload
 * @param {import("@/package-shared/types").UserType} props.user
 * @returns
 */ function SelectRemoteDbAndFinalizeForm({ payload , setConnectPayload , setIsValid , user ,  }) {
    const [loading, setLoading] = external_react_default().useState(false);
    if (!payload?.remoteDbs?.[0]) {
        return /*#__PURE__*/ jsx_runtime_.jsx("span", {
            children: "No Databases Available on this Remote server."
        });
    }
    const remoteDatabases = payload.remoteDbs;
    if (!remoteDatabases?.[0]) {
        return /*#__PURE__*/ jsx_runtime_.jsx("span", {
            children: "The only Database Available here is this current Database"
        });
    }
    const [targetDb, setTargetDb] = external_react_default().useState(remoteDatabases[0]);
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("form", {
        onSubmit: (e)=>{
            e.preventDefault();
            if (!window.confirm("Connect these Databases?")) return;
            setLoading(true);
            (0,fetchApi/* default */.Z)(`/api/connect/handshake`, {
                method: "POST",
                body: {
                    ...payload,
                    targetDb
                }
            }, true).then((res)=>{
                if (res.success) {
                    window.location.pathname = `/admin/${user?.id}/databases/${payload.database.db_slug}`;
                } else {
                    console.log(res);
                    alert(res?.msg || "Something Went Wrong");
                }
            }).finally(()=>{
                setTimeout(()=>{
                    setLoading(false);
                }, 1000);
            });
        },
        className: "w-full gap-4 flex flex-col items-start justify-start",
        children: [
            loading && /*#__PURE__*/ jsx_runtime_.jsx(LoadingBlock/* default */.Z, {}),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("h2", {
                className: "text-xl font-normal",
                children: [
                    "Select Database from",
                    " ",
                    /*#__PURE__*/ jsx_runtime_.jsx("b", {
                        className: "text-black dark:text-white",
                        children: payload.url
                    }),
                    " ",
                    "Remote Server"
                ]
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(FormSelect/* default */.Z, {
                selectOptions: remoteDatabases.map((db)=>{
                    return {
                        payload: db.dbFullName,
                        title: db.dbName
                    };
                }),
                onChangeHandler: (e)=>{
                    /** @type {string | null} */ const targetDbName = e.target.value;
                    if (targetDbName) {
                        const targetDbObject = remoteDatabases.find((db)=>db.dbFullName == targetDbName);
                        if (targetDbObject) {
                            setTargetDb(targetDbObject);
                        } else {
                            alert("Failed to Select Target Database. Please reload the page and try again.");
                        }
                    }
                }
            }),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("span", {
                children: [
                    "Connection type:",
                    " ",
                    /*#__PURE__*/ jsx_runtime_.jsx("b", {
                        className: "info inline small " + (payload.type?.match(/pull/i) ? "warning" : "green"),
                        children: payload.type
                    })
                ]
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("button", {
                className: "w-full",
                children: "Connect Database"
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("div", {
                className: "button outlined gray w-full",
                onClick: (e)=>{
                    setIsValid(false);
                    setConnectPayload(null);
                },
                children: "Reset"
            })
        ]
    });
}

;// CONCATENATED MODULE: ./components/admin/databases/connect/DatabaseConnectContent.jsx
// @ts-check
/**
 * ==============================================================================
 * Imports
 * ==============================================================================
 */ 






/** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /**
 * ==============================================================================
 * Main Component { Functional }
 * ==============================================================================
 * @param {Object} props - Server props
 */ function DatabaseConnectContent(props) {
    /**
     * Get Contexts
     *
     * @abstract { React.useContext }
     */ const { database , user , targetDbSchema , query  } = external_react_default().useContext(DatabaseConnectContext);
    ////////////////////////////////////////
    ////////////////////////////////////////
    ////////////////////////////////////////
    if (!user) {
        return null;
    }
    try {
        /**
         * Javascript Variables
         *
         * @abstract Non hook variables and functions
         */ ////////////////////////////////////////
        ////////////////////////////////////////
        ////////////////////////////////////////
        /**
         * React Hooks
         *
         * @abstract { useState, useEffect, useRef, etc ... }
         */ ////////////////////////////////////////
        ////////////////////////////////////////
        ////////////////////////////////////////
        /**
         * Function Return
         *
         * @abstract Main Function Return
         */ return /*#__PURE__*/ (0,jsx_runtime_.jsxs)((external_react_default()).Fragment, {
            children: [
                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                    className: "flex-col items-start gap-0 w-full",
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                            className: "",
                            children: [
                                /*#__PURE__*/ jsx_runtime_.jsx(BackButton/* default */.Z, {}),
                                /*#__PURE__*/ jsx_runtime_.jsx("h1", {
                                    className: "text-3xl m-0",
                                    children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("span", {
                                        children: [
                                            database?.db_name,
                                            " Database Connect"
                                        ]
                                    })
                                })
                            ]
                        }),
                        /*#__PURE__*/ jsx_runtime_.jsx(Breadcrumbs/* default */.Z, {
                            user: user
                        })
                    ]
                }),
                /*#__PURE__*/ jsx_runtime_.jsx("div", {
                    className: "paper w-full",
                    children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                        className: "flex max-w-5xl w-full flex-col items-start gap-4",
                        children: [
                            /*#__PURE__*/ jsx_runtime_.jsx("h2", {
                                className: "text-xl m-0",
                                children: "Connect External Database Schema"
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(ConnectForm, {
                                database,
                                targetDbSchema,
                                user
                            })
                        ]
                    })
                })
            ]
        });
    ////////////////////////////////////////
    ////////////////////////////////////////
    ////////////////////////////////////////
    } catch (/** @type {any} */ error) {
        external_react_default().useEffect(()=>{
            (0,fetchApi/* default */.Z)("/api/admin/clientError", {
                method: "post",
                body: {
                    component: "DatabaseShellContent/catch-error-return",
                    message: error.message,
                    user: user
                }
            });
        }, []);
        return /*#__PURE__*/ (0,jsx_runtime_.jsxs)((external_react_default()).Fragment, {
            children: [
                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                    className: "flex-col items-start gap-0 w-full",
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                            className: "",
                            children: [
                                /*#__PURE__*/ jsx_runtime_.jsx(BackButton/* default */.Z, {}),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("h1", {
                                    className: "text-3xl m-0",
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("span", {
                                            className: "px-2 bg-slate-100 dark:bg-white/10 border border-solid border-slate-300 dark:border-slate-300/20 rounded py-1",
                                            children: database?.db_name
                                        }),
                                        "\xa0",
                                        /*#__PURE__*/ jsx_runtime_.jsx("span", {
                                            children: "Database Connect"
                                        })
                                    ]
                                })
                            ]
                        }),
                        /*#__PURE__*/ jsx_runtime_.jsx(Breadcrumbs/* default */.Z, {
                            user: user
                        })
                    ]
                }),
                /*#__PURE__*/ jsx_runtime_.jsx("section", {
                    className: "card",
                    children: /*#__PURE__*/ jsx_runtime_.jsx("h2", {
                        className: "text-xl m-0",
                        children: "Db connect unavailable at this time."
                    })
                })
            ]
        });
    }
} /** ****************************************************************************** */  /** ****************************************************************************** */  /** ****************************************************************************** */  /** ****************************************************************************** */  /** ****************************************************************************** */  /** ****************************************************************************** */ 

// EXTERNAL MODULE: ./functions/backend/grabUserSchemaData.js
var grabUserSchemaData = __webpack_require__(2527);
// EXTERNAL MODULE: ./package-shared/utils/backend/global-db/DB_HANDLER.js
var DB_HANDLER = __webpack_require__(9395);
var DB_HANDLER_default = /*#__PURE__*/__webpack_require__.n(DB_HANDLER);
// EXTERNAL MODULE: ./package-shared/functions/backend/varDatabaseDbHandler.js
var varDatabaseDbHandler = __webpack_require__(1206);
var varDatabaseDbHandler_default = /*#__PURE__*/__webpack_require__.n(varDatabaseDbHandler);
;// CONCATENATED MODULE: ./pages/admin/[user_id]/databases/[single]/connect.jsx
// @ts-check
/**
 * ==============================================================================
 * Imports
 * ==============================================================================
 */ 

////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////







/** ****************************************************************************** */ /** @type {import("@/package-shared/types").DbConnectContextType} */ // @ts-ignore
const databaseShellInit = {};
const DatabaseConnectContext = /*#__PURE__*/ external_react_default().createContext(databaseShellInit);
/** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /**
 * ==============================================================================
 * Main Component { Functional }
 * ==============================================================================
 * @param {Object} props - Server props
 * @param {import("@/package-shared/types").UserType} props.user
 * @param {import("@/package-shared/types").DSQL_MYSQL_user_databases_Type} props.database
 * @param {any} props.query
 * @param {import("@/package-shared/types").DSQL_DatabaseSchemaType} props.targetDbSchema
 */ function DatabaseConnectPage({ user , database , query , targetDbSchema ,  }) {
    /**
     * Get Contexts
     *
     * @abstract { React.useContext }
     */ ////////////////////////////////////////
    ////////////////////////////////////////
    ////////////////////////////////////////
    /**
     * Javascript Variables
     *
     * @abstract Non hook variables and functions
     */ const pageTitle = "Database Shell | Datasquirel";
    const pageDescription = "Database Shell";
    let head = /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx("title", {
                children: pageTitle
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("meta", {
                name: "description",
                content: pageDescription
            }),
            /*#__PURE__*/ jsx_runtime_.jsx("link", {
                rel: "stylesheet",
                href: "/styles/shell-page.css"
            })
        ]
    });
    ////////////////////////////////////////
    ////////////////////////////////////////
    ////////////////////////////////////////
    /**
     * React Hooks
     *
     * @abstract { useState, useEffect, useRef, etc ... }
     */ ////////////////////////////////////////
    ////////////////////////////////////////
    ////////////////////////////////////////
    /**
     * Function Return
     *
     * @abstract Main Function Return
     */ return /*#__PURE__*/ jsx_runtime_.jsx(AdminLayout/* default */.Z, {
        head: head,
        user: user,
        extraHeaderContent: /*#__PURE__*/ jsx_runtime_.jsx(ExtraContentDatabase/* default */.Z, {
            database: database,
            query: query,
            user: user
        }),
        aceEditor: true,
        children: /*#__PURE__*/ jsx_runtime_.jsx(DatabaseConnectContext.Provider, {
            value: {
                user,
                database,
                targetDbSchema,
                query
            },
            children: /*#__PURE__*/ jsx_runtime_.jsx(DatabaseConnectContent, {})
        })
    });
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
}
/** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /** ****************************************************************************** */ /**
 * ==============================================================================
 * Server Side Props or Static Props
 * ==============================================================================
 * @type {import("next").GetServerSideProps}
 */ async function getServerSideProps({ req , res , query  }) {
    /**
     * User Auth
     *
     * @description User Auth
     */ const user = await userAuth_default()(req, res);
    if (!user?.logged_in_status) {
        return {
            redirect: {
                destination: "/login",
                permanent: false
            }
        };
    }
    if (!user?.logged_in_status) {
        return {
            redirect: {
                destination: "/login",
                permanent: false
            }
        };
    }
    /**
     * Page/Site Data Data Fetching
     *
     * @description Fetch data on the server before returning
     */ /** @type {import("@/package-shared/types").DSQL_MYSQL_user_databases_Type[]} */ const database = await DB_HANDLER_default()(`SELECT * FROM user_databases WHERE user_id='${user.id}' AND db_slug='${query.single}'`);
    if (!database?.[0]) {
        return {
            redirect: {
                destination: `/admin/${user?.id}/databases`,
                permanent: false
            }
        };
    }
    if (Number(database[0].remote_connected) == 1) {
        return {
            redirect: {
                destination: `/admin/${user?.id}/databases/${query.single}`,
                permanent: false
            }
        };
    }
    const tables = await varDatabaseDbHandler_default()({
        queryString: `SHOW TABLES`,
        database: database[0].db_full_name
    });
    const dbSchemaData = (0,grabUserSchemaData/* default */.Z)({
        userId: user.id
    });
    if (!dbSchemaData?.[0]) {
        return {
            redirect: {
                destination: `/admin/${user?.id}/databases`,
                permanent: false
            }
        };
    }
    const targetDbSchema = dbSchemaData.find((db)=>db.dbFullName == database[0].db_full_name);
    if (!targetDbSchema) {
        return {
            redirect: {
                destination: `/admin/${user?.id}/databases`,
                permanent: false
            }
        };
    }
    ////////////////////////////////////////
    ////////////////////////////////////////
    ////////////////////////////////////////
    /**
     * Server props return
     *
     * @description Return data fetched on the server side
     */ return {
        props: {
            user: user,
            database: database[0],
            query,
            targetDbSchema
        }
    };
////////////////////////////////////////
////////////////////////////////////////
////////////////////////////////////////
}


/***/ }),

/***/ 4003:
/***/ ((module) => {

module.exports = require("@mui/icons-material/AdminPanelSettingsTwoTone");

/***/ }),

/***/ 3257:
/***/ ((module) => {

module.exports = require("@mui/icons-material/ArrowBackIosRounded");

/***/ }),

/***/ 69:
/***/ ((module) => {

module.exports = require("@mui/icons-material/CloudOffTwoTone");

/***/ }),

/***/ 4008:
/***/ ((module) => {

module.exports = require("@mui/icons-material/CloudQueueRounded");

/***/ }),

/***/ 3849:
/***/ ((module) => {

module.exports = require("@mui/icons-material/CodeRounded");

/***/ }),

/***/ 7306:
/***/ ((module) => {

module.exports = require("@mui/icons-material/CollectionsTwoTone");

/***/ }),

/***/ 5050:
/***/ ((module) => {

module.exports = require("@mui/icons-material/CopyAllTwoTone");

/***/ }),

/***/ 386:
/***/ ((module) => {

module.exports = require("@mui/icons-material/CottageTwoTone");

/***/ }),

/***/ 8979:
/***/ ((module) => {

module.exports = require("@mui/icons-material/DynamicFormTwoTone");

/***/ }),

/***/ 300:
/***/ ((module) => {

module.exports = require("@mui/icons-material/LanguageOutlined");

/***/ }),

/***/ 2814:
/***/ ((module) => {

module.exports = require("@mui/icons-material/LockTwoTone");

/***/ }),

/***/ 5557:
/***/ ((module) => {

module.exports = require("@mui/icons-material/MenuBookTwoTone");

/***/ }),

/***/ 9806:
/***/ ((module) => {

module.exports = require("@mui/icons-material/PeopleOutlineTwoTone");

/***/ }),

/***/ 36:
/***/ ((module) => {

module.exports = require("@mui/icons-material/RefreshRounded");

/***/ }),

/***/ 1799:
/***/ ((module) => {

module.exports = require("@mui/icons-material/SchemaTwoTone");

/***/ }),

/***/ 6500:
/***/ ((module) => {

module.exports = require("@mui/icons-material/SendToMobileTwoTone");

/***/ }),

/***/ 7428:
/***/ ((module) => {

module.exports = require("@mui/icons-material/SummarizeTwoTone");

/***/ }),

/***/ 507:
/***/ ((module) => {

module.exports = require("@mui/icons-material/TipsAndUpdatesTwoTone");

/***/ }),

/***/ 2423:
/***/ ((module) => {

module.exports = require("lucide-react");

/***/ }),

/***/ 968:
/***/ ((module) => {

module.exports = require("next/head");

/***/ }),

/***/ 6689:
/***/ ((module) => {

module.exports = require("react");

/***/ }),

/***/ 997:
/***/ ((module) => {

module.exports = require("react/jsx-runtime");

/***/ }),

/***/ 2261:
/***/ ((module) => {

module.exports = require("serverless-mysql");

/***/ }),

/***/ 4300:
/***/ ((module) => {

module.exports = require("buffer");

/***/ }),

/***/ 6113:
/***/ ((module) => {

module.exports = require("crypto");

/***/ }),

/***/ 7147:
/***/ ((module) => {

module.exports = require("fs");

/***/ }),

/***/ 3685:
/***/ ((module) => {

module.exports = require("http");

/***/ }),

/***/ 1017:
/***/ ((module) => {

module.exports = require("path");

/***/ })

};
;

// load runtime
var __webpack_require__ = require("../../../../../webpack-runtime.js");
__webpack_require__.C(exports);
var __webpack_exec__ = (moduleId) => (__webpack_require__(__webpack_require__.s = moduleId))
var __webpack_exports__ = __webpack_require__.X(0, [4017,8313,5264,6729,5449,913,4480,370,424,4858,1781,4941,7023,7901,4114,8682,2317,1206,3314,2348], () => (__webpack_exec__(2279)));
module.exports = __webpack_exports__;

})();