(() => {
var exports = {};
exports.id = 4106;
exports.ids = [4106,7206];
exports.modules = {

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

"use strict";

// EXPORTS
__webpack_require__.d(__webpack_exports__, {
  "e": () => (/* binding */ Disclaimer),
  "Z": () => (/* binding */ Compare)
});

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: external "antd"
var external_antd_ = __webpack_require__(545725);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(940981);
;// CONCATENATED MODULE: ./components/landing/compare.json
const compare_namespaceObject = JSON.parse('[{"name":"jupyter","title":"Online Jupyter Notebooks","link":"/features/jupyter-notebook","products":[{"key":"cocalc","name":"CoCalc","link":"https://cocalc.com"},{"key":"mybinder","name":"MyBinder","link":"https://mybinder.org/"},{"key":"colab","name":"Colab","link":"https://colab.research.google.com/"},{"key":"datalore","name":"Datalore","link":"https://datalore.io"},{"key":"deepnote","name":"Deepnote","link":"https://www.deepnote.com/"}],"rows":[{"feature":"Programming languages","cocalc":"Python, Sage, R, Octave, and many more","mybinder":"Python, R, etc. and customizable","colab":"Python 3","datalore":"Python 3","deepnote":"Python 3, Quip"},{"feature":"IPython Widgets","cocalc":true,"mybinder":true,"colab":true,"datalore":true,"deepnote":true},{"feature":"File sharing between users","cocalc":true,"mybinder":false,"colab":true,"datalore":true,"deepnote":true},{"feature":"Realtime collaboration: multiple people use the same notebook together","cocalc":true,"colab":{"type":false,"note":"Colab used to have realtime sync, but it ended in 2017, when Google terminated their realtime API product.","link":"https://workspaceupdates.googleblog.com/2017/11/committed-to-storage-apis-retiring.html"},"mybinder":"Possible via experimental extension to JupyterLab.","datalore":true,"deepnote":true},{"feature":"Persistence","cocalc":true,"mybinder":false,"colab":"Notebook persists, but data and files do not.","datalore":true,"deepnote":true},{"feature":"Large preinstalled software environment","cocalc":{"type":true,"note":"1500+ Python libraries preinstalled; extensive R, Julia, Octave, and other packages.","link":"https://cocalc.com/software/python"},"mybinder":"Limited","deepnote":{"type":true,"note":"27 featured Python packages","link":"https://docs.deepnote.com/environment/pre-installed-packages"},"datalore":"Python3, SQL, Scala, R, and Kotlin kernels; large pre-installed env with top data science packages"},{"feature":"Paid Plans","cocalc":{"type":true,"note":" Basic - $2 person/month; Pro - scales linearly depending on the resources you need","link":"https://cocalc.com/store"},"mybinder":{"type":false,"note":"Free only"},"colab":{"type":true,"note":"Pro - $9.99 person/month; Pro+ - $49.99 person/month","link":"https://colab.research.google.com/signup/pricing"},"datalore":{"type":true,"note":"Pro - $19.90 person/month; Enterprise - $125 person/month","link":"https://www.jetbrains.com/datalore/enterprise/"},"deepnote":{"type":true,"note":"Pro - $12 person/month; Enterprise - $99 person / month; plus an additional hourly fee for more powerful compute resources at about 7x the market rate","link":"https://deepnote.com/pricing"}},{"feature":"Disk space","cocalc":"3GB/project for free","mybinder":"Ephemeral","colab":"Uses your Google Drive storage","datalore":"Limit of two simultaneously running notebooks","deepnote":"5GB for free"},{"feature":"Memory","cocalc":"1GB/project for free","datalore":"Limit of two simultaneously running notebooks","deepnote":"several GB for free"},{"feature":"Idle timeout","cocalc":"30 minutes for free; pay for more","deepnote":"15 minutes for free; pay for more"},{"feature":"Network access","cocalc":"Only for non-free projects (due to abuse)","colab":true,"datalore":true,"mybinder":true,"deepnote":true},{"feature":"Public Google-indexed searchable publishing of files","cocalc":"Paid","mybinder":false,"datalore":true,"deepnote":true},{"feature":"Self hosting","cocalc":{"type":true,"link":"https://github.com/sagemathinc/cocalc-docker#readme"},"mybinder":true,"colab":false,"datalore":{"type":true,"link":"https://www.jetbrains.com/datalore/enterprise/"},"deepnote":false},{"feature":"Open source","cocalc":{"type":false,"note":"Partial (AGPLv3 + noncommercial use clause)","link":"https://github.com/sagemathinc/cocalc"},"mybinder":true,"colab":{"type":false,"note":"Some components are open","link":"https://github.com/googlecolab"},"datalore":false,"deepnote":{"type":false,"note":"Some of their modifications to upstreams projects are open source","link":"https://github.com/deepnote"}},{"feature":"GPUs","cocalc":{"type":false,"note":"Only when self hosted"},"mybinder":"Only when self hosted","colab":"Yes, for free, and even better when paid.","datalore":"Datalore Professional and when self-hosted","deepnote":true}]},{"name":"latex","title":"Online LaTeX Editors","link":"/features/latex-editor","products":[{"key":"cocalc","name":"CoCalc","link":"https://cocalc.com"},{"key":"overleaf","name":"Overleaf","link":"https://www.overleaf.com/"},{"key":"authorea","name":"Authorea","link":"https://www.authorea.com/"},{"key":"papeeria","name":"Papeeria","link":"https://papeeria.com/"}],"rows":[{"feature":"Realtime collaboration and sync","cocalc":true,"overleaf":"Limited number of collaborators","authorea":false},{"feature":"PDFLaTeX rendering engine","cocalc":true,"overleaf":true,"authorea":false},{"feature":"XeLaTeX rendering engine","cocalc":true,"overleaf":true,"authorea":false},{"feature":"LuaTeX rendering engine","cocalc":true,"overleaf":true,"authorea":false},{"feature":"Upload files","cocalc":true,"overleaf":true,"authorea":true,"papeeria":true},{"feature":"Forward and inverse search","cocalc":true,"overleaf":true,"authorea":null,"papeeria":true},{"feature":"Multifile support","cocalc":true,"overleaf":true,"authorea":null,"papeeria":true},{"feature":"WYSIWYG","cocalc":false,"overleaf":{"type":true,"note":"This is only a partial WYSIWYG-like mode."},"authorea":true,"papeeria":false},{"feature":"Equation editor","cocalc":false,"overleaf":false,"authorea":true,"papeeria":false},{"feature":"Bibliography","cocalc":{"type":true,"note":"Only BibTex via LaTeX (nothing sophisticated)"},"overleaf":true,"authorea":true,"papeeria":{"type":true,"note":"Limited"}},{"feature":"Preloaded journal templates","cocalc":{"type":false,"note":"However, you can easily upload a template from a journal."},"overleaf":true,"authorea":true,"papeeria":false},{"feature":"Run Python, R and other scripts as part of compilation","cocalc":{"type":true,"note":"CoCalc is particularly good at this."},"overleaf":{"type":true,"note":"But limited."},"authorea":false,"papeeria":false},{"feature":"R/Knitr","cocalc":true,"overleaf":"Limited - very few packages, limited syntax, no caching, slow","authorea":false,"papeeria":false},{"feature":"SageTex","cocalc":true,"overleaf":false,"authorea":false,"papeeria":false},{"feature":"PythonTex","cocalc":true,"overleaf":false,"authorea":false,"papeeria":false},{"feature":"Self hosting","cocalc":true,"overleaf":true,"authorea":false,"papeeria":false}]},{"name":"terminal","title":"Online Linux Terminal","link":"/features/terminal","products":[{"key":"cocalc","name":"CoCalc","link":"https://cocalc.com"},{"key":"cloud","name":"GCE/AWS/Azure Clouds"},{"key":"lxd","name":"LXD.org","link":"https://linuxcontainers.org/"},{"key":"webminal","name":"Webminal","link":"https://www.webminal.org/"}],"rows":[{"feature":"Free access for unlimited time","cocalc":true,"cloud":{"type":false,"note":"Limited trial with credit card"},"lxd":true,"webminal":true},{"feature":"Full Linux","cocalc":true,"cloud":true,"lxd":true},{"feature":"Count of of pre-installed packages, by running \'apt list --installed | wc -l\' or \'rpm -qa | wc -l\'","cocalc":"~ 9500","cloud":null,"lxd":"~ 200","webminal":"~ 700"},{"feature":"Copy/paste","cocalc":true,"cloud":true,"lxd":true},{"feature":"Periodic backups of your data","cocalc":true,"cloud":true,"lxd":false,"webminal":false},{"feature":"Persistent of your data","cocalc":true,"cloud":true,"lxd":false},{"feature":"Ease of setup and configuration","cocalc":"Easy","cloud":"Hard","lxd":"Very Easy","webminal":"Medium"},{"feature":"Root access","cocalc":false,"cloud":true,"lxd":true,"webminal":{"note":"Limited"}}]}]');
// EXTERNAL MODULE: ../frontend/dist/components/icon.js
var icon = __webpack_require__(807772);
// EXTERNAL MODULE: ./components/landing/contact.tsx
var contact = __webpack_require__(892771);
;// CONCATENATED MODULE: ./components/landing/compare.tsx






function Compare({ name , disclaimer , title  }) {
    const v = [];
    for (const table of compare_namespaceObject){
        if (name != null && table.name != name) continue;
        v.push(/*#__PURE__*/ jsx_runtime_.jsx(ComparisonTable, {
            table: table,
            disclaimer: disclaimer,
            title: title
        }, table.name));
    }
    return /*#__PURE__*/ jsx_runtime_.jsx("div", {
        style: {
            background: "white",
            width: "100%"
        },
        children: v
    });
};
function cmp(a, b) {
    a = `${a}`;
    b = `${b}`;
    if (a < b) return -1;
    if (a > b) return 1;
    return 0;
}
function ComparisonTable({ table , disclaimer , title  }) {
    const columns = [
        {
            title: "Feature",
            dataIndex: "feature",
            key: "feature",
            width: "25%"
        }, 
    ];
    for (const product of table.products){
        columns.push({
            width: `${75 / table.products.length}%`,
            title: product.link ? /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                href: product.link,
                alt: "Link to information about this product",
                children: product.name
            }) : product.name,
            key: product.key,
            dataIndex: product.key,
            // @ts-ignore
            render: (support)=>{
                if (support === undefined) {
                    return /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                        name: "question-circle",
                        style: {
                            color: "#888",
                            fontSize: "20px"
                        }
                    });
                }
                if (typeof support == "boolean" || support === null) {
                    return /*#__PURE__*/ jsx_runtime_.jsx(SupportMarker, {
                        type: support
                    });
                }
                let type;
                let note;
                let link = "";
                if (typeof support == "string") {
                    type = true;
                    note = support;
                } else {
                    type = support.type;
                    note = support.note;
                    link = support.link;
                }
                return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                    children: [
                        /*#__PURE__*/ jsx_runtime_.jsx(SupportMarker, {
                            type: type
                        }),
                        " ",
                        type !== undefined && /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
                        note && /*#__PURE__*/ jsx_runtime_.jsx("div", {
                            style: {
                                color: "#666",
                                fontSize: "9pt"
                            },
                            children: note
                        }),
                        link && /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                            style: {
                                fontSize: "7pt"
                            },
                            href: link,
                            children: link
                        })
                    ]
                });
            },
            sorter: (a, b)=>cmp(a[product.key], b[product.key])
        });
    }
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
        style: {
            margin: "auto",
            padding: "30px",
            overflowX: "auto"
        },
        children: [
            title ? title : /*#__PURE__*/ (0,jsx_runtime_.jsxs)("h1", {
                style: {
                    textAlign: "center"
                },
                children: [
                    table.title,
                    "\xa0\xa0\xa0\xa0",
                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                        href: table.link,
                        style: {
                            fontSize: "11pt"
                        },
                        alt: "Link to learn more about this",
                        children: "learn more"
                    })
                ]
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Table, {
                dataSource: table.rows,
                columns: columns,
                bordered: true,
                pagination: false,
                rowKey: "feature"
            }),
            disclaimer && /*#__PURE__*/ jsx_runtime_.jsx(Disclaimer, {})
        ]
    });
}
function SupportMarker({ type  }) {
    if (type === true) {
        return /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
            name: "check",
            style: {
                color: "green",
                fontSize: "20px"
            }
        });
    } else if (type === false) {
        return /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
            name: "times",
            style: {
                color: "red",
                fontSize: "20px"
            }
        });
    } else if (type === null) {
        return /*#__PURE__*/ jsx_runtime_.jsx("span", {
            style: {
                color: "#888"
            },
            children: "N/A"
        });
    } else {
        return null;
    }
}
function Disclaimer() {
    return /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Alert, {
        style: {
            margin: "30px auto",
            maxWidth: "900px"
        },
        message: "",
        description: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("span", {
            style: {
                fontSize: "10pt"
            },
            children: [
                "These comparisons were made in good faith; however, they may contain errors, since we know CoCalc better and the products are constantly improving. ",
                /*#__PURE__*/ jsx_runtime_.jsx(contact/* default */.Z, {}),
                " if anything looks wrong or incomplete!"
            ]
        }),
        type: "warning",
        showIcon: true
    });
}


