/*! elementor - v3.27.0 - 03-02-2025 */ /******/ (() => { // webpackBootstrap /******/ var __webpack_modules__ = ({ /***/ "../assets/dev/js/utils/react.js": /*!***************************************!*\ !*** ../assets/dev/js/utils/react.js ***! \***************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var ReactDOM = _interopRequireWildcard(__webpack_require__(/*! react-dom */ "react-dom")); var _client = __webpack_require__(/*! react-dom/client */ "../node_modules/react-dom/client.js"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /** * Support conditional rendering of a React App to the DOM, based on the React version. * We use `createRoot` when available, but fallback to `ReactDOM.render` for older versions. * * @param { React.ReactElement } app The app to render. * @param { HTMLElement } domElement The DOM element to render the app into. * * @return {{ unmount: () => void }} The unmount function. */ function render(app, domElement) { var unmountFunction; try { var root = (0, _client.createRoot)(domElement); root.render(app); unmountFunction = function unmountFunction() { root.unmount(); }; } catch (e) { // eslint-disable-next-line react/no-deprecated ReactDOM.render(app, domElement); unmountFunction = function unmountFunction() { // eslint-disable-next-line react/no-deprecated ReactDOM.unmountComponentAtNode(domElement); }; } return { unmount: unmountFunction }; } var _default = exports["default"] = { render: render }; /***/ }), /***/ "../modules/home/assets/js/components/addons-section.js": /*!**************************************************************!*\ !*** ../modules/home/assets/js/components/addons-section.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List")); var _Link = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Link */ "@elementor/ui/Link")); var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button")); var _Card = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Card */ "@elementor/ui/Card")); var _CardActions = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardActions */ "@elementor/ui/CardActions")); var _CardContent = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardContent */ "@elementor/ui/CardContent")); var _CardMedia = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/CardMedia */ "@elementor/ui/CardMedia")); var Addons = function Addons(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); var domain = props.adminUrl.replace('wp-admin/', ''); var addonsArray = props.addonsData.repeater; var cardsPerRow = 3 === addonsArray.length ? 3 : 2; return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { p: 3, display: 'flex', flexDirection: 'column', gap: 2 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "h6" }, props.addonsData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary" }, props.addonsData.header.description)), /*#__PURE__*/_react.default.createElement(_List.default, { sx: { display: 'grid', gridTemplateColumns: { md: "repeat(".concat(cardsPerRow, ", 1fr)"), xs: 'repeat(1, 1fr)' }, gap: 2 } }, addonsArray.map(function (item) { var linkTarget = item.hasOwnProperty('target') ? item.target : '_blank'; return /*#__PURE__*/_react.default.createElement(_Card.default, { key: item.title, elevation: 0, sx: { display: 'flex', border: 1, borderRadius: 1, borderColor: 'action.focus' } }, /*#__PURE__*/_react.default.createElement(_CardContent.default, { sx: { display: 'flex', flexDirection: 'column', justifyContent: 'space-between', gap: 3, p: 3 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_CardMedia.default, { image: item.image, sx: { height: '58px', width: '58px', mb: 2 } }), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "subtitle2" }, item.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary" }, item.description))), /*#__PURE__*/_react.default.createElement(_CardActions.default, { sx: { p: 0 } }, /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "outlined", size: "small", color: "promotion", href: item.url, target: linkTarget }, item.button_label)))); })), /*#__PURE__*/_react.default.createElement(_Link.default, { variant: "body2", color: "info.main", underline: "none", href: "".concat(domain).concat(props.addonsData.footer.file_path) }, props.addonsData.footer.label)); }; var _default = exports["default"] = Addons; Addons.propTypes = { addonsData: PropTypes.object.isRequired, adminUrl: PropTypes.string.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/create-new-page-dialog.js": /*!**********************************************************************!*\ !*** ../modules/home/assets/js/components/create-new-page-dialog.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var __ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n")["__"]; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _DialogHeader = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogHeader */ "@elementor/ui/DialogHeader")); var _DialogHeaderGroup = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogHeaderGroup */ "@elementor/ui/DialogHeaderGroup")); var _DialogTitle = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogTitle */ "@elementor/ui/DialogTitle")); var _DialogContent = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogContent */ "@elementor/ui/DialogContent")); var _DialogContentText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogContentText */ "@elementor/ui/DialogContentText")); var _TextField = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/TextField */ "@elementor/ui/TextField")); var _DialogActions = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/DialogActions */ "@elementor/ui/DialogActions")); var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button")); var _Dialog = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Dialog */ "@elementor/ui/Dialog")); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var CreateNewPageDialog = function CreateNewPageDialog(_ref) { var url = _ref.url, isOpen = _ref.isOpen, closedDialogCallback = _ref.closedDialogCallback; var _React$useState = _react.default.useState(false), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), open = _React$useState2[0], setOpen = _React$useState2[1]; var _React$useState3 = _react.default.useState(''), _React$useState4 = (0, _slicedToArray2.default)(_React$useState3, 2), pageName = _React$useState4[0], setPageName = _React$useState4[1]; (0, _react.useEffect)(function () { setOpen(isOpen); }, [isOpen]); var handleDialogClose = function handleDialogClose() { setOpen(false); closedDialogCallback(); }; var handleChange = function handleChange(event) { var urlParams = new URLSearchParams(); urlParams.append('post_data[post_title]', event.target.value); setPageName(urlParams.toString()); }; return /*#__PURE__*/_react.default.createElement(_Dialog.default, { open: open, onClose: handleDialogClose, maxWidth: "xs", width: "xs", fullWidth: true }, /*#__PURE__*/_react.default.createElement(_DialogHeader.default, null, /*#__PURE__*/_react.default.createElement(_DialogHeaderGroup.default, null, /*#__PURE__*/_react.default.createElement(_DialogTitle.default, null, __('Name your page', 'elementor')))), /*#__PURE__*/_react.default.createElement(_DialogContent.default, { dividers: true }, /*#__PURE__*/_react.default.createElement(_DialogContentText.default, { sx: { mb: 2 } }, __('To proceed, please name your first page,', 'elementor'), /*#__PURE__*/_react.default.createElement("br", null), __('or rename it later.', 'elementor')), /*#__PURE__*/_react.default.createElement(_TextField.default, { onChange: handleChange, fullWidth: true, placeholder: __('New Page', 'elementor') })), /*#__PURE__*/_react.default.createElement(_DialogActions.default, null, /*#__PURE__*/_react.default.createElement(_Button.default, { onClick: handleDialogClose, color: "secondary" }, __('Cancel', 'elementor')), /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "contained", href: pageName ? url + '&' + pageName : url, target: "_blank" }, __('Save', 'elementor')))); }; var _default = exports["default"] = CreateNewPageDialog; CreateNewPageDialog.propTypes = { url: PropTypes.string.isRequired, isOpen: PropTypes.bool.isRequired, closedDialogCallback: PropTypes.func.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/external-links-section.js": /*!**********************************************************************!*\ !*** ../modules/home/assets/js/components/external-links-section.js ***! \**********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List")); var _ListItemButton = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemButton */ "@elementor/ui/ListItemButton")); var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText")); var _Divider = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Divider */ "@elementor/ui/Divider")); var ExternalLinksSection = function ExternalLinksSection(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { px: 3 } }, /*#__PURE__*/_react.default.createElement(_List.default, null, props.externalLinksData.map(function (item, index) { return /*#__PURE__*/_react.default.createElement(_ui.Box, { key: item.label }, /*#__PURE__*/_react.default.createElement(_ListItemButton.default, { href: item.url, target: "_blank", sx: { '&:hover': { backgroundColor: 'initial' }, gap: 2, px: 0, py: 2 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, { component: "img", src: item.image, sx: { width: '38px' } }), /*#__PURE__*/_react.default.createElement(_ListItemText.default, { sx: { color: 'text.secondary' }, primary: item.label })), index < props.externalLinksData.length - 1 && /*#__PURE__*/_react.default.createElement(_Divider.default, null)); }))); }; var _default = exports["default"] = ExternalLinksSection; ExternalLinksSection.propTypes = { externalLinksData: PropTypes.array.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/get-started-list-item.js": /*!*********************************************************************!*\ !*** ../modules/home/assets/js/components/get-started-list-item.js ***! \*********************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _slicedToArray2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/slicedToArray */ "../node_modules/@babel/runtime/helpers/slicedToArray.js")); var _ListItem = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItem */ "@elementor/ui/ListItem")); var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText")); var _Link = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Link */ "@elementor/ui/Link")); var _Box = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Box */ "@elementor/ui/Box")); var _createNewPageDialog = _interopRequireDefault(__webpack_require__(/*! ./create-new-page-dialog */ "../modules/home/assets/js/components/create-new-page-dialog.js")); var GetStartedListItem = function GetStartedListItem(_ref) { var item = _ref.item, image = _ref.image, adminUrl = _ref.adminUrl; var url = item.is_relative_url ? adminUrl + item.url : item.url; var _React$useState = _react.default.useState(false), _React$useState2 = (0, _slicedToArray2.default)(_React$useState, 2), isOpen = _React$useState2[0], openDialog = _React$useState2[1]; var handleLinkClick = function handleLinkClick(event) { if (!item.new_page) { return; } event.preventDefault(); openDialog(true); }; return /*#__PURE__*/_react.default.createElement(_ListItem.default, { alignItems: "flex-start", sx: { gap: 1, p: 0, maxWidth: '150px' } }, /*#__PURE__*/_react.default.createElement(_Box.default, { component: "img", src: image }), /*#__PURE__*/_react.default.createElement(_Box.default, null, /*#__PURE__*/_react.default.createElement(_ListItemText.default, { primary: item.title, primaryTypographyProps: { variant: 'subtitle1' }, sx: { my: 0 } }), /*#__PURE__*/_react.default.createElement(_Link.default, { variant: "body2", color: item.title_small_color ? item.title_small_color : 'text.tertiary', underline: "hover", href: url, target: "_blank", onClick: handleLinkClick }, item.title_small)), item.new_page && /*#__PURE__*/_react.default.createElement(_createNewPageDialog.default, { url: url, isOpen: isOpen, closedDialogCallback: function closedDialogCallback() { return openDialog(false); } })); }; var _default = exports["default"] = GetStartedListItem; GetStartedListItem.propTypes = { item: PropTypes.shape({ title: PropTypes.string.isRequired, title_small: PropTypes.string.isRequired, url: PropTypes.string.isRequired, new_page: PropTypes.bool, is_relative_url: PropTypes.bool, title_small_color: PropTypes.string }).isRequired, adminUrl: PropTypes.string.isRequired, image: PropTypes.string }; /***/ }), /***/ "../modules/home/assets/js/components/get-started-section.js": /*!*******************************************************************!*\ !*** ../modules/home/assets/js/components/get-started-section.js ***! \*******************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List")); var _getStartedListItem = _interopRequireDefault(__webpack_require__(/*! ./get-started-list-item */ "../modules/home/assets/js/components/get-started-list-item.js")); var GetStarted = function GetStarted(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { p: 3, display: 'flex', flexDirection: 'column', gap: 2 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "h6" }, props.getStartedData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary" }, props.getStartedData.header.description)), /*#__PURE__*/_react.default.createElement(_List.default, { sx: { display: 'grid', gridTemplateColumns: { md: 'repeat(4, 1fr)', xs: 'repeat(2, 1fr)' }, columnGap: { md: 9, xs: 7 }, rowGap: 3 } }, props.getStartedData.repeater.map(function (item) { return /*#__PURE__*/_react.default.createElement(_getStartedListItem.default, { key: item.title, item: item, image: item.image, adminUrl: props.adminUrl }); }))); }; var _default = exports["default"] = GetStarted; GetStarted.propTypes = { getStartedData: PropTypes.object.isRequired, adminUrl: PropTypes.string.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/home-screen.js": /*!***********************************************************!*\ !*** ../modules/home/assets/js/components/home-screen.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _topSection = _interopRequireDefault(__webpack_require__(/*! ./top-section */ "../modules/home/assets/js/components/top-section.js")); var _sidebarPromotion = _interopRequireDefault(__webpack_require__(/*! ./sidebar-promotion */ "../modules/home/assets/js/components/sidebar-promotion.js")); var _addonsSection = _interopRequireDefault(__webpack_require__(/*! ./addons-section */ "../modules/home/assets/js/components/addons-section.js")); var _externalLinksSection = _interopRequireDefault(__webpack_require__(/*! ./external-links-section */ "../modules/home/assets/js/components/external-links-section.js")); var _getStartedSection = _interopRequireDefault(__webpack_require__(/*! ./get-started-section */ "../modules/home/assets/js/components/get-started-section.js")); var HomeScreen = function HomeScreen(props) { var hasSidebarUpgrade = props.homeScreenData.hasOwnProperty('sidebar_upgrade'); return /*#__PURE__*/ /* Box wrapper around the Container is needed to neutralize wp-content area left-padding */_react.default.createElement(_ui.Box, { sx: { pr: 1 } }, /*#__PURE__*/_react.default.createElement(_ui.Container, { disableGutters: true, maxWidth: "lg", sx: { display: 'flex', flexDirection: 'column', gap: { xs: 1, md: 3 }, pt: { xs: 2, md: 6 }, pb: 2 } }, /*#__PURE__*/_react.default.createElement(_topSection.default, { topData: props.homeScreenData.top_with_licences, createNewPageUrl: props.homeScreenData.create_new_page_url }), /*#__PURE__*/_react.default.createElement(_ui.Box, { sx: { display: 'flex', flexDirection: { xs: 'column', sm: 'row' }, justifyContent: 'space-between', gap: 3 } }, /*#__PURE__*/_react.default.createElement(_ui.Stack, { sx: { flex: 1, gap: 3 } }, /*#__PURE__*/_react.default.createElement(_getStartedSection.default, { getStartedData: props.homeScreenData.get_started, adminUrl: props.adminUrl }), /*#__PURE__*/_react.default.createElement(_addonsSection.default, { addonsData: props.homeScreenData.add_ons, adminUrl: props.adminUrl })), /*#__PURE__*/_react.default.createElement(_ui.Container, { maxWidth: "xs", disableGutters: true, sx: { width: { sm: '305px' }, display: 'flex', flexDirection: 'column', gap: 3 } }, hasSidebarUpgrade && /*#__PURE__*/_react.default.createElement(_sidebarPromotion.default, { sideData: props.homeScreenData.sidebar_upgrade }), /*#__PURE__*/_react.default.createElement(_externalLinksSection.default, { externalLinksData: props.homeScreenData.external_links }))))); }; HomeScreen.propTypes = { homeScreenData: PropTypes.object, adminUrl: PropTypes.string }; var _default = exports["default"] = HomeScreen; /***/ }), /***/ "../modules/home/assets/js/components/sidebar-promotion.js": /*!*****************************************************************!*\ !*** ../modules/home/assets/js/components/sidebar-promotion.js ***! \*****************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button")); var _List = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/List */ "@elementor/ui/List")); var _ListItem = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItem */ "@elementor/ui/ListItem")); var _ListItemText = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/ListItemText */ "@elementor/ui/ListItemText")); var _sideBarCheckIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/side-bar-check-icon */ "../modules/home/assets/js/icons/side-bar-check-icon.js")); var SideBarPromotion = function SideBarPromotion(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { p: 3 } }, /*#__PURE__*/_react.default.createElement(_ui.Stack, { gap: 1.5, sx: { alignItems: 'center', textAlign: 'center', pb: 4 } }, /*#__PURE__*/_react.default.createElement(_ui.Box, { component: "img", src: props.sideData.header.image }), /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "h6" }, props.sideData.header.title), /*#__PURE__*/_react.default.createElement(_ui.Typography, { variant: "body2", color: "text.secondary" }, props.sideData.header.description)), /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "contained", size: "medium", color: "promotion", href: props.sideData.cta.url, startIcon: /*#__PURE__*/_react.default.createElement(_ui.Box, { component: "img", src: props.sideData.cta.image, sx: { width: '16px' } }), target: "_blank", sx: { maxWidth: 'fit-content' } }, props.sideData.cta.label)), /*#__PURE__*/_react.default.createElement(_List.default, { sx: { p: 0 } }, props.sideData.repeater.map(function (item, index) { return /*#__PURE__*/_react.default.createElement(_ListItem.default, { key: index, sx: { p: 0, gap: 1 } }, /*#__PURE__*/_react.default.createElement(_sideBarCheckIcon.default, null), /*#__PURE__*/_react.default.createElement(_ListItemText.default, { primaryTypographyProps: { variant: 'body2' }, primary: item.title })); }))); }; var _default = exports["default"] = SideBarPromotion; SideBarPromotion.propTypes = { sideData: PropTypes.object.isRequired }; /***/ }), /***/ "../modules/home/assets/js/components/top-section.js": /*!***********************************************************!*\ !*** ../modules/home/assets/js/components/top-section.js ***! \***********************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _objectDestructuringEmpty2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/objectDestructuringEmpty */ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js")); var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _Typography = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Typography */ "@elementor/ui/Typography")); var _Button = _interopRequireDefault(__webpack_require__(/*! @elementor/ui/Button */ "@elementor/ui/Button")); var _youtubeIcon = _interopRequireDefault(__webpack_require__(/*! ../icons/youtube-icon */ "../modules/home/assets/js/icons/youtube-icon.js")); var TopSection = function TopSection(_ref) { var props = (0, _extends2.default)({}, ((0, _objectDestructuringEmpty2.default)(_ref), _ref)); return /*#__PURE__*/_react.default.createElement(_ui.Paper, { elevation: 0, sx: { display: 'flex', flexDirection: { xs: 'column', sm: 'row' }, justifyContent: 'space-between', py: { xs: 3, md: 3 }, px: { xs: 3, md: 4 }, gap: { xs: 2, sm: 3, lg: 22 } } }, /*#__PURE__*/_react.default.createElement(_ui.Stack, { gap: 3, justifyContent: "center" }, /*#__PURE__*/_react.default.createElement(_ui.Box, null, /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "h6" }, props.topData.title), /*#__PURE__*/_react.default.createElement(_Typography.default, { variant: "body2", color: "secondary" }, props.topData.description)), /*#__PURE__*/_react.default.createElement(_ui.Box, { sx: { display: 'flex', gap: 1 } }, /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "contained", size: "small", href: props.createNewPageUrl, target: "_blank" }, props.topData.button_create_page_title), /*#__PURE__*/_react.default.createElement(_Button.default, { variant: "outlined", color: "secondary", size: "small", startIcon: /*#__PURE__*/_react.default.createElement(_youtubeIcon.default, null), href: props.topData.button_watch_url, target: "_blank" }, props.topData.button_watch_title))), /*#__PURE__*/_react.default.createElement(_ui.Box, { component: "iframe", src: "https://www.youtube.com/embed/".concat(props.topData.youtube_embed_id), title: "YouTube video player", frameBorder: "0", allow: "accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share", allowFullScreen: true, sx: { aspectRatio: '16/9', borderRadius: 1, display: 'flex', width: '100%', maxWidth: '365px' } })); }; TopSection.propTypes = { topData: PropTypes.object.isRequired, createNewPageUrl: PropTypes.string.isRequired }; var _default = exports["default"] = TopSection; /***/ }), /***/ "../modules/home/assets/js/icons/side-bar-check-icon.js": /*!**************************************************************!*\ !*** ../modules/home/assets/js/icons/side-bar-check-icon.js ***! \**************************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var SideBarCheckIcon = function SideBarCheckIcon(props) { return /*#__PURE__*/React.createElement(_ui.SvgIcon, (0, _extends2.default)({ viewBox: "0 0 24 24" }, props), /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M9.09013 3.69078C10.273 3.2008 11.5409 2.94861 12.8213 2.94861C14.1017 2.94861 15.3695 3.2008 16.5525 3.69078C17.7354 4.18077 18.8102 4.89895 19.7156 5.80432C20.621 6.70969 21.3391 7.78452 21.8291 8.96744C22.3191 10.1504 22.5713 11.4182 22.5713 12.6986C22.5713 13.979 22.3191 15.2468 21.8291 16.4298C21.3391 17.6127 20.621 18.6875 19.7156 19.5929C18.8102 20.4983 17.7354 21.2165 16.5525 21.7064C15.3695 22.1964 14.1017 22.4486 12.8213 22.4486C11.5409 22.4486 10.2731 22.1964 9.09013 21.7064C7.9072 21.2165 6.83237 20.4983 5.927 19.5929C5.02163 18.6875 4.30345 17.6127 3.81346 16.4298C3.32348 15.2468 3.07129 13.979 3.07129 12.6986C3.07129 11.4182 3.32348 10.1504 3.81346 8.96744C4.30345 7.78452 5.02163 6.70969 5.927 5.80432C6.83237 4.89895 7.9072 4.18077 9.09013 3.69078ZM12.8213 4.44861C11.7379 4.44861 10.6651 4.662 9.66415 5.0766C8.66321 5.4912 7.75374 6.09889 6.98766 6.86498C6.22157 7.63106 5.61388 8.54053 5.19928 9.54147C4.78468 10.5424 4.57129 11.6152 4.57129 12.6986C4.57129 13.782 4.78468 14.8548 5.19928 15.8557C5.61388 16.8567 6.22157 17.7662 6.98766 18.5322C7.75374 19.2983 8.66322 19.906 9.66415 20.3206C10.6651 20.7352 11.7379 20.9486 12.8213 20.9486C13.9047 20.9486 14.9775 20.7352 15.9784 20.3206C16.9794 19.906 17.8888 19.2983 18.6549 18.5322C19.421 17.7662 20.0287 16.8567 20.4433 15.8557C20.8579 14.8548 21.0713 13.782 21.0713 12.6986C21.0713 11.6152 20.8579 10.5424 20.4433 9.54147C20.0287 8.54053 19.421 7.63106 18.6549 6.86498C17.8888 6.09889 16.9794 5.4912 15.9784 5.0766C14.9775 4.662 13.9047 4.44861 12.8213 4.44861Z", fill: "#93003F" }), /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M17.3213 9.69424C17.6142 9.98713 17.6142 10.462 17.3213 10.7549L12.3732 15.703C12.0803 15.9959 11.6054 15.9959 11.3125 15.703L8.83851 13.2289C8.54562 12.936 8.54562 12.4612 8.83851 12.1683C9.1314 11.8754 9.60628 11.8754 9.89917 12.1683L11.8429 14.112L16.2606 9.69424C16.5535 9.40135 17.0284 9.40135 17.3213 9.69424Z", fill: "#93003F" })); }; var _default = exports["default"] = SideBarCheckIcon; /***/ }), /***/ "../modules/home/assets/js/icons/youtube-icon.js": /*!*******************************************************!*\ !*** ../modules/home/assets/js/icons/youtube-icon.js ***! \*******************************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _typeof = __webpack_require__(/*! @babel/runtime/helpers/typeof */ "../node_modules/@babel/runtime/helpers/typeof.js"); Object.defineProperty(exports, "__esModule", ({ value: true })); exports["default"] = void 0; var _extends2 = _interopRequireDefault(__webpack_require__(/*! @babel/runtime/helpers/extends */ "../node_modules/@babel/runtime/helpers/extends.js")); var React = _interopRequireWildcard(__webpack_require__(/*! react */ "react")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != _typeof(e) && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } var YoutubeIcon = function YoutubeIcon(props) { return /*#__PURE__*/React.createElement(_ui.SvgIcon, (0, _extends2.default)({ viewBox: "0 0 24 24" }, props), /*#__PURE__*/React.createElement("path", { fillRule: "evenodd", clipRule: "evenodd", d: "M7 5.75C5.20507 5.75 3.75 7.20507 3.75 9V15C3.75 16.7949 5.20507 18.25 7 18.25H17C18.7949 18.25 20.25 16.7949 20.25 15V9C20.25 7.20507 18.7949 5.75 17 5.75H7ZM2.25 9C2.25 6.37665 4.37665 4.25 7 4.25H17C19.6234 4.25 21.75 6.37665 21.75 9V15C21.75 17.6234 19.6234 19.75 17 19.75H7C4.37665 19.75 2.25 17.6234 2.25 15V9ZM9.63048 8.34735C9.86561 8.21422 10.1542 8.21786 10.3859 8.35688L15.3859 11.3569C15.6118 11.4924 15.75 11.7366 15.75 12C15.75 12.2634 15.6118 12.5076 15.3859 12.6431L10.3859 15.6431C10.1542 15.7821 9.86561 15.7858 9.63048 15.6526C9.39534 15.5195 9.25 15.2702 9.25 15V9C9.25 8.7298 9.39534 8.48048 9.63048 8.34735ZM10.75 10.3246V13.6754L13.5423 12L10.75 10.3246Z" })); }; var _default = exports["default"] = YoutubeIcon; /***/ }), /***/ "../node_modules/object-assign/index.js": /*!**********************************************!*\ !*** ../node_modules/object-assign/index.js ***! \**********************************************/ /***/ ((module) => { "use strict"; /* object-assign (c) Sindre Sorhus @license MIT */ /* eslint-disable no-unused-vars */ var getOwnPropertySymbols = Object.getOwnPropertySymbols; var hasOwnProperty = Object.prototype.hasOwnProperty; var propIsEnumerable = Object.prototype.propertyIsEnumerable; function toObject(val) { if (val === null || val === undefined) { throw new TypeError('Object.assign cannot be called with null or undefined'); } return Object(val); } function shouldUseNative() { try { if (!Object.assign) { return false; } // Detect buggy property enumeration order in older V8 versions. // https://bugs.chromium.org/p/v8/issues/detail?id=4118 var test1 = new String('abc'); // eslint-disable-line no-new-wrappers test1[5] = 'de'; if (Object.getOwnPropertyNames(test1)[0] === '5') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test2 = {}; for (var i = 0; i < 10; i++) { test2['_' + String.fromCharCode(i)] = i; } var order2 = Object.getOwnPropertyNames(test2).map(function (n) { return test2[n]; }); if (order2.join('') !== '0123456789') { return false; } // https://bugs.chromium.org/p/v8/issues/detail?id=3056 var test3 = {}; 'abcdefghijklmnopqrst'.split('').forEach(function (letter) { test3[letter] = letter; }); if (Object.keys(Object.assign({}, test3)).join('') !== 'abcdefghijklmnopqrst') { return false; } return true; } catch (err) { // We don't expect any of the above to throw, but better to be safe. return false; } } module.exports = shouldUseNative() ? Object.assign : function (target, source) { var from; var to = toObject(target); var symbols; for (var s = 1; s < arguments.length; s++) { from = Object(arguments[s]); for (var key in from) { if (hasOwnProperty.call(from, key)) { to[key] = from[key]; } } if (getOwnPropertySymbols) { symbols = getOwnPropertySymbols(from); for (var i = 0; i < symbols.length; i++) { if (propIsEnumerable.call(from, symbols[i])) { to[symbols[i]] = from[symbols[i]]; } } } } return to; }; /***/ }), /***/ "../node_modules/prop-types/checkPropTypes.js": /*!****************************************************!*\ !*** ../node_modules/prop-types/checkPropTypes.js ***! \****************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var printWarning = function() {}; if (true) { var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js"); var loggedTypeFailures = {}; var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js"); printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) { /**/ } }; } /** * Assert that the values match with the type specs. * Error messages are memorized and will only be shown once. * * @param {object} typeSpecs Map of name to a ReactPropType * @param {object} values Runtime values that need to be type-checked * @param {string} location e.g. "prop", "context", "child context" * @param {string} componentName Name of the component for error messages. * @param {?Function} getStack Returns the component stack. * @private */ function checkPropTypes(typeSpecs, values, location, componentName, getStack) { if (true) { for (var typeSpecName in typeSpecs) { if (has(typeSpecs, typeSpecName)) { var error; // Prop type validation may throw. In case they do, we don't want to // fail the render phase where it didn't fail before. So we log it. // After these have been cleaned up, we'll let them throw. try { // This is intentionally an invariant that gets caught. It's the same // behavior as without this statement except with a better message. if (typeof typeSpecs[typeSpecName] !== 'function') { var err = Error( (componentName || 'React class') + ': ' + location + ' type `' + typeSpecName + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + typeof typeSpecs[typeSpecName] + '`.' + 'This often happens because of typos such as `PropTypes.function` instead of `PropTypes.func`.' ); err.name = 'Invariant Violation'; throw err; } error = typeSpecs[typeSpecName](values, typeSpecName, componentName, location, null, ReactPropTypesSecret); } catch (ex) { error = ex; } if (error && !(error instanceof Error)) { printWarning( (componentName || 'React class') + ': type specification of ' + location + ' `' + typeSpecName + '` is invalid; the type checker ' + 'function must return `null` or an `Error` but returned a ' + typeof error + '. ' + 'You may have forgotten to pass an argument to the type checker ' + 'creator (arrayOf, instanceOf, objectOf, oneOf, oneOfType, and ' + 'shape all require an argument).' ); } if (error instanceof Error && !(error.message in loggedTypeFailures)) { // Only monitor this failure once because there tends to be a lot of the // same error. loggedTypeFailures[error.message] = true; var stack = getStack ? getStack() : ''; printWarning( 'Failed ' + location + ' type: ' + error.message + (stack != null ? stack : '') ); } } } } } /** * Resets warning cache when testing. * * @private */ checkPropTypes.resetWarningCache = function() { if (true) { loggedTypeFailures = {}; } } module.exports = checkPropTypes; /***/ }), /***/ "../node_modules/prop-types/factoryWithTypeCheckers.js": /*!*************************************************************!*\ !*** ../node_modules/prop-types/factoryWithTypeCheckers.js ***! \*************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js"); var assign = __webpack_require__(/*! object-assign */ "../node_modules/object-assign/index.js"); var ReactPropTypesSecret = __webpack_require__(/*! ./lib/ReactPropTypesSecret */ "../node_modules/prop-types/lib/ReactPropTypesSecret.js"); var has = __webpack_require__(/*! ./lib/has */ "../node_modules/prop-types/lib/has.js"); var checkPropTypes = __webpack_require__(/*! ./checkPropTypes */ "../node_modules/prop-types/checkPropTypes.js"); var printWarning = function() {}; if (true) { printWarning = function(text) { var message = 'Warning: ' + text; if (typeof console !== 'undefined') { console.error(message); } try { // --- Welcome to debugging React --- // This error was thrown as a convenience so that you can use this stack // to find the callsite that caused this warning to fire. throw new Error(message); } catch (x) {} }; } function emptyFunctionThatReturnsNull() { return null; } module.exports = function(isValidElement, throwOnDirectAccess) { /* global Symbol */ var ITERATOR_SYMBOL = typeof Symbol === 'function' && Symbol.iterator; var FAUX_ITERATOR_SYMBOL = '@@iterator'; // Before Symbol spec. /** * Returns the iterator method function contained on the iterable object. * * Be sure to invoke the function with the iterable as context: * * var iteratorFn = getIteratorFn(myIterable); * if (iteratorFn) { * var iterator = iteratorFn.call(myIterable); * ... * } * * @param {?object} maybeIterable * @return {?function} */ function getIteratorFn(maybeIterable) { var iteratorFn = maybeIterable && (ITERATOR_SYMBOL && maybeIterable[ITERATOR_SYMBOL] || maybeIterable[FAUX_ITERATOR_SYMBOL]); if (typeof iteratorFn === 'function') { return iteratorFn; } } /** * Collection of methods that allow declaration and validation of props that are * supplied to React components. Example usage: * * var Props = require('ReactPropTypes'); * var MyArticle = React.createClass({ * propTypes: { * // An optional string prop named "description". * description: Props.string, * * // A required enum prop named "category". * category: Props.oneOf(['News','Photos']).isRequired, * * // A prop named "dialog" that requires an instance of Dialog. * dialog: Props.instanceOf(Dialog).isRequired * }, * render: function() { ... } * }); * * A more formal specification of how these methods are used: * * type := array|bool|func|object|number|string|oneOf([...])|instanceOf(...) * decl := ReactPropTypes.{type}(.isRequired)? * * Each and every declaration produces a function with the same signature. This * allows the creation of custom validation functions. For example: * * var MyLink = React.createClass({ * propTypes: { * // An optional string or URI prop named "href". * href: function(props, propName, componentName) { * var propValue = props[propName]; * if (propValue != null && typeof propValue !== 'string' && * !(propValue instanceof URI)) { * return new Error( * 'Expected a string or an URI for ' + propName + ' in ' + * componentName * ); * } * } * }, * render: function() {...} * }); * * @internal */ var ANONYMOUS = '<>'; // Important! // Keep this list in sync with production version in `./factoryWithThrowingShims.js`. var ReactPropTypes = { array: createPrimitiveTypeChecker('array'), bigint: createPrimitiveTypeChecker('bigint'), bool: createPrimitiveTypeChecker('boolean'), func: createPrimitiveTypeChecker('function'), number: createPrimitiveTypeChecker('number'), object: createPrimitiveTypeChecker('object'), string: createPrimitiveTypeChecker('string'), symbol: createPrimitiveTypeChecker('symbol'), any: createAnyTypeChecker(), arrayOf: createArrayOfTypeChecker, element: createElementTypeChecker(), elementType: createElementTypeTypeChecker(), instanceOf: createInstanceTypeChecker, node: createNodeChecker(), objectOf: createObjectOfTypeChecker, oneOf: createEnumTypeChecker, oneOfType: createUnionTypeChecker, shape: createShapeTypeChecker, exact: createStrictShapeTypeChecker, }; /** * inlined Object.is polyfill to avoid requiring consumers ship their own * https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/is */ /*eslint-disable no-self-compare*/ function is(x, y) { // SameValue algorithm if (x === y) { // Steps 1-5, 7-10 // Steps 6.b-6.e: +0 != -0 return x !== 0 || 1 / x === 1 / y; } else { // Step 6.a: NaN == NaN return x !== x && y !== y; } } /*eslint-enable no-self-compare*/ /** * We use an Error-like object for backward compatibility as people may call * PropTypes directly and inspect their output. However, we don't use real * Errors anymore. We don't inspect their stack anyway, and creating them * is prohibitively expensive if they are created too often, such as what * happens in oneOfType() for any type before the one that matched. */ function PropTypeError(message, data) { this.message = message; this.data = data && typeof data === 'object' ? data: {}; this.stack = ''; } // Make `instanceof Error` still work for returned errors. PropTypeError.prototype = Error.prototype; function createChainableTypeChecker(validate) { if (true) { var manualPropTypeCallCache = {}; var manualPropTypeWarningCount = 0; } function checkType(isRequired, props, propName, componentName, location, propFullName, secret) { componentName = componentName || ANONYMOUS; propFullName = propFullName || propName; if (secret !== ReactPropTypesSecret) { if (throwOnDirectAccess) { // New behavior only for users of `prop-types` package var err = new Error( 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' + 'Use `PropTypes.checkPropTypes()` to call them. ' + 'Read more at http://fb.me/use-check-prop-types' ); err.name = 'Invariant Violation'; throw err; } else if ( true && typeof console !== 'undefined') { // Old behavior for people using React.PropTypes var cacheKey = componentName + ':' + propName; if ( !manualPropTypeCallCache[cacheKey] && // Avoid spamming the console because they are often not actionable except for lib authors manualPropTypeWarningCount < 3 ) { printWarning( 'You are manually calling a React.PropTypes validation ' + 'function for the `' + propFullName + '` prop on `' + componentName + '`. This is deprecated ' + 'and will throw in the standalone `prop-types` package. ' + 'You may be seeing this warning due to a third-party PropTypes ' + 'library. See https://fb.me/react-warning-dont-call-proptypes ' + 'for details.' ); manualPropTypeCallCache[cacheKey] = true; manualPropTypeWarningCount++; } } } if (props[propName] == null) { if (isRequired) { if (props[propName] === null) { return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required ' + ('in `' + componentName + '`, but its value is `null`.')); } return new PropTypeError('The ' + location + ' `' + propFullName + '` is marked as required in ' + ('`' + componentName + '`, but its value is `undefined`.')); } return null; } else { return validate(props, propName, componentName, location, propFullName); } } var chainedCheckType = checkType.bind(null, false); chainedCheckType.isRequired = checkType.bind(null, true); return chainedCheckType; } function createPrimitiveTypeChecker(expectedType) { function validate(props, propName, componentName, location, propFullName, secret) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== expectedType) { // `propValue` being instance of, say, date/regexp, pass the 'object' // check, but we can offer a more precise error message here rather than // 'of type `object`'. var preciseType = getPreciseType(propValue); return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + preciseType + '` supplied to `' + componentName + '`, expected ') + ('`' + expectedType + '`.'), {expectedType: expectedType} ); } return null; } return createChainableTypeChecker(validate); } function createAnyTypeChecker() { return createChainableTypeChecker(emptyFunctionThatReturnsNull); } function createArrayOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside arrayOf.'); } var propValue = props[propName]; if (!Array.isArray(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an array.')); } for (var i = 0; i < propValue.length; i++) { var error = typeChecker(propValue, i, componentName, location, propFullName + '[' + i + ']', ReactPropTypesSecret); if (error instanceof Error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createElementTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!isValidElement(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement.')); } return null; } return createChainableTypeChecker(validate); } function createElementTypeTypeChecker() { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; if (!ReactIs.isValidElementType(propValue)) { var propType = getPropType(propValue); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected a single ReactElement type.')); } return null; } return createChainableTypeChecker(validate); } function createInstanceTypeChecker(expectedClass) { function validate(props, propName, componentName, location, propFullName) { if (!(props[propName] instanceof expectedClass)) { var expectedClassName = expectedClass.name || ANONYMOUS; var actualClassName = getClassName(props[propName]); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + actualClassName + '` supplied to `' + componentName + '`, expected ') + ('instance of `' + expectedClassName + '`.')); } return null; } return createChainableTypeChecker(validate); } function createEnumTypeChecker(expectedValues) { if (!Array.isArray(expectedValues)) { if (true) { if (arguments.length > 1) { printWarning( 'Invalid arguments supplied to oneOf, expected an array, got ' + arguments.length + ' arguments. ' + 'A common mistake is to write oneOf(x, y, z) instead of oneOf([x, y, z]).' ); } else { printWarning('Invalid argument supplied to oneOf, expected an array.'); } } return emptyFunctionThatReturnsNull; } function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; for (var i = 0; i < expectedValues.length; i++) { if (is(propValue, expectedValues[i])) { return null; } } var valuesString = JSON.stringify(expectedValues, function replacer(key, value) { var type = getPreciseType(value); if (type === 'symbol') { return String(value); } return value; }); return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of value `' + String(propValue) + '` ' + ('supplied to `' + componentName + '`, expected one of ' + valuesString + '.')); } return createChainableTypeChecker(validate); } function createObjectOfTypeChecker(typeChecker) { function validate(props, propName, componentName, location, propFullName) { if (typeof typeChecker !== 'function') { return new PropTypeError('Property `' + propFullName + '` of component `' + componentName + '` has invalid PropType notation inside objectOf.'); } var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type ' + ('`' + propType + '` supplied to `' + componentName + '`, expected an object.')); } for (var key in propValue) { if (has(propValue, key)) { var error = typeChecker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error instanceof Error) { return error; } } } return null; } return createChainableTypeChecker(validate); } function createUnionTypeChecker(arrayOfTypeCheckers) { if (!Array.isArray(arrayOfTypeCheckers)) { true ? printWarning('Invalid argument supplied to oneOfType, expected an instance of array.') : 0; return emptyFunctionThatReturnsNull; } for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; if (typeof checker !== 'function') { printWarning( 'Invalid argument supplied to oneOfType. Expected an array of check functions, but ' + 'received ' + getPostfixForTypeWarning(checker) + ' at index ' + i + '.' ); return emptyFunctionThatReturnsNull; } } function validate(props, propName, componentName, location, propFullName) { var expectedTypes = []; for (var i = 0; i < arrayOfTypeCheckers.length; i++) { var checker = arrayOfTypeCheckers[i]; var checkerResult = checker(props, propName, componentName, location, propFullName, ReactPropTypesSecret); if (checkerResult == null) { return null; } if (checkerResult.data && has(checkerResult.data, 'expectedType')) { expectedTypes.push(checkerResult.data.expectedType); } } var expectedTypesMessage = (expectedTypes.length > 0) ? ', expected one of type [' + expectedTypes.join(', ') + ']': ''; return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`' + expectedTypesMessage + '.')); } return createChainableTypeChecker(validate); } function createNodeChecker() { function validate(props, propName, componentName, location, propFullName) { if (!isNode(props[propName])) { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` supplied to ' + ('`' + componentName + '`, expected a ReactNode.')); } return null; } return createChainableTypeChecker(validate); } function invalidValidatorError(componentName, location, propFullName, key, type) { return new PropTypeError( (componentName || 'React class') + ': ' + location + ' type `' + propFullName + '.' + key + '` is invalid; ' + 'it must be a function, usually from the `prop-types` package, but received `' + type + '`.' ); } function createShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } for (var key in shapeTypes) { var checker = shapeTypes[key]; if (typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function createStrictShapeTypeChecker(shapeTypes) { function validate(props, propName, componentName, location, propFullName) { var propValue = props[propName]; var propType = getPropType(propValue); if (propType !== 'object') { return new PropTypeError('Invalid ' + location + ' `' + propFullName + '` of type `' + propType + '` ' + ('supplied to `' + componentName + '`, expected `object`.')); } // We need to check all keys in case some are required but missing from props. var allKeys = assign({}, props[propName], shapeTypes); for (var key in allKeys) { var checker = shapeTypes[key]; if (has(shapeTypes, key) && typeof checker !== 'function') { return invalidValidatorError(componentName, location, propFullName, key, getPreciseType(checker)); } if (!checker) { return new PropTypeError( 'Invalid ' + location + ' `' + propFullName + '` key `' + key + '` supplied to `' + componentName + '`.' + '\nBad object: ' + JSON.stringify(props[propName], null, ' ') + '\nValid keys: ' + JSON.stringify(Object.keys(shapeTypes), null, ' ') ); } var error = checker(propValue, key, componentName, location, propFullName + '.' + key, ReactPropTypesSecret); if (error) { return error; } } return null; } return createChainableTypeChecker(validate); } function isNode(propValue) { switch (typeof propValue) { case 'number': case 'string': case 'undefined': return true; case 'boolean': return !propValue; case 'object': if (Array.isArray(propValue)) { return propValue.every(isNode); } if (propValue === null || isValidElement(propValue)) { return true; } var iteratorFn = getIteratorFn(propValue); if (iteratorFn) { var iterator = iteratorFn.call(propValue); var step; if (iteratorFn !== propValue.entries) { while (!(step = iterator.next()).done) { if (!isNode(step.value)) { return false; } } } else { // Iterator will provide entry [k,v] tuples rather than values. while (!(step = iterator.next()).done) { var entry = step.value; if (entry) { if (!isNode(entry[1])) { return false; } } } } } else { return false; } return true; default: return false; } } function isSymbol(propType, propValue) { // Native Symbol. if (propType === 'symbol') { return true; } // falsy value can't be a Symbol if (!propValue) { return false; } // 19.4.3.5 Symbol.prototype[@@toStringTag] === 'Symbol' if (propValue['@@toStringTag'] === 'Symbol') { return true; } // Fallback for non-spec compliant Symbols which are polyfilled. if (typeof Symbol === 'function' && propValue instanceof Symbol) { return true; } return false; } // Equivalent of `typeof` but with special handling for array and regexp. function getPropType(propValue) { var propType = typeof propValue; if (Array.isArray(propValue)) { return 'array'; } if (propValue instanceof RegExp) { // Old webkits (at least until Android 4.0) return 'function' rather than // 'object' for typeof a RegExp. We'll normalize this here so that /bla/ // passes PropTypes.object. return 'object'; } if (isSymbol(propType, propValue)) { return 'symbol'; } return propType; } // This handles more types than `getPropType`. Only used for error messages. // See `createPrimitiveTypeChecker`. function getPreciseType(propValue) { if (typeof propValue === 'undefined' || propValue === null) { return '' + propValue; } var propType = getPropType(propValue); if (propType === 'object') { if (propValue instanceof Date) { return 'date'; } else if (propValue instanceof RegExp) { return 'regexp'; } } return propType; } // Returns a string that is postfixed to a warning about an invalid type. // For example, "undefined" or "of type array" function getPostfixForTypeWarning(value) { var type = getPreciseType(value); switch (type) { case 'array': case 'object': return 'an ' + type; case 'boolean': case 'date': case 'regexp': return 'a ' + type; default: return type; } } // Returns class name of the object, if any. function getClassName(propValue) { if (!propValue.constructor || !propValue.constructor.name) { return ANONYMOUS; } return propValue.constructor.name; } ReactPropTypes.checkPropTypes = checkPropTypes; ReactPropTypes.resetWarningCache = checkPropTypes.resetWarningCache; ReactPropTypes.PropTypes = ReactPropTypes; return ReactPropTypes; }; /***/ }), /***/ "../node_modules/prop-types/index.js": /*!*******************************************!*\ !*** ../node_modules/prop-types/index.js ***! \*******************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { var ReactIs = __webpack_require__(/*! react-is */ "../node_modules/prop-types/node_modules/react-is/index.js"); // By explicitly using `prop-types` you are opting into new development behavior. // http://fb.me/prop-types-in-prod var throwOnDirectAccess = true; module.exports = __webpack_require__(/*! ./factoryWithTypeCheckers */ "../node_modules/prop-types/factoryWithTypeCheckers.js")(ReactIs.isElement, throwOnDirectAccess); } else {} /***/ }), /***/ "../node_modules/prop-types/lib/ReactPropTypesSecret.js": /*!**************************************************************!*\ !*** ../node_modules/prop-types/lib/ReactPropTypesSecret.js ***! \**************************************************************/ /***/ ((module) => { "use strict"; /** * Copyright (c) 2013-present, Facebook, Inc. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ var ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED'; module.exports = ReactPropTypesSecret; /***/ }), /***/ "../node_modules/prop-types/lib/has.js": /*!*********************************************!*\ !*** ../node_modules/prop-types/lib/has.js ***! \*********************************************/ /***/ ((module) => { module.exports = Function.call.bind(Object.prototype.hasOwnProperty); /***/ }), /***/ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js": /*!************************************************************************************!*\ !*** ../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js ***! \************************************************************************************/ /***/ ((__unused_webpack_module, exports) => { "use strict"; /** @license React v16.13.1 * react-is.development.js * * Copyright (c) Facebook, Inc. and its affiliates. * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. */ if (true) { (function() { 'use strict'; // The Symbol used to tag the ReactElement-like types. If there is no native Symbol // nor polyfill, then a plain number is used for performance. var hasSymbol = typeof Symbol === 'function' && Symbol.for; var REACT_ELEMENT_TYPE = hasSymbol ? Symbol.for('react.element') : 0xeac7; var REACT_PORTAL_TYPE = hasSymbol ? Symbol.for('react.portal') : 0xeaca; var REACT_FRAGMENT_TYPE = hasSymbol ? Symbol.for('react.fragment') : 0xeacb; var REACT_STRICT_MODE_TYPE = hasSymbol ? Symbol.for('react.strict_mode') : 0xeacc; var REACT_PROFILER_TYPE = hasSymbol ? Symbol.for('react.profiler') : 0xead2; var REACT_PROVIDER_TYPE = hasSymbol ? Symbol.for('react.provider') : 0xeacd; var REACT_CONTEXT_TYPE = hasSymbol ? Symbol.for('react.context') : 0xeace; // TODO: We don't use AsyncMode or ConcurrentMode anymore. They were temporary // (unstable) APIs that have been removed. Can we remove the symbols? var REACT_ASYNC_MODE_TYPE = hasSymbol ? Symbol.for('react.async_mode') : 0xeacf; var REACT_CONCURRENT_MODE_TYPE = hasSymbol ? Symbol.for('react.concurrent_mode') : 0xeacf; var REACT_FORWARD_REF_TYPE = hasSymbol ? Symbol.for('react.forward_ref') : 0xead0; var REACT_SUSPENSE_TYPE = hasSymbol ? Symbol.for('react.suspense') : 0xead1; var REACT_SUSPENSE_LIST_TYPE = hasSymbol ? Symbol.for('react.suspense_list') : 0xead8; var REACT_MEMO_TYPE = hasSymbol ? Symbol.for('react.memo') : 0xead3; var REACT_LAZY_TYPE = hasSymbol ? Symbol.for('react.lazy') : 0xead4; var REACT_BLOCK_TYPE = hasSymbol ? Symbol.for('react.block') : 0xead9; var REACT_FUNDAMENTAL_TYPE = hasSymbol ? Symbol.for('react.fundamental') : 0xead5; var REACT_RESPONDER_TYPE = hasSymbol ? Symbol.for('react.responder') : 0xead6; var REACT_SCOPE_TYPE = hasSymbol ? Symbol.for('react.scope') : 0xead7; function isValidElementType(type) { return typeof type === 'string' || typeof type === 'function' || // Note: its typeof might be other than 'symbol' or 'number' if it's a polyfill. type === REACT_FRAGMENT_TYPE || type === REACT_CONCURRENT_MODE_TYPE || type === REACT_PROFILER_TYPE || type === REACT_STRICT_MODE_TYPE || type === REACT_SUSPENSE_TYPE || type === REACT_SUSPENSE_LIST_TYPE || typeof type === 'object' && type !== null && (type.$$typeof === REACT_LAZY_TYPE || type.$$typeof === REACT_MEMO_TYPE || type.$$typeof === REACT_PROVIDER_TYPE || type.$$typeof === REACT_CONTEXT_TYPE || type.$$typeof === REACT_FORWARD_REF_TYPE || type.$$typeof === REACT_FUNDAMENTAL_TYPE || type.$$typeof === REACT_RESPONDER_TYPE || type.$$typeof === REACT_SCOPE_TYPE || type.$$typeof === REACT_BLOCK_TYPE); } function typeOf(object) { if (typeof object === 'object' && object !== null) { var $$typeof = object.$$typeof; switch ($$typeof) { case REACT_ELEMENT_TYPE: var type = object.type; switch (type) { case REACT_ASYNC_MODE_TYPE: case REACT_CONCURRENT_MODE_TYPE: case REACT_FRAGMENT_TYPE: case REACT_PROFILER_TYPE: case REACT_STRICT_MODE_TYPE: case REACT_SUSPENSE_TYPE: return type; default: var $$typeofType = type && type.$$typeof; switch ($$typeofType) { case REACT_CONTEXT_TYPE: case REACT_FORWARD_REF_TYPE: case REACT_LAZY_TYPE: case REACT_MEMO_TYPE: case REACT_PROVIDER_TYPE: return $$typeofType; default: return $$typeof; } } case REACT_PORTAL_TYPE: return $$typeof; } } return undefined; } // AsyncMode is deprecated along with isAsyncMode var AsyncMode = REACT_ASYNC_MODE_TYPE; var ConcurrentMode = REACT_CONCURRENT_MODE_TYPE; var ContextConsumer = REACT_CONTEXT_TYPE; var ContextProvider = REACT_PROVIDER_TYPE; var Element = REACT_ELEMENT_TYPE; var ForwardRef = REACT_FORWARD_REF_TYPE; var Fragment = REACT_FRAGMENT_TYPE; var Lazy = REACT_LAZY_TYPE; var Memo = REACT_MEMO_TYPE; var Portal = REACT_PORTAL_TYPE; var Profiler = REACT_PROFILER_TYPE; var StrictMode = REACT_STRICT_MODE_TYPE; var Suspense = REACT_SUSPENSE_TYPE; var hasWarnedAboutDeprecatedIsAsyncMode = false; // AsyncMode should be deprecated function isAsyncMode(object) { { if (!hasWarnedAboutDeprecatedIsAsyncMode) { hasWarnedAboutDeprecatedIsAsyncMode = true; // Using console['warn'] to evade Babel and ESLint console['warn']('The ReactIs.isAsyncMode() alias has been deprecated, ' + 'and will be removed in React 17+. Update your code to use ' + 'ReactIs.isConcurrentMode() instead. It has the exact same API.'); } } return isConcurrentMode(object) || typeOf(object) === REACT_ASYNC_MODE_TYPE; } function isConcurrentMode(object) { return typeOf(object) === REACT_CONCURRENT_MODE_TYPE; } function isContextConsumer(object) { return typeOf(object) === REACT_CONTEXT_TYPE; } function isContextProvider(object) { return typeOf(object) === REACT_PROVIDER_TYPE; } function isElement(object) { return typeof object === 'object' && object !== null && object.$$typeof === REACT_ELEMENT_TYPE; } function isForwardRef(object) { return typeOf(object) === REACT_FORWARD_REF_TYPE; } function isFragment(object) { return typeOf(object) === REACT_FRAGMENT_TYPE; } function isLazy(object) { return typeOf(object) === REACT_LAZY_TYPE; } function isMemo(object) { return typeOf(object) === REACT_MEMO_TYPE; } function isPortal(object) { return typeOf(object) === REACT_PORTAL_TYPE; } function isProfiler(object) { return typeOf(object) === REACT_PROFILER_TYPE; } function isStrictMode(object) { return typeOf(object) === REACT_STRICT_MODE_TYPE; } function isSuspense(object) { return typeOf(object) === REACT_SUSPENSE_TYPE; } exports.AsyncMode = AsyncMode; exports.ConcurrentMode = ConcurrentMode; exports.ContextConsumer = ContextConsumer; exports.ContextProvider = ContextProvider; exports.Element = Element; exports.ForwardRef = ForwardRef; exports.Fragment = Fragment; exports.Lazy = Lazy; exports.Memo = Memo; exports.Portal = Portal; exports.Profiler = Profiler; exports.StrictMode = StrictMode; exports.Suspense = Suspense; exports.isAsyncMode = isAsyncMode; exports.isConcurrentMode = isConcurrentMode; exports.isContextConsumer = isContextConsumer; exports.isContextProvider = isContextProvider; exports.isElement = isElement; exports.isForwardRef = isForwardRef; exports.isFragment = isFragment; exports.isLazy = isLazy; exports.isMemo = isMemo; exports.isPortal = isPortal; exports.isProfiler = isProfiler; exports.isStrictMode = isStrictMode; exports.isSuspense = isSuspense; exports.isValidElementType = isValidElementType; exports.typeOf = typeOf; })(); } /***/ }), /***/ "../node_modules/prop-types/node_modules/react-is/index.js": /*!*****************************************************************!*\ !*** ../node_modules/prop-types/node_modules/react-is/index.js ***! \*****************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { "use strict"; if (false) {} else { module.exports = __webpack_require__(/*! ./cjs/react-is.development.js */ "../node_modules/prop-types/node_modules/react-is/cjs/react-is.development.js"); } /***/ }), /***/ "../node_modules/react-dom/client.js": /*!*******************************************!*\ !*** ../node_modules/react-dom/client.js ***! \*******************************************/ /***/ ((__unused_webpack_module, exports, __webpack_require__) => { "use strict"; var m = __webpack_require__(/*! react-dom */ "react-dom"); if (false) {} else { var i = m.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED; exports.createRoot = function(c, o) { i.usingClientEntryPoint = true; try { return m.createRoot(c, o); } finally { i.usingClientEntryPoint = false; } }; exports.hydrateRoot = function(c, h, o) { i.usingClientEntryPoint = true; try { return m.hydrateRoot(c, h, o); } finally { i.usingClientEntryPoint = false; } }; } /***/ }), /***/ "react": /*!************************!*\ !*** external "React" ***! \************************/ /***/ ((module) => { "use strict"; module.exports = React; /***/ }), /***/ "react-dom": /*!***************************!*\ !*** external "ReactDOM" ***! \***************************/ /***/ ((module) => { "use strict"; module.exports = ReactDOM; /***/ }), /***/ "@elementor/ui": /*!*********************************!*\ !*** external "elementorV2.ui" ***! \*********************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui; /***/ }), /***/ "@elementor/ui/Box": /*!****************************************!*\ !*** external "elementorV2.ui['Box']" ***! \****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Box']; /***/ }), /***/ "@elementor/ui/Button": /*!*******************************************!*\ !*** external "elementorV2.ui['Button']" ***! \*******************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Button']; /***/ }), /***/ "@elementor/ui/Card": /*!*****************************************!*\ !*** external "elementorV2.ui['Card']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Card']; /***/ }), /***/ "@elementor/ui/CardActions": /*!************************************************!*\ !*** external "elementorV2.ui['CardActions']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardActions']; /***/ }), /***/ "@elementor/ui/CardContent": /*!************************************************!*\ !*** external "elementorV2.ui['CardContent']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardContent']; /***/ }), /***/ "@elementor/ui/CardMedia": /*!**********************************************!*\ !*** external "elementorV2.ui['CardMedia']" ***! \**********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['CardMedia']; /***/ }), /***/ "@elementor/ui/Dialog": /*!*******************************************!*\ !*** external "elementorV2.ui['Dialog']" ***! \*******************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Dialog']; /***/ }), /***/ "@elementor/ui/DialogActions": /*!**************************************************!*\ !*** external "elementorV2.ui['DialogActions']" ***! \**************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogActions']; /***/ }), /***/ "@elementor/ui/DialogContent": /*!**************************************************!*\ !*** external "elementorV2.ui['DialogContent']" ***! \**************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogContent']; /***/ }), /***/ "@elementor/ui/DialogContentText": /*!******************************************************!*\ !*** external "elementorV2.ui['DialogContentText']" ***! \******************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogContentText']; /***/ }), /***/ "@elementor/ui/DialogHeader": /*!*************************************************!*\ !*** external "elementorV2.ui['DialogHeader']" ***! \*************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogHeader']; /***/ }), /***/ "@elementor/ui/DialogHeaderGroup": /*!******************************************************!*\ !*** external "elementorV2.ui['DialogHeaderGroup']" ***! \******************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogHeaderGroup']; /***/ }), /***/ "@elementor/ui/DialogTitle": /*!************************************************!*\ !*** external "elementorV2.ui['DialogTitle']" ***! \************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['DialogTitle']; /***/ }), /***/ "@elementor/ui/Divider": /*!********************************************!*\ !*** external "elementorV2.ui['Divider']" ***! \********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Divider']; /***/ }), /***/ "@elementor/ui/Link": /*!*****************************************!*\ !*** external "elementorV2.ui['Link']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Link']; /***/ }), /***/ "@elementor/ui/List": /*!*****************************************!*\ !*** external "elementorV2.ui['List']" ***! \*****************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['List']; /***/ }), /***/ "@elementor/ui/ListItem": /*!*********************************************!*\ !*** external "elementorV2.ui['ListItem']" ***! \*********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItem']; /***/ }), /***/ "@elementor/ui/ListItemButton": /*!***************************************************!*\ !*** external "elementorV2.ui['ListItemButton']" ***! \***************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItemButton']; /***/ }), /***/ "@elementor/ui/ListItemText": /*!*************************************************!*\ !*** external "elementorV2.ui['ListItemText']" ***! \*************************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['ListItemText']; /***/ }), /***/ "@elementor/ui/TextField": /*!**********************************************!*\ !*** external "elementorV2.ui['TextField']" ***! \**********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['TextField']; /***/ }), /***/ "@elementor/ui/Typography": /*!***********************************************!*\ !*** external "elementorV2.ui['Typography']" ***! \***********************************************/ /***/ ((module) => { "use strict"; module.exports = elementorV2.ui['Typography']; /***/ }), /***/ "@wordpress/i18n": /*!**************************!*\ !*** external "wp.i18n" ***! \**************************/ /***/ ((module) => { "use strict"; module.exports = wp.i18n; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js": /*!******************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayLikeToArray.js ***! \******************************************************************/ /***/ ((module) => { function _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; } module.exports = _arrayLikeToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js": /*!****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/arrayWithHoles.js ***! \****************************************************************/ /***/ ((module) => { function _arrayWithHoles(r) { if (Array.isArray(r)) return r; } module.exports = _arrayWithHoles, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/extends.js": /*!*********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/extends.js ***! \*********************************************************/ /***/ ((module) => { function _extends() { return module.exports = _extends = Object.assign ? Object.assign.bind() : function (n) { for (var e = 1; e < arguments.length; e++) { var t = arguments[e]; for (var r in t) ({}).hasOwnProperty.call(t, r) && (n[r] = t[r]); } return n; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _extends.apply(null, arguments); } module.exports = _extends, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js": /*!***********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/interopRequireDefault.js ***! \***********************************************************************/ /***/ ((module) => { function _interopRequireDefault(e) { return e && e.__esModule ? e : { "default": e }; } module.exports = _interopRequireDefault, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js": /*!**********************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js ***! \**********************************************************************/ /***/ ((module) => { function _iterableToArrayLimit(r, l) { var t = null == r ? null : "undefined" != typeof Symbol && r[Symbol.iterator] || r["@@iterator"]; if (null != t) { var e, n, i, u, a = [], f = !0, o = !1; try { if (i = (t = t.call(r)).next, 0 === l) { if (Object(t) !== t) return; f = !1; } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0); } catch (r) { o = !0, n = r; } finally { try { if (!f && null != t["return"] && (u = t["return"](), Object(u) !== u)) return; } finally { if (o) throw n; } } return a; } } module.exports = _iterableToArrayLimit, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/nonIterableRest.js": /*!*****************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/nonIterableRest.js ***! \*****************************************************************/ /***/ ((module) => { function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } module.exports = _nonIterableRest, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js": /*!**************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/objectDestructuringEmpty.js ***! \**************************************************************************/ /***/ ((module) => { function _objectDestructuringEmpty(t) { if (null == t) throw new TypeError("Cannot destructure " + t); } module.exports = _objectDestructuringEmpty, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/slicedToArray.js": /*!***************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/slicedToArray.js ***! \***************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayWithHoles = __webpack_require__(/*! ./arrayWithHoles.js */ "../node_modules/@babel/runtime/helpers/arrayWithHoles.js"); var iterableToArrayLimit = __webpack_require__(/*! ./iterableToArrayLimit.js */ "../node_modules/@babel/runtime/helpers/iterableToArrayLimit.js"); var unsupportedIterableToArray = __webpack_require__(/*! ./unsupportedIterableToArray.js */ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js"); var nonIterableRest = __webpack_require__(/*! ./nonIterableRest.js */ "../node_modules/@babel/runtime/helpers/nonIterableRest.js"); function _slicedToArray(r, e) { return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest(); } module.exports = _slicedToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/typeof.js": /*!********************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/typeof.js ***! \********************************************************/ /***/ ((module) => { function _typeof(o) { "@babel/helpers - typeof"; return module.exports = _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, module.exports.__esModule = true, module.exports["default"] = module.exports, _typeof(o); } module.exports = _typeof, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }), /***/ "../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js": /*!****************************************************************************!*\ !*** ../node_modules/@babel/runtime/helpers/unsupportedIterableToArray.js ***! \****************************************************************************/ /***/ ((module, __unused_webpack_exports, __webpack_require__) => { var arrayLikeToArray = __webpack_require__(/*! ./arrayLikeToArray.js */ "../node_modules/@babel/runtime/helpers/arrayLikeToArray.js"); function _unsupportedIterableToArray(r, a) { if (r) { if ("string" == typeof r) return arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0; } } module.exports = _unsupportedIterableToArray, module.exports.__esModule = true, module.exports["default"] = module.exports; /***/ }) /******/ }); /************************************************************************/ /******/ // The module cache /******/ var __webpack_module_cache__ = {}; /******/ /******/ // The require function /******/ function __webpack_require__(moduleId) { /******/ // Check if module is in cache /******/ var cachedModule = __webpack_module_cache__[moduleId]; /******/ if (cachedModule !== undefined) { /******/ return cachedModule.exports; /******/ } /******/ // Create a new module (and put it into the cache) /******/ var module = __webpack_module_cache__[moduleId] = { /******/ // no module.id needed /******/ // no module.loaded needed /******/ exports: {} /******/ }; /******/ /******/ // Execute the module function /******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); /******/ /******/ // Return the exports of the module /******/ return module.exports; /******/ } /******/ /************************************************************************/ var __webpack_exports__ = {}; // This entry needs to be wrapped in an IIFE because it needs to be in strict mode. (() => { "use strict"; /*!****************************************!*\ !*** ../modules/home/assets/js/app.js ***! \****************************************/ /* provided dependency */ var PropTypes = __webpack_require__(/*! prop-types */ "../node_modules/prop-types/index.js"); var _interopRequireDefault = __webpack_require__(/*! @babel/runtime/helpers/interopRequireDefault */ "../node_modules/@babel/runtime/helpers/interopRequireDefault.js"); var _react = _interopRequireDefault(__webpack_require__(/*! react */ "react")); var _react2 = _interopRequireDefault(__webpack_require__(/*! elementor-utils/react */ "../assets/dev/js/utils/react.js")); var _ui = __webpack_require__(/*! @elementor/ui */ "@elementor/ui"); var _homeScreen = _interopRequireDefault(__webpack_require__(/*! ./components/home-screen */ "../modules/home/assets/js/components/home-screen.js")); var App = function App(props) { return /*#__PURE__*/_react.default.createElement(_ui.DirectionProvider, { rtl: props.isRTL }, /*#__PURE__*/_react.default.createElement(_ui.LocalizationProvider, null, /*#__PURE__*/_react.default.createElement(_ui.ThemeProvider, { colorScheme: 'light' }, /*#__PURE__*/_react.default.createElement(_homeScreen.default, { homeScreenData: props.homeScreenData, adminUrl: props.adminUrl })))); }; var isRTL = elementorCommon.config.isRTL, adminUrl = elementorAppConfig.admin_url, rootElement = document.querySelector('#e-home-screen'); App.propTypes = { isRTL: PropTypes.bool, adminUrl: PropTypes.string, homeScreenData: PropTypes.object }; _react2.default.render(/*#__PURE__*/_react.default.createElement(App, { isRTL: isRTL, homeScreenData: elementorHomeScreenData, adminUrl: adminUrl }), rootElement); })(); /******/ })() ; //# sourceMappingURL=e-home-screen.js.map Bookkeeping – Paok http://paok.kr Punjabi Association of Korea Tue, 17 Feb 2026 22:55:48 +0000 en hourly 1 https://wordpress.org/?v=6.9.4 http://paok.kr/wp-content/uploads/2023/08/WhatsApp_Image_2023-08-22_at_17.04.05-removebg-preview-150x150.png Bookkeeping – Paok http://paok.kr 32 32 Net Income vs Profit: Whats the Difference? http://paok.kr/bookkeeping-2/net-income-vs-profit-whats-the-difference/ http://paok.kr/bookkeeping-2/net-income-vs-profit-whats-the-difference/#respond Mon, 11 Aug 2025 09:23:54 +0000 http://paok.kr/?p=2102 what is the difference between gross profit and net profit

For example, if your company has a gross profit of $200,000, and total expenses (including operating expenses, interest, and taxes) amount to $150,000, your net profit would be $50,000. Next, determine your costs of goods sold (COGS), also known as your direct costs. To find it, add up what you pay in order to produce your product or service.

Based on your net profit, the financial institutions, like banks, decide whether to issue a loan or not. This stands true because net profit is a common field found on business tax forms. Furthermore, lenders and investors look at your company’s net profit to check if you own the capability to pay your future debts.

Use gross profit to see how much you make from sales before other costs. Since net profit accounts for all costs, you remove those except COGS to get gross profit. To find gross profit from net profit, add back all expenses except the cost of goods sold (COGS). If you’re just looking for a quick breakdown, here’s a side-by-side comparison of gross profit and net profit — including what they measure, how they’re calculated, and why each one matters. Net profit indicates if the company is making a profit or a loss overall, showing its financial health.

  • Investors and analysts use gross profit margin and net profit margin to measure a company’s profitability and financial health.
  • Knowing when to focus on each one helps you make better decisions, especially as a small business owner juggling pricing, marketing, and overhead.
  • It is calculated by dividing gross profit by total revenue and multiplying by 100.
  • Companies may also raise capital through debt, which can decrease their net profit margin when interest payments rise.

Table of Contents

Your net profit value can impact decisions about when and how to grow your business and when to cut costs. Imagine that your company generated $10,000 in revenue during one accounting period and spent $3,000 on the total cost of goods sold. To calculate your gross profit, deduct $3,000 from $10,000 to arrive at $7,000. Are you a business owner analyzing the profit your business is making? Or perhaps you are an investor analyzing a particular business for investment, then you should have clarity on the difference between gross profit and net profit.

When comparing profit margins, consider the industry, the age of the company, and the performance of similar businesses to ensure your analysis is as accurate as possible. This may mean that a company has very low costs to produce goods and services or very high overhead costs like rent, utilities, and payroll (or, very often, both). A large difference is more common in certain industries but can also indicate inefficient cost management practices. Net profit margin takes into consideration the interest and taxes paid by a company. Net profit is calculated by subtracting interest and taxes from operating profit—also known as earnings before interest and taxes (EBIT). The net profit margin is then calculated by dividing net profit over total revenue.

Profit on its own is the amount of revenue left after costs and expenses. It can be reported at different levels, such as gross profit and operating profit, depending on which items are deducted from the gross revenue. Net profit margin is the third and final profit margin metric used in income statement analysis.

  • Learn how to build, read, and use financial statements for your business so you can make more informed decisions.
  • After gross profit, other categories of expenses are tallied up and some additional income may be added.
  • Gross profit and net profit are inter-dependent, so calculating the right values is important.
  • It helps you see if your business is healthy and if you can pay yourself and others.
  • Net profit is a critical measure of a company’s financial health and overall performance, as it reflects the true earnings available to the company and its shareholders.

Both the metrics are very essential for making smart, data driven business decisions. Net profit what is the difference between gross profit and net profit reveals your true earnings after all the purchases and it is important for the long term financial health. For the businesses operating across borders, profit margins can be affected by a lot of factors like currency exchange rates, transfer delays, and payment fees. TransFi helps you to reduce these cross-border payment costs and manage multi-currency income.

what is the difference between gross profit and net profit

How much cash reserve should I keep?

To avoid facing a net loss after tax payments, the company should track expenses by developing a budget that includes potential tax payments per year. This will help them develop sales goals that meet their financial needs. Companies may go through different cycles of growth that lead to higher operational and interest expenses. A company may be investing more in marketing campaigns or capital investments that increase operating costs for a period, which can decrease operating profit margin. Companies may also raise capital through debt, which can decrease their net profit margin when interest payments rise.

A company’s ability to convert sales into profits is crucial to determine its success. If your business brought in income from sources outside normal operations, like investments, grants, or asset sales, add it back here. By keeping these revenue streams separate, you accurately capture the increase to your net profit without incorrectly attributing income not tied to sales or production to gross profit. Start with your total revenue from sales of goods or services (just like you did for gross profit). This is your top-line figure and the foundation of the rest of the calculation, so it’s important to be precise. Calculating net profit is a simple, powerful way to measure what your business really earns.

But if your net profit provides a more realistic number, you might be wondering why you need to know gross profits at all. We cover the difference between the two in our article on How to price a product. By keeping track of both, you can make informed decisions to strengthen your business’s financial health. If costs are rising but your pricing remains static, your profits will take a hit. Don’t be afraid to review your pricing regularly and ensure it reflects the value you provide.

what is the difference between gross profit and net profit

By keeping track of these profits, companies can improve their operations and ensure they are financially healthy. Gross profit is the amount remaining after deducting only the cost of goods sold (COGS) from total revenue. It gives a clear picture of the direct profitability of a company’s core business activities. However, to calculate the net profit, we need to deduct all operating expenses as well.

For businesses involved in cross-border trades of goods or services, platforms like TransFi can help them save costs on transaction fees & forex markup, increasing the overall net profit. Gross revenue is simply all of the money that a company earns through sales. Gross profit, on the other hand, is a measure of how of a company’s gross revenue it can keep after paying all its expenses. Here, the total sales amount includes all goods and services in a financial period, excluding the sales of fixed assets like equipment or buildings.

Understanding gross profit trends, on the other hand, can help you find ways to minimize the cost of goods sold or raise your product prices. And if your gross profit is less than your net profit, then you know that you need to find a way to cut down your expenses. For a business owner, it is important to know the difference between profit and profitability.

]]>
http://paok.kr/bookkeeping-2/net-income-vs-profit-whats-the-difference/feed/ 0
Payroll Service Pricing: Per-Process vs Per-Employee-Per-Month PEPM http://paok.kr/bookkeeping-2/payroll-service-pricing-per-process-vs-per/ http://paok.kr/bookkeeping-2/payroll-service-pricing-per-process-vs-per/#respond Mon, 04 Aug 2025 20:46:57 +0000 http://paok.kr/?p=2092 The intent is to show a positive ROI, of course, in particular because those who pay for healthcare (i.e. employers and payers) have to invest limited healthcare dollars across a population. The challenge with calculating ROI, however, is that there are many (bad) ways to do it and plenty of opportunities to massage numbers. Those trying to sort this out should take comfort, however, that a few principles can predict whether something is/ is not likely to be ROI positive. Some may offer 1- or 2-year terms depending on the size or scope of the engagement, but 3 years is standard for most fully bundled EAP programs.

