"use strict";
exports.id = 1492;
exports.ids = [1492];
exports.modules = {

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/cocalc-shell-script-run.b150afb2.png","height":742,"width":1312,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAElBMVEX9/v739/jw8fO1zOGTudrR5eaDYfviAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAJElEQVQImS2IwQ0AMAiEOGz3X7lq+gASuFqnFANJQMP0H2BpPQWeAC0osb6/AAAAAElFTkSuQmCC"});

/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/cocalc-terminal-collab.e4c9e044.gif","height":931,"width":1608});

/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (__WEBPACK_DEFAULT_EXPORT__)
/* harmony export */ });
/* harmony default export */ const __WEBPACK_DEFAULT_EXPORT__ = ({"src":"/_next/static/media/linux-logo.1e0a33a1.svg","height":330,"width":280});

/***/ }),

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


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

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: external "antd"
var external_antd_ = __webpack_require__(545725);
// EXTERNAL MODULE: ./lib/base-path.ts
var base_path = __webpack_require__(621923);
// EXTERNAL MODULE: ./lib/share/edit-url.ts
var edit_url = __webpack_require__(682620);
// EXTERNAL MODULE: external "path"
var external_path_ = __webpack_require__(371017);
// EXTERNAL MODULE: ../frontend/dist/components/icon.js
var icon = __webpack_require__(807772);
// EXTERNAL MODULE: external "react"
var external_react_ = __webpack_require__(616689);
// EXTERNAL MODULE: ./components/share/site-name.tsx
var site_name = __webpack_require__(312899);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(617637);
// EXTERNAL MODULE: ../util/dist/misc.js
var misc = __webpack_require__(477389);
;// CONCATENATED MODULE: ./components/app/iframe.tsx







function IFrame({ src: src0 , appURL , path , style , fullscreen: fullscreen0 , start: start0 , description  }) {
    const { 0: fullscreen , 1: setFullscreen  } = (0,external_react_.useState)(!!fullscreen0);
    const { 0: reload , 1: setReload  } = (0,external_react_.useState)(0);
    const iframeRef = (0,external_react_.useRef)(null);
    const { 0: start , 1: setStart  } = (0,external_react_.useState)(!!start0);
    const url = new URL("http://example.com" + src0);
    url.search += (url.search ? "&" : "") + `reload=${reload}`;
    const src = url.pathname + url.search + url.hash;
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
        style: fullscreen ? {
            position: "fixed",
            top: 0,
            left: 0,
            width: "100vw",
            height: "100vh",
            zIndex: 1000,
            background: "white"
        } : {
            padding: "5px 15px",
            height: start ? "70vh" : undefined,
            border: "1px solid #ddd",
            borderRadius: "5px",
            boxShadow: "5px 5px 5px #eee",
            display: "flex",
            flexDirection: "column",
            background: "white",
            ...style
        },
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx("div", {
                children: start && /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                    style: {
                        display: "flex"
                    },
                    children: [
                        /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Button, {
                            title: "Reload this",
                            size: "small",
                            type: "text",
                            onClick: ()=>{
                                setReload(reload + 1);
                            //iframeRef.current?.contentWindow.location.reload();
                            },
                            children: /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                name: "reload"
                            })
                        }),
                        /*#__PURE__*/ jsx_runtime_.jsx("div", {
                            style: {
                                flex: 1,
                                textAlign: "center",
                                paddingTop: "2.5px",
                                paddingLeft: fullscreen ? "15px" : undefined
                            },
                            children: appURL && /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Popover, {
                                title: "Open in the App",
                                content: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                                    style: {
                                        maxWidth: "350px"
                                    },
                                    children: [
                                        "Open ",
                                        path,
                                        " in the ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(site_name/* default */.Z, {}),
                                        " app for more options and to see your other files..."
                                    ]
                                }),
                                children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(A/* default */.Z, {
                                    href: appURL,
                                    external: true,
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                            name: "external-link",
                                            style: {
                                                marginRight: "5px"
                                            }
                                        }),
                                        path ? (0,misc.trunc_middle)(path, 50) : ""
                                    ]
                                })
                            })
                        }),
                        /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Button, {
                            size: "small",
                            type: "text",
                            title: "Full screen",
                            onClick: ()=>{
                                if (!fullscreen) {
                                    document.documentElement.requestFullscreen();
                                } else {
                                    if (document.fullscreenElement) {
                                        document.exitFullscreen();
                                    }
                                }
                                setFullscreen(!fullscreen);
                            },
                            children: /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                name: fullscreen ? "compress" : "expand"
                            })
                        })
                    ]
                })
            }),
            start && /*#__PURE__*/ jsx_runtime_.jsx("hr", {
                style: {
                    width: "100%"
                }
            }),
            !start ? /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Button, {
                style: {
                    margin: "15px auto"
                },
                size: "large",
                type: "primary",
                shape: "round",
                onClick: ()=>setStart(true)
                ,
                children: [
                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("span", {
                        style: {
                            marginRight: "10px"
                        },
                        children: [
                            /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                name: "run"
                            }),
                            " "
                        ]
                    }),
                    " ",
                    "Load ",
                    description ?? "Editor",
                    "..."
                ]
            }) : /*#__PURE__*/ jsx_runtime_.jsx("iframe", {
                ref: iframeRef,
                src: src,
                width: "100%",
                height: "100%",
                frameBorder: "0"
            })
        ]
    });
};