/***/ }),

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

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Head)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(40968);
/* harmony import */ var next_head__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_head__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var lib_customize__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(400054);
/* harmony import */ var lib_base_path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(348397);
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(371017);
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_3__);




const FAVICON = "/webapp/favicon-32x32.png";

function Head({ title  }) {
    const { siteName  } = (0,lib_customize__WEBPACK_IMPORTED_MODULE_2__/* .useCustomize */ .i)();
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)((next_head__WEBPACK_IMPORTED_MODULE_1___default()), {
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("title", {
                children: [
                    siteName,
                    " ",
                    siteName ? "–" : "",
                    " ",
                    title
                ]
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("meta", {
                name: "description",
                content: "CoCalc landing pages and documentation"
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("link", {
                rel: "icon",
                href: (0,path__WEBPACK_IMPORTED_MODULE_3__.join)(lib_base_path__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z ?? "", FAVICON)
            })
        ]
    });
};


/***/ }),

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

"use strict";
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ SignIn)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var components_misc_A__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(940981);
/* harmony import */ var lib_base_path__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(348397);
/* harmony import */ var lib_customize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(400054);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(371853);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_4__);
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(371017);
/* harmony import */ var path__WEBPACK_IMPORTED_MODULE_5___default = /*#__PURE__*/__webpack_require__.n(path__WEBPACK_IMPORTED_MODULE_5__);
/*
 *  This file is part of CoCalc: Copyright © 2021 Sagemath, Inc.
 *  License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details
 */ 






