decap-cms-core 3.5.0 → 3.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (137) hide show
  1. package/dist/decap-cms-core.js +9 -9
  2. package/dist/decap-cms-core.js.map +1 -1
  3. package/dist/esm/actions/auth.js +22 -37
  4. package/dist/esm/actions/collections.js +9 -17
  5. package/dist/esm/actions/config.js +58 -74
  6. package/dist/esm/actions/deploys.js +10 -17
  7. package/dist/esm/actions/editorialWorkflow.js +87 -101
  8. package/dist/esm/actions/entries.js +161 -211
  9. package/dist/esm/actions/media.js +31 -46
  10. package/dist/esm/actions/mediaLibrary.js +94 -126
  11. package/dist/esm/actions/notifications.js +5 -13
  12. package/dist/esm/actions/search.js +30 -47
  13. package/dist/esm/actions/status.js +13 -23
  14. package/dist/esm/actions/waitUntil.js +4 -11
  15. package/dist/esm/backend.js +132 -148
  16. package/dist/esm/bootstrap.js +37 -44
  17. package/dist/esm/components/App/App.js +82 -89
  18. package/dist/esm/components/App/Header.js +46 -52
  19. package/dist/esm/components/App/NotFoundPage.js +11 -18
  20. package/dist/esm/components/Collection/Collection.js +55 -63
  21. package/dist/esm/components/Collection/CollectionControls.js +15 -22
  22. package/dist/esm/components/Collection/CollectionSearch.js +35 -42
  23. package/dist/esm/components/Collection/CollectionTop.js +23 -30
  24. package/dist/esm/components/Collection/ControlButton.js +10 -16
  25. package/dist/esm/components/Collection/Entries/Entries.js +24 -31
  26. package/dist/esm/components/Collection/Entries/EntriesCollection.js +52 -62
  27. package/dist/esm/components/Collection/Entries/EntriesSearch.js +26 -33
  28. package/dist/esm/components/Collection/Entries/EntryCard.js +38 -45
  29. package/dist/esm/components/Collection/Entries/EntryListing.js +24 -32
  30. package/dist/esm/components/Collection/FilterControl.js +9 -16
  31. package/dist/esm/components/Collection/GroupControl.js +9 -16
  32. package/dist/esm/components/Collection/NestedCollection.js +54 -65
  33. package/dist/esm/components/Collection/Sidebar.js +36 -43
  34. package/dist/esm/components/Collection/SortControl.js +19 -26
  35. package/dist/esm/components/Collection/ViewStyleControl.js +17 -24
  36. package/dist/esm/components/Editor/Editor.js +100 -108
  37. package/dist/esm/components/Editor/EditorControlPane/EditorControl.js +105 -112
  38. package/dist/esm/components/Editor/EditorControlPane/EditorControlPane.js +68 -62
  39. package/dist/esm/components/Editor/EditorControlPane/Widget.js +87 -73
  40. package/dist/esm/components/Editor/EditorInterface.js +95 -98
  41. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreview.js +13 -21
  42. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewContent.js +64 -23
  43. package/dist/esm/components/Editor/EditorPreviewPane/EditorPreviewPane.js +94 -78
  44. package/dist/esm/components/Editor/EditorPreviewPane/PreviewHOC.js +9 -16
  45. package/dist/esm/components/Editor/EditorToolbar.js +133 -140
  46. package/dist/esm/components/Editor/withWorkflow.js +15 -22
  47. package/dist/esm/components/EditorWidgets/Unknown/UnknownControl.js +9 -16
  48. package/dist/esm/components/EditorWidgets/Unknown/UnknownPreview.js +9 -16
  49. package/dist/esm/components/EditorWidgets/index.js +4 -7
  50. package/dist/esm/components/MediaLibrary/EmptyMessage.js +12 -19
  51. package/dist/esm/components/MediaLibrary/MediaLibrary.js +55 -62
  52. package/dist/esm/components/MediaLibrary/MediaLibraryButtons.js +28 -35
  53. package/dist/esm/components/MediaLibrary/MediaLibraryCard.js +36 -43
  54. package/dist/esm/components/MediaLibrary/MediaLibraryCardGrid.js +50 -57
  55. package/dist/esm/components/MediaLibrary/MediaLibraryHeader.js +16 -23
  56. package/dist/esm/components/MediaLibrary/MediaLibraryModal.js +59 -64
  57. package/dist/esm/components/MediaLibrary/MediaLibrarySearch.js +18 -25
  58. package/dist/esm/components/MediaLibrary/MediaLibraryTop.js +39 -46
  59. package/dist/esm/components/UI/DragDrop.js +21 -30
  60. package/dist/esm/components/UI/ErrorBoundary.js +35 -43
  61. package/dist/esm/components/UI/FileUploadButton.js +11 -18
  62. package/dist/esm/components/UI/Modal.js +19 -26
  63. package/dist/esm/components/UI/Notifications.js +21 -28
  64. package/dist/esm/components/UI/SettingsDropdown.js +28 -34
  65. package/dist/esm/components/UI/index.js +6 -60
  66. package/dist/esm/components/Workflow/Workflow.js +52 -61
  67. package/dist/esm/components/Workflow/WorkflowCard.js +45 -51
  68. package/dist/esm/components/Workflow/WorkflowList.js +43 -49
  69. package/dist/esm/constants/collectionTypes.js +2 -8
  70. package/dist/esm/constants/collectionViews.js +2 -8
  71. package/dist/esm/constants/commitProps.js +2 -8
  72. package/dist/esm/constants/configSchema.js +20 -27
  73. package/dist/esm/constants/fieldInference.js +8 -15
  74. package/dist/esm/constants/publishModes.js +6 -11
  75. package/dist/esm/constants/validationErrorTypes.js +1 -7
  76. package/dist/esm/formats/formats.js +32 -41
  77. package/dist/esm/formats/frontmatter.js +18 -30
  78. package/dist/esm/formats/helpers.js +1 -7
  79. package/dist/esm/formats/json.js +1 -7
  80. package/dist/esm/formats/toml.js +11 -18
  81. package/dist/esm/formats/yaml.js +7 -14
  82. package/dist/esm/index.js +5 -12
  83. package/dist/esm/integrations/index.js +8 -16
  84. package/dist/esm/integrations/providers/algolia/implementation.js +14 -22
  85. package/dist/esm/integrations/providers/assetStore/implementation.js +10 -18
  86. package/dist/esm/lib/consoleError.js +1 -7
  87. package/dist/esm/lib/formatters.js +34 -47
  88. package/dist/esm/lib/i18n.js +37 -66
  89. package/dist/esm/lib/phrases.js +4 -11
  90. package/dist/esm/lib/registry.js +40 -75
  91. package/dist/esm/lib/serializeEntryValues.js +11 -18
  92. package/dist/esm/lib/textHelper.js +1 -7
  93. package/dist/esm/lib/urlHelper.js +28 -43
  94. package/dist/esm/mediaLibrary.js +12 -16
  95. package/dist/esm/reducers/auth.js +10 -16
  96. package/dist/esm/reducers/collections.js +70 -102
  97. package/dist/esm/reducers/combinedReducer.js +4 -11
  98. package/dist/esm/reducers/config.js +11 -19
  99. package/dist/esm/reducers/cursors.js +12 -18
  100. package/dist/esm/reducers/deploys.js +8 -15
  101. package/dist/esm/reducers/editorialWorkflow.js +37 -47
  102. package/dist/esm/reducers/entries.js +107 -132
  103. package/dist/esm/reducers/entryDraft.js +64 -72
  104. package/dist/esm/reducers/globalUI.js +5 -11
  105. package/dist/esm/reducers/index.js +43 -64
  106. package/dist/esm/reducers/integrations.js +8 -16
  107. package/dist/esm/reducers/mediaLibrary.js +43 -52
  108. package/dist/esm/reducers/medias.js +11 -18
  109. package/dist/esm/reducers/notifications.js +9 -15
  110. package/dist/esm/reducers/search.js +12 -18
  111. package/dist/esm/reducers/status.js +7 -13
  112. package/dist/esm/redux/index.js +7 -13
  113. package/dist/esm/redux/middleware/waitUntilAction.js +3 -10
  114. package/dist/esm/routing/history.js +7 -15
  115. package/dist/esm/types/diacritics.d.js +0 -1
  116. package/dist/esm/types/global.d.js +1 -5
  117. package/dist/esm/types/immutable.js +1 -5
  118. package/dist/esm/types/redux.js +7 -8
  119. package/dist/esm/types/tomlify-j0.4.d.js +0 -1
  120. package/dist/esm/valueObjects/AssetProxy.js +2 -10
  121. package/dist/esm/valueObjects/EditorComponent.js +5 -12
  122. package/dist/esm/valueObjects/Entry.js +3 -10
  123. package/package.json +3 -2
  124. package/src/components/Collection/Entries/EntriesCollection.js +7 -8
  125. package/src/components/Collection/Entries/__tests__/EntriesCollection.spec.js +3 -5
  126. package/src/components/Collection/Entries/__tests__/__snapshots__/EntriesCollection.spec.js.snap +8 -8
  127. package/src/components/Collection/NestedCollection.js +2 -2
  128. package/src/components/Collection/__tests__/__snapshots__/NestedCollection.spec.js.snap +68 -0
  129. package/src/components/Editor/EditorControlPane/EditorControl.js +0 -3
  130. package/src/components/Editor/EditorControlPane/EditorControlPane.js +21 -8
  131. package/src/components/Editor/EditorControlPane/Widget.js +22 -1
  132. package/src/components/Editor/EditorInterface.js +6 -1
  133. package/src/components/Editor/EditorPreviewPane/EditorPreviewContent.js +51 -11
  134. package/src/components/Editor/EditorPreviewPane/EditorPreviewPane.js +33 -1
  135. package/dist/esm/actions/editorControl.js +0 -14
  136. package/dist/esm/reducers/editorComponent.js +0 -1
  137. package/dist/esm/reducers/editorControl.js +0 -17
