{"version":3,"sources":["webpack:///./.cache/caches/gatsby-plugin-offline/app-shell.js"],"names":["_interopRequireDefault","require","exports","__esModule","default","_inheritsLoose2","_react","_default","_React$Component","AppShell","apply","this","arguments","prototype","render","createElement","Fragment","Component"],"mappings":"2FAEA,IAAIA,EAAyBC,EAAQ,QAErCC,EAAQC,YAAa,EACrBD,EAAQE,aAAU,EAElB,IAAIC,EAAkBL,EAAuBC,EAAQ,SAEjDK,EAASN,EAAuBC,EAAQ,SAkBxCM,EAhBwB,SAAUC,GAGpC,SAASC,IACP,OAAOD,EAAiBE,MAAMC,KAAMC,YAAcD,KASpD,OAZA,EAAIN,EAAgBD,SAASK,EAAUD,GAM1BC,EAASI,UAEfC,OAAS,WACd,OAAoBR,EAAOF,QAAQW,cAAcT,EAAOF,QAAQY,SAAU,OAGrEP,EAbmB,CAc1BH,EAAOF,QAAQa,WAGjBf,EAAQE,QAAUG","file":"component---cache-caches-gatsby-plugin-offline-app-shell-js-241020a1cf7d0f317bbe.js","sourcesContent":["\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nexports.__esModule = true;\nexports.default = void 0;\n\nvar _inheritsLoose2 = _interopRequireDefault(require(\"@babel/runtime/helpers/inheritsLoose\"));\n\nvar _react = _interopRequireDefault(require(\"react\"));\n\nvar AppShell = /*#__PURE__*/function (_React$Component) {\n  (0, _inheritsLoose2.default)(AppShell, _React$Component);\n\n  function AppShell() {\n    return _React$Component.apply(this, arguments) || this;\n  }\n\n  var _proto = AppShell.prototype;\n\n  _proto.render = function render() {\n    return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null);\n  };\n\n  return AppShell;\n}(_react.default.Component);\n\nvar _default = AppShell;\nexports.default = _default;"],"sourceRoot":""}