const STYLE = {
    textAlign: "center",
    padding: "30px 15px 0 15px"
};
function SignIn({ startup , hideFree  }) {
    const { anonymousSignup , siteName , account  } = (0,lib_customize__WEBPACK_IMPORTED_MODULE_3__/* .useCustomize */ .i)();
    const router = (0,next_router__WEBPACK_IMPORTED_MODULE_4__.useRouter)();
    if (account != null) {
        return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
            style: STYLE,
            children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(components_misc_A__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                className: "ant-btn",
                href: (0,path__WEBPACK_IMPORTED_MODULE_5__.join)(lib_base_path__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, "projects"),
                external: true,
                style: {
                    margin: "15px",
                    fontSize: "14pt"
                },
                title: `Open the ${siteName} app and view your projects`,
                children: [
                    "View Your ",
                    siteName,
                    " Projects..."
                ]
            })
        });
    }
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: STYLE,
        children: [
            anonymousSignup && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_1__.Button, {
                size: "large",
                type: "primary",
                style: {
                    margin: "10px"
                },
                title: "Try now without creating an account!",
                onClick: ()=>router.push("/auth/try"),
                children: [
                    "Try\xa0",
                    startup ?? siteName,
                    "\xa0Now"
                ]
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Button, {
                size: "large",
                style: {
                    margin: "10px"
                },
                title: "Either create a new account or sign into an existing account.",
                onClick: ()=>router.push("/auth/sign-in"),
                children: "Sign In"
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Button, {
                size: "large",
                style: {
                    margin: "10px"
                },
                title: "Create a new account.",
                onClick: ()=>router.push("/auth/sign-up"),
                children: "Sign Up"
            }),
            !hideFree && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                style: {
                    padding: "15px 0 30px 0"
                },
                children: "Start free today. Upgrade later."
            })
        ]
    });
};