@@ -1,52 +1,45 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _react = _interopRequireDefault(require("react"));
8
- var _client = require("react-dom/client");
9
- var _reactRedux = require("react-redux");
10
- var _reactRouterDom = require("react-router-dom");
11
- var _decapCmsUiDefault = require("decap-cms-ui-default");
12
- var _reactPolyglot = require("react-polyglot");
13
- var _redux = require("./redux");
14
- var _history = require("./routing/history");
15
- var _config = require("./actions/config");
16
- var _auth = require("./actions/auth");
17
- var _phrases = require("./lib/phrases");
18
- var _config2 = require("./reducers/config");
19
- var _UI = require("./components/UI");
20
- var _App = _interopRequireDefault(require("./components/App/App"));
21
- require("./components/EditorWidgets");
22
- require("./mediaLibrary");
23
- require("what-input");
24
- var _react2 = require("@emotion/react");
25
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
1
+ import React from 'react';
2
+ import { createRoot } from 'react-dom/client';
3
+ import { Provider, connect } from 'react-redux';
4
+ import { Route, Router } from 'react-router-dom';
5
+ import { GlobalStyles } from 'decap-cms-ui-default';
6
+ import { I18n } from 'react-polyglot';
7
+ import { store } from './redux';
8
+ import { history } from './routing/history';
9
+ import { loadConfig } from './actions/config';
10
+ import { authenticateUser } from './actions/auth';
11
+ import { getPhrases } from './lib/phrases';
12
+ import { selectLocale } from './reducers/config';
13
+ import { ErrorBoundary } from './components/UI';
14
+ import App from './components/App/App';
15
+ import './components/EditorWidgets';
16
+ import './mediaLibrary';
17
+ import 'what-input';
18
+ import { jsx as ___EmotionJSX } from "@emotion/react";
26
19
  const ROOT_ID = 'nc-root';