How is commission calculated on PEPM & PMPM Policies?

A vendor typically relies on the employer to promote their service and employers often do not put the energy into promotion and communication. Calculating the monthly cost under a PEPM model is a simple multiplication of the agreed-upon PEPM rate by the current number of employees or users. If a service charges $50 PEPM and a company has 100 employees, the monthly charge would be $5,000.

Digital Health Recap – September 2025

  • Caitlin excels in identifying client needs, resolving issues, and implementing customized solutions that drive value.
  • As more healthcare organizations look toward value-based care programs, we’ll discuss five ways you might measure value-based care success.
  • But you should know that when it comes to cost and quality of service, there are distinct differences between the two types.
  • Understanding how your broker is compensated gives you leverage to ask the right questions, evaluate whether their advice is unbiased, and ensure you’re receiving value for what you’re paying.

The pay cycle frequency for PEPM and PMPM earned commissions should be determined based on what makes the most sense for your business. However, as stated above, the number of active enrollees in a plan can change frequently and having PEPM and PMPM commissions paid to insurance producers monthly reduces the need for chargebacks. As more healthcare organizations look toward value-based care programs, we’ll discuss five ways you might measure value-based care success. While both plans allow employers to improve cost management and streamline administrative functions, they also have their own advantages. Rebecca Noori is a freelance HR Tech and SaaS writer who is obsessed with our world of work.