/***/ }),

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

"use strict";
__webpack_require__.r(__webpack_exports__);
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "default": () => (/* binding */ Octave),
/* harmony export */   "getServerSideProps": () => (/* binding */ getServerSideProps)
/* harmony export */ });
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(920997);
/* harmony import */ var react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var components_landing_footer__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(831910);
/* harmony import */ var components_landing_header__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(131498);
/* harmony import */ var lib_with_customize__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(601880);
/* harmony import */ var lib_customize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(400054);
/* harmony import */ var components_landing_sign_in__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(63186);
/* harmony import */ var components_landing_head__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(373306);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(807772);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_8___default = /*#__PURE__*/__webpack_require__.n(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_8__);
/* harmony import */ var components_landing_compare__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(661774);










const component = "CoCalc";
const title = `Run ${component} Now`;
function Octave({ customize  }) {
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(lib_customize__WEBPACK_IMPORTED_MODULE_5__/* .Customize */ .l, {
        value: customize,
        children: [
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_landing_head__WEBPACK_IMPORTED_MODULE_7__/* ["default"] */ .Z, {
                title: title
            }),
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_1__.Layout, {
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_landing_header__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
                        page: "features",
                        subPage: "compare"
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_1__.Layout.Content, {
                        children: [
                            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                                style: {
                                    backgroundColor: "#c7d9f5",
                                    textAlign: "center",
                                    padding: "60px 0"
                                },
                                children: [
                                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_8__.Icon, {
                                        style: {
                                            fontSize: "100pt",
                                            marginBottom: "50px"
                                        },
                                        name: "table"
                                    }),
                                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
                                        style: {
                                            fontSize: "26pt"
                                        },
                                        children: "Comparing CoCalc to the Competition"
                                    }),
                                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_landing_sign_in__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
                                        startup: "CoCalc"
                                    })
                                ]
                            }),
                            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_landing_compare__WEBPACK_IMPORTED_MODULE_9__/* .Disclaimer */ .e, {}),
                            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_landing_compare__WEBPACK_IMPORTED_MODULE_9__/* ["default"] */ .Z, {}),
                            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_landing_sign_in__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
                                startup: component
                            })
                        ]
                    }),
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_landing_footer__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {})
                ]
            })
        ]
    });
};
async function getServerSideProps(context) {
    return await (0,lib_with_customize__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z)({
        context
    });
}