// EXTERNAL MODULE: ./lib/use-customize.ts
var use_customize = __webpack_require__(1198);
// EXTERNAL MODULE: ./components/auth/in-place-sign-in-or-up.tsx
var in_place_sign_in_or_up = __webpack_require__(886796);
// EXTERNAL MODULE: ./components/share/edit/open-anonymously.tsx
var open_anonymously = __webpack_require__(316269);
;// CONCATENATED MODULE: ./components/app/path.tsx

/*
Edit a file using the CoCalc app.
*/ 







function Path({ project_id , path , style , fullscreen , embed , description , start  }) {
    const { account , anonymousSignup  } = (0,use_customize/* default */.Z)();
    if (!account) {
        return /*#__PURE__*/ jsx_runtime_.jsx(external_antd_.Alert, {
            type: "success",
            style: style,
            message: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("div", {
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx(in_place_sign_in_or_up/* default */.Z, {
                        title: `To use ${description ?? "this"}...`
                    }),
                    anonymousSignup && /*#__PURE__*/ jsx_runtime_.jsx(open_anonymously/* default */.Z, {})
                ]
            })
        });
    }
    const appURL = (0,edit_url/* default */.Z)({
        type: "collaborator",
        project_id,
        path
    });
    const src = embed ? (0,external_path_.join)(base_path/* default */.Z, `static/embed.html?target=projects/${project_id}/files/${path ?? ""}`) : appURL + "?fullscreen=project&session=";
    return /*#__PURE__*/ jsx_runtime_.jsx(IFrame, {
        src: src,
        appURL: appURL,
        path: path,
        style: style,
        fullscreen: fullscreen,
        description: description,
        start: start
    });
};


/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Code)
/* 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__);


const { Text  } = antd__WEBPACK_IMPORTED_MODULE_1__.Typography;
function Code({ children , style  }) {
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Text, {
        code: true,
        style: style,
        children: children
    });
};


/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Content)
/* 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_sign_in__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(39646);
/* harmony import */ var components_misc_sanitized_markdown__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(377535);
/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77595);
/* harmony import */ var lib_use_customize__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(1198);
/* harmony import */ var components_app_path__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(827648);

/*
 *  This file is part of CoCalc: Copyright © 2021 Sagemath, Inc.
 *  License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details
 */ 





function Logo({ logo , title  }) {
    if (!logo) return null;
    if (typeof logo == "string" || logo?.src != null) {
        return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_image__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
            src: logo,
            style: {
                width: "200px"
            },
            alt: `${title} logo`
        });
    }
    return logo;
}
function Content(props) {
    const { title , alt , caption , description , image , aboveImage , indexInfo , logo , startup , subtitle , subtitleBelow =false ,  } = props;
    const { sandboxProjectId  } = (0,lib_use_customize__WEBPACK_IMPORTED_MODULE_5__/* ["default"] */ .Z)();
    function renderIndexInfo() {
        if (!indexInfo) return;
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
            children: [
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                    xs: 24,
                    style: {
                        borderTop: "1px solid lightgrey",
                        marginTop: "20px",
                        marginBottom: "20px"
                    }
                }),
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                    sm: {
                        span: 12,
                        offset: 6
                    },
                    xs: {
                        span: 24,
                        offset: 0
                    },
                    children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_misc_sanitized_markdown__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
                        value: indexInfo
                    })
                })
            ]
        });
    }
    function renderSubtitleTop() {
        if (subtitleBelow) return;
        return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
            style: {
                color: "#333"
            },
            children: subtitle
        });
    }
    function renderSubtitleBelow() {
        if (!subtitleBelow) return;
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
            children: [
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                    xs: 0,
                    sm: 4
                }),
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                    xs: 24,
                    sm: 16,
                    children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h2", {
                        style: {
                            color: "#333",
                            textAlign: "center",
                            marginTop: "30px"
                        },
                        children: subtitle
                    })
                })
            ]
        });
    }
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            padding: "30px 0"
        },
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_1__.Row, {
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                        sm: 10,
                        xs: 24,
                        style: {
                            display: "flex",
                            alignItems: "center",
                            paddingTop: "15px"
                        },
                        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                            style: {
                                textAlign: "center",
                                margin: "auto",
                                padding: "0 10%"
                            },
                            children: [
                                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(Logo, {
                                    logo: logo,
                                    title: title
                                }),
                                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
                                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
                                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
                                    style: {
                                        color: "#333"
                                    },
                                    children: title
                                }),
                                renderSubtitleTop(),
                                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h3", {
                                    style: {
                                        color: "#666"
                                    },
                                    children: description
                                })
                            ]
                        })
                    }),
                    /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                        sm: 14,
                        xs: 24,
                        children: [
                            aboveImage != null ? aboveImage : sandboxProjectId && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                                style: {
                                    margin: "15px"
                                },
                                children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_app_path__WEBPACK_IMPORTED_MODULE_6__/* ["default"] */ .Z, {
                                    style: {
                                        marginBottom: "15px"
                                    },
                                    project_id: sandboxProjectId,
                                    description: "Public Sandbox"
                                })
                            }),
                            image && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
                                children: [
                                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_image__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
                                        src: image,
                                        priority: true,
                                        style: {
                                            padding: "15px"
                                        },
                                        alt: alt ?? `Image illustrating ${title}`
                                    }),
                                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                                        style: {
                                            textAlign: "center",
                                            color: "#333",
                                            fontSize: "12pt"
                                        },
                                        children: caption
                                    })
                                ]
                            })
                        ]
                    }),
                    renderSubtitleBelow(),
                    renderIndexInfo()
                ]
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_landing_sign_in__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                startup: startup ?? title,
                hideFree: true
            })
        ]
    });
};


