text: (window["webpackJsonp_N_E"] = window["webpackJsonp_N_E"] || []).push([[3],{
  
  /***/ "./components/ConfirmButton.js":
  /*!*************************************!*\
    !*** ./components/ConfirmButton.js ***!
    \*************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, \"default\", function() { return ConfirmButton; });\n/* harmony import */ var _Users_limengyu_Desktop_private_code_project_show_codes_node_modules_next_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! ./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty */ \"./node_modules/next/node_modules/@babel/runtime/helpers/esm/defineProperty.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__);\n/* harmony import */ var _Users_limengyu_Desktop_private_code_project_show_codes_node_modules_next_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./node_modules/next/node_modules/@babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/next/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_3___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_3__);\n/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Button */ \"./components/Button.js\");\n\n\n\n\nvar _jsxFileName = \"/Users/limengyu/Desktop/private/code/project/show-codes/components/ConfirmButton.js\",\n    _s = $RefreshSig$();\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { Object(_Users_limengyu_Desktop_private_code_project_show_codes_node_modules_next_node_modules_babel_runtime_helpers_esm_defineProperty__WEBPACK_IMPORTED_MODULE_0__[\"default\"])(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\n\n\nfunction ConfirmButton(props) {\n  _s();\n\n  var _React$useState = react__WEBPACK_IMPORTED_MODULE_3___default.a.useState(false),\n      _React$useState2 = Object(_Users_limengyu_Desktop_private_code_project_show_codes_node_modules_next_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_2__[\"default\"])(_React$useState, 2),\n      confirmed = _React$useState2[0],\n      setConfirmed = _React$useState2[1];\n\n  return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_1__[\"jsxDEV\"])(_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], _objectSpread(_objectSpread({}, props), {}, {\n    onClick: function onClick(e) {\n      if (confirmed) {\n        props.onClick(e);\n        setConfirmed(false);\n      } else {\n        setConfirmed(true);\n      }\n    },\n    onBlur: function onBlur() {\n      return setConfirmed(false);\n    },\n    children: confirmed ? 'Are you sure?' : props.children\n  }), void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 7,\n    columnNumber: 5\n  }, this);\n}\n\n_s(ConfirmButton, \"YaqCoqKa3+iv4gYEiLVoaE8h0bM=\");\n\n_c = ConfirmButton;\n\nvar _c;\n\n$RefreshReg$(_c, \"ConfirmButton\");\n\n;\n    var _a, _b;\n    // Legacy CSS implementations will `eval` browser code in a Node.js context\n    // to extract CSS. For backwards compatibility, we need to check we're in a\n    // browser context before continuing.\n    if (typeof self !== 'undefined' &&\n        // AMP / No-JS mode does not inject these helpers:\n        '$RefreshHelpers$' in self) {\n        var currentExports = module.__proto__.exports;\n        var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n        // This cannot happen in MainTemplate because the exports mismatch between\n        // templating and execution.\n        self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.i);\n        // A module can be accepted automatically based on its exports, e.g. when\n        // it is a Refresh Boundary.\n        if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n            // Save the previous exports on update so we can compare the boundary\n            // signatures.\n            module.hot.dispose(function (data) {\n                data.prevExports = currentExports;\n            });\n            // Unconditionally accept an update to this module, we'll check if it's\n            // still a Refresh Boundary later.\n            module.hot.accept();\n            // This field is set when the previous version of this module was a\n            // Refresh Boundary, letting us know we need to check for invalidation or\n            // enqueue an update.\n            if (prevExports !== null) {\n                // A boundary can become ineligible if its exports are incompatible\n                // with the previous exports.\n                //\n                // For example, if you add/remove/change exports, we'll want to\n                // re-execute the importing modules, and force those components to\n                // re-render. Similarly, if you convert a class component to a\n                // function, we want to invalidate the boundary.\n                if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n                    module.hot.invalidate();\n                }\n                else {\n                    self.$RefreshHelpers$.scheduleUpdate();\n                }\n            }\n        }\n        else {\n            // Since we just executed the code for the module, it's possible that the\n            // new exports made it ineligible for being a boundary.\n            // We only care about the case when we were _previously_ a boundary,\n            // because we already accepted this update (accidental side effect).\n            var isNoLongerABoundary = prevExports !== null;\n            if (isNoLongerABoundary) {\n                module.hot.invalidate();\n            }\n        }\n    }\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/next/dist/compiled/webpack/harmony-module.js */ \"./node_modules/next/dist/compiled/webpack/harmony-module.js\")(module)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tcG9uZW50cy9Db25maXJtQnV0dG9uLmpzPzhkMjAiXSwibmFtZXMiOlsiQ29uZmlybUJ1dHRvbiIsInByb3BzIiwiUmVhY3QiLCJ1c2VTdGF0ZSIsImNvbmZpcm1lZCIsInNldENvbmZpcm1lZCIsImUiLCJvbkNsaWNrIiwiY2hpbGRyZW4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBQUE7QUFDQTtBQUVlLFNBQVNBLGFBQVQsQ0FBdUJDLEtBQXZCLEVBQThCO0FBQUE7O0FBQUEsd0JBQ1RDLDRDQUFLLENBQUNDLFFBQU4sQ0FBZSxLQUFmLENBRFM7QUFBQTtBQUFBLE1BQ3BDQyxTQURvQztBQUFBLE1BQ3pCQyxZQUR5Qjs7QUFFM0Msc0JBQ0UscUVBQUMsK0NBQUQsa0NBQ01KLEtBRE47QUFFRSxXQUFPLEVBQUUsaUJBQUFLLENBQUMsRUFBSTtBQUNaLFVBQUlGLFNBQUosRUFBZTtBQUNiSCxhQUFLLENBQUNNLE9BQU4sQ0FBY0QsQ0FBZDtBQUNBRCxvQkFBWSxDQUFDLEtBQUQsQ0FBWjtBQUNELE9BSEQsTUFHTztBQUNMQSxvQkFBWSxDQUFDLElBQUQsQ0FBWjtBQUNEO0FBQ0YsS0FUSDtBQVVFLFVBQU0sRUFBRTtBQUFBLGFBQU1BLFlBQVksQ0FBQyxLQUFELENBQWxCO0FBQUEsS0FWVjtBQUFBLGNBWUdELFNBQVMsR0FBRyxlQUFILEdBQXFCSCxLQUFLLENBQUNPO0FBWnZDO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFERjtBQWdCRDs7R0FsQnVCUixhOztLQUFBQSxhIiwiZmlsZSI6Ii4vY29tcG9uZW50cy9Db25maXJtQnV0dG9uLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IEJ1dHRvbiBmcm9tICcuL0J1dHRvbidcblxuZXhwb3J0IGRlZmF1bHQgZnVuY3Rpb24gQ29uZmlybUJ1dHRvbihwcm9wcykge1xuICBjb25zdCBbY29uZmlybWVkLCBzZXRDb25maXJtZWRdID0gUmVhY3QudXNlU3RhdGUoZmFsc2UpXG4gIHJldHVybiAoXG4gICAgPEJ1dHRvblxuICAgICAgey4uLnByb3BzfVxuICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgIGlmIChjb25maXJtZWQpIHtcbiAgICAgICAgICBwcm9wcy5vbkNsaWNrKGUpXG4gICAgICAgICAgc2V0Q29uZmlybWVkKGZhbHNlKVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHNldENvbmZpcm1lZCh0cnVlKVxuICAgICAgICB9XG4gICAgICB9fVxuICAgICAgb25CbHVyPXsoKSA9PiBzZXRDb25maXJtZWQoZmFsc2UpfVxuICAgID5cbiAgICAgIHtjb25maXJtZWQgPyAnQXJlIHlvdSBzdXJlPycgOiBwcm9wcy5jaGlsZHJlbn1cbiAgICA8L0J1dHRvbj5cbiAgKVxufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///./components/ConfirmButton.js\n");
  
  /***/ }),
  
  /***/ "./components/SnippetToolbar.js":
  /*!**************************************!*\
    !*** ./components/SnippetToolbar.js ***!
    \**************************************/
  /*! exports provided: default */
  /***/ (function(module, __webpack_exports__, __webpack_require__) {
  
  "use strict";
  eval("__webpack_require__.r(__webpack_exports__);\n/* WEBPACK VAR INJECTION */(function(module) {/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react/jsx-dev-runtime */ \"./node_modules/react/jsx-dev-runtime.js\");\n/* harmony import */ var react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__);\n/* harmony import */ var _Users_limengyu_Desktop_private_code_project_show_codes_node_modules_next_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ./node_modules/next/node_modules/@babel/runtime/helpers/esm/slicedToArray */ \"./node_modules/next/node_modules/@babel/runtime/helpers/esm/slicedToArray.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! react */ \"./node_modules/react/index.js\");\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_2__);\n/* harmony import */ var actionsack__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! actionsack */ \"./node_modules/actionsack/dist/index.esm.js\");\n/* harmony import */ var _Button__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./Button */ \"./components/Button.js\");\n/* harmony import */ var _Toolbar__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! ./Toolbar */ \"./components/Toolbar.js\");\n/* harmony import */ var _Input__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./Input */ \"./components/Input.js\");\n/* harmony import */ var _ConfirmButton__WEBPACK_IMPORTED_MODULE_7__ = __webpack_require__(/*! ./ConfirmButton */ \"./components/ConfirmButton.js\");\n/* harmony import */ var _AuthContext__WEBPACK_IMPORTED_MODULE_8__ = __webpack_require__(/*! ./AuthContext */ \"./components/AuthContext.js\");\n/* harmony import */ var _lib_constants__WEBPACK_IMPORTED_MODULE_9__ = __webpack_require__(/*! ../lib/constants */ \"./lib/constants.js\");\n\n\n\nvar _jsxFileName = \"/Users/limengyu/Desktop/private/code/project/show-codes/components/SnippetToolbar.js\",\n    _s = $RefreshSig$(),\n    _s2 = $RefreshSig$(),\n    _s3 = $RefreshSig$();\n\n\n\n\n\n\n\n\n\n\nfunction DeleteButton(props) {\n  _s();\n\n  var _useAsyncCallback = Object(actionsack__WEBPACK_IMPORTED_MODULE_3__[\"useAsyncCallback\"])(props.onClick),\n      _useAsyncCallback2 = Object(_Users_limengyu_Desktop_private_code_project_show_codes_node_modules_next_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useAsyncCallback, 2),\n      onClick = _useAsyncCallback2[0],\n      loading = _useAsyncCallback2[1].loading;\n\n  return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__[\"jsxDEV\"])(_ConfirmButton__WEBPACK_IMPORTED_MODULE_7__[\"default\"], {\n    display: \"block\",\n    padding: \"0 16px\",\n    flex: \"unset\",\n    center: true,\n    border: true,\n    large: true,\n    color: \"#fff\",\n    onClick: onClick,\n    style: {\n      color: _lib_constants__WEBPACK_IMPORTED_MODULE_9__[\"COLORS\"].RED\n    },\n    children: loading ? 'Deleting…' : 'Delete'\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 16,\n    columnNumber: 5\n  }, this);\n}\n\n_s(DeleteButton, \"2dCe6QbU6nhMBbbMH/iv4qBOTXI=\", false, function () {\n  return [actionsack__WEBPACK_IMPORTED_MODULE_3__[\"useAsyncCallback\"]];\n});\n\n_c = DeleteButton;\n\nfunction DuplicateButton(props) {\n  _s2();\n\n  var _useAsyncCallback3 = Object(actionsack__WEBPACK_IMPORTED_MODULE_3__[\"useAsyncCallback\"])(props.onClick),\n      _useAsyncCallback4 = Object(_Users_limengyu_Desktop_private_code_project_show_codes_node_modules_next_node_modules_babel_runtime_helpers_esm_slicedToArray__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(_useAsyncCallback3, 2),\n      onClick = _useAsyncCallback4[0],\n      loading = _useAsyncCallback4[1].loading;\n\n  return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__[\"jsxDEV\"])(_Button__WEBPACK_IMPORTED_MODULE_4__[\"default\"], {\n    display: \"block\",\n    padding: \"0 16px\",\n    margin: \"0 0 0 1rem\",\n    flex: \"unset\",\n    center: true,\n    border: true,\n    large: true,\n    color: \"#37b589\",\n    onClick: onClick,\n    children: loading ? 'Duplicating…' : 'Duplicate'\n  }, void 0, false, {\n    fileName: _jsxFileName,\n    lineNumber: 36,\n    columnNumber: 5\n  }, this);\n}\n\n_s2(DuplicateButton, \"2dCe6QbU6nhMBbbMH/iv4qBOTXI=\", false, function () {\n  return [actionsack__WEBPACK_IMPORTED_MODULE_3__[\"useAsyncCallback\"]];\n});\n\n_c2 = DuplicateButton;\n\nfunction SnippetToolbar(props) {\n  _s3();\n\n  var user = Object(_AuthContext__WEBPACK_IMPORTED_MODULE_8__[\"useAuth\"])();\n  var online = Object(actionsack__WEBPACK_IMPORTED_MODULE_3__[\"useOnline\"])();\n  if (!online) return null;\n  if (!user) return null;\n  if (!props.snippet) return null;\n  var sameUser = user.uid === props.snippet.userId;\n  return /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__[\"jsxDEV\"])(_Toolbar__WEBPACK_IMPORTED_MODULE_5__[\"default\"], {\n    style: {\n      marginTop: 16,\n      marginBottom: 0,\n      flexDirection: 'row-reverse',\n      alignItems: 'center',\n      // justifyContent: 'space-between',\n      zIndex: 1\n    },\n    children: [/*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__[\"jsxDEV\"])(DuplicateButton, {\n      onClick: props.onCreate\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 73,\n      columnNumber: 7\n    }, this), sameUser && /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__[\"jsxDEV\"])(DeleteButton, {\n      onClick: props.onDelete\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 74,\n      columnNumber: 20\n    }, this), /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__[\"jsxDEV\"])(\"div\", {\n      style: {\n        marginRight: 'auto'\n      },\n      children: /*#__PURE__*/Object(react_jsx_dev_runtime__WEBPACK_IMPORTED_MODULE_0__[\"jsxDEV\"])(_Input__WEBPACK_IMPORTED_MODULE_6__[\"default\"], {\n        align: \"left\",\n        placeholder: \"Add a name\\u2026\",\n        fontSize: \"14px\",\n        value: props.name,\n        onChange: function onChange(e) {\n          return props.onChange('name', e.target.value);\n        }\n      }, void 0, false, {\n        fileName: _jsxFileName,\n        lineNumber: 76,\n        columnNumber: 9\n      }, this)\n    }, void 0, false, {\n      fileName: _jsxFileName,\n      lineNumber: 75,\n      columnNumber: 7\n    }, this)]\n  }, void 0, true, {\n    fileName: _jsxFileName,\n    lineNumber: 63,\n    columnNumber: 5\n  }, this);\n}\n\n_s3(SnippetToolbar, \"tBzt50trgNqMPiAiewJ/8OTZW7g=\", false, function () {\n  return [_AuthContext__WEBPACK_IMPORTED_MODULE_8__[\"useAuth\"], actionsack__WEBPACK_IMPORTED_MODULE_3__[\"useOnline\"]];\n});\n\n_c3 = SnippetToolbar;\n/* harmony default export */ __webpack_exports__[\"default\"] = (SnippetToolbar);\n\nvar _c, _c2, _c3;\n\n$RefreshReg$(_c, \"DeleteButton\");\n$RefreshReg$(_c2, \"DuplicateButton\");\n$RefreshReg$(_c3, \"SnippetToolbar\");\n\n;\n    var _a, _b;\n    // Legacy CSS implementations will `eval` browser code in a Node.js context\n    // to extract CSS. For backwards compatibility, we need to check we're in a\n    // browser context before continuing.\n    if (typeof self !== 'undefined' &&\n        // AMP / No-JS mode does not inject these helpers:\n        '$RefreshHelpers$' in self) {\n        var currentExports = module.__proto__.exports;\n        var prevExports = (_b = (_a = module.hot.data) === null || _a === void 0 ? void 0 : _a.prevExports) !== null && _b !== void 0 ? _b : null;\n        // This cannot happen in MainTemplate because the exports mismatch between\n        // templating and execution.\n        self.$RefreshHelpers$.registerExportsForReactRefresh(currentExports, module.i);\n        // A module can be accepted automatically based on its exports, e.g. when\n        // it is a Refresh Boundary.\n        if (self.$RefreshHelpers$.isReactRefreshBoundary(currentExports)) {\n            // Save the previous exports on update so we can compare the boundary\n            // signatures.\n            module.hot.dispose(function (data) {\n                data.prevExports = currentExports;\n            });\n            // Unconditionally accept an update to this module, we'll check if it's\n            // still a Refresh Boundary later.\n            module.hot.accept();\n            // This field is set when the previous version of this module was a\n            // Refresh Boundary, letting us know we need to check for invalidation or\n            // enqueue an update.\n            if (prevExports !== null) {\n                // A boundary can become ineligible if its exports are incompatible\n                // with the previous exports.\n                //\n                // For example, if you add/remove/change exports, we'll want to\n                // re-execute the importing modules, and force those components to\n                // re-render. Similarly, if you convert a class component to a\n                // function, we want to invalidate the boundary.\n                if (self.$RefreshHelpers$.shouldInvalidateReactRefreshBoundary(prevExports, currentExports)) {\n                    module.hot.invalidate();\n                }\n                else {\n                    self.$RefreshHelpers$.scheduleUpdate();\n                }\n            }\n        }\n        else {\n            // Since we just executed the code for the module, it's possible that the\n            // new exports made it ineligible for being a boundary.\n            // We only care about the case when we were _previously_ a boundary,\n            // because we already accepted this update (accidental side effect).\n            var isNoLongerABoundary = prevExports !== null;\n            if (isNoLongerABoundary) {\n                module.hot.invalidate();\n            }\n        }\n    }\n\n/* WEBPACK VAR INJECTION */}.call(this, __webpack_require__(/*! ./../node_modules/next/dist/compiled/webpack/harmony-module.js */ \"./node_modules/next/dist/compiled/webpack/harmony-module.js\")(module)))//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9fTl9FLy4vY29tcG9uZW50cy9TbmlwcGV0VG9vbGJhci5qcz9hOTBmIl0sIm5hbWVzIjpbIkRlbGV0ZUJ1dHRvbiIsInByb3BzIiwidXNlQXN5bmNDYWxsYmFjayIsIm9uQ2xpY2siLCJsb2FkaW5nIiwiY29sb3IiLCJDT0xPUlMiLCJSRUQiLCJEdXBsaWNhdGVCdXR0b24iLCJTbmlwcGV0VG9vbGJhciIsInVzZXIiLCJ1c2VBdXRoIiwib25saW5lIiwidXNlT25saW5lIiwic25pcHBldCIsInNhbWVVc2VyIiwidWlkIiwidXNlcklkIiwibWFyZ2luVG9wIiwibWFyZ2luQm90dG9tIiwiZmxleERpcmVjdGlvbiIsImFsaWduSXRlbXMiLCJ6SW5kZXgiLCJvbkNyZWF0ZSIsIm9uRGVsZXRlIiwibWFyZ2luUmlnaHQiLCJuYW1lIiwiZSIsIm9uQ2hhbmdlIiwidGFyZ2V0IiwidmFsdWUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQ0E7QUFFQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBRUE7O0FBRUEsU0FBU0EsWUFBVCxDQUFzQkMsS0FBdEIsRUFBNkI7QUFBQTs7QUFBQSwwQkFDSUMsbUVBQWdCLENBQUNELEtBQUssQ0FBQ0UsT0FBUCxDQURwQjtBQUFBO0FBQUEsTUFDcEJBLE9BRG9CO0FBQUEsTUFDVEMsT0FEUyx5QkFDVEEsT0FEUzs7QUFHM0Isc0JBQ0UscUVBQUMsc0RBQUQ7QUFDRSxXQUFPLEVBQUMsT0FEVjtBQUVFLFdBQU8sRUFBQyxRQUZWO0FBR0UsUUFBSSxFQUFDLE9BSFA7QUFJRSxVQUFNLE1BSlI7QUFLRSxVQUFNLE1BTFI7QUFNRSxTQUFLLE1BTlA7QUFPRSxTQUFLLEVBQUMsTUFQUjtBQVFFLFdBQU8sRUFBRUQsT0FSWDtBQVNFLFNBQUssRUFBRTtBQUFFRSxXQUFLLEVBQUVDLHFEQUFNLENBQUNDO0FBQWhCLEtBVFQ7QUFBQSxjQVdHSCxPQUFPLEdBQUcsV0FBSCxHQUFpQjtBQVgzQjtBQUFBO0FBQUE7QUFBQTtBQUFBLFVBREY7QUFlRDs7R0FsQlFKLFk7VUFDd0JFLDJEOzs7S0FEeEJGLFk7O0FBb0JULFNBQVNRLGVBQVQsQ0FBeUJQLEtBQXpCLEVBQWdDO0FBQUE7O0FBQUEsMkJBQ0NDLG1FQUFnQixDQUFDRCxLQUFLLENBQUNFLE9BQVAsQ0FEakI7QUFBQTtBQUFBLE1BQ3ZCQSxPQUR1QjtBQUFBLE1BQ1pDLE9BRFkseUJBQ1pBLE9BRFk7O0FBRzlCLHNCQUNFLHFFQUFDLCtDQUFEO0FBQ0UsV0FBTyxFQUFDLE9BRFY7QUFFRSxXQUFPLEVBQUMsUUFGVjtBQUdFLFVBQU0sRUFBQyxZQUhUO0FBSUUsUUFBSSxFQUFDLE9BSlA7QUFLRSxVQUFNLE1BTFI7QUFNRSxVQUFNLE1BTlI7QUFPRSxTQUFLLE1BUFA7QUFRRSxTQUFLLEVBQUMsU0FSUjtBQVNFLFdBQU8sRUFBRUQsT0FUWDtBQUFBLGNBV0dDLE9BQU8sR0FBRyxjQUFILEdBQW9CO0FBWDlCO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFERjtBQWVEOztJQWxCUUksZTtVQUN3Qk4sMkQ7OztNQUR4Qk0sZTs7QUFvQlQsU0FBU0MsY0FBVCxDQUF3QlIsS0FBeEIsRUFBK0I7QUFBQTs7QUFDN0IsTUFBTVMsSUFBSSxHQUFHQyw0REFBTyxFQUFwQjtBQUNBLE1BQU1DLE1BQU0sR0FBR0MsNERBQVMsRUFBeEI7QUFFQSxNQUFJLENBQUNELE1BQUwsRUFBYSxPQUFPLElBQVA7QUFDYixNQUFJLENBQUNGLElBQUwsRUFBVyxPQUFPLElBQVA7QUFDWCxNQUFJLENBQUNULEtBQUssQ0FBQ2EsT0FBWCxFQUFvQixPQUFPLElBQVA7QUFFcEIsTUFBTUMsUUFBUSxHQUFHTCxJQUFJLENBQUNNLEdBQUwsS0FBYWYsS0FBSyxDQUFDYSxPQUFOLENBQWNHLE1BQTVDO0FBRUEsc0JBQ0UscUVBQUMsZ0RBQUQ7QUFDRSxTQUFLLEVBQUU7QUFDTEMsZUFBUyxFQUFFLEVBRE47QUFFTEMsa0JBQVksRUFBRSxDQUZUO0FBR0xDLG1CQUFhLEVBQUUsYUFIVjtBQUlMQyxnQkFBVSxFQUFFLFFBSlA7QUFLTDtBQUNBQyxZQUFNLEVBQUU7QUFOSCxLQURUO0FBQUEsNEJBVUUscUVBQUMsZUFBRDtBQUFpQixhQUFPLEVBQUVyQixLQUFLLENBQUNzQjtBQUFoQztBQUFBO0FBQUE7QUFBQTtBQUFBLFlBVkYsRUFXR1IsUUFBUSxpQkFBSSxxRUFBQyxZQUFEO0FBQWMsYUFBTyxFQUFFZCxLQUFLLENBQUN1QjtBQUE3QjtBQUFBO0FBQUE7QUFBQTtBQUFBLFlBWGYsZUFZRTtBQUFLLFdBQUssRUFBRTtBQUFFQyxtQkFBVyxFQUFFO0FBQWYsT0FBWjtBQUFBLDZCQUNFLHFFQUFDLDhDQUFEO0FBQ0UsYUFBSyxFQUFDLE1BRFI7QUFFRSxtQkFBVyxFQUFDLGtCQUZkO0FBR0UsZ0JBQVEsRUFBQyxNQUhYO0FBSUUsYUFBSyxFQUFFeEIsS0FBSyxDQUFDeUIsSUFKZjtBQUtFLGdCQUFRLEVBQUUsa0JBQUFDLENBQUM7QUFBQSxpQkFBSTFCLEtBQUssQ0FBQzJCLFFBQU4sQ0FBZSxNQUFmLEVBQXVCRCxDQUFDLENBQUNFLE1BQUYsQ0FBU0MsS0FBaEMsQ0FBSjtBQUFBO0FBTGI7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQURGO0FBQUE7QUFBQTtBQUFBO0FBQUEsWUFaRjtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsVUFERjtBQXdCRDs7SUFsQ1FyQixjO1VBQ01FLG9ELEVBQ0VFLG9EOzs7TUFGUkosYztBQW9DTUEsNkVBQWYiLCJmaWxlIjoiLi9jb21wb25lbnRzL1NuaXBwZXRUb29sYmFyLmpzLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgdXNlQXN5bmNDYWxsYmFjaywgdXNlT25saW5lIH0gZnJvbSAnYWN0aW9uc2FjaydcblxuaW1wb3J0IEJ1dHRvbiBmcm9tICcuL0J1dHRvbidcbmltcG9ydCBUb29sYmFyIGZyb20gJy4vVG9vbGJhcidcbmltcG9ydCBJbnB1dCBmcm9tICcuL0lucHV0J1xuaW1wb3J0IENvbmZpcm1CdXR0b24gZnJvbSAnLi9Db25maXJtQnV0dG9uJ1xuaW1wb3J0IHsgdXNlQXV0aCB9IGZyb20gJy4vQXV0aENvbnRleHQnXG5cbmltcG9ydCB7IENPTE9SUyB9IGZyb20gJy4uL2xpYi9jb25zdGFudHMnXG5cbmZ1bmN0aW9uIERlbGV0ZUJ1dHRvbihwcm9wcykge1xuICBjb25zdCBbb25DbGljaywgeyBsb2FkaW5nIH1dID0gdXNlQXN5bmNDYWxsYmFjayhwcm9wcy5vbkNsaWNrKVxuXG4gIHJldHVybiAoXG4gICAgPENvbmZpcm1CdXR0b25cbiAgICAgIGRpc3BsYXk9XCJibG9ja1wiXG4gICAgICBwYWRkaW5nPVwiMCAxNnB4XCJcbiAgICAgIGZsZXg9XCJ1bnNldFwiXG4gICAgICBjZW50ZXJcbiAgICAgIGJvcmRlclxuICAgICAgbGFyZ2VcbiAgICAgIGNvbG9yPVwiI2ZmZlwiXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgICAgc3R5bGU9e3sgY29sb3I6IENPTE9SUy5SRUQgfX1cbiAgICA+XG4gICAgICB7bG9hZGluZyA/ICdEZWxldGluZ+KApicgOiAnRGVsZXRlJ31cbiAgICA8L0NvbmZpcm1CdXR0b24+XG4gIClcbn1cblxuZnVuY3Rpb24gRHVwbGljYXRlQnV0dG9uKHByb3BzKSB7XG4gIGNvbnN0IFtvbkNsaWNrLCB7IGxvYWRpbmcgfV0gPSB1c2VBc3luY0NhbGxiYWNrKHByb3BzLm9uQ2xpY2spXG5cbiAgcmV0dXJuIChcbiAgICA8QnV0dG9uXG4gICAgICBkaXNwbGF5PVwiYmxvY2tcIlxuICAgICAgcGFkZGluZz1cIjAgMTZweFwiXG4gICAgICBtYXJnaW49XCIwIDAgMCAxcmVtXCJcbiAgICAgIGZsZXg9XCJ1bnNldFwiXG4gICAgICBjZW50ZXJcbiAgICAgIGJvcmRlclxuICAgICAgbGFyZ2VcbiAgICAgIGNvbG9yPVwiIzM3YjU4OVwiXG4gICAgICBvbkNsaWNrPXtvbkNsaWNrfVxuICAgID5cbiAgICAgIHtsb2FkaW5nID8gJ0R1cGxpY2F0aW5n4oCmJyA6ICdEdXBsaWNhdGUnfVxuICAgIDwvQnV0dG9uPlxuICApXG59XG5cbmZ1bmN0aW9uIFNuaXBwZXRUb29sYmFyKHByb3BzKSB7XG4gIGNvbnN0IHVzZXIgPSB1c2VBdXRoKClcbiAgY29uc3Qgb25saW5lID0gdXNlT25saW5lKClcblxuICBpZiAoIW9ubGluZSkgcmV0dXJuIG51bGxcbiAgaWYgKCF1c2VyKSByZXR1cm4gbnVsbFxuICBpZiAoIXByb3BzLnNuaXBwZXQpIHJldHVybiBudWxsXG5cbiAgY29uc3Qgc2FtZVVzZXIgPSB1c2VyLnVpZCA9PT0gcHJvcHMuc25pcHBldC51c2VySWRcblxuICByZXR1cm4gKFxuICAgIDxUb29sYmFyXG4gICAgICBzdHlsZT17e1xuICAgICAgICBtYXJnaW5Ub3A6IDE2LFxuICAgICAgICBtYXJnaW5Cb3R0b206IDAsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3ctcmV2ZXJzZScsXG4gICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAvLyBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nLFxuICAgICAgICB6SW5kZXg6IDEsXG4gICAgICB9fVxuICAgID5cbiAgICAgIDxEdXBsaWNhdGVCdXR0b24gb25DbGljaz17cHJvcHMub25DcmVhdGV9IC8+XG4gICAgICB7c2FtZVVzZXIgJiYgPERlbGV0ZUJ1dHRvbiBvbkNsaWNrPXtwcm9wcy5vbkRlbGV0ZX0gLz59XG4gICAgICA8ZGl2IHN0eWxlPXt7IG1hcmdpblJpZ2h0OiAnYXV0bycgfX0+XG4gICAgICAgIDxJbnB1dFxuICAgICAgICAgIGFsaWduPVwibGVmdFwiXG4gICAgICAgICAgcGxhY2Vob2xkZXI9XCJBZGQgYSBuYW1l4oCmXCJcbiAgICAgICAgICBmb250U2l6ZT1cIjE0cHhcIlxuICAgICAgICAgIHZhbHVlPXtwcm9wcy5uYW1lfVxuICAgICAgICAgIG9uQ2hhbmdlPXtlID0+IHByb3BzLm9uQ2hhbmdlKCduYW1lJywgZS50YXJnZXQudmFsdWUpfVxuICAgICAgICAvPlxuICAgICAgPC9kaXY+XG4gICAgPC9Ub29sYmFyPlxuICApXG59XG5cbmV4cG9ydCBkZWZhdWx0IFNuaXBwZXRUb29sYmFyXG4iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///./components/SnippetToolbar.js\n");
  
  /***/ })
  
  }]);