27
20
  function TranslatedApp({
28
21
  locale,
29
22
  config
30
23
  }) {
31
- return (0, _react2.jsx)(_reactPolyglot.I18n, {
24
+ return ___EmotionJSX(I18n, {
32
25
  locale: locale,
33
- messages: (0, _phrases.getPhrases)(locale)
34
- }, (0, _react2.jsx)(_UI.ErrorBoundary, {
26
+ messages: getPhrases(locale)
27
+ }, ___EmotionJSX(ErrorBoundary, {
35
28
  showBackup: true,
36
29
  config: config
37
- }, (0, _react2.jsx)(_reactRouterDom.Router, {
38
- history: _history.history
39
- }, (0, _react2.jsx)(_reactRouterDom.Route, {
40
- component: _App.default
30
+ }, ___EmotionJSX(Router, {
31
+ history: history
32
+ }, ___EmotionJSX(Route, {
33
+ component: App
41
34
  }))));
42
35
  }
43
36
  function mapDispatchToProps(state) {
44
37
  return {
45
- locale: (0, _config2.selectLocale)(state.config),
38
+ locale: selectLocale(state.config),
46
39
  config: state.config
47
40
  };
48
41
  }
49
- const ConnectedTranslatedApp = (0, _reactRedux.connect)(mapDispatchToProps)(TranslatedApp);
42
+ const ConnectedTranslatedApp = connect(mapDispatchToProps)(TranslatedApp);
50
43
  function bootstrap(opts = {}) {
51
44
  const {
52
45
  config
@@ -55,8 +48,8 @@ function bootstrap(opts = {}) {
55
48
  /**
56
49
  * Log the version number.
57
50
  */
58
- if (typeof "3.5.0" === 'string') {
59
- console.log(`decap-cms-core ${"3.5.0"}`);
51
+ if (typeof "3.6.0" === 'string') {
52
+ console.log(`decap-cms-core ${"3.6.0"}`);
60
53
  }
61
54
 
62
55
  /**
@@ -85,23 +78,23 @@ function bootstrap(opts = {}) {
85
78
  * config.yml if it exists, and any portion that produces a conflict will be
86
79
  * overwritten.
87
80
  */
88
- _redux.store.dispatch((0, _config.loadConfig)(config, function onLoad() {
89
- _redux.store.dispatch((0, _auth.authenticateUser)());
81
+ store.dispatch(loadConfig(config, function onLoad() {
82
+ store.dispatch(authenticateUser());
90
83
  }));
91
84
 
92
85
  /**
93
86
  * Create connected root component.
94
87
  */
95
88
  function Root() {
96
- return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_decapCmsUiDefault.GlobalStyles, null), (0, _react2.jsx)(_reactRedux.Provider, {
97
- store: _redux.store
98
- }, (0, _react2.jsx)(ConnectedTranslatedApp, null)));
89
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(GlobalStyles, null), ___EmotionJSX(Provider, {
90
+ store: store
91
+ }, ___EmotionJSX(ConnectedTranslatedApp, null)));
99
92
  }
100
93
 
101
94
  /**
102
95
  * Render application root.
103
96
  */
104
- const root = (0, _client.createRoot)(getRoot());
105
- root.render((0, _react2.jsx)(Root, null));
97
+ const root = createRoot(getRoot());
98
+ root.render(___EmotionJSX(Root, null));
106
99
  }
107
- var _default = exports.default = bootstrap;
100
+ export default bootstrap;
@@ -1,34 +1,5 @@
1
- "use strict";
2
-
3
- Object.defineProperty(exports, "__esModule", {
4
- value: true
5
- });
6
- exports.default = void 0;
7
- var _base = _interopRequireDefault(require("@emotion/styled/base"));
8
- var _propTypes = _interopRequireDefault(require("prop-types"));
9
- var _react = _interopRequireDefault(require("react"));
10
- var _reactPolyglot = require("react-polyglot");
11
- var _reactImmutableProptypes = _interopRequireDefault(require("react-immutable-proptypes"));
12
- var _reactRedux = require("react-redux");
13
- var _reactRouterDom = require("react-router-dom");
14
- var _reactTopbarProgressIndicator = _interopRequireDefault(require("react-topbar-progress-indicator"));
15
- var _decapCmsUiDefault = require("decap-cms-ui-default");
16
- var _auth = require("../../actions/auth");
17
- var _backend = require("../../backend");
18
- var _collections = require("../../actions/collections");
19
- var _mediaLibrary = require("../../actions/mediaLibrary");
20
- var _MediaLibrary = _interopRequireDefault(require("../MediaLibrary/MediaLibrary"));
21
- var _UI = require("../UI");
22
- var _history = require("../../routing/history");
23
- var _publishModes = require("../../constants/publishModes");
24
- var _Collection = _interopRequireDefault(require("../Collection/Collection"));
25
- var _Workflow = _interopRequireDefault(require("../Workflow/Workflow"));
26
- var _Editor = _interopRequireDefault(require("../Editor/Editor"));
27
- var _NotFoundPage = _interopRequireDefault(require("./NotFoundPage"));
28
- var _Header = _interopRequireDefault(require("./Header"));
29
- var _react2 = require("@emotion/react");
1
+ import _styled from "@emotion/styled/base";
30
2
  const _excluded = ["collections", "render"];
31
- function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
32
3
  function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
33
4
  function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == typeof i ? i : String(i); }
34
5
  function _toPrimitive(t, r) { if ("object" != typeof t || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != typeof i) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
@@ -36,15 +7,37 @@ function _extends() { _extends = Object.assign ? Object.assign.bind() : function
36
7
  function _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }
37
8
  function _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }
38
9
  function _EMOTION_STRINGIFIED_CSS_ERROR__() { return "You have tried to stringify object returned from `css` function. It isn't supposed to be used directly (e.g. as value of the `className` prop), but rather handed to emotion so it can handle it (e.g. as value of `css` prop)."; }
39
- _reactTopbarProgressIndicator.default.config({
10
+ import PropTypes from 'prop-types';
11
+ import React from 'react';
12
+ import { translate } from 'react-polyglot';
13
+ import ImmutablePropTypes from 'react-immutable-proptypes';
14
+ import { connect } from 'react-redux';
15
+ import { Route, Switch, Redirect } from 'react-router-dom';
16
+ import TopBarProgress from 'react-topbar-progress-indicator';
17
+ import { Loader, colors } from 'decap-cms-ui-default';
18
+ import { loginUser, logoutUser } from '../../actions/auth';
19
+ import { currentBackend } from '../../backend';
20
+ import { createNewEntry } from '../../actions/collections';
21
+ import { openMediaLibrary } from '../../actions/mediaLibrary';
22
+ import MediaLibrary from '../MediaLibrary/MediaLibrary';
23
+ import { Notifications } from '../UI';
24
+ import { history } from '../../routing/history';
25
+ import { SIMPLE, EDITORIAL_WORKFLOW } from '../../constants/publishModes';
26
+ import Collection from '../Collection/Collection';
27
+ import Workflow from '../Workflow/Workflow';
28
+ import Editor from '../Editor/Editor';
29
+ import NotFoundPage from './NotFoundPage';
30
+ import Header from './Header';
31
+ import { jsx as ___EmotionJSX } from "@emotion/react";
32
+ TopBarProgress.config({
40
33
  barColors: {
41
- 0: _decapCmsUiDefault.colors.active,
42
- '1.0': _decapCmsUiDefault.colors.active
34
+ 0: colors.active,
35
+ '1.0': colors.active
43
36
  },
44
37
  shadowBlur: 0,
45
38
  barThickness: 2
46
39
  });
47
- const AppMainContainer = /*#__PURE__*/(0, _base.default)("div", {
40
+ const AppMainContainer = /*#__PURE__*/_styled("div", {
48
41
  target: "eh2m33j2",
49
42
  label: "AppMainContainer"
50
43
  })(process.env.NODE_ENV === "production" ? {
@@ -56,7 +49,7 @@ const AppMainContainer = /*#__PURE__*/(0, _base.default)("div", {
56
49
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0FwcC9BcHAuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBaUNtQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9BcHAvQXBwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFJvdXRlLCBTd2l0Y2gsIFJlZGlyZWN0IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgVG9wQmFyUHJvZ3Jlc3MgZnJvbSAncmVhY3QtdG9wYmFyLXByb2dyZXNzLWluZGljYXRvcic7XG5pbXBvcnQgeyBMb2FkZXIsIGNvbG9ycyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcblxuaW1wb3J0IHsgbG9naW5Vc2VyLCBsb2dvdXRVc2VyIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9hdXRoJztcbmltcG9ydCB7IGN1cnJlbnRCYWNrZW5kIH0gZnJvbSAnLi4vLi4vYmFja2VuZCc7XG5pbXBvcnQgeyBjcmVhdGVOZXdFbnRyeSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgb3Blbk1lZGlhTGlicmFyeSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvbWVkaWFMaWJyYXJ5JztcbmltcG9ydCBNZWRpYUxpYnJhcnkgZnJvbSAnLi4vTWVkaWFMaWJyYXJ5L01lZGlhTGlicmFyeSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zIH0gZnJvbSAnLi4vVUknO1xuaW1wb3J0IHsgaGlzdG9yeSB9IGZyb20gJy4uLy4uL3JvdXRpbmcvaGlzdG9yeSc7XG5pbXBvcnQgeyBTSU1QTEUsIEVESVRPUklBTF9XT1JLRkxPVyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IENvbGxlY3Rpb24gZnJvbSAnLi4vQ29sbGVjdGlvbi9Db2xsZWN0aW9uJztcbmltcG9ydCBXb3JrZmxvdyBmcm9tICcuLi9Xb3JrZmxvdy9Xb3JrZmxvdyc7XG5pbXBvcnQgRWRpdG9yIGZyb20gJy4uL0VkaXRvci9FZGl0b3InO1xuaW1wb3J0IE5vdEZvdW5kUGFnZSBmcm9tICcuL05vdEZvdW5kUGFnZSc7XG5pbXBvcnQgSGVhZGVyIGZyb20gJy4vSGVhZGVyJztcblxuVG9wQmFyUHJvZ3Jlc3MuY29uZmlnKHtcbiAgYmFyQ29sb3JzOiB7XG4gICAgMDogY29sb3JzLmFjdGl2ZSxcbiAgICAnMS4wJzogY29sb3JzLmFjdGl2ZSxcbiAgfSxcbiAgc2hhZG93Qmx1cjogMCxcbiAgYmFyVGhpY2tuZXNzOiAyLFxufSk7XG5cbmNvbnN0IEFwcE1haW5Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtaW4td2lkdGg6IDgwMHB4O1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5gO1xuXG5jb25zdCBFcnJvckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbjogMjBweDtcbmA7XG5cbmNvbnN0IEVycm9yQ29kZUJsb2NrID0gc3R5bGVkLnByZWBcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbmA7XG5cbmZ1bmN0aW9uIGdldERlZmF1bHRQYXRoKGNvbGxlY3Rpb25zKSB7XG4gIGNvbnN0IGZpcnN0ID0gY29sbGVjdGlvbnMuZmlsdGVyKGNvbGxlY3Rpb24gPT4gY29sbGVjdGlvbi5nZXQoJ2hpZGUnKSAhPT0gdHJ1ZSkuZmlyc3QoKTtcbiAgaWYgKGZpcnN0KSB7XG4gICAgcmV0dXJuIGAvY29sbGVjdGlvbnMvJHtmaXJzdC5nZXQoJ25hbWUnKX1gO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgYSBub24gaGlkZGVuIGNvbGxlY3Rpb24nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBSb3V0ZUluQ29sbGVjdGlvbih7IGNvbGxlY3Rpb25zLCByZW5kZXIsIC4uLnByb3BzIH0pIHtcbiAgY29uc3QgZGVmYXVsdFBhdGggPSBnZXREZWZhdWx0UGF0aChjb2xsZWN0aW9ucyk7XG4gIHJldHVybiAoXG4gICAgPFJvdXRlXG4gICAgICB7Li4ucHJvcHN9XG4gICAgICByZW5kZXI9e3JvdXRlUHJvcHMgPT4ge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uRXhpc3RzID0gY29sbGVjdGlvbnMuZ2V0KHJvdXRlUHJvcHMubWF0Y2gucGFyYW1zLm5hbWUpO1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbkV4aXN0cyA/IHJlbmRlcihyb3V0ZVByb3BzKSA6IDxSZWRpcmVjdCB0bz17ZGVmYXVsdFBhdGh9IC8+O1xuICAgICAgfX1cbiAgICAvPlxuICApO1xufVxuXG5jbGFzcyBBcHAgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF1dGg6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb25maWc6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGxvZ2luVXNlcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2dvdXRVc2VyOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBwdWJsaXNoTW9kZTogUHJvcFR5cGVzLm9uZU9mKFtTSU1QTEUsIEVESVRPUklBTF9XT1JLRkxPV10pLFxuICAgIHNpdGVJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB1c2VNZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5ib29sLFxuICAgIG9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd01lZGlhQnV0dG9uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbmZpZ0Vycm9yKGNvbmZpZykge1xuICAgIGNvbnN0IHQgPSB0aGlzLnByb3BzLnQ7XG4gICAgcmV0dXJuIChcbiAgICAgIDxFcnJvckNvbnRhaW5lcj5cbiAgICAgICAgPGgxPnt0KCdhcHAuYXBwLmVycm9ySGVhZGVyJyl9PC9oMT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3Ryb25nPnt0KCdhcHAuYXBwLmNvbmZpZ0Vycm9ycycpfTo8L3N0cm9uZz5cbiAgICAgICAgICA8RXJyb3JDb2RlQmxvY2s+e2NvbmZpZy5lcnJvcn08L0Vycm9yQ29kZUJsb2NrPlxuICAgICAgICAgIDxzcGFuPnt0KCdhcHAuYXBwLmNoZWNrQ29uZmlnWW1sJyl9PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRXJyb3JDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZUxvZ2luKGNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5wcm9wcy5sb2dpblVzZXIoY3JlZGVudGlhbHMpO1xuICB9XG5cbiAgYXV0aGVudGljYXRpbmcoKSB7XG4gICAgY29uc3QgeyBhdXRoLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGJhY2tlbmQgPSBjdXJyZW50QmFja2VuZCh0aGlzLnByb3BzLmNvbmZpZyk7XG5cbiAgICBpZiAoYmFja2VuZCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxoMT57dCgnYXBwLmFwcC53YWl0aW5nQmFja2VuZCcpfTwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnMgLz5cbiAgICAgICAge1JlYWN0LmNyZWF0ZUVsZW1lbnQoYmFja2VuZC5hdXRoQ29tcG9uZW50KCksIHtcbiAgICAgICAgICBvbkxvZ2luOiB0aGlzLmhhbmRsZUxvZ2luLmJpbmQodGhpcyksXG4gICAgICAgICAgZXJyb3I6IGF1dGguZXJyb3IsXG4gICAgICAgICAgaW5Qcm9ncmVzczogYXV0aC5pc0ZldGNoaW5nLFxuICAgICAgICAgIHNpdGVJZDogdGhpcy5wcm9wcy5jb25maWcuYmFja2VuZC5zaXRlX2RvbWFpbixcbiAgICAgICAgICBiYXNlX3VybDogdGhpcy5wcm9wcy5jb25maWcuYmFja2VuZC5iYXNlX3VybCxcbiAgICAgICAgICBhdXRoRW5kcG9pbnQ6IHRoaXMucHJvcHMuY29uZmlnLmJhY2tlbmQuYXV0aF9lbmRwb2ludCxcbiAgICAgICAgICBjb25maWc6IHRoaXMucHJvcHMuY29uZmlnLFxuICAgICAgICAgIGNsZWFySGFzaDogKCkgPT4gaGlzdG9yeS5yZXBsYWNlKCcvJyksXG4gICAgICAgICAgdCxcbiAgICAgICAgfSl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgaGFuZGxlTGlua0NsaWNrKGV2ZW50LCBoYW5kbGVyLCAuLi5hcmdzKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBoYW5kbGVyKC4uLmFyZ3MpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHVzZXIsXG4gICAgICBjb25maWcsXG4gICAgICBjb2xsZWN0aW9ucyxcbiAgICAgIGxvZ291dFVzZXIsXG4gICAgICBpc0ZldGNoaW5nLFxuICAgICAgcHVibGlzaE1vZGUsXG4gICAgICB1c2VNZWRpYUxpYnJhcnksXG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgdCxcbiAgICAgIHNob3dNZWRpYUJ1dHRvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjb25maWcgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuZXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZ0Vycm9yKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5pc0ZldGNoaW5nKSB7XG4gICAgICByZXR1cm4gPExvYWRlciBhY3RpdmU+e3QoJ2FwcC5hcHAubG9hZGluZ0NvbmZpZycpfTwvTG9hZGVyPjtcbiAgICB9XG5cbiAgICBpZiAodXNlciA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdGluZyh0KTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0UGF0aCA9IGdldERlZmF1bHRQYXRoKGNvbGxlY3Rpb25zKTtcbiAgICBjb25zdCBoYXNXb3JrZmxvdyA9IHB1Ymxpc2hNb2RlID09PSBFRElUT1JJQUxfV09SS0ZMT1c7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnMgLz5cbiAgICAgICAgPEhlYWRlclxuICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgY29sbGVjdGlvbnM9e2NvbGxlY3Rpb25zfVxuICAgICAgICAgIG9uQ3JlYXRlRW50cnlDbGljaz17Y3JlYXRlTmV3RW50cnl9XG4gICAgICAgICAgb25Mb2dvdXRDbGljaz17bG9nb3V0VXNlcn1cbiAgICAgICAgICBvcGVuTWVkaWFMaWJyYXJ5PXtvcGVuTWVkaWFMaWJyYXJ5fVxuICAgICAgICAgIGhhc1dvcmtmbG93PXtoYXNXb3JrZmxvd31cbiAgICAgICAgICBkaXNwbGF5VXJsPXtjb25maWcuZGlzcGxheV91cmx9XG4gICAgICAgICAgaXNUZXN0UmVwbz17Y29uZmlnLmJhY2tlbmQubmFtZSA9PT0gJ3Rlc3QtcmVwbyd9XG4gICAgICAgICAgc2hvd01lZGlhQnV0dG9uPXtzaG93TWVkaWFCdXR0b259XG4gICAgICAgIC8+XG4gICAgICAgIDxBcHBNYWluQ29udGFpbmVyPlxuICAgICAgICAgIHtpc0ZldGNoaW5nICYmIDxUb3BCYXJQcm9ncmVzcyAvPn1cbiAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgPFJlZGlyZWN0IGV4YWN0IGZyb209XCIvXCIgdG89e2RlZmF1bHRQYXRofSAvPlxuICAgICAgICAgICAgPFJlZGlyZWN0IGV4YWN0IGZyb209XCIvc2VhcmNoL1wiIHRvPXtkZWZhdWx0UGF0aH0gLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICBjb2xsZWN0aW9ucz17Y29sbGVjdGlvbnN9XG4gICAgICAgICAgICAgIHBhdGg9XCIvY29sbGVjdGlvbnMvOm5hbWUvc2VhcmNoL1wiXG4gICAgICAgICAgICAgIHJlbmRlcj17KHsgbWF0Y2ggfSkgPT4gPFJlZGlyZWN0IHRvPXtgL2NvbGxlY3Rpb25zLyR7bWF0Y2gucGFyYW1zLm5hbWV9YH0gLz59XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJlZGlyZWN0XG4gICAgICAgICAgICAgIC8vIFRoaXMgaGFwcGVucyBvbiBJZGVudGl0eSArIEludml0ZSBPbmx5ICsgRXh0ZXJuYWwgUHJvdmlkZXIgZW1haWwgbm90IG1hdGNoaW5nXG4gICAgICAgICAgICAgIC8vIHRoZSByZWdpc3RlcmVkIHVzZXJcbiAgICAgICAgICAgICAgZnJvbT1cIi9lcnJvcj1hY2Nlc3NfZGVuaWVkJmVycm9yX2Rlc2NyaXB0aW9uPVNpZ251cHMrbm90K2FsbG93ZWQrZm9yK3RoaXMraW5zdGFuY2VcIlxuICAgICAgICAgICAgICB0bz17ZGVmYXVsdFBhdGh9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gPFJvdXRlIHBhdGg9XCIvd29ya2Zsb3dcIiBjb21wb25lbnQ9e1dvcmtmbG93fSAvPiA6IG51bGx9XG4gICAgICAgICAgICA8Um91dGVJbkNvbGxlY3Rpb25cbiAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgY29sbGVjdGlvbnM9e2NvbGxlY3Rpb25zfVxuICAgICAgICAgICAgICBwYXRoPVwiL2NvbGxlY3Rpb25zLzpuYW1lXCJcbiAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcyA9PiA8Q29sbGVjdGlvbiB7Li4ucHJvcHN9IC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBwYXRoPVwiL2NvbGxlY3Rpb25zLzpuYW1lL25ld1wiXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zPXtjb2xsZWN0aW9uc31cbiAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcyA9PiA8RWRpdG9yIHsuLi5wcm9wc30gbmV3UmVjb3JkIC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBwYXRoPVwiL2NvbGxlY3Rpb25zLzpuYW1lL2VudHJpZXMvKlwiXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zPXtjb2xsZWN0aW9uc31cbiAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcyA9PiA8RWRpdG9yIHsuLi5wcm9wc30gLz59XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJvdXRlSW5Db2xsZWN0aW9uXG4gICAgICAgICAgICAgIHBhdGg9XCIvY29sbGVjdGlvbnMvOm5hbWUvc2VhcmNoLzpzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgICAgY29sbGVjdGlvbnM9e2NvbGxlY3Rpb25zfVxuICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzID0+IDxDb2xsZWN0aW9uIHsuLi5wcm9wc30gaXNTZWFyY2hSZXN1bHRzIGlzU2luZ2xlU2VhcmNoUmVzdWx0IC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBjb2xsZWN0aW9ucz17Y29sbGVjdGlvbnN9XG4gICAgICAgICAgICAgIHBhdGg9XCIvY29sbGVjdGlvbnMvOm5hbWUvZmlsdGVyLzpmaWx0ZXJUZXJtKlwiXG4gICAgICAgICAgICAgIHJlbmRlcj17cHJvcHMgPT4gPENvbGxlY3Rpb24gey4uLnByb3BzfSAvPn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgcGF0aD1cIi9zZWFyY2gvOnNlYXJjaFRlcm1cIlxuICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzID0+IDxDb2xsZWN0aW9uIHsuLi5wcm9wc30gaXNTZWFyY2hSZXN1bHRzIC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBwYXRoPVwiL2VkaXQvOm5hbWUvOmVudHJ5TmFtZVwiXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zPXtjb2xsZWN0aW9uc31cbiAgICAgICAgICAgICAgcmVuZGVyPXsoeyBtYXRjaCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBuYW1lLCBlbnRyeU5hbWUgfSA9IG1hdGNoLnBhcmFtcztcbiAgICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0IHRvPXtgL2NvbGxlY3Rpb25zLyR7bmFtZX0vZW50cmllcy8ke2VudHJ5TmFtZX1gfSAvPjtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Um91dGUgY29tcG9uZW50PXtOb3RGb3VuZFBhZ2V9IC8+XG4gICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAge3VzZU1lZGlhTGlicmFyeSA/IDxNZWRpYUxpYnJhcnkgLz4gOiBudWxsfVxuICAgICAgICA8L0FwcE1haW5Db250YWluZXI+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGF1dGgsIGNvbmZpZywgY29sbGVjdGlvbnMsIGdsb2JhbFVJLCBtZWRpYUxpYnJhcnkgfSA9IHN0YXRlO1xuICBjb25zdCB1c2VyID0gYXV0aC51c2VyO1xuICBjb25zdCBpc0ZldGNoaW5nID0gZ2xvYmFsVUkuaXNGZXRjaGluZztcbiAgY29uc3QgcHVibGlzaE1vZGUgPSBjb25maWcucHVibGlzaF9tb2RlO1xuICBjb25zdCB1c2VNZWRpYUxpYnJhcnkgPSAhbWVkaWFMaWJyYXJ5LmdldCgnZXh0ZXJuYWxMaWJyYXJ5Jyk7XG4gIGNvbnN0IHNob3dNZWRpYUJ1dHRvbiA9IG1lZGlhTGlicmFyeS5nZXQoJ3Nob3dNZWRpYUJ1dHRvbicpO1xuICByZXR1cm4ge1xuICAgIGF1dGgsXG4gICAgY29uZmlnLFxuICAgIGNvbGxlY3Rpb25zLFxuICAgIHVzZXIsXG4gICAgaXNGZXRjaGluZyxcbiAgICBwdWJsaXNoTW9kZSxcbiAgICBzaG93TWVkaWFCdXR0b24sXG4gICAgdXNlTWVkaWFMaWJyYXJ5LFxuICB9O1xufVxuXG5jb25zdCBtYXBEaXNwYXRjaFRvUHJvcHMgPSB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIGxvZ2luVXNlcixcbiAgbG9nb3V0VXNlcixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzLCBtYXBEaXNwYXRjaFRvUHJvcHMpKHRyYW5zbGF0ZSgpKEFwcCkpO1xuIl19 */",
57
50
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
58
51
  });
59
- const ErrorContainer = /*#__PURE__*/(0, _base.default)("div", {
52
+ const ErrorContainer = /*#__PURE__*/_styled("div", {
60
53
  target: "eh2m33j1",
61
54
  label: "ErrorContainer"
62
55
  })(process.env.NODE_ENV === "production" ? {
@@ -68,7 +61,7 @@ const ErrorContainer = /*#__PURE__*/(0, _base.default)("div", {
68
61
  map: "/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL0FwcC9BcHAuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBdUNpQyIsImZpbGUiOiIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9BcHAvQXBwLmpzIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyB0cmFuc2xhdGUgfSBmcm9tICdyZWFjdC1wb2x5Z2xvdCc7XG5pbXBvcnQgSW1tdXRhYmxlUHJvcFR5cGVzIGZyb20gJ3JlYWN0LWltbXV0YWJsZS1wcm9wdHlwZXMnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdAZW1vdGlvbi9zdHlsZWQnO1xuaW1wb3J0IHsgY29ubmVjdCB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IFJvdXRlLCBTd2l0Y2gsIFJlZGlyZWN0IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgVG9wQmFyUHJvZ3Jlc3MgZnJvbSAncmVhY3QtdG9wYmFyLXByb2dyZXNzLWluZGljYXRvcic7XG5pbXBvcnQgeyBMb2FkZXIsIGNvbG9ycyB9IGZyb20gJ2RlY2FwLWNtcy11aS1kZWZhdWx0JztcblxuaW1wb3J0IHsgbG9naW5Vc2VyLCBsb2dvdXRVc2VyIH0gZnJvbSAnLi4vLi4vYWN0aW9ucy9hdXRoJztcbmltcG9ydCB7IGN1cnJlbnRCYWNrZW5kIH0gZnJvbSAnLi4vLi4vYmFja2VuZCc7XG5pbXBvcnQgeyBjcmVhdGVOZXdFbnRyeSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvY29sbGVjdGlvbnMnO1xuaW1wb3J0IHsgb3Blbk1lZGlhTGlicmFyeSB9IGZyb20gJy4uLy4uL2FjdGlvbnMvbWVkaWFMaWJyYXJ5JztcbmltcG9ydCBNZWRpYUxpYnJhcnkgZnJvbSAnLi4vTWVkaWFMaWJyYXJ5L01lZGlhTGlicmFyeSc7XG5pbXBvcnQgeyBOb3RpZmljYXRpb25zIH0gZnJvbSAnLi4vVUknO1xuaW1wb3J0IHsgaGlzdG9yeSB9IGZyb20gJy4uLy4uL3JvdXRpbmcvaGlzdG9yeSc7XG5pbXBvcnQgeyBTSU1QTEUsIEVESVRPUklBTF9XT1JLRkxPVyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9wdWJsaXNoTW9kZXMnO1xuaW1wb3J0IENvbGxlY3Rpb24gZnJvbSAnLi4vQ29sbGVjdGlvbi9Db2xsZWN0aW9uJztcbmltcG9ydCBXb3JrZmxvdyBmcm9tICcuLi9Xb3JrZmxvdy9Xb3JrZmxvdyc7XG5pbXBvcnQgRWRpdG9yIGZyb20gJy4uL0VkaXRvci9FZGl0b3InO1xuaW1wb3J0IE5vdEZvdW5kUGFnZSBmcm9tICcuL05vdEZvdW5kUGFnZSc7XG5pbXBvcnQgSGVhZGVyIGZyb20gJy4vSGVhZGVyJztcblxuVG9wQmFyUHJvZ3Jlc3MuY29uZmlnKHtcbiAgYmFyQ29sb3JzOiB7XG4gICAgMDogY29sb3JzLmFjdGl2ZSxcbiAgICAnMS4wJzogY29sb3JzLmFjdGl2ZSxcbiAgfSxcbiAgc2hhZG93Qmx1cjogMCxcbiAgYmFyVGhpY2tuZXNzOiAyLFxufSk7XG5cbmNvbnN0IEFwcE1haW5Db250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBtaW4td2lkdGg6IDgwMHB4O1xuICBtYXgtd2lkdGg6IDE0NDBweDtcbiAgbWFyZ2luOiAwIGF1dG87XG5gO1xuXG5jb25zdCBFcnJvckNvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIG1hcmdpbjogMjBweDtcbmA7XG5cbmNvbnN0IEVycm9yQ29kZUJsb2NrID0gc3R5bGVkLnByZWBcbiAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbmA7XG5cbmZ1bmN0aW9uIGdldERlZmF1bHRQYXRoKGNvbGxlY3Rpb25zKSB7XG4gIGNvbnN0IGZpcnN0ID0gY29sbGVjdGlvbnMuZmlsdGVyKGNvbGxlY3Rpb24gPT4gY29sbGVjdGlvbi5nZXQoJ2hpZGUnKSAhPT0gdHJ1ZSkuZmlyc3QoKTtcbiAgaWYgKGZpcnN0KSB7XG4gICAgcmV0dXJuIGAvY29sbGVjdGlvbnMvJHtmaXJzdC5nZXQoJ25hbWUnKX1gO1xuICB9IGVsc2Uge1xuICAgIHRocm93IG5ldyBFcnJvcignQ291bGQgbm90IGZpbmQgYSBub24gaGlkZGVuIGNvbGxlY3Rpb24nKTtcbiAgfVxufVxuXG5mdW5jdGlvbiBSb3V0ZUluQ29sbGVjdGlvbih7IGNvbGxlY3Rpb25zLCByZW5kZXIsIC4uLnByb3BzIH0pIHtcbiAgY29uc3QgZGVmYXVsdFBhdGggPSBnZXREZWZhdWx0UGF0aChjb2xsZWN0aW9ucyk7XG4gIHJldHVybiAoXG4gICAgPFJvdXRlXG4gICAgICB7Li4ucHJvcHN9XG4gICAgICByZW5kZXI9e3JvdXRlUHJvcHMgPT4ge1xuICAgICAgICBjb25zdCBjb2xsZWN0aW9uRXhpc3RzID0gY29sbGVjdGlvbnMuZ2V0KHJvdXRlUHJvcHMubWF0Y2gucGFyYW1zLm5hbWUpO1xuICAgICAgICByZXR1cm4gY29sbGVjdGlvbkV4aXN0cyA/IHJlbmRlcihyb3V0ZVByb3BzKSA6IDxSZWRpcmVjdCB0bz17ZGVmYXVsdFBhdGh9IC8+O1xuICAgICAgfX1cbiAgICAvPlxuICApO1xufVxuXG5jbGFzcyBBcHAgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIGF1dGg6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb25maWc6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBjb2xsZWN0aW9uczogSW1tdXRhYmxlUHJvcFR5cGVzLm1hcC5pc1JlcXVpcmVkLFxuICAgIGxvZ2luVXNlcjogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBsb2dvdXRVc2VyOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaXNGZXRjaGluZzogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBwdWJsaXNoTW9kZTogUHJvcFR5cGVzLm9uZU9mKFtTSU1QTEUsIEVESVRPUklBTF9XT1JLRkxPV10pLFxuICAgIHNpdGVJZDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB1c2VNZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5ib29sLFxuICAgIG9wZW5NZWRpYUxpYnJhcnk6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgc2hvd01lZGlhQnV0dG9uOiBQcm9wVHlwZXMuYm9vbCxcbiAgICB0OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICB9O1xuXG4gIGNvbmZpZ0Vycm9yKGNvbmZpZykge1xuICAgIGNvbnN0IHQgPSB0aGlzLnByb3BzLnQ7XG4gICAgcmV0dXJuIChcbiAgICAgIDxFcnJvckNvbnRhaW5lcj5cbiAgICAgICAgPGgxPnt0KCdhcHAuYXBwLmVycm9ySGVhZGVyJyl9PC9oMT5cbiAgICAgICAgPGRpdj5cbiAgICAgICAgICA8c3Ryb25nPnt0KCdhcHAuYXBwLmNvbmZpZ0Vycm9ycycpfTo8L3N0cm9uZz5cbiAgICAgICAgICA8RXJyb3JDb2RlQmxvY2s+e2NvbmZpZy5lcnJvcn08L0Vycm9yQ29kZUJsb2NrPlxuICAgICAgICAgIDxzcGFuPnt0KCdhcHAuYXBwLmNoZWNrQ29uZmlnWW1sJyl9PC9zcGFuPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvRXJyb3JDb250YWluZXI+XG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZUxvZ2luKGNyZWRlbnRpYWxzKSB7XG4gICAgdGhpcy5wcm9wcy5sb2dpblVzZXIoY3JlZGVudGlhbHMpO1xuICB9XG5cbiAgYXV0aGVudGljYXRpbmcoKSB7XG4gICAgY29uc3QgeyBhdXRoLCB0IH0gPSB0aGlzLnByb3BzO1xuICAgIGNvbnN0IGJhY2tlbmQgPSBjdXJyZW50QmFja2VuZCh0aGlzLnByb3BzLmNvbmZpZyk7XG5cbiAgICBpZiAoYmFja2VuZCA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIDxoMT57dCgnYXBwLmFwcC53YWl0aW5nQmFja2VuZCcpfTwvaDE+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKTtcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPGRpdj5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnMgLz5cbiAgICAgICAge1JlYWN0LmNyZWF0ZUVsZW1lbnQoYmFja2VuZC5hdXRoQ29tcG9uZW50KCksIHtcbiAgICAgICAgICBvbkxvZ2luOiB0aGlzLmhhbmRsZUxvZ2luLmJpbmQodGhpcyksXG4gICAgICAgICAgZXJyb3I6IGF1dGguZXJyb3IsXG4gICAgICAgICAgaW5Qcm9ncmVzczogYXV0aC5pc0ZldGNoaW5nLFxuICAgICAgICAgIHNpdGVJZDogdGhpcy5wcm9wcy5jb25maWcuYmFja2VuZC5zaXRlX2RvbWFpbixcbiAgICAgICAgICBiYXNlX3VybDogdGhpcy5wcm9wcy5jb25maWcuYmFja2VuZC5iYXNlX3VybCxcbiAgICAgICAgICBhdXRoRW5kcG9pbnQ6IHRoaXMucHJvcHMuY29uZmlnLmJhY2tlbmQuYXV0aF9lbmRwb2ludCxcbiAgICAgICAgICBjb25maWc6IHRoaXMucHJvcHMuY29uZmlnLFxuICAgICAgICAgIGNsZWFySGFzaDogKCkgPT4gaGlzdG9yeS5yZXBsYWNlKCcvJyksXG4gICAgICAgICAgdCxcbiAgICAgICAgfSl9XG4gICAgICA8L2Rpdj5cbiAgICApO1xuICB9XG5cbiAgaGFuZGxlTGlua0NsaWNrKGV2ZW50LCBoYW5kbGVyLCAuLi5hcmdzKSB7XG4gICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICBoYW5kbGVyKC4uLmFyZ3MpO1xuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtcbiAgICAgIHVzZXIsXG4gICAgICBjb25maWcsXG4gICAgICBjb2xsZWN0aW9ucyxcbiAgICAgIGxvZ291dFVzZXIsXG4gICAgICBpc0ZldGNoaW5nLFxuICAgICAgcHVibGlzaE1vZGUsXG4gICAgICB1c2VNZWRpYUxpYnJhcnksXG4gICAgICBvcGVuTWVkaWFMaWJyYXJ5LFxuICAgICAgdCxcbiAgICAgIHNob3dNZWRpYUJ1dHRvbixcbiAgICB9ID0gdGhpcy5wcm9wcztcblxuICAgIGlmIChjb25maWcgPT09IG51bGwpIHtcbiAgICAgIHJldHVybiBudWxsO1xuICAgIH1cblxuICAgIGlmIChjb25maWcuZXJyb3IpIHtcbiAgICAgIHJldHVybiB0aGlzLmNvbmZpZ0Vycm9yKGNvbmZpZyk7XG4gICAgfVxuXG4gICAgaWYgKGNvbmZpZy5pc0ZldGNoaW5nKSB7XG4gICAgICByZXR1cm4gPExvYWRlciBhY3RpdmU+e3QoJ2FwcC5hcHAubG9hZGluZ0NvbmZpZycpfTwvTG9hZGVyPjtcbiAgICB9XG5cbiAgICBpZiAodXNlciA9PSBudWxsKSB7XG4gICAgICByZXR1cm4gdGhpcy5hdXRoZW50aWNhdGluZyh0KTtcbiAgICB9XG5cbiAgICBjb25zdCBkZWZhdWx0UGF0aCA9IGdldERlZmF1bHRQYXRoKGNvbGxlY3Rpb25zKTtcbiAgICBjb25zdCBoYXNXb3JrZmxvdyA9IHB1Ymxpc2hNb2RlID09PSBFRElUT1JJQUxfV09SS0ZMT1c7XG5cbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgPE5vdGlmaWNhdGlvbnMgLz5cbiAgICAgICAgPEhlYWRlclxuICAgICAgICAgIHVzZXI9e3VzZXJ9XG4gICAgICAgICAgY29sbGVjdGlvbnM9e2NvbGxlY3Rpb25zfVxuICAgICAgICAgIG9uQ3JlYXRlRW50cnlDbGljaz17Y3JlYXRlTmV3RW50cnl9XG4gICAgICAgICAgb25Mb2dvdXRDbGljaz17bG9nb3V0VXNlcn1cbiAgICAgICAgICBvcGVuTWVkaWFMaWJyYXJ5PXtvcGVuTWVkaWFMaWJyYXJ5fVxuICAgICAgICAgIGhhc1dvcmtmbG93PXtoYXNXb3JrZmxvd31cbiAgICAgICAgICBkaXNwbGF5VXJsPXtjb25maWcuZGlzcGxheV91cmx9XG4gICAgICAgICAgaXNUZXN0UmVwbz17Y29uZmlnLmJhY2tlbmQubmFtZSA9PT0gJ3Rlc3QtcmVwbyd9XG4gICAgICAgICAgc2hvd01lZGlhQnV0dG9uPXtzaG93TWVkaWFCdXR0b259XG4gICAgICAgIC8+XG4gICAgICAgIDxBcHBNYWluQ29udGFpbmVyPlxuICAgICAgICAgIHtpc0ZldGNoaW5nICYmIDxUb3BCYXJQcm9ncmVzcyAvPn1cbiAgICAgICAgICA8U3dpdGNoPlxuICAgICAgICAgICAgPFJlZGlyZWN0IGV4YWN0IGZyb209XCIvXCIgdG89e2RlZmF1bHRQYXRofSAvPlxuICAgICAgICAgICAgPFJlZGlyZWN0IGV4YWN0IGZyb209XCIvc2VhcmNoL1wiIHRvPXtkZWZhdWx0UGF0aH0gLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBleGFjdFxuICAgICAgICAgICAgICBjb2xsZWN0aW9ucz17Y29sbGVjdGlvbnN9XG4gICAgICAgICAgICAgIHBhdGg9XCIvY29sbGVjdGlvbnMvOm5hbWUvc2VhcmNoL1wiXG4gICAgICAgICAgICAgIHJlbmRlcj17KHsgbWF0Y2ggfSkgPT4gPFJlZGlyZWN0IHRvPXtgL2NvbGxlY3Rpb25zLyR7bWF0Y2gucGFyYW1zLm5hbWV9YH0gLz59XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJlZGlyZWN0XG4gICAgICAgICAgICAgIC8vIFRoaXMgaGFwcGVucyBvbiBJZGVudGl0eSArIEludml0ZSBPbmx5ICsgRXh0ZXJuYWwgUHJvdmlkZXIgZW1haWwgbm90IG1hdGNoaW5nXG4gICAgICAgICAgICAgIC8vIHRoZSByZWdpc3RlcmVkIHVzZXJcbiAgICAgICAgICAgICAgZnJvbT1cIi9lcnJvcj1hY2Nlc3NfZGVuaWVkJmVycm9yX2Rlc2NyaXB0aW9uPVNpZ251cHMrbm90K2FsbG93ZWQrZm9yK3RoaXMraW5zdGFuY2VcIlxuICAgICAgICAgICAgICB0bz17ZGVmYXVsdFBhdGh9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAge2hhc1dvcmtmbG93ID8gPFJvdXRlIHBhdGg9XCIvd29ya2Zsb3dcIiBjb21wb25lbnQ9e1dvcmtmbG93fSAvPiA6IG51bGx9XG4gICAgICAgICAgICA8Um91dGVJbkNvbGxlY3Rpb25cbiAgICAgICAgICAgICAgZXhhY3RcbiAgICAgICAgICAgICAgY29sbGVjdGlvbnM9e2NvbGxlY3Rpb25zfVxuICAgICAgICAgICAgICBwYXRoPVwiL2NvbGxlY3Rpb25zLzpuYW1lXCJcbiAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcyA9PiA8Q29sbGVjdGlvbiB7Li4ucHJvcHN9IC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBwYXRoPVwiL2NvbGxlY3Rpb25zLzpuYW1lL25ld1wiXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zPXtjb2xsZWN0aW9uc31cbiAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcyA9PiA8RWRpdG9yIHsuLi5wcm9wc30gbmV3UmVjb3JkIC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBwYXRoPVwiL2NvbGxlY3Rpb25zLzpuYW1lL2VudHJpZXMvKlwiXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zPXtjb2xsZWN0aW9uc31cbiAgICAgICAgICAgICAgcmVuZGVyPXtwcm9wcyA9PiA8RWRpdG9yIHsuLi5wcm9wc30gLz59XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPFJvdXRlSW5Db2xsZWN0aW9uXG4gICAgICAgICAgICAgIHBhdGg9XCIvY29sbGVjdGlvbnMvOm5hbWUvc2VhcmNoLzpzZWFyY2hUZXJtXCJcbiAgICAgICAgICAgICAgY29sbGVjdGlvbnM9e2NvbGxlY3Rpb25zfVxuICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzID0+IDxDb2xsZWN0aW9uIHsuLi5wcm9wc30gaXNTZWFyY2hSZXN1bHRzIGlzU2luZ2xlU2VhcmNoUmVzdWx0IC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBjb2xsZWN0aW9ucz17Y29sbGVjdGlvbnN9XG4gICAgICAgICAgICAgIHBhdGg9XCIvY29sbGVjdGlvbnMvOm5hbWUvZmlsdGVyLzpmaWx0ZXJUZXJtKlwiXG4gICAgICAgICAgICAgIHJlbmRlcj17cHJvcHMgPT4gPENvbGxlY3Rpb24gey4uLnByb3BzfSAvPn1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Um91dGVcbiAgICAgICAgICAgICAgcGF0aD1cIi9zZWFyY2gvOnNlYXJjaFRlcm1cIlxuICAgICAgICAgICAgICByZW5kZXI9e3Byb3BzID0+IDxDb2xsZWN0aW9uIHsuLi5wcm9wc30gaXNTZWFyY2hSZXN1bHRzIC8+fVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxSb3V0ZUluQ29sbGVjdGlvblxuICAgICAgICAgICAgICBwYXRoPVwiL2VkaXQvOm5hbWUvOmVudHJ5TmFtZVwiXG4gICAgICAgICAgICAgIGNvbGxlY3Rpb25zPXtjb2xsZWN0aW9uc31cbiAgICAgICAgICAgICAgcmVuZGVyPXsoeyBtYXRjaCB9KSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc3QgeyBuYW1lLCBlbnRyeU5hbWUgfSA9IG1hdGNoLnBhcmFtcztcbiAgICAgICAgICAgICAgICByZXR1cm4gPFJlZGlyZWN0IHRvPXtgL2NvbGxlY3Rpb25zLyR7bmFtZX0vZW50cmllcy8ke2VudHJ5TmFtZX1gfSAvPjtcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8Um91dGUgY29tcG9uZW50PXtOb3RGb3VuZFBhZ2V9IC8+XG4gICAgICAgICAgPC9Td2l0Y2g+XG4gICAgICAgICAge3VzZU1lZGlhTGlicmFyeSA/IDxNZWRpYUxpYnJhcnkgLz4gOiBudWxsfVxuICAgICAgICA8L0FwcE1haW5Db250YWluZXI+XG4gICAgICA8Lz5cbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIG1hcFN0YXRlVG9Qcm9wcyhzdGF0ZSkge1xuICBjb25zdCB7IGF1dGgsIGNvbmZpZywgY29sbGVjdGlvbnMsIGdsb2JhbFVJLCBtZWRpYUxpYnJhcnkgfSA9IHN0YXRlO1xuICBjb25zdCB1c2VyID0gYXV0aC51c2VyO1xuICBjb25zdCBpc0ZldGNoaW5nID0gZ2xvYmFsVUkuaXNGZXRjaGluZztcbiAgY29uc3QgcHVibGlzaE1vZGUgPSBjb25maWcucHVibGlzaF9tb2RlO1xuICBjb25zdCB1c2VNZWRpYUxpYnJhcnkgPSAhbWVkaWFMaWJyYXJ5LmdldCgnZXh0ZXJuYWxMaWJyYXJ5Jyk7XG4gIGNvbnN0IHNob3dNZWRpYUJ1dHRvbiA9IG1lZGlhTGlicmFyeS5nZXQoJ3Nob3dNZWRpYUJ1dHRvbicpO1xuICByZXR1cm4ge1xuICAgIGF1dGgsXG4gICAgY29uZmlnLFxuICAgIGNvbGxlY3Rpb25zLFxuICAgIHVzZXIsXG4gICAgaXNGZXRjaGluZyxcbiAgICBwdWJsaXNoTW9kZSxcbiAgICBzaG93TWVkaWFCdXR0b24sXG4gICAgdXNlTWVkaWFMaWJyYXJ5LFxuICB9O1xufVxuXG5jb25zdCBtYXBEaXNwYXRjaFRvUHJvcHMgPSB7XG4gIG9wZW5NZWRpYUxpYnJhcnksXG4gIGxvZ2luVXNlcixcbiAgbG9nb3V0VXNlcixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbm5lY3QobWFwU3RhdGVUb1Byb3BzLCBtYXBEaXNwYXRjaFRvUHJvcHMpKHRyYW5zbGF0ZSgpKEFwcCkpO1xuIl19 */",
69
62
  toString: _EMOTION_STRINGIFIED_CSS_ERROR__
70
63
  });
71
- const ErrorCodeBlock = /*#__PURE__*/(0, _base.default)("pre", {
64
+ const ErrorCodeBlock = /*#__PURE__*/_styled("pre", {
72
65
  target: "eh2m33j0",
73
66
  label: "ErrorCodeBlock"
74
67
  })(process.env.NODE_ENV === "production" ? {
@@ -95,19 +88,19 @@ function RouteInCollection(_ref) {
95
88
  } = _ref,
96
89
  props = _objectWithoutProperties(_ref, _excluded);
97
90
  const defaultPath = getDefaultPath(collections);
98
- return (0, _react2.jsx)(_reactRouterDom.Route, _extends({}, props, {
91
+ return ___EmotionJSX(Route, _extends({}, props, {
99
92
  render: routeProps => {
100
93
  const collectionExists = collections.get(routeProps.match.params.name);
101
- return collectionExists ? render(routeProps) : (0, _react2.jsx)(_reactRouterDom.Redirect, {
94
+ return collectionExists ? render(routeProps) : ___EmotionJSX(Redirect, {
102
95
  to: defaultPath
103
96
  });
104
97
  }
105
98
  }));
106
99
  }
107
- class App extends _react.default.Component {
100
+ class App extends React.Component {
108
101
  configError(config) {
109
102
  const t = this.props.t;
110
- return (0, _react2.jsx)(ErrorContainer, null, (0, _react2.jsx)("h1", null, t('app.app.errorHeader')), (0, _react2.jsx)("div", null, (0, _react2.jsx)("strong", null, t('app.app.configErrors'), ":"), (0, _react2.jsx)(ErrorCodeBlock, null, config.error), (0, _react2.jsx)("span", null, t('app.app.checkConfigYml'))));
103
+ return ___EmotionJSX(ErrorContainer, null, ___EmotionJSX("h1", null, t('app.app.errorHeader')), ___EmotionJSX("div", null, ___EmotionJSX("strong", null, t('app.app.configErrors'), ":"), ___EmotionJSX(ErrorCodeBlock, null, config.error), ___EmotionJSX("span", null, t('app.app.checkConfigYml'))));
111
104
  }
112
105
  handleLogin(credentials) {
113
106
  this.props.loginUser(credentials);
@@ -117,11 +110,11 @@ class App extends _react.default.Component {
117
110
  auth,
118
111
  t
119
112
  } = this.props;
120
- const backend = (0, _backend.currentBackend)(this.props.config);
113
+ const backend = currentBackend(this.props.config);
121
114
  if (backend == null) {
122
- return (0, _react2.jsx)("div", null, (0, _react2.jsx)("h1", null, t('app.app.waitingBackend')));
115
+ return ___EmotionJSX("div", null, ___EmotionJSX("h1", null, t('app.app.waitingBackend')));
123
116
  }
124
- return (0, _react2.jsx)("div", null, (0, _react2.jsx)(_UI.Notifications, null), /*#__PURE__*/_react.default.createElement(backend.authComponent(), {
117
+ return ___EmotionJSX("div", null, ___EmotionJSX(Notifications, null), /*#__PURE__*/React.createElement(backend.authComponent(), {
125
118
  onLogin: this.handleLogin.bind(this),
126
119
  error: auth.error,
127
120
  inProgress: auth.isFetching,
@@ -129,7 +122,7 @@ class App extends _react.default.Component {
129
122
  base_url: this.props.config.backend.base_url,
130
123
  authEndpoint: this.props.config.backend.auth_endpoint,
131
124
  config: this.props.config,
132
- clearHash: () => _history.history.replace('/'),
125
+ clearHash: () => history.replace('/'),
133
126
  t
134
127
  }));
135
128
  }
@@ -157,7 +150,7 @@ class App extends _react.default.Component {
157
150
  return this.configError(config);
158
151
  }
159
152
  if (config.isFetching) {
160
- return (0, _react2.jsx)(_decapCmsUiDefault.Loader, {
153
+ return ___EmotionJSX(Loader, {
161
154
  active: true
162
155
  }, t('app.app.loadingConfig'));
163
156
  }
@@ -165,75 +158,75 @@ class App extends _react.default.Component {
165
158
  return this.authenticating(t);
166
159
  }
167
160
  const defaultPath = getDefaultPath(collections);
168
- const hasWorkflow = publishMode === _publishModes.EDITORIAL_WORKFLOW;
169
- return (0, _react2.jsx)(_react.default.Fragment, null, (0, _react2.jsx)(_UI.Notifications, null), (0, _react2.jsx)(_Header.default, {
161
+ const hasWorkflow = publishMode === EDITORIAL_WORKFLOW;
162
+ return ___EmotionJSX(React.Fragment, null, ___EmotionJSX(Notifications, null), ___EmotionJSX(Header, {
170
163
  user: user,
171
164
  collections: collections,
172
- onCreateEntryClick: _collections.createNewEntry,
165
+ onCreateEntryClick: createNewEntry,
173
166
  onLogoutClick: logoutUser,
174
167
  openMediaLibrary: openMediaLibrary,
175
168
  hasWorkflow: hasWorkflow,
176
169
  displayUrl: config.display_url,
177
170
  isTestRepo: config.backend.name === 'test-repo',
178
171
  showMediaButton: showMediaButton
179
- }), (0, _react2.jsx)(AppMainContainer, null, isFetching && (0, _react2.jsx)(_reactTopbarProgressIndicator.default, null), (0, _react2.jsx)(_reactRouterDom.Switch, null, (0, _react2.jsx)(_reactRouterDom.Redirect, {
172
+ }), ___EmotionJSX(AppMainContainer, null, isFetching && ___EmotionJSX(TopBarProgress, null), ___EmotionJSX(Switch, null, ___EmotionJSX(Redirect, {
180
173
  exact: true,
181
174
  from: "/",
182
175
  to: defaultPath
183
- }), (0, _react2.jsx)(_reactRouterDom.Redirect, {
176
+ }), ___EmotionJSX(Redirect, {
184
177
  exact: true,
185
178
  from: "/search/",
186
179
  to: defaultPath
187
- }), (0, _react2.jsx)(RouteInCollection, {
180
+ }), ___EmotionJSX(RouteInCollection, {
188
181
  exact: true,
189
182
  collections: collections,
190
183
  path: "/collections/:name/search/",
191
184
  render: ({
192
185
  match
193
- }) => (0, _react2.jsx)(_reactRouterDom.Redirect, {
186
+ }) => ___EmotionJSX(Redirect, {
194
187
  to: `/collections/${match.params.name}`
195
188
  })
196
- }), (0, _react2.jsx)(_reactRouterDom.Redirect
189
+ }), ___EmotionJSX(Redirect
197
190
  // This happens on Identity + Invite Only + External Provider email not matching
198
191
  // the registered user
199
192
  , {
200
193
  from: "/error=access_denied&error_description=Signups+not+allowed+for+this+instance",
201
194
  to: defaultPath
202
- }), hasWorkflow ? (0, _react2.jsx)(_reactRouterDom.Route, {
195
+ }), hasWorkflow ? ___EmotionJSX(Route, {
203
196
  path: "/workflow",
204
- component: _Workflow.default
205
- }) : null, (0, _react2.jsx)(RouteInCollection, {
197
+ component: Workflow
198
+ }) : null, ___EmotionJSX(RouteInCollection, {
206
199
  exact: true,
207
200
  collections: collections,
208
201
  path: "/collections/:name",
209
- render: props => (0, _react2.jsx)(_Collection.default, props)
210
- }), (0, _react2.jsx)(RouteInCollection, {
202
+ render: props => ___EmotionJSX(Collection, props)
203
+ }), ___EmotionJSX(RouteInCollection, {
211
204
  path: "/collections/:name/new",
212
205
  collections: collections,
213
- render: props => (0, _react2.jsx)(_Editor.default, _extends({}, props, {
206
+ render: props => ___EmotionJSX(Editor, _extends({}, props, {
214
207
  newRecord: true
215
208
  }))
216
- }), (0, _react2.jsx)(RouteInCollection, {
209
+ }), ___EmotionJSX(RouteInCollection, {
217
210
  path: "/collections/:name/entries/*",
218
211
  collections: collections,
219
- render: props => (0, _react2.jsx)(_Editor.default, props)
220
- }), (0, _react2.jsx)(RouteInCollection, {
212
+ render: props => ___EmotionJSX(Editor, props)
213
+ }), ___EmotionJSX(RouteInCollection, {
221
214
  path: "/collections/:name/search/:searchTerm",
222
215
  collections: collections,
223
- render: props => (0, _react2.jsx)(_Collection.default, _extends({}, props, {
216
+ render: props => ___EmotionJSX(Collection, _extends({}, props, {
224
217
  isSearchResults: true,
225
218
  isSingleSearchResult: true
226
219
  }))
227
- }), (0, _react2.jsx)(RouteInCollection, {
220
+ }), ___EmotionJSX(RouteInCollection, {
228
221
  collections: collections,
229
222
  path: "/collections/:name/filter/:filterTerm*",
230
- render: props => (0, _react2.jsx)(_Collection.default, props)
231
- }), (0, _react2.jsx)(_reactRouterDom.Route, {
223
+ render: props => ___EmotionJSX(Collection, props)
224
+ }), ___EmotionJSX(Route, {
232
225
  path: "/search/:searchTerm",
233
- render: props => (0, _react2.jsx)(_Collection.default, _extends({}, props, {
226
+ render: props => ___EmotionJSX(Collection, _extends({}, props, {
234
227
  isSearchResults: true
235
228
  }))
236
- }), (0, _react2.jsx)(RouteInCollection, {
229
+ }), ___EmotionJSX(RouteInCollection, {
237
230
  path: "/edit/:name/:entryName",
238
231
  collections: collections,
239
232
  render: ({
@@ -243,29 +236,29 @@ class App extends _react.default.Component {
243
236
  name,
244
237
  entryName
245
238
  } = match.params;
246
- return (0, _react2.jsx)(_reactRouterDom.Redirect, {
239
+ return ___EmotionJSX(Redirect, {
247
240
  to: `/collections/${name}/entries/${entryName}`
248
241
  });
249
242
  }
250
- }), (0, _react2.jsx)(_reactRouterDom.Route, {
251
- component: _NotFoundPage.default
252
- })), useMediaLibrary ? (0, _react2.jsx)(_MediaLibrary.default, null) : null));
243
+ }), ___EmotionJSX(Route, {
244
+ component: NotFoundPage
245
+ })), useMediaLibrary ? ___EmotionJSX(MediaLibrary, null) : null));
253
246
  }
254
247
  }
255
248
  _defineProperty(App, "propTypes", {
256
- auth: _propTypes.default.object.isRequired,
257
- config: _propTypes.default.object.isRequired,
258
- collections: _reactImmutableProptypes.default.map.isRequired,
259
- loginUser: _propTypes.default.func.isRequired,
260
- logoutUser: _propTypes.default.func.isRequired,
261
- user: _propTypes.default.object,
262
- isFetching: _propTypes.default.bool.isRequired,
263
- publishMode: _propTypes.default.oneOf([_publishModes.SIMPLE, _publishModes.EDITORIAL_WORKFLOW]),
264
- siteId: _propTypes.default.string,
265
- useMediaLibrary: _propTypes.default.bool,
266
- openMediaLibrary: _propTypes.default.func.isRequired,
267
- showMediaButton: _propTypes.default.bool,
268
- t: _propTypes.default.func.isRequired
249
+ auth: PropTypes.object.isRequired,
250
+ config: PropTypes.object.isRequired,
251
+ collections: ImmutablePropTypes.map.isRequired,
252
+ loginUser: PropTypes.func.isRequired,
253
+ logoutUser: PropTypes.func.isRequired,
254
+ user: PropTypes.object,
255
+ isFetching: PropTypes.bool.isRequired,
256
+ publishMode: PropTypes.oneOf([SIMPLE, EDITORIAL_WORKFLOW]),
257
+ siteId: PropTypes.string,
258
+ useMediaLibrary: PropTypes.bool,
259
+ openMediaLibrary: PropTypes.func.isRequired,
260
+ showMediaButton: PropTypes.bool,
261
+ t: PropTypes.func.isRequired
269
262
  });
270
263
  function mapStateToProps(state) {
271
264
  const {
@@ -292,8 +285,8 @@ function mapStateToProps(state) {
292
285
  };
293
286
  }
294
287
  const mapDispatchToProps = {
295
- openMediaLibrary: _mediaLibrary.openMediaLibrary,
296
- loginUser: _auth.loginUser,
297
- logoutUser: _auth.logoutUser
288
+ openMediaLibrary,
289
+ loginUser,
290
+ logoutUser
298
291
  };
299
- var _default = exports.default = (0, _reactRedux.connect)(mapStateToProps, mapDispatchToProps)((0, _reactPolyglot.translate)()(App));
292
+ export default connect(mapStateToProps, mapDispatchToProps)(translate()(App));