The Headspace pricing approach

One area of increasing cost, but easily monitored via the PEPM, is pharmaceutical claims. In addition to understanding the year-over-year costs, there are many national benchmarks for pharmaceutical PEPMs, which brokers or advisors can provide. A number of innovative and well-established cost containment programs exist to effect change, and the vast majority of today’s programs focus on how and where to source the prescription. These international sourcing and/or patient assistance programs can drive savings from a moderate 10% to an astounding 100% subsidy.

Our flexible benefits accounts enable your HR teams and employees to stay in control of budgeting and allowances with real-time insights into how your workers use their benefits. A broker whose compensation isn’t tied solely to premiums is more likely to prioritize your interests, like finding creative ways to reduce costs while maintaining quality coverage. For example, if you have summer help and you forget to take them out of the system, you’ll end up paying for someone that hasn’t made you money.

what is pepm

Consider the time it takes your HR team to deploy the benefits and manage any changes throughout the cycle, for example, when employees join or leave the company. Naturally, when pricing everything up, you’ll want to maximize the value of your total benefits spend. Whether you aim to save money on the overall cost of benefits or maximize what your employees receive, follow these eight tips to stretch those dollars further. If an employee’s benefits membership card is lost or stolen, some providers charge a replacement fee every time, which can add up quickly.