/***/ }),

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

/* 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__(481617);
/* harmony import */ var lib_base_path__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(621923);
/* 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 ? "\u2013" : "",
                    " ",
                    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)
            })
        ]
    });
};


/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Info)
/* 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 _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(807772);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _util__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(534100);
/* harmony import */ var _image__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(77595);
/* harmony import */ var lib_config__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(78082);






const showcase = {
    width: "100%",
    boxShadow: "2px 2px 4px rgb(0 0 0 / 25%), 0 2px 4px rgb(0 0 0 / 22%)",
    borderRadius: "3px"
};
function Info(props) {
    const { anchor , icon , title , image , alt , video , caption , children , wide , swapCols , textStyleExtra ,  } = props;
    const head = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("h1", {
        id: anchor,
        style: {
            textAlign: "center",
            marginBottom: "20px",
            color: "#333"
        },
        children: [
            icon && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("span", {
                style: {
                    fontSize: "24pt",
                    marginRight: "5px"
                },
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_2__.Icon, {
                        name: icon
                    }),
                    " "
                ]
            }),
            title
        ]
    });
    let graphic = null;
    if (image != null) {
        graphic = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_image__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
            style: showcase,
            src: image,
            alt: alt ?? caption
        });
    } else if (video != null) {
        const videoSrcs = typeof video == "string" ? [
            video
        ] : video;
        verifyHasMp4(videoSrcs);
        graphic = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
            style: {
                position: "relative",
                width: "100%"
            },
            children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("video", {
                style: showcase,
                loop: true,
                controls: true,
                children: sources(videoSrcs)
            })
        });
    }
    if (graphic != null && caption != null) {
        graphic = /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
            children: [
                graphic,
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("br", {}),
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                    style: {
                        textAlign: "center",
                        color: "#666",
                        fontSize: "13pt"
                    },
                    children: caption
                })
            ]
        });
    }
    if (!graphic) {
        const noGraphicTextStyle = {
            background: "#fafafa",
            padding: "20px",
            marginBottom: "15px"
        };
        if (textStyleExtra != null) {
            // if textColStyleExtra is given, then merge it into noGraphicTextStyle.
            Object.assign(noGraphicTextStyle, textStyleExtra);
        }
        return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
            style: {
                width: "100%"
            },
            children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                style: {
                    maxWidth: lib_config__WEBPACK_IMPORTED_MODULE_5__/* .MAX_WIDTH */ .d,
                    margin: "0 auto"
                },
                children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
                    style: noGraphicTextStyle,
                    children: [
                        /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                            style: {
                                textAlign: "center"
                            },
                            children: head
                        }),
                        /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                            style: {
                                margin: "auto",
                                maxWidth: wide ? "600px" : undefined
                            },
                            children: children
                        })
                    ]
                })
            })
        });
    }
    const textColStyle = {
        border: "1px solid white",
        borderRadius: "5px",
        padding: "0 20px 0 20px",
        marginBottom: "15px",
        display: "flex",
        justifyContent: "start",
        alignContent: "start",
        flexDirection: "column",
        fontSize: "12pt"
    };
    if (textStyleExtra != null) {
        // if textColStyleExtra is given, then merge it into textColStyle.
        Object.assign(textColStyle, textStyleExtra);
    }
    const textCol = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
        lg: wide ? 7 : 9,
        style: textColStyle,
        children: children
    }, "text");
    const graphicCol = /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
        lg: wide ? 17 : 15,
        style: {
            padding: "0 30px",
            width: "100%"
        },
        children: graphic
    }, "graphics");
    const cols = swapCols ? [
        textCol,
        graphicCol
    ] : [
        graphicCol,
        textCol
    ];
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
        style: {
            padding: "60px 5%",
            background: "white",
            fontSize: "11pt"
        },
        children: /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
            children: [
                head,
                /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Row, {
                    children: cols
                })
            ]
        })
    });
};
function sources(video) {
    const v = [];
    for (const x of video){
        v.push(/*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("source", {
            src: (0,_util__WEBPACK_IMPORTED_MODULE_3__/* .MediaURL */ .c)(x)
        }, x));
    }
    return v;
}
function verifyHasMp4(video) {
    for (const x of video){
        if (x.endsWith(".mp4")) {
            return;
        }
    }
    console.warn("include mp4 format for the video, so that it is viewable on iOS!!", video);
}
Info.Heading = ({ children , description , style  })=>{
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            ...{
                textAlign: "center",
                margin: "40px"
            },
            ...style
        },
        children: [
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("h1", {
                style: {
                    fontSize: "400%",
                    color: "#444"
                },
                children: children
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("div", {
                style: {
                    fontSize: "13pt",
                    color: "#666"
                },
                children: description
            })
        ]
    });
};