/***/ }),

/***/ 689685:
/***/ ((__unused_webpack_module, exports, __webpack_require__) => {

var crypto = __webpack_require__(706113);

var rn = function(max) {
  var rnBytes = crypto.randomBytes(2);
  var randomNum = rnBytes.readUInt8(0) * 256 + rnBytes.readUInt8(1);
  return randomNum % max;
}

var digits = '0123456789'
var base62 = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz'
var base30 = '0123456789ABCDFHKLMNPQRSTUVWXYZ'  // 1-9, A-Z exclude(E, G, I, J, O) for human read

exports.generate = function(len, chars) {
  len = len || 16;
  chars = chars || base62;
  var key = '';
  var charsLen = chars.length;
  for (var i=0; i<len; i++) {
    key += chars[rn(charsLen)];
  }
  return key;
};

exports.generateDigits = function(len) {
  len = len || 16;
  return exports.generate(len, digits)
};

exports.generateBase30 = function(len) {
  len = len || 16;
  return exports.generate(len, base30)
}


/***/ }),

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

"use strict";
module.exports = require("antd");

/***/ }),

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

"use strict";
module.exports = require("cookies");

/***/ }),

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

"use strict";
module.exports = require("lru-cache");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/app-router-context.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/head-manager-context.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/head.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/i18n/detect-domain-locale.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/i18n/normalize-locale-path.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/image-config-context.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/image-config.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/is-plain-object.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/mitt.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/page-path/denormalize-page-path.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router-context.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/add-locale.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/add-path-prefix.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/compare-states.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/format-next-pathname-info.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/format-url.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/get-asset-path-from-route.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/get-next-pathname-info.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/is-dynamic.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/parse-path.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/parse-relative-url.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/path-has-prefix.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/querystring.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/remove-trailing-slash.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/resolve-rewrites.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/route-matcher.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/router/utils/route-regex.js");

/***/ }),

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

"use strict";
module.exports = require("next/dist/shared/lib/utils.js");

/***/ }),

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

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

/***/ }),

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

"use strict";
module.exports = require("next/router");

/***/ }),

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

"use strict";
module.exports = require("react");

/***/ }),

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

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

/***/ }),

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

"use strict";
module.exports = require("assert");

/***/ }),

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

"use strict";
module.exports = require("buffer");

/***/ }),

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

"use strict";
module.exports = require("crypto");

/***/ }),

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

"use strict";
module.exports = require("dns");

/***/ }),

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

"use strict";
module.exports = require("events");

/***/ }),

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

"use strict";
module.exports = require("fs");

/***/ }),

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

"use strict";
module.exports = require("net");

/***/ }),

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

"use strict";
module.exports = require("os");

/***/ }),

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

"use strict";
module.exports = require("path");

/***/ }),

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

"use strict";
module.exports = require("process");

/***/ }),

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

"use strict";
module.exports = require("stream");

/***/ }),

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

"use strict";
module.exports = require("string_decoder");

/***/ }),

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

"use strict";
module.exports = require("tls");

/***/ }),

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

"use strict";
module.exports = require("tty");

/***/ }),

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

"use strict";
module.exports = require("url");

/***/ }),

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

"use strict";
module.exports = require("util");

/***/ })

};
;

// 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, [549,6918,3429,2952,1746,1664,7545,9715,2448,9066,981,5997,5409], () => (__webpack_exec__(599069)));
module.exports = __webpack_exports__;

})();