Monitoring Health Benefits Costs: What is the Magic Number?

But, the re-pricing of the claim will pay the contracted amount less co-pays regardless of the physician’s bill. Core Commissions’s intuitive, industry-leading software allows for easy, consistent, and accurate commission calculations. Capable of handling multiple commission rate calculations at once, Core’s software is ideal for insurance agencies utilizing PEPM as one of their commission calculation rules. Approximately 122 million Americans live what is pepm in an area with a shortage of mental health professionals.

The commission rate a producer receives can vary and depend on the individual policy, as well as the carrier. Caitlin Kapolas is a results-driven professional with a strong background in account management and retail. She is dedicated to improving client experiences and building lasting relationships. Caitlin excels in identifying client needs, resolving issues, and implementing customized solutions that drive value. Her effective communication skills ensure high client satisfaction and loyalty, making her a trusted advisor and partner in meeting client needs with precision and professionalism. With our combined engineering design knowledge and field experience, PEPM Group is capable of handling large- and small-scale projects.

This can be tricky to budget for with fluctuating currencies—one month, you may pay more than expected, and the next, you could gain a little back. Build the potential for price increases into your annual budget as your benefits provider will factor inflation, rising healthcare costs, and other externalities into their fees. The most obvious driver of employee benefits cost is the size of your business. But smaller businesses with fewer employees may access discounted plans through group policies or self-funded plans.