/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ Pitch)
/* 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__(617637);
/* harmony import */ var _code__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(683068);




function Pitch({ col1 , col2 , ext  }) {
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            padding: "30px 10%",
            backgroundColor: "white",
            fontSize: "11pt"
        },
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_1__.Row, {
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                        lg: 12,
                        style: {
                            paddingRight: "20px"
                        },
                        children: col1
                    }),
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(antd__WEBPACK_IMPORTED_MODULE_1__.Col, {
                        lg: 12,
                        children: col2
                    })
                ]
            }),
            ext && /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(CallToAction, {
                ext: ext
            })
        ]
    });
};
function CallToAction({ ext  }) {
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        style: {
            textAlign: "center",
            padding: "30px 0",
            fontSize: "14pt"
        },
        children: [
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx("strong", {
                children: "Ready out of the box"
            }),
            ":",
            " ",
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_misc_A__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                href: "https://doc.cocalc.com/getting-started.html",
                children: "Sign up, create a project"
            }),
            ", create or ",
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_misc_A__WEBPACK_IMPORTED_MODULE_2__/* ["default"] */ .Z, {
                href: "https://doc.cocalc.com/howto/upload.html",
                children: "upload"
            }),
            " ",
            "your ",
            ext && /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(_code__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z, {
                children: [
                    "*.",
                    ext
                ]
            }),
            " file, and you're ready to go!"
        ]
    });
}


/***/ }),

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

/* 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__(617637);
/* harmony import */ var lib_base_path__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(621923);
/* harmony import */ var lib_customize__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(481617);
/* 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."
            })
        ]
    });
};


/***/ }),

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


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

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(617637);
// EXTERNAL MODULE: ./components/landing/info.tsx
var info = __webpack_require__(59737);
;// CONCATENATED MODULE: ./public/features/cocalc-snapshots.png
/* harmony default export */ const cocalc_snapshots = ({"src":"/_next/static/media/cocalc-snapshots.9bf815f8.png","height":944,"width":1915,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAACVBMVEX09PTm7PLx6+uca3txAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAGElEQVQImWNgQABGRkYmJiYogwHGYGIAAAFQABgXDyhyAAAAAElFTkSuQmCC"});
;// CONCATENATED MODULE: ./components/landing/snapshots.tsx




function Snapshots({ children  }) {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
        title: "Snapshot backups",
        image: cocalc_snapshots,
        icon: "life-saver",
        anchor: "a-snapshot-backups",
        alt: "Browsing filesystem snapshots in a CoCalc project",
        wide: true,
        children: [
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                        children: "Snapshots"
                    }),
                    " are consistent read-only views of all your files in a",
                    " ",
                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                        href: "https://doc.cocalc.com/project.html",
                        children: "CoCalc project"
                    }),
                    ". You can restore your files by copying back any that you accidentally deleted or corrupted."
                ]
            }),
            children
        ]
    });
};


/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ SanitizedMarkdown)
/* 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 _cocalc_frontend_lib_file_context__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(732586);
/* harmony import */ var _cocalc_frontend_editors_slate_static_markdown__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(695379);
/* harmony import */ var _cocalc_frontend_editors_slate_static_markdown__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_cocalc_frontend_editors_slate_static_markdown__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var components_misc_A__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(617637);




function SanitizedMarkdown({ style , value  }) {
    const ctx = {
        AnchorTagComponent: components_misc_A__WEBPACK_IMPORTED_MODULE_3__/* ["default"] */ .Z,
        noSanitize: false
    };
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_cocalc_frontend_lib_file_context__WEBPACK_IMPORTED_MODULE_1__.FileContext.Provider, {
        value: ctx,
        children: /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx((_cocalc_frontend_editors_slate_static_markdown__WEBPACK_IMPORTED_MODULE_2___default()), {
            value: value,
            style: style
        })
    });
};


/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ OpenAnonymously)
/* 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_router__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(371853);
/* harmony import */ var next_router__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(next_router__WEBPACK_IMPORTED_MODULE_1__);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(545725);
/* harmony import */ var antd__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(antd__WEBPACK_IMPORTED_MODULE_2__);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(807772);
/* harmony import */ var _cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_3__);
/* harmony import */ var components_auth_try__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(123375);

/*
 *  This file is part of CoCalc: Copyright © 2020 Sagemath, Inc.
 *  License: AGPLv3 s.t. "Commons Clause" – see LICENSE.md for details
 */ 



function OpenAnonymously() {
    const router = (0,next_router__WEBPACK_IMPORTED_MODULE_1__.useRouter)();
    return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)("div", {
        children: [
            /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(antd__WEBPACK_IMPORTED_MODULE_2__.Divider, {
                children: [
                    /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(_cocalc_frontend_components_icon__WEBPACK_IMPORTED_MODULE_3__.Icon, {
                        name: "mask",
                        style: {
                            marginRight: "10px"
                        }
                    }),
                    " Anonymously"
                ]
            }),
            /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(components_auth_try__WEBPACK_IMPORTED_MODULE_4__/* ["default"] */ .Z, {
                minimal: true,
                onSuccess: ()=>router.push({
                        pathname: router.asPath.split("?")[0],
                        query: {
                            edit: "true"
                        }
                    })
            })
        ]
    });
};


/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "Z": () => (/* binding */ SiteName)
/* 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 lib_use_customize__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(1198);


function SiteName({ full  }) {
    const { siteName , siteDescription  } = (0,lib_use_customize__WEBPACK_IMPORTED_MODULE_1__/* ["default"] */ .Z)();
    if (full) {
        return /*#__PURE__*/ (0,react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsxs)(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
            children: [
                siteName,
                ": ",
                siteDescription
            ]
        });
    }
    return /*#__PURE__*/ react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.jsx(react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__.Fragment, {
        children: siteName
    });
};


/***/ }),

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

/* harmony export */ __webpack_require__.d(__webpack_exports__, {
/* harmony export */   "d": () => (/* binding */ MAX_WIDTH),
/* harmony export */   "r": () => (/* binding */ SHARE_MAX_WIDTH)
/* harmony export */ });
/*
Constants and other configuration that impact the overall
look of all of the pages.
*/ const MAX_WIDTH = "900px";
const SHARE_MAX_WIDTH = "1100px";


/***/ }),

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

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

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

// EXTERNAL MODULE: external "react/jsx-runtime"
var jsx_runtime_ = __webpack_require__(920997);
// EXTERNAL MODULE: ../frontend/dist/components/icon.js
var icon = __webpack_require__(807772);
// EXTERNAL MODULE: external "antd"
var external_antd_ = __webpack_require__(545725);
// EXTERNAL MODULE: ./components/landing/code.tsx
var code = __webpack_require__(683068);
// EXTERNAL MODULE: ./components/landing/content.tsx
var content = __webpack_require__(113684);
// EXTERNAL MODULE: ./components/landing/footer.tsx + 1 modules
var footer = __webpack_require__(920691);
// EXTERNAL MODULE: ./components/landing/head.tsx
var head = __webpack_require__(422004);
// EXTERNAL MODULE: ./components/landing/header.tsx + 2 modules
var header = __webpack_require__(113680);
// EXTERNAL MODULE: ./components/landing/info.tsx
var info = __webpack_require__(59737);
// EXTERNAL MODULE: ./components/landing/pitch.tsx
var pitch = __webpack_require__(252181);
// EXTERNAL MODULE: ./components/landing/sign-in.tsx
var sign_in = __webpack_require__(39646);
// EXTERNAL MODULE: ./components/landing/snapshots.tsx + 1 modules
var snapshots = __webpack_require__(607746);
// EXTERNAL MODULE: ./components/misc/A.tsx
var A = __webpack_require__(617637);
// EXTERNAL MODULE: ./lib/customize.ts
var lib_customize = __webpack_require__(481617);
// EXTERNAL MODULE: ./lib/with-customize.ts
var with_customize = __webpack_require__(422638);
;// CONCATENATED MODULE: ./public/features/cocalc-jupyter-bash.png
/* harmony default export */ const cocalc_jupyter_bash = ({"src":"/_next/static/media/cocalc-jupyter-bash.f8c2f370.png","height":1076,"width":1682,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAFCAMAAABPT11nAAAAElBMVEX6+vr+/v7x8PLX5uzA1OTe5uPY/UWXAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIklEQVQImR2IgQkAAAiD3Fb/vxxLEEQ2mWBTRTFInyo9/nMFNAAtqUGc9wAAAABJRU5ErkJggg=="});
// EXTERNAL MODULE: ./public/features/cocalc-shell-script-run.png
var cocalc_shell_script_run = __webpack_require__(321908);
// EXTERNAL MODULE: ./public/features/cocalc-terminal-collab.gif
var cocalc_terminal_collab = __webpack_require__(924727);
// EXTERNAL MODULE: ./public/features/linux-logo.svg
var linux_logo = __webpack_require__(180906);
;// CONCATENATED MODULE: ./public/features/terminal-jupyter-postgresql.png
/* harmony default export */ const terminal_jupyter_postgresql = ({"src":"/_next/static/media/terminal-jupyter-postgresql.9802f373.png","height":1009,"width":1971,"blurDataURL":"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAECAMAAACEE47CAAAADFBMVEX19fX8+/zv7u7l5+dQBawHAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAIElEQVQImR3GwQ0AMBACINT9d26uCQ+sukE/0tgtcvIAAr4AIbUDrOcAAAAASUVORK5CYII="});
;// CONCATENATED MODULE: ./pages/features/linux.tsx




















function Linux({ customize  }) {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(lib_customize/* Customize */.l, {
        value: customize,
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx(head/* default */.Z, {
                title: "Online Linux Environment"
            }),
            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout, {
                children: [
                    /*#__PURE__*/ jsx_runtime_.jsx(header/* default */.Z, {
                        page: "features",
                        subPage: "linux"
                    }),
                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)(external_antd_.Layout.Content, {
                        children: [
                            /*#__PURE__*/ jsx_runtime_.jsx("div", {
                                style: {
                                    backgroundColor: "#c7d9f5"
                                },
                                children: /*#__PURE__*/ jsx_runtime_.jsx(content/* default */.Z, {
                                    startup: "Linux",
                                    logo: linux_logo/* default */.Z,
                                    title: "Online Linux Environment",
                                    subtitle: "Learn Linux and Bash Scripting without messing up your own computer.",
                                    subtitleBelow: true,
                                    image: cocalc_shell_script_run/* default */.Z,
                                    alt: "Running a bash script to count in Linux"
                                })
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(FullLinuxTerminal, {}),
                            /*#__PURE__*/ jsx_runtime_.jsx(sign_in/* default */.Z, {
                                startup: "Linux"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Realtime collaboration",
                                icon: "users",
                                image: cocalc_terminal_collab/* default */.Z,
                                anchor: "a-real-time",
                                alt: "Video showing using vim collaboratively with chat",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Terminals in CoCalc are represented by files with the extension",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("code", {
                                                children: ".term"
                                            }),
                                            ". The same terminal can be opened by two or more people simultaneous. Both see the same view, which adaptively resizes to a common size."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Additionally, you can open a",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/chat.html",
                                                children: "chat"
                                            }),
                                            " panel to exchange thoughts and ideas."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "This is ideal for getting advice from a colleague or",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/teaching-interactions.html",
                                                children: "helping one of your students"
                                            }),
                                            ".",
                                            " "
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(info/* default.Heading */.Z.Heading, {
                                description: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        "The following are some additional specific features of Linux Terminals in CoCalc.",
                                        /*#__PURE__*/ jsx_runtime_.jsx("br", {}),
                                        "There is also more",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: "https://doc.cocalc.com/terminal.html",
                                            children: "comprehensive documentation"
                                        }),
                                        "."
                                    ]
                                }),
                                children: "Feature Overview"
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        "Run",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: "https://en.wikipedia.org/wiki/Bash_(Unix_shell)",
                                            children: "Bash"
                                        }),
                                        " ",
                                        "scripts"
                                    ]
                                }),
                                icon: "terminal",
                                image: cocalc_shell_script_run/* default */.Z,
                                caption: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                                    children: [
                                        "Bash ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                            children: "script.sh"
                                        }),
                                        " file (left),",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                            children: "bash -f script.sh"
                                        }),
                                        " to run (right)"
                                    ]
                                }),
                                anchor: "a-shell-script",
                                alt: "Running a bash script to count in Linux",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "CoCalc's",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/frame-editor.html",
                                                children: "code editor"
                                            }),
                                            " ",
                                            "supports",
                                            " ",
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("strong", {
                                                children: [
                                                    "editing a",
                                                    " ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "https://www.gnu.org/software/bash/",
                                                        children: "bash script"
                                                    }),
                                                    " ",
                                                    "side-by-side with a",
                                                    " ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "https://doc.cocalc.com/terminal.html",
                                                        children: "terminal"
                                                    })
                                                ]
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "To get started, create a script file ending with ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: ".sh"
                                            }),
                                            ", for example ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: "script.sh"
                                            }),
                                            ". Opening that file presents you an editor with ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "syntax highlighting"
                                            }),
                                            ". Then click the ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: "Shell"
                                            }),
                                            " button to open up a Terminal and type in",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: "bash -f script.sh"
                                            }),
                                            " to run your script."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "This helps you learning Bash by exploring its commands directly in your browser and immediately experiencing the results.",
                                            " "
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Jupyter Bash kernel",
                                image: cocalc_jupyter_bash,
                                icon: "ipynb",
                                anchor: "a-jupyter",
                                alt: "Using Bash via a Jupyter notebook",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Are you looking for something beyond a terminal or editing shell scripts? CoCalc also offers",
                                            " ",
                                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)("strong", {
                                                children: [
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "/features/jupyter-notebook",
                                                        children: "Jupyter Notebooks"
                                                    }),
                                                    " ",
                                                    "running the",
                                                    " ",
                                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                        href: "https://github.com/takluyver/bash_kernel",
                                                        children: "bash kernel"
                                                    })
                                                ]
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: 'This is similar to working with a terminal, but it saves all the input you typed and the corresponding output in "cells". That helps you with learning Linux commands, because it makes it easier to edit the code input or compare different outcomes of similar code. Besides that, you can also take notes between code cells.'
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(snapshots/* default */.Z, {
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "The CoCalc terminal is ideal for",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "teaching and learning Linux"
                                            }),
                                            ", because when you make a mistake, it has your back!"
                                        ]
                                    }),
                                    /*#__PURE__*/ jsx_runtime_.jsx("p", {
                                        children: "Everything runs remotely on CoCalc's servers. This means you do not have to worry about messing up your own computer, dealing with setup and installation issues yourself, or fear losing or corrupting files on your computer."
                                    })
                                ]
                            }),
                            /*#__PURE__*/ (0,jsx_runtime_.jsxs)(info/* default */.Z, {
                                title: "Databases (PostgreSQL, MySQL, SQLite)",
                                image: terminal_jupyter_postgresql,
                                icon: "database",
                                anchor: "a-database",
                                wide: true,
                                alt: "Using a PostgreSQL database via a terminal and a Jupyter notebook",
                                children: [
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "CoCalc supports running various databases inside a project."
                                            }),
                                            " ",
                                            "They run in the same protected networking environment as all other processes in a project. This is ideal for",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "learning SQL"
                                            }),
                                            " or",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "persistently storing data"
                                            }),
                                            " as a result of your computations."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "PostgreSQL"
                                            }),
                                            ": read",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/howto/postgresql.html",
                                                children: "our guide"
                                            }),
                                            " ",
                                            "to get started."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "Besides",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://https://www.postgresql.org/",
                                                children: "PostgreSQL"
                                            }),
                                            ", CoCalc also supports ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://www.mysql.com/",
                                                children: "MySQL"
                                            }),
                                            " ",
                                            "and ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://sqlite.org",
                                                children: "SQLite"
                                            }),
                                            "."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "To interact with the databases, CoCalc",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                                children: "pre-installs suitable Python and R libraries"
                                            }),
                                            " for your convenience."
                                        ]
                                    }),
                                    /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                                        children: [
                                            "In the screenshot, you can see how a PostgreSQL database was setup and started in the first terminal. In the second terminal,",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(code/* default */.Z, {
                                                children: "psql"
                                            }),
                                            " is used to connect to it and create a table and insert data. Finally, the",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "/features/jupyter-notebook",
                                                children: "Jupyter Notebook"
                                            }),
                                            " on the left connects via the",
                                            " ",
                                            /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "http://initd.org/psycopg/docs/",
                                                children: "psycopg2"
                                            }),
                                            " library and issues a query to the database!"
                                        ]
                                    })
                                ]
                            }),
                            /*#__PURE__*/ jsx_runtime_.jsx(sign_in/* default */.Z, {
                                startup: "Linux"
                            })
                        ]
                    }),
                    /*#__PURE__*/ jsx_runtime_.jsx(footer/* default */.Z, {})
                ]
            })
        ]
    });
};
async function getServerSideProps(context) {
    return await (0,with_customize/* default */.Z)({
        context
    });
}
function FullLinuxTerminal() {
    return /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
        children: [
            /*#__PURE__*/ jsx_runtime_.jsx(pitch/* default */.Z, {
                col1: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                    children: [
                        /*#__PURE__*/ jsx_runtime_.jsx("h2", {
                            children: "Full Linux Terminal"
                        }),
                        /*#__PURE__*/ jsx_runtime_.jsx("p", {
                            children: /*#__PURE__*/ (0,jsx_runtime_.jsxs)("strong", {
                                children: [
                                    "CoCalc offers a full, collaborative, real-time synchronized",
                                    " ",
                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                        href: "https://en.wikipedia.org/wiki/Linux",
                                        children: "Linux"
                                    }),
                                    " ",
                                    /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                        href: "https://en.wikipedia.org/wiki/Command-line_interface",
                                        children: "Command Line Terminal"
                                    }),
                                    " ",
                                    "in your browser."
                                ]
                            })
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                            children: [
                                "Take a look at our",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                    children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                        href: "https://doc.cocalc.com/terminal.html",
                                        children: "terminal documentation"
                                    })
                                }),
                                " ",
                                "to learn more about it!"
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                            children: [
                                "Browse the",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                    children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                        href: "/software/executables",
                                        children: "installed software"
                                    })
                                }),
                                " ",
                                "in CoCalc."
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("p", {
                            children: [
                                "CoCalc is made for",
                                " ",
                                /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                    children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                        href: "/features/teaching",
                                        children: "teaching a course"
                                    })
                                }),
                                ": students just have to sign in to get started!",
                                " "
                            ]
                        })
                    ]
                }),
                col2: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                    children: [
                        /*#__PURE__*/ jsx_runtime_.jsx("h2", {
                            children: "Benefits of working 100% online"
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ul", {
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        "You no longer have to ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "install and maintain"
                                        }),
                                        " any software."
                                    ]
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        "It is possible for multiple people to",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "collaboratively use the same terminal in realtime"
                                        }),
                                        "."
                                    ]
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx("li", {
                                    children: "You can also edit and run shell script files."
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        "Use",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                                href: "https://doc.cocalc.com/chat.html",
                                                children: "chat"
                                            })
                                        }),
                                        " ",
                                        "next to the Terminal to discuss your commands with others."
                                    ]
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "Automatic backup"
                                        }),
                                        " keeps your files safe!"
                                    ]
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        "You can ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "copy and paste"
                                        }),
                                        " between your local desktop and the online terminal."
                                    ]
                                })
                            ]
                        })
                    ]
                })
            }),
            /*#__PURE__*/ jsx_runtime_.jsx(pitch/* default */.Z, {
                ext: "sh",
                col1: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("h2", {
                            children: [
                                /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                    name: "user-check"
                                }),
                                " What you ",
                                /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                    children: "can"
                                }),
                                " do ..."
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ul", {
                            children: [
                                /*#__PURE__*/ jsx_runtime_.jsx("li", {
                                    children: "Learn Bash scripting"
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx("li", {
                                    children: "Learn how to use the Linux command line"
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        "Run scripts written in",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "Python, R, PHP, Ruby, Go, Perl, Nodejs "
                                        }),
                                        " etc."
                                    ]
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        "Compile programs written in",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "C/C++, Java, Rust, Assembly, Fortran, Julia, Zig, Haskell,"
                                        }),
                                        " ",
                                        "etc."
                                    ]
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx("li", {
                                    children: "Process and store datafiles"
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx("li", {
                                    children: "Collaborate"
                                }),
                                /*#__PURE__*/ jsx_runtime_.jsx("li", {
                                    children: "Use graphical X11 applications"
                                })
                            ]
                        })
                    ]
                }),
                col2: /*#__PURE__*/ (0,jsx_runtime_.jsxs)(jsx_runtime_.Fragment, {
                    children: [
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("h2", {
                            children: [
                                /*#__PURE__*/ jsx_runtime_.jsx(icon.Icon, {
                                    name: "user-slash"
                                }),
                                " ... what you ",
                                /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                    children: "cannot"
                                }),
                                " ",
                                "do."
                            ]
                        }),
                        /*#__PURE__*/ (0,jsx_runtime_.jsxs)("ul", {
                            children: [
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: /*#__PURE__*/ jsx_runtime_.jsx("code", {
                                                children: "Root"
                                            })
                                        }),
                                        ": due to how CoCalc works, you cannot have root rights. However, there is a wealth of software",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: "/software",
                                            children: "already installed"
                                        }),
                                        ", including both system utilities and packages for specific language environments. Regarding Python, R, Nodejs, and Julia environments, you can",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: "https://doc.cocalc.com/howto/index.html",
                                            children: "install additional packages in your project"
                                        }),
                                        ". If something is missing,",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: "mailto:help@cocalc.com",
                                            children: "please tell us"
                                        }),
                                        "."
                                    ]
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "Communicate with the Internet without buying a license"
                                        }),
                                        ": if you want to run code to download data from another server or checkout a Git repository \u2013 or just want to support CoCalc \u2013 you need a",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: "https://doc.cocalc.com/licenses.html",
                                            children: "license"
                                        }),
                                        " ",
                                        "applied to your project. Learn more about the",
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: "https://doc.cocalc.com/trial.html",
                                            children: "Trial Projects"
                                        }),
                                        " ",
                                        "that you can use for free."
                                    ]
                                }),
                                /*#__PURE__*/ (0,jsx_runtime_.jsxs)("li", {
                                    children: [
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "Port forwards:"
                                        }),
                                        " you cannot forward arbitrary ports over ssh to your local computer. (You ",
                                        /*#__PURE__*/ jsx_runtime_.jsx("strong", {
                                            children: "CAN"
                                        }),
                                        " ",
                                        /*#__PURE__*/ jsx_runtime_.jsx(A/* default */.Z, {
                                            href: "https://doc.cocalc.com/project-settings.html#ssh-keys",
                                            children: "ssh into your project"
                                        }),
                                        ".)"
                                    ]
                                })
                            ]
                        })
                    ]
                })
            })
        ]
    });
}


/***/ })

};
;