This accurate estimation of utilization can be tricky to nail down when employers are used to traditional models that drive low engagement and are switching to more innovative and engaging solutions. PEPM stands for “Per Employee Per Month.” It refers to the pricing model used by payroll service providers, where businesses pay a fixed monthly fee for each employee on their payroll. This pricing structure allows businesses to have better control over their payroll expenses and enables them to budget more accurately.

  • Headspace offers two distinct pricing options that cater to different organizational needs.
  • Contact us for more information or schedule a free demo and we can show you firsthand how we can seamlessly incorporate these calculation rules into your commission structure.
  • PSA Insurance & Financial Services, its affiliates and employees are not responsible for the content of other web or social networking sites.
  • Let us begin with BUCHA (Blues, United, Cigna, Humana, Aetna, etc.) and their annual determination of the payment for an office visit.
  • PEPM emphasizes customization, allowing employers to tailor benefits to individual employees, fostering greater engagement.

In this blog post, let’s unravel the secrets to launching your PEPM Benefits Program successfully. Get ready for some practical tips and insights that’ll make the implementation a breeze. For these reasons, employers are adding broader benefits encompassing mental health services, childcare support, and well-being programs to bolster their packages. Your benefits broker plays a critical role in managing one of your company’s largest expenses, but their compensation can significantly impact your costs and decision-making. By understanding how they’re paid, you can better ensure their priorities align with yours. Transparency isn’t just a compliance requirement—it’s a business necessity.

]]>
http://paok.kr/bookkeeping-2/payroll-service-pricing-per-process-vs-per/feed/ 0
Journalizing Adjusting Entries for Depletion Accounting 101 http://paok.kr/bookkeeping-2/journalizing-adjusting-entries-for-depletion-2/ http://paok.kr/bookkeeping-2/journalizing-adjusting-entries-for-depletion-2/#respond Sat, 28 Jun 2025 00:33:55 +0000 http://paok.kr/?p=1911 This is especially relevant for industries like mining, oil, and gas, where resource extraction is a fundamental activity. By allocating the cost of extraction, depletion ensures financial statements reflect the economic value of consumed resources, providing transparency for management and stakeholders. Depletion applies to natural resources such as minerals, oil, gas, or timber, while depreciation applies to tangible fixed assets like machinery, equipment, and buildings. Depletion is tied directly to the consumption or extraction of a wasting resource, whereas depreciation is based on the passage of time or usage of an asset. Both methods allocate cost over useful life, but their underlying assets and triggers for expense recognition differ. While these expenses may seem similar, they are calculated differently and have different implications for a company’s financial statements.

Depletion accounting

  • In this section, we will explore the different types of depletion methods and their characteristics.
  • This method requires estimating total recoverable units, such as barrels of oil or tons of minerals, and dividing the total capitalized cost by the estimated total units to determine a per-unit cost.
  • Depletion is a common accounting practice that helps businesses to spread the cost of their natural resources over the life of the asset.
  • Its proponents believe that the only relevant measure for a project is the cost directly related to it and that companies should report any remaining costs as period charges.
  • Such assets are also referred as wasting assets because their value deteriorates with the increasing extraction of resources.

Ordinary income, separately stated income, tax-exempt income and excess depletion all increase a shareholder’s basis. … Ordinary loss, separately stated loss, nondeductible expenses, non-dividend distributions, and depletion for oil and gas all decrease basis. To calculate, multiply a certain percentage, specified for each mineral, by your gross income from the property during the tax year. For this purpose, the term “property” means each separate interest business owned in each mineral deposit in each separate tract or parcel of land.

Which depletion method should I use?

The write-off journal entry moves the asset’s book value to the income statement, where it is reported as an expense or loss and reduces the accounting period’s income. It involves accounting methods and practices determined at the corporate level. Gross IncomeThe difference between revenue and cost of goods sold is gross income, which is a profit margin made by a corporation from its operating activities. It is the amount of money an entity makes before paying non-operating expenses like interest, rent, and electricity.

Cost depletion is a valuable accounting method for businesses involved in the extraction or production of natural resources. By accurately allocating the cost of these resources over their productive life, companies can reflect the diminishing value of their assets. Understanding the calculation process, employing accurate estimates, and keeping detailed records are key to successfully applying cost depletion in your business. Depletion, by contrast, is tied exclusively to natural resources diminishing through extraction.

Cost Depletion

This calculator helps determine the depletion expense of natural resources such as minerals, timber, oil, or gas. It’s a key accounting tool for businesses involved in extraction industries to calculate asset reduction over time based on usage. Cost Depletion, closely tied to the actual cost of resource extraction, aligns well with tax reporting as it mirrors the tangible expenses incurred by a company. This method allows businesses to match their depletion deductions with actual outlays, providing a straightforward approach to tax calculations. However, its reliance on comprehensive data means it may not always be the most advantageous method for companies with fluctuating extraction rates or uncertain reserves.

Depletion rate:

Rather, the amount simply reflects an ongoing reduction in the amount of the original recorded cost of the natural resources. Depletion, on the other hand, is the actual use and exhaustion of natural resource reserves. However, the total sum of the deduction cannot exceed 50% (100% for the oil and gas industry) of the client’s taxable income. The percentage depletion method requires a lot of estimates and is, therefore, not a heavily relied upon or accepted method of depletion. In addition, Pensive Oil estimates that it will incur a site restoration cost of $57,000 once extraction is complete, so the total depletion base of the property is $600,000.

It’s a method that offers businesses the ability to track their costs and manage expenses in an effective manner. One of the most important aspects of depletion accounting is the ability to use a variety of methods to calculate the value of the depletion expense. There are different ways to calculate the depletion expense, including the units of production method, the percentage depletion method, and the cost depletion method, among others.

which method should be used to calculate depletion for a natural resource company?

These resources are central to industries reliant on their extraction and sale, forming the core of depletion accounting. Accounting standards and tax regulations, such as those provided by the Financial Accounting Standards Board (FASB) under GAAP, govern eligibility and application. Depletion expense is a critical aspect of cost management in the oil and gas industry. It’s important to note that depletion accounting is not the same as depreciation. Depreciation is used to allocate the cost of fixed assets over their useful lives, while depletion is used to allocate the cost of natural resources over their consumption. The estimation of natural resources’ recoverable reserves is challenging due to uncertainties in exploration and extraction technologies.

Which method should be used to calculate depletion for a natural resource company?

The unsold part of the extracted natural resource should be recorded as inventory. While the depreciation expense represents the deterioration of the plant assets, the depletion expense represents the exhaustion of a natural resource. This is why the way that the company determines the depletion expense is similar to that of the depreciation expense. Depletion accounting is an important tool for companies that operate in the natural resource sector.

Instead, it provides a deduction based on a statutory percentage of the gross income, subject to certain limitations. The percentage varies depending on the resource type and is stipulated by tax regulations, such as those outlined by the IRS in the United States. This method can sometimes exceed the total cost of the resource, offering potential tax benefits. It is often favored by companies with limited reserve data or those seeking to optimize tax deductions, though it may not accurately reflect the economic reality of resource consumption.

  • Another advantage of depletion accounting is that it helps companies to manage their tax liabilities more effectively.
  • Percentage depletion, on the other hand, is a method that allows taxpayers to deduct a fixed percentage of their gross income from the property as a depletion expense.
  • Depletion accounting is a crucial concept in cost management that helps businesses to effectively manage their resources and efficiently allocate their costs.
  • When a company acquires the rights to extract these resources, they are initially recorded as assets on the balance sheet.

Unlike property, plant and equipment that are used during the period, these assets get consumed as a result of extraction. Percentage depletion is a tax deduction method used by businesses involved in the extraction of natural resources such as oil, gas, coal, and minerals. It allows these businesses to recover their investment costs by deducting a percentage of their gross income derived from the sale of which method should be used to calculate depletion for a natural resource company? these resources.

Development Costs

This approach involves calculating the depletion expense based on the cost of the resource and the estimated quantity that can be economically extracted. The unit depletion rate is determined by dividing the total cost of the resource by the estimated recoverable units. Each period, the depletion expense is calculated by multiplying this unit rate by the number of units extracted. This method provides a direct link between the resource’s cost and its extraction, making it suitable for companies with detailed data on their reserves and extraction rates. Cost depletion allocates the cost of a natural resource asset based on the actual quantity extracted during a specific period. This method requires estimating total recoverable units, such as barrels of oil or tons of minerals, and dividing the total capitalized cost by the estimated total units to determine a per-unit cost.

Understanding these regulations allows businesses to optimize their tax strategies and potentially reduce their taxable income. Depletion accounting significantly influences a company’s financial statements, reshaping how assets, expenses, and profitability are perceived. Through the systematic allocation of depletion expenses, companies can adjust their asset valuations on the balance sheet. This adjustment ensures that the carrying value of natural resource assets reflects a more accurate financial picture, considering the gradual consumption of these resources over time. By allowing a fixed percentage of gross income to be deducted, this method can sometimes provide a more substantial tax benefit, especially in years of high revenue. This can be particularly advantageous for companies in the oil and gas industry, where the depletion rate can be as high as 15%.

]]>
http://paok.kr/bookkeeping-2/journalizing-adjusting-entries-for-depletion-2/feed/ 0
Gross Profit vs Net Profit: Understanding Profitability Bench Accounting http://paok.kr/bookkeeping-2/gross-profit-vs-net-profit-understanding/ http://paok.kr/bookkeeping-2/gross-profit-vs-net-profit-understanding/#respond Mon, 23 Jun 2025 11:34:30 +0000 http://paok.kr/?p=2024 what is the difference between gross profit and net profit

But understanding gross profits and net profits can help you make informed decisions about your business. These decisions can open the door to more opportunities — like attracting investors — and help you take your business to new places. If you use the Business Toolkit the taxable net profit is calculated for you.

Step 1. Consider total revenue

TransFi Collections is designed to give businesses an efficient and smooth payment solution with the assurance of a secure and frictionless customer experience. Through our platform, businesses can accept payments in local currencies and convert automatically to stablecoins or fiat, making the hassles of currency exchange a thing of the past. With rapid and trusted settlement, businesses do not have to wait for slow international banking processing times anymore, gaining quicker access to funds.

In other words, the company is not generating enough income to cover all its costs and is operating at a loss. For businesses operating globally, profits are mostly impacted by foreign exchange, slow settlement of payments, high bank or SWIFT fees. It helps in enabling fast, secure, and low-cost international payments and also reduces overheads from cross-border payments which improves your net profit. It provides a multi-currency wallet so that you can manage revenues from different countries at any time without constant currency conversion losses. The more money a company makes on each sale, the higher its gross profit. Companies use gross profits to pay for the operating costs of running a business.

Gross profit is a profitability metric showing the portion of revenue remaining once direct costs tied to production or delivery have been allocated. You’ll find both gross profits and net profits on a company’s income statement. Both gross profit and net profit are backward-looking measures, focused on the amount of money a company made in a period that has already passed. Net profit is also called the company’s bottom line in income statements.

what is the difference between gross profit and net profit

We’re here to help you navigate the world of business finance and make informed decisions for your success. Net profit acts as a risk management tool, providing financial stability and resilience against economic downturns or unexpected challenges. Businesses must prioritise maintaining a positive net profit to drive strategic planning, sustainable growth, and overall competitiveness in the market. Integrate TransFi Collections with your business and experience secure, seamless, and scalable payments that are not only efficient and reliable but also globally compliant. Drive efficiency and growth through customized high-performing payment solutions for enterprise. Learn how to build, read, and use financial statements for your business so you can make more informed decisions.

  • With TransFi, businesses can experience the future of digital payments and the power of borderless and hassle-free collections.
  • Strong gross margins also make it easier to absorb unexpected costs and maintain strong financial health during difficult periods.
  • Both metrics help in understanding efficiency, pricing, financial health, and making decisions.
  • Both are key to assessing profitability and guiding business strategy.

Personal Finance

Some common concerns include overpaying for raw materials, setting the wrong product price, or even having more workers than you need. Say you realize you’re losing most of your gross profit to raw material costs. Divide your gross profit by your total revenue to calculate your gross profit margin. A healthy margin depends on your industry, but knowing yours can help you benchmark and adjust your pricing or production costs accordingly. A higher net profit margin indicates efficient cost management and a strong ability to convert revenue into profit.

  • Businesses often use these numbers to make decisions about where to cut costs or invest more.
  • We are compensated in exchange for placement of sponsored products and services, or by you clicking on certain links posted on our site.
  • More than what you sell or produce, it’s the proof that your entire business model holds up.
  • Gross profit shows how much money a company makes from selling its products, minus what it costs to produce or buy them.

It also includes any interest earned from short-term and long-term investments. It will take time, and likely some trial and error, to accurately determine your gross and net profits the first time around. But after doing it a few times, you’ll be a seasoned pro and wonder how you ever made decisions without this valuable knowledge. And if you’re looking for a financial partner on your startup journey — try Brex. Our business credit card offers benefits like no personal guarantee, 10-20x higher limits, and amazing rewards. And paired with our startup business account, you can grow and manage your cash seamlessly at every stage of growth.

what is the difference between gross profit and net profit

These are the recurring costs required to run the business, like salaries, rent, software licenses, insurance, and marketing. This step gives you a clear view of how much cash you have left after keeping the lights on. Gross profit is the revenue your business earns from selling products or services, minus the cost of goods sold (COGS). Unlike gross profit, net income accounts for all of a business’s costs.

TransFi Collections is not merely a payment gateway but a full suite of solutions empowering businesses with scalable, compliant, and efficient payment collection services. Whether you collect payments from suppliers, freelancers, or international customers, our platform what is the difference between gross profit and net profit provides timely, cost-saving, and secure transactions. Step into a digital future of payments with TransFi and feel the force of borderless, seamless collections.

Analysing the net profit margin formula is vital for understanding a company’s financial health and profitability. The net profit margin takes into account all business expenses, not merely COGS, and is, therefore, a more stringent metric by which to measure profitability. Operating profit shows a company’s ability to manage its indirect costs. Therefore, this section of the income statement shows how a company is investing in areas it expects will help to improve its brand and business growth through several channels. A company may have a high gross profit margin but a relatively low operating profit margin if its indirect expenses for things like marketing or capital investment allocations are high. Yes, net profit, net income, and net earnings are essentially the same terms and are used interchangeably in financial reporting.

]]>
http://paok.kr/bookkeeping-2/gross-profit-vs-net-profit-understanding/feed/ 0
Change or reset your password Computer Google Account Help http://paok.kr/bookkeeping-2/change-or-reset-your-password-computer-google-10/ http://paok.kr/bookkeeping-2/change-or-reset-your-password-computer-google-10/#respond Fri, 13 Jun 2025 14:30:16 +0000 http://paok.kr/?p=12625 Once you create a new email address, you can use that to set up a Google Account. If you’re having trouble resetting your password or can’t sign in to your account, get more help. If you’re asked for the last password you remember, enter the most recent one you recall. If you already tried to recover your account and got a “Google couldn’t verify this account belongs to you” message, you can try again.

  • You can search for “free email providers” to find another email provider you like and set up an account.
  • Learn how to improve your experience with your Google Account checklist.
  • You can use the username and password to sign in to Gmail and other Google products like YouTube, Google Play, and Google Drive.
  • You can change your password for security reasons or reset it if you forget it.

Manage your Google Settings

  • You can use the username and password to sign in to Gmail and other Google products like YouTube, Google Play, and Google Drive.
  • You can change your password for security reasons or reset it if you forget it.
  • You can search for “free email providers” to find another email provider you like and set up an account.
  • By default, account related notifications are sent to your new Gmail address, or to your non-Google email if you signed up with a different email address.

If you signed in to any Google product before, such as Gmail, Maps, or YouTube, you already have a Google Account. You can use the same username and password you created to sign in to any other Google products. When you create a Google Account, we ask for some personal info. By providing accurate info, you can help keep your account secure and make our services more useful. To sign up for Gmail, create a Google Account.

How do I change my Google Account password?

Your Google Account password is used to access many Google products, like Gmail and YouTube. By default, account related notifications are sent to your new Gmail address, or to your non-Google email if you signed up with a different email address. You can search for “free email providers” to find another email provider you like and set up an account.

Create a Google Account

Learn how to improve your experience with your Google Account checklist. You don’t need to have a Gmail address to create a Google Account. You can also use a non-Gmail email address to create one instead.

Google activity controls

You can use the username and password to sign in to Gmail and other Google products like YouTube, Google Play, and Google Drive. Choose a password that you haven’t already used with what is accounts payable definition process and examples this account. You can change your password for security reasons or reset it if you forget it.

]]>
http://paok.kr/bookkeeping-2/change-or-reset-your-password-computer-google-10/feed/ 0
How to Start a Sole Proprietorship in 2024 http://paok.kr/bookkeeping-2/how-to-start-a-sole-proprietorship-in-2024/ http://paok.kr/bookkeeping-2/how-to-start-a-sole-proprietorship-in-2024/#respond Wed, 28 May 2025 22:29:08 +0000 http://paok.kr/?p=3368 sole proprietorship near me

While business insurance is essential for high-risk industries, such as manufacturing and construction, it’s also a good idea if you’re in a lower-risk industry, such as freelancing or bookkeeping. For example, if you get hit with a copyright infringement claim for one of your digital ads, your general liability insurance can cover your legal costs. A good small business insurance policy will help you pay for problems like lawsuits, workplace injuries and damaged business property.

Forms & instructions

To apply for a permit, visit the City of Fort Worth’s online permitting system, Accela Citizen Access (ACA). Projects with construction costs equal to or greater than $50,000 must register with the Texas Department of Licensing and Regulation for Architectural Barriers and provide registration number at time of application. Once plans are complete, submit them to the City of Fort Worth’s online permitting system, Accela Citizen Access (ACA).

Fictitious Business Name Requirements for Sole Proprietors

Like any Texas business, businesses in The DFW Metroplex must obtain a Texas Sales Tax Permit if they sell tangible goods, lease personal property, or sell a taxable service in Texas, and operate in HOA Accounting Texas. To obtain a Texas Sales Tax Permit, file the permit application with the Texas Comptroller. Every business in Texas must be registered with the Texas Secretary of State, or the business’s local county clerk. In the Metroplex, some counties require all local businesses to register with the county clerk, even if they are already registered with the secretary of state.

Starting a Sole Proprietorship FAQs

A BOP won’t cover everything, so I recommend adding more coverage https://nhkcccan.com/salvage-value-how-to-determine-the-salvage-value/ types as necessary. If you get into an accident with your work vehicle, you’ll need to add commercial auto insurance. Similarly, if you have employees, you’ll need to add workers’ comp insurance in most states.

  • Leinart Law Firm, your trusted Texas Small Business Bankruptcy Lawyers, is here to provide legal guidance and support tailored to your business needs.
  • A sole proprietorship is the easiest type to establish and a popular choice for small businesses, individual contractors, and consultants.
  • Develop a comprehensive emergency preparedness plan, including risk assessments and mitigation strategies.
  • Or, you can hire us to file your Texas LLC or Texas corporation for you.
  • Likewise, businesses in Texas who form a limited liability partnership must register with the Texas Secretary of State.
  • Sole proprietors are generally limited in terms of the financial resources they can borrow.

Best Small Business Insurance Frequently Asked Questions (FAQs)

sole proprietorship near me

60+ business bank accounts rated with our objective, comprehensive business bank account rubrics (Methodology). When you click “Continue” you will be taken to a site sole proprietorship near me owned by , not GEICO. Any information that you provide directly to them is subject to the privacy policy posted on their website. With just a few clicks you can look up the GEICO Insurance Agency partner your Earthquake policy is with to find policy service options and contact information.

  • This can be difficult to do on your own, but you also aren’t likely to need to pay for help right away.
  • When you hire employees or start to bring in a significant amount of revenue, then you’ll likely want to register an LLC.
  • Building plans are a graphical representation of what a proposed building will look like after construction.
  • An EIN is free and may be obtained through the IRS website, by fax or by mail.

You may operate without registering and using your Social Security number for tax purposes. Nolo offers hundreds of consumer-friendly, do-it-yourself legal products for all types of legal situations. Find out when an EIN is required for a sole proprietor–and why it’s usually a good idea to get one anyway. The vast majority of small businesses would suffer financially if they were sued or experienced a devastating loss, such as losing inventory in a fire. The best way to find cheap business insurance is to compare business insurance quotes from several different insurers.

Register for an Employer Identification Number (EIN)

Consumer Health protects the public by providing an array of health and safety inspections to include food, child care and public swimming pools. Training is provided for food handlers, child care workers and pool operators. Utilize the City of Fort Worth’s Development Services tool, CFW Permit Assist, to see which permits you need and what they will cost.

sole proprietorship near me

While there are a lot of different opportunities for the county to charge property taxes, the rates on these taxes do tend to be low. As a sole proprietor, you don’t technically need to have a business name. However, if you are running your business under another name, that’s called a DBA. MLPF&S is a registered broker-dealer, registered investment adviser, Member SIPC, and a wholly owned subsidiary of BofA Corp. Sole proprietors possess full control and decision-making accountability for all the operational and business activities.

sole proprietorship near me

About Fort Worth

Federal tax obligations are filed through the Internal Revenue Service (IRS). State tax filings are done through the Comptroller of Public Accounts. For questions about local business and property taxes, consult our county’s appraisal district or tax assessor-collector. It’s appropriate to use a Social Security Number if your business is being registered as an individual, limited liability individual, or estate. If your business is a corporation, partnership, limited liability corporation, or limited liability partnership, it’s necessary to register for and get an EIN through the IRS.

]]>
http://paok.kr/bookkeeping-2/how-to-start-a-sole-proprietorship-in-2024/feed/ 0
Balance Sheet: Definition, Use and How to Make One http://paok.kr/bookkeeping-2/balance-sheet-definition-use-and-how-to-make-one/ http://paok.kr/bookkeeping-2/balance-sheet-definition-use-and-how-to-make-one/#respond Thu, 12 Dec 2024 03:32:16 +0000 http://paok.kr/?p=13393 During times of inflation or deflation this decision affects both the cost of the inventory reported on the balance sheet and the cost of goods sold reported on the income statement. In the accounting period when the items in inventory are sold, the cost of the items sold is removed from the asset inventory and is reported on the income statement as cost of goods sold. Unlike the asset and liability sections, the equity section changes depending on the type of entity. For example, corporations list the common stock, preferred stock, retained earnings, and treasury stock. Partnerships list the members’ capital and sole proprietorships list the owner’s capital.

The financial leverage ratio is another way of measuring a company’s overall financial risk, and to what extent it has financed its assets through debt. In financial accounting this term refers to the amount of debt excluding interest. Payments on mortgage loans usually require monthly payments of principal and interest. This account balance or this calculated amount will be matched with the sales amount on the income statement.

  • A balance sheet serves as reference documents for investors and other stakeholders to get an idea of the financial health of an organization.
  • This financial statement is similar to the balance sheet issued by a company.
  • Because of this, managers have some ability to game the numbers to make them look more favorable.
  • Property or equipment the company owns and uses in its operations to generate income.
  • Current asset accounts include cash, accounts receivable, inventory, and prepaid expenses, while long-term asset accounts include long-term investments, fixed assets, and intangible assets.

Whether you are a business owner, employee, or investor, understanding the numbers in a Balance Sheet is a fundamental skill to acquire. Current assets are the assets that can be converted into cash within one year, including cash and cash equivalents, inventory, and accounts receivable. Balance sheets in various types of companies, whether it is manufacturing, trading, or service company, have three main components which are assets, liabilities, and equity.

You can gain valuable insights into ABC Corporation by looking at its Balance Sheet. The Balance Sheet will not give you an in-depth answer, but it will guide you toward asking balance sheet the right questions. You can browse through Note 7, which you can find in ABC Corporation’s Balance Sheet, and see a more detailed breakdown into inventory classes. You will often see companies preparing their Balance Sheets on a monthly or quarterly basis.

Long Term Liabilities

This will cover retained earnings, common stock, and other additional investments. The systematic allocation of the cost of an asset from the balance sheet to Depreciation Expense on the income statement over the useful life of the asset. (The depreciation journal entry includes a debit to Depreciation Expense and a credit to Accumulated Depreciation, a contra asset account). The purpose is to allocate the cost to expense in order to comply with the matching principle. In other words, the amount allocated to expense is not indicative of the economic value being consumed. Similarly, the amount not yet allocated is not an indication of its current market value.

A balance sheet is one of the core documents that includes the details of a company’s assets, liabilities, and owners’ equity. Typically, balance sheets are prepared on a set schedule, such as once a quarter. It is common to refer to a balance sheet as a snapshot of the company’s financial situation since it provides the financial position of the company as of a specific date. A balance sheet liability account that reports amounts received in advance of being earned.

Examples of balance sheet analysis

  • Retain earnings can be calculated by the accumulation of the beginning balance of retained earnings plus net income during the year and minus dividend payments during the year.
  • Likewise, assets are arranged in a way that separates more liquid assets, which can be converted to cash quickly, from less liquid assets.
  • Overall, the importance & purpose of the balance sheet is for investors, bankers, and professionals.
  • Predict every value that the business owns, including inventory, property, equipment, and cash.
  • The current liability deferred revenues reports the amount of money a company received from a customer for future services or future shipments of goods.

Common Stock or Ordinary shares are the same, and this class of shares normally has voting right. The ordinary share is recorded at par value in the balance sheet under equity sections. Inventories are the main items in the Balance Sheet of a manufacturing company.

Shareholders’ equity

The balance sheet, along with the income statement and the statement of cash flows, is one of the primary financial statements used to understand a company’s financial situation. The balance sheet reports the business’s assets, liabilities, and equity, at a point in time. Assets minus liabilities equals shareholder equity, which is one measure of the value of the company to its owners. According to Generally Accepted Accounting Principles (GAAP), current assets must be listed separately from liabilities.

Short-term loans payable

Unfortunately, he’s addicted to collecting extremely rare 18th century guides to bookkeeping. Until he can get his bibliophilia under control, his equity will continue to suffer. You can also compare your latest balance sheet to previous ones to examine how your finances have changed over time.

A relatively small percent of corporations will issue preferred stock in addition to their common stock. The amount received from issuing these shares will be reported separately in the stockholders’ equity section. The noncurrent balance sheet item other assets reports the company’s deferred costs which will be charged to expense more than a year after the balance sheet date. Assets are recorded in the company’s general ledger accounts at their cost when they were acquired. In accounting cost means all costs that were necessary to get the assets in place and ready for use.

For this reason, the balance sheet should be compared with the other statements and sheets from previous periods. With a greater understanding of a balance sheet and how it is constructed, we can review some techniques used to analyze the information contained within a balance sheet. Non-current assets can also be intangible assets, such as goodwill, patents, or copyrights. It is important to note that a balance sheet is just a snapshot of the company’s financial position at a single point in time.

Important ratios that use information from a balance sheet can be categorized as liquidity ratios, solvency ratios, financial strength ratios, and activity ratios. Liquidity and solvency ratios show how well a company can pay off its debts and obligations with existing assets. In order for the balance sheet to balance, total assets on one side have to equal total liabilities plus shareholders’ equity on the other side. Long-term liabilities are debts and other non-debt financial obligations, which are due after a period of at least one year from the date of the balance sheet. For instance, a company may issue bonds that mature in several years’ time. Current liabilities are the company’s liabilities that will come due, or must be paid, within one year.

]]>
http://paok.kr/bookkeeping-2/balance-sheet-definition-use-and-how-to-make-one/feed/ 0
How to Do Vertical Analysis of Balance Sheet in Excel http://paok.kr/bookkeeping-2/how-to-do-vertical-analysis-of-balance-sheet-in-2/ http://paok.kr/bookkeeping-2/how-to-do-vertical-analysis-of-balance-sheet-in-2/#respond Thu, 14 Nov 2024 15:49:01 +0000 http://paok.kr/?p=225552 vertical analysis balance sheet

The vertical analysis of its balance sheet might show a substantial increase in property, plant, and equipment as a percentage of total assets. This could indicate a strategic move towards more efficient operations, which could lead to increased profitability in the long term. Conversely, if this increase is accompanied by a significant rise in long-term debt, it might raise concerns about the company’s future financial flexibility. In the realm of financial analysis, vertical analysis stands out as a potent tool, offering a unique lens through which to examine comparative balance sheets. These pitfalls can skew interpretations and lead to misguided business decisions if not carefully navigated.

What is the Vertical Analysis Formula

Remember, on a balance sheet, your base number is always your total assets and total liabilities, and equity. Vertical analysis is useful for single accounting period analysis, while horizontal analysis is used to compare company performance between two specific accounting periods, whether it’s quarterly or annually. Vertical analysis provides a better understanding of how each line item on the balance sheet fits into the company’s financial structure and is an invaluable decision-making tool. With the income statement and balance sheet under our belt, let’s look at the cash flow statement  and all the insights it tells us about the business.

Components of Balance Sheet Vertical Analysis

vertical analysis balance sheet

The cash flow statement is vital in assessing a company’s ability to generate cash and its cash management practices. You can compare companies in the same industry by standard comparisons of key line items. By comparing other companies’ percentages against your own, you can understand the strengths, weaknesses, and changes you will need to make. Vertical analysis lets you identify trends, growth areas, and patterns in your financial statements and build well-informed strategic plans. In this example, we calculated each line item’s percentage relative to net sales. This allows analyzing the composition of the income statement and understand the relative significance of each item in relation to the company’s revenue.

  • Other businesses use vertical analysis over several accounting periods to detect trends or variances.
  • What it does nicely is in the percentage format; it shows you quickly where the most money goes or where the returns are.
  • Vertical analysis is a method used in financial statement analysis where each line item is listed as a percentage of a base figure within the statement.
  • This standardization simplifies comparison and highlights the relative importance of each component.
  • In conclusion, understanding how to do a vertical analysis of a balance sheet is crucial for making informed financial decisions.
  • This allows for a quick snapshot of financial composition and helps businesses understand how different components relate to the whole.

Analyzing Vertical Percentages for Various Expense Categories

vertical analysis balance sheet

It’s particularly insightful when examining trends over time within the same company. By converting numbers into percentages, vertical analysis standardizes financial statements of firms of different sizes and allows for easy comparisons. When you apply vertical analysis to the balance sheet, you can understand the relative composition of assets, liabilities, and equity. Through accounting ratios, you can compare two-line items in your financial statement and point which items are bringing in more profit. By examining the proportional https://www.bookstime.com/ changes in these components, you can evaluate the company’s financial structure, liquidity, and leverage. It helps identify the impact of changes in asset or liability categories on the overall financial health of the organization.

  • It’s important to keep these limitations in mind and utilize complementary analysis methods to enhance the accuracy and depth of your financial assessments.
  • For a balance sheet, the base figure is typically Total Assets for the assets section and Total Liabilities and Equity for the liabilities and equity section.
  • For instance, if a company has a higher proportion of cash compared to its competitors, it may have greater flexibility to invest in growth opportunities or weather economic downturns.
  • As you can see there is a heavy focus on financial modeling, finance, Excel, business valuation, budgeting/forecasting, PowerPoint presentations, accounting and business strategy.
  • This makes it simple to measure companies against one another or different periods.
  • Set up percentage columns with formulas that reference the imported data, then schedule auto-refresh hourly, daily, or weekly.
  • It supports informed resource allocation and strategic decision-making by providing transparency into cost structures.
  • By comparing other companies’ percentages against your own, you can understand the strengths, weaknesses, and changes you will need to make.
  • We can also use the financial ratios derived from the balance sheet and compare them historically versus industry averages or competitors.
  • With this knowledge in hand, you’ll have the freedom to make strategic choices that align with your company’s goals and objectives.
  • By identifying the components of a balance sheet and calculating percentages in vertical analysis, you can gain valuable insights into the financial health and performance of a company.
  • These examples demonstrate how vertical analysis allows for meaningful comparisons, identification of trends, and assessment of the relative proportions and relationships within financial statements.
  • Learn financial statement modeling, DCF, M&A, LBO, Comps and Excel shortcuts.

This technique simplifies the comparison of financial statements over time or between different companies, making it easier to identify trends and assess the financial https://bcrelx.com/concentrix-hiring-accountant-i-fixed-asset/ health of an organization. For the balance sheet, the base could be total assets or total liabilities and equity. By converting absolute numbers into percentages, vertical analysis helps highlight the relative proportions of each item. Vertical analysis, a method used in proportional accounting assessments, involves evaluating financial statements by expressing each line item as a percentage of a base figure. When applied to the cash flow statement, this technique allows for a clearer understanding of how each component contributes to the overall cash flow. This approach helps in identifying trends and comparing financial performance across different periods or companies.

vertical analysis balance sheet

How to Identify Duplicate Rows in Excel Using AI

The opposite of the vertical analysis of financial statements is the Horizontal analysis always looks at the amount from the financial statement over the horizon of many years. The significance of vertical analysis accounting is well-established in businesses vertical analysis irrespective of their size or stature. A user can analyze it by comparing items of similar liquidity, for example, comparing the current assets with the firm’s current liabilities and fixed assets with the long-term debt of the company. Moreover, the analyst can gauge the current year’s change in assets, liabilities, and equity position when compared to that of the last year to interpret the company’s financial health. According to a recent report by the Corporate Finance Institute, AI-driven tools have significantly improved the efficiency and accuracy of vertical analysis.

vertical analysis balance sheet

This gives ACME’s finance team a clear picture of how much revenue goes to production and overhead, helping them quickly spot areas for improvement. In a case study, a company’s cash flow statement items are converted into percentages of total cash inflows or outflows. For example, if total cash inflows are $1,500,000 and cash outflows for investing activities are $300,000, the investing activities would be 20% of total cash inflows. A Common-Size Cash Flow Statement is a financial statement where each line item is expressed as a percentage of total cash inflows or outflows.

]]>
http://paok.kr/bookkeeping-2/how-to-do-vertical-analysis-of-balance-sheet-in-2/feed/ 0
Navigating Excise Tax Essentials in the US http://paok.kr/bookkeeping-2/navigating-excise-tax-essentials-in-the-us/ http://paok.kr/bookkeeping-2/navigating-excise-tax-essentials-in-the-us/#respond Mon, 29 Jul 2024 18:22:03 +0000 http://paok.kr/?p=2207 This form is used to make adjustments to Forms 720 filed in prior quarters. You can file Form 720-X what are the major federal excise taxes by itself or, if it shows a decrease in tax, you can attach it to Form 720. However, if the fee is paid using EFTPS, the payment should be applied to the second quarter. See Electronic deposit requirement under How To Make Deposits in chapter 14, later. You may be able to use Form 8833, Treaty-Based Return Position Disclosure Under Section 6114 or 7701(b), as a disclosure statement.

Businesses are required to file Form 720 Federal Excise Tax Return quarterly, contributing to their administrative costs3. Specifically, the compliance costs can be substantial, especially for those in industries like fuel where the excise tax impact on businesses significantly affects operational decisions. In 2004, the U.S. federal government collected $72 billion in excise taxes, which represented four percent of its total tax revenues21.

Allocation to Public Services

The gasoline used in the personal lawn mower at home doesn’t qualify. If the first taxpayer’s report relates to fuel sold to more than one buyer, copies of that report must be made when the fuel is divided. Kerosene for use partly in commercial aviation and partly in nonexempt, noncommercial aviation.

  • As fuel prices rise, there is a slight decrease in gallons of fuel bought as vehicles are made more efficient and/or travel shorter distances, all of which reduce Highway Trust Fund collections.
  • If the manufacturer sells a taxable article to any person, the manufacturer is liable for the tax.
  • A company that operates its buses along subsidized and unsubsidized intracity routes may consider its buses qualified local buses only when the buses are used on the subsidized intracity routes.
  • Secretary of the Treasury, Alexander Hamilton, in 1789, to tax foreign imports.
  • Additionally, excise taxes can promote responsible consumption by ensuring that costs reflect the externalities generated by such consumption2223.

Indoor Tanning Services Tax

The IRS’s commitment to LEP taxpayers is part of a multi-year timeline that began providing translations in 2023. You will continue to receive communications, including notices and letters, in English until they are translated to your preferred language. Payments of U.S. tax must be remitted to the IRS in U.S. dollars. Go to IRS.gov/Payments for information on how to make a payment using any of the following options. Go to IRS.gov/Account to securely access information about your federal tax account. Deposits for a semimonthly period must generally be at least 95% of the net tax liability for that period unless the safe harbor rule applies.

what are the major federal excise taxes

Refer to Business structures to find out which returns you must file based on the business entity established. The Highway Trust Fund may well require tax rate adjustments to stay solvent and make up for increasing fuel economy standards dictated by the Environmental Protection Agency or the increased use of untaxed plug-in electric vehicles. As fuel prices rise, there is a slight decrease in gallons of fuel bought as vehicles are made more efficient and/or travel shorter distances, all of which reduce Highway Trust Fund collections.

Impact on Businesses and Consumers

If you meet both requirements above, see Gas guzzler tax (IRS No. 40) in the Instructions for Form 720 for how to file and pay the tax. These records must clearly establish the type of policy or instrument, the gross premium paid, the identity of the insured and insurer, and the total premium charged. If the premium is to be paid in installments, the records must also establish the amount and anniversary date of each installment. Tax is imposed on insurance policies issued by foreign insurers. Any person who makes, signs, issues, or sells any of the documents and instruments subject to the tax, or for whose use or benefit they’re made, signed, issued, or sold, is liable for the tax. The first situation involves voyages on commercial passenger vessels extending over one or more nights.

Fuel and Gasoline

So, the operator of a U.S. refinery that receives imported crude oil must establish that they’re not liable for the tax by establishing that the petroleum tax has already been imposed on the imported crude oil. Don’t claim a credit for any amount for which you have filed a refund or credit claim on Form 8849; 8864; or credit on Form 720, Schedule C. A nonprofit educational organization also includes a school operated by a church or other organization described in section 501(c)(3) if the school meets the above requirements. Export means fuel transported from the United States with the intention that the fuel remain in a foreign country or territory of the United States. Fuel isn’t exported if it’s in the fuel supply tank of a vehicle or aircraft.

File

A credit or payment of the tax on kerosene used in aviation may be allowed if the rate of tax on the use is less than the rate of tax that was charged on the kerosene. The credit or payment is allowable to the ultimate purchaser, registered ultimate vendor, or registered credit card issuer, depending on the how the kerosene was acquired and if certain conditions are satisfied. The registered ultimate vendor may make the claim if the ultimate purchaser waives its right to the credit or refund by providing the registered ultimate vendor with a waiver. The registered ultimate vendor may make the claim if the ultimate purchaser didn’t use a credit card and waives its right to the credit or refund by providing the registered ultimate vendor with a certificate. A sample certificate is included as Model Certificate M in the Appendix.

This statistic suggests that while they are significant, there is still room for growth and reform, particularly as governments evaluate their reliance on these taxes amidst changing consumption behaviors. Excise tax reforms are likely geared toward greater efficiency and effectiveness, ensuring these taxes fulfill their intended purpose of altering consumption patterns while generating necessary revenue for public services. For the payment of excise taxes, various methods are available to businesses.

Product Availability

They are typically paid by businesses, such as importers, manufacturers, and retailers, who then pass the costs onto consumers by incorporating them into the final price of the taxed products or services. Excise taxes can be imposed and collected at the point of production or importation or the point of sale and then remitted to the Internal Revenue Service or state or local taxing agency. Then, it remits to the states on a partially matching basis to pay for items like interstate highway construction, airport construction, or bridge repairs. Excise taxes are usually waived or refunded on goods being exported to encourage exports. Smugglers and other tax evaders will often seek to obtain items at a point where they are not taxed or taxed much lower and then later sell or use them at a price lower than the post-tax price in their jurisdiction. In this broad sense, income taxes, value added taxes (VATs), sales taxes, and transfer taxes are examples of other excise taxes but are typically not called excise taxes (in the United States) because of the different ways they are imposed.

  • Tax applies to liquid fuel used in the propulsion system of commercial transportation vessels while traveling on certain inland and intracoastal waterways in the United States.
  • But the tax applies if the coin-operated telephone service is furnished for a guaranteed amount.
  • If you receive any payment on which tax is imposed, you’re required to collect the tax, file returns, and pay the tax over to the government.
  • In the Napoleonic Wars and the War of 1812, the imports and tariff taxes in the United States plummeted, and Congress in 1812 brought back the excise tax on whiskey to partially compensate for the loss of customs/tariff revenue.

The airport terminal doesn’t need to be a SAT for this rate to apply to hydrant removals. This is a storage and distribution facility supplied by pipeline or vessel, and from which taxable fuel may be removed at a rack. It doesn’t include a facility at which gasoline blendstocks are used in the manufacture of products other than finished gasoline if no gasoline is removed from the facility.

]]>
http://paok.kr/bookkeeping-2/navigating-excise-tax-essentials-in-the-us/feed/ 0
YouTube Apps on Google Play http://paok.kr/bookkeeping-2/youtube-apps-on-google-play-2/ http://paok.kr/bookkeeping-2/youtube-apps-on-google-play-2/#respond Thu, 21 Mar 2024 16:13:25 +0000 http://paok.kr/?p=13155 These results are at the end of the chain of reasoning of your DA (starts with your link with internal links spanning over the Brink with Uniqueness and lead to the Impact),3 then continuing along with the example, an impact would be that economic collapse may cause nuclear war. The Impact is the edge of the sword of your DA and is usually a significantly bad event caused by inertia evident through the internal links inside the link off over the brink and uniquely so. Since its founding in 2005, the American video-sharing website YouTube has been faced with a growing number of privacy issues, including allegations that it allows users to upload unauthorized copyrighted material and allows personal information from young children to be collected without their parents’ consent. In June 2007, YouTube began trials of a system for automatic detection of uploaded videos that infringe copyright.

  • Its use in any given debate round is entirely dependent on how well the affirmative argues that the judge should accept the model, a somewhat time-consuming process.
  • In this case, the affirmative could not read an impact takeout; if they did, the negative could kick the disadvantage by arguing that even if the plan strengthens the US military, doing so does not affect the probability of a nuclear war.
  • For example, nuclear war is probably worse than economic collapse, so nuclear war is given the “impact” label, even though economic collapse (the internal link) could itself be viewed as an impact.
  • Non-kritikal linear disadvantages frequently face attacks from the Affirmative on debate theory; the theory that linear disadvantages are abusive (i.e. unfair) to the affirmative team has much popularity.
  • Math is ruthlessly cumulative, the report says, where gaps in early years tend to compound years later, particularly for students from disadvantaged backgrounds.

networks and bundles.

A brink disadvantage is a special type of linear disadvantage which claims that the affirmative will aggravate the problem in the status quo to the extent that it passes a brink, at which time the impact happens all at once. The negative team claims that in the status quo, we are near the brink, but the affirmative team’s plan will push us “over the edge.” The internal link connects the link to the impact, or, it shows the steps the link causes to get to the impact. Not all DA’s use an internal link but some have multiple internals.1 The internal link in our example would be that government spending leads to economic collapse.

For example, the negative team argues that the affirmative plan will result in nuclear proliferation, it would also argue that the status quo will avoid nuclear proliferation. If the Affirmative claims that nuclear proliferation is already occurring, the negative team could argue that adoption of the plan would result in a unique increase in nuclear proliferation. If the plan causes no net change in the rate of nuclear proliferation, the disadvantage is not unique to the plan, and therefore not relevant. In some sections of the country, politics disadvantages are frowned upon because they link to virtually every affirmative plan, destroying the on case debate and focusing solely on the disadvantage.

Pictures real women in our lives, no professional porn.

When a video is uploaded, it is checked against the database, and flags the video as a copyright violation if a match is found.147 When this occurs, the content owner has the choice of blocking the video to make it unviewable, tracking the viewing statistics of the video, or adding advertisements to the video. In this case, the negative team could concede both arguments, arguing that since the plan prevents a desirable event from occurring, it should not be passed. Other debate theorists have often reshaped models of fiat that preclude the politics disadvantage. Its use in any given debate round is entirely dependent on how well the affirmative argues that the judge should accept the model, a somewhat time-consuming process.

  • For example, the negative team argues that the affirmative plan will result in nuclear proliferation, it would also argue that the status quo will avoid nuclear proliferation.
  • In January he said English teams are at a disadvantage in Europe because of Premier League scheduling as they always put “the toughest schedules for the European teams in the important stages”.
  • This is often referred to as a severance perm, because by making this claim the affirmative does all parts of the plan except the part that links to the disadvantage, thus severing out of part of their own plan.
  • Internal links are often undesirable things by themselves, and could be considered impacts.

Supporters say the politics disadvantages are “real world” and provide education on how bills are passed and politics in general. Non-kritikal linear disadvantages frequently face attacks from the Affirmative on debate theory; the theory that linear disadvantages are abusive (i.e. unfair) to the affirmative team has much popularity. The negative concedes that the status quo has a problem but insists the plan increases that problem’s severity. A commonly accepted theory holds that a sufficiently philosophical linear disadvantage with an alternative becomes a kritik.

Since its purchase by Google, YouTube has expanded beyond the core website into mobile apps, network television, and the ability to link with other platforms. Video categories on YouTube include music videos, video clips, news, short and feature films, songs, documentaries, movie trailers, teasers, TV spots, live streams, vlogs, and more. Most content is generated by individuals, including collaborations between YouTubers and corporate sponsors. Established media, news, and entertainment corporations have also created and expanded their visibility to YouTube channels to reach bigger audiences.

Or tv.youtube.com

The affirmative could then argue that a strong US military in the status quo will result in nuclear war and thus that the plan should be passed to prevent the war from occurring. Notably, the affirmative cannot make any further takeouts without compromising the straight impact turn; otherwise, the negative would be able to kick the disadvantage by conceding that the US military is weak already (uniqueness) or that the plan does not weaken the US military (link). YouTube has had unprecedented social impact, influencing popular culture, internet trends, and creating multimillionaire celebrities.

Word of the Day

Vote No argues that the debate should be a simulation of the debate before Congress and thus the president has already exerted political capital, meaning there is no disadvantage. Argument from Intrinsicness is there is no reason that Congress can’t pass both the plan and the bill, meaning they are not competitive. The Political DA, as misunderstood as politicians’ political capital, has no warrant in traditional Fiat theory. This would make the disadvantage a reason why the plan is desirable, as it would strengthen the US military and prevent a nuclear war. In this case, the affirmative could not read an impact takeout; if they did, the negative could kick the disadvantage by arguing that even if the plan strengthens the US military, doing so does not affect the probability of a nuclear war. Using the example above, a no-internal-link could either be that failure to pass the deal will not reduce American influence on the Indian subcontinent, or that reduction of American influence on the Indian subcontinent will not lead to nuclear war between India and Pakistan.

Social impact

In this case, the argument that the plan increases US military power would be a link turn. Math is ruthlessly cumulative, the report says, where gaps in early years tend to compound years later, particularly for students from disadvantaged backgrounds.

There is also much controversy over kritiks being linear disadvantages, due to the fact that most kritik argue the affirmative plan over a discursive level, while a disadvantage argues the affirmative’s actions. The developer, Google, indicated that the app’s privacy practices may include handling of data as described below. A disadvantage can also be answered by no longer doing a part of the plan that causes the aff to link into the disadvantage. This is often referred to as a severance perm, because by making this claim the affirmative does all parts of the plan except the part that links to the disadvantage, thus severing out of part of their own plan. This argument is also rarely made, due to the theory arguments it brings up on the affirmative changing its plan in the round in order to avoid the disadvantage. This policy particularly disadvantages smaller startups and research institutions that cannot afford such enormous fees, while potentially creating opportunities for corruption through selective fee exemptions.

Transform your creative journey with the latest YouTube Studio updates

Despite its growth and success, the platform has been criticized for its facilitation of the spread of misinformation and copyrighted content, routinely violating its users’ privacy, excessive censorship, endangering the safety of children and their well-being, and for its inconsistent implementation of platform guidelines. Internal links are often undesirable things by themselves, and could be considered impacts. The worst of the consequences, or the final one in the chain of events, is usually given the label of “impact”. For example, nuclear war is probably worse than economic collapse, so nuclear war is given the “impact” label, even though economic collapse (the internal link) could itself be viewed as an impact.

Your information will be used in accordance with Google’s privacy policy. Other terminal impacts might include severe human rights abuses, such as near disadvantages of llc universal slavery or loss of individuality. These types of impacts are usually argued under a deontological framework or as a turn to a human rights advantage. In January he said English teams are at a disadvantage in Europe because of Premier League scheduling as they always put “the toughest schedules for the European teams in the important stages”. The defence, he added, was disadvantaged by being “devoid of the opportunity to test and challenge” the statements.

]]>
http://paok.kr/bookkeeping-2/youtube-apps-on-google-play-2/feed/ 0