@kepler.gl/localization 3.3.0-alpha.1 → 3.3.0-alpha.11

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 (44) hide show
  1. package/dist/cjs/formatted-message.js +27 -0
  2. package/dist/{index.js → cjs/index.js} +1 -1
  3. package/dist/{locales.js → cjs/locales.js} +1 -1
  4. package/dist/cjs/messages.js +46 -0
  5. package/dist/cjs/translations/ca.js +746 -0
  6. package/dist/cjs/translations/cn.js +747 -0
  7. package/dist/cjs/translations/en.js +794 -0
  8. package/dist/cjs/translations/es.js +746 -0
  9. package/dist/cjs/translations/fi.js +745 -0
  10. package/dist/cjs/translations/ja.js +745 -0
  11. package/dist/cjs/translations/pt.js +747 -0
  12. package/dist/cjs/translations/ru.js +747 -0
  13. package/dist/esm/formatted-message.js +20 -0
  14. package/dist/esm/index.js +7 -0
  15. package/dist/esm/locales.js +42 -0
  16. package/dist/esm/messages.js +43 -0
  17. package/dist/esm/translations/ca.js +741 -0
  18. package/dist/esm/translations/cn.js +742 -0
  19. package/dist/esm/translations/en.js +789 -0
  20. package/dist/esm/translations/es.js +741 -0
  21. package/dist/esm/translations/fi.js +740 -0
  22. package/dist/esm/translations/ja.js +740 -0
  23. package/dist/esm/translations/pt.js +742 -0
  24. package/dist/esm/translations/ru.js +742 -0
  25. package/dist/formatted-message.d.ts +2 -2
  26. package/dist/translations/ca.d.ts +51 -0
  27. package/dist/translations/cn.d.ts +51 -0
  28. package/dist/translations/en.d.ts +69 -0
  29. package/dist/translations/es.d.ts +51 -0
  30. package/dist/translations/fi.d.ts +51 -0
  31. package/dist/translations/ja.d.ts +51 -0
  32. package/dist/translations/pt.d.ts +51 -0
  33. package/dist/translations/ru.d.ts +51 -0
  34. package/package.json +18 -11
  35. package/dist/formatted-message.js +0 -22
  36. package/dist/messages.js +0 -46
  37. package/dist/translations/ca.js +0 -695
  38. package/dist/translations/cn.js +0 -696
  39. package/dist/translations/en.js +0 -725
  40. package/dist/translations/es.js +0 -695
  41. package/dist/translations/fi.js +0 -694
  42. package/dist/translations/ja.js +0 -694
  43. package/dist/translations/pt.js +0 -696
  44. package/dist/translations/ru.js +0 -696
@@ -0,0 +1,20 @@
1
+ import _extends from "@babel/runtime/helpers/esm/extends";
2
+ // SPDX-License-Identifier: MIT
3
+ // Copyright contributors to the kepler.gl project
4
+
5
+ import React from 'react';
6
+ import { FormattedMessage } from 'react-intl';
7
+ var EnhancedFormattedMessage = function EnhancedFormattedMessage(props) {
8
+ var _props$values;
9
+ return /*#__PURE__*/React.createElement(FormattedMessage
10
+ // Use id as default Message to prevent error being thrown
11
+ , _extends({
12
+ defaultMessage: props.defaultMessage || props.id,
13
+ id: props.id,
14
+ values: (_props$values = props.values) !== null && _props$values !== void 0 ? _props$values : undefined
15
+ }, props.children ? {
16
+ children: props.children
17
+ } : {}));
18
+ };
19
+ export default EnhancedFormattedMessage;
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIkZvcm1hdHRlZE1lc3NhZ2UiLCJFbmhhbmNlZEZvcm1hdHRlZE1lc3NhZ2UiLCJwcm9wcyIsIl9wcm9wcyR2YWx1ZXMiLCJjcmVhdGVFbGVtZW50IiwiX2V4dGVuZHMiLCJkZWZhdWx0TWVzc2FnZSIsImlkIiwidmFsdWVzIiwidW5kZWZpbmVkIiwiY2hpbGRyZW4iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvZm9ybWF0dGVkLW1lc3NhZ2UudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBNSVRcbi8vIENvcHlyaWdodCBjb250cmlidXRvcnMgdG8gdGhlIGtlcGxlci5nbCBwcm9qZWN0XG5cbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5pbXBvcnQge0Zvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJ3JlYWN0LWludGwnO1xuXG50eXBlIEVuaGFuY2VkRm9ybWF0dGVkTWVzc2FnZVByb3BzID0ge1xuICBpZDogc3RyaW5nO1xuICBkZWZhdWx0TWVzc2FnZT86IHN0cmluZztcbiAgZGVmYXVsdFZhbHVlPzogc3RyaW5nO1xuICB2YWx1ZXM/OiB7XG4gICAgW2tleTogc3RyaW5nXTogUmVhY3QuUmVhY3ROb2RlO1xuICB9O1xuICBjaGlsZHJlbj86IChjaHVua3M6IFJlYWN0LlJlYWN0Tm9kZVtdKSA9PiBSZWFjdC5SZWFjdEVsZW1lbnQ7XG59O1xuXG5jb25zdCBFbmhhbmNlZEZvcm1hdHRlZE1lc3NhZ2U6IFJlYWN0LkZDPEVuaGFuY2VkRm9ybWF0dGVkTWVzc2FnZVByb3BzPiA9IHByb3BzID0+IChcbiAgPEZvcm1hdHRlZE1lc3NhZ2VcbiAgICAvLyBVc2UgaWQgYXMgZGVmYXVsdCBNZXNzYWdlIHRvIHByZXZlbnQgZXJyb3IgYmVpbmcgdGhyb3duXG4gICAgZGVmYXVsdE1lc3NhZ2U9e3Byb3BzLmRlZmF1bHRNZXNzYWdlIHx8IHByb3BzLmlkfVxuICAgIGlkPXtwcm9wcy5pZH1cbiAgICB2YWx1ZXM9e3Byb3BzLnZhbHVlcyA/PyB1bmRlZmluZWR9XG4gICAgey4uLihwcm9wcy5jaGlsZHJlbiA/IHtjaGlsZHJlbjogcHJvcHMuY2hpbGRyZW4gYXMgYW55fSA6IHt9KX1cbiAgLz5cbik7XG5cbmV4cG9ydCBkZWZhdWx0IEVuaGFuY2VkRm9ybWF0dGVkTWVzc2FnZTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7O0FBRUEsT0FBT0EsS0FBSyxNQUFNLE9BQU87QUFDekIsU0FBUUMsZ0JBQWdCLFFBQU8sWUFBWTtBQVkzQyxJQUFNQyx3QkFBaUUsR0FBRyxTQUFwRUEsd0JBQWlFQSxDQUFHQyxLQUFLO0VBQUEsSUFBQUMsYUFBQTtFQUFBLG9CQUM3RUosS0FBQSxDQUFBSyxhQUFBLENBQUNKO0VBQ0M7RUFBQSxFQUFBSyxRQUFBO0lBQ0FDLGNBQWMsRUFBRUosS0FBSyxDQUFDSSxjQUFjLElBQUlKLEtBQUssQ0FBQ0ssRUFBRztJQUNqREEsRUFBRSxFQUFFTCxLQUFLLENBQUNLLEVBQUc7SUFDYkMsTUFBTSxHQUFBTCxhQUFBLEdBQUVELEtBQUssQ0FBQ00sTUFBTSxjQUFBTCxhQUFBLGNBQUFBLGFBQUEsR0FBSU07RUFBVSxHQUM3QlAsS0FBSyxDQUFDUSxRQUFRLEdBQUc7SUFBQ0EsUUFBUSxFQUFFUixLQUFLLENBQUNRO0VBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUM3RCxDQUFDO0FBQUEsQ0FDSDtBQUVELGVBQWVULHdCQUF3QiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,7 @@
1
+ // SPDX-License-Identifier: MIT
2
+ // Copyright contributors to the kepler.gl project
3
+
4
+ export { messages } from './messages';
5
+ export { LOCALE_CODES, LOCALES } from './locales';
6
+ export { default as FormattedMessage } from './formatted-message';
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtZXNzYWdlcyIsIkxPQ0FMRV9DT0RFUyIsIkxPQ0FMRVMiLCJkZWZhdWx0IiwiRm9ybWF0dGVkTWVzc2FnZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUXG4vLyBDb3B5cmlnaHQgY29udHJpYnV0b3JzIHRvIHRoZSBrZXBsZXIuZ2wgcHJvamVjdFxuXG5leHBvcnQge21lc3NhZ2VzfSBmcm9tICcuL21lc3NhZ2VzJztcbmV4cG9ydCB7TE9DQUxFX0NPREVTLCBMT0NBTEVTfSBmcm9tICcuL2xvY2FsZXMnO1xuZXhwb3J0IHtkZWZhdWx0IGFzIEZvcm1hdHRlZE1lc3NhZ2V9IGZyb20gJy4vZm9ybWF0dGVkLW1lc3NhZ2UnO1xuIl0sIm1hcHBpbmdzIjoiQUFBQTtBQUNBOztBQUVBLFNBQVFBLFFBQVEsUUFBTyxZQUFZO0FBQ25DLFNBQVFDLFlBQVksRUFBRUMsT0FBTyxRQUFPLFdBQVc7QUFDL0MsU0FBUUMsT0FBTyxJQUFJQyxnQkFBZ0IsUUFBTyxxQkFBcUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,42 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ // SPDX-License-Identifier: MIT
5
+ // Copyright contributors to the kepler.gl project
6
+
7
+ export var LOCALES = {
8
+ en: 'English',
9
+ fi: 'Suomi',
10
+ pt: 'Português',
11
+ es: 'Español',
12
+ ca: 'Català',
13
+ ja: '日本語',
14
+ cn: '简体中文',
15
+ ru: 'Русский'
16
+ };
17
+
18
+ /**
19
+ * Localization can be passed to `KeplerGl` via uiState `locale`.
20
+ * Available languages are `en` and `fi`. Default language is `en`
21
+ * @constant
22
+ * @public
23
+ * @example
24
+ * ```js
25
+ * import {combineReducers} from 'redux';
26
+ * import {LOCALE_CODES} from '@kepler.gl/localization';
27
+ *
28
+ * const customizedKeplerGlReducer = keplerGlReducer
29
+ * .initialState({
30
+ * uiState: {
31
+ * // use Finnish locale
32
+ * locale: LOCALE_CODES.fi
33
+ * }
34
+ * });
35
+ *
36
+ * ```
37
+ */
38
+
39
+ export var LOCALE_CODES = Object.keys(LOCALES).reduce(function (acc, key) {
40
+ return _objectSpread(_objectSpread({}, acc), {}, _defineProperty({}, key, key));
41
+ }, {});
42
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMT0NBTEVTIiwiZW4iLCJmaSIsInB0IiwiZXMiLCJjYSIsImphIiwiY24iLCJydSIsIkxPQ0FMRV9DT0RFUyIsIk9iamVjdCIsImtleXMiLCJyZWR1Y2UiLCJhY2MiLCJrZXkiLCJfb2JqZWN0U3ByZWFkIiwiX2RlZmluZVByb3BlcnR5Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvY2FsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuZXhwb3J0IGNvbnN0IExPQ0FMRVMgPSB7XG4gIGVuOiAnRW5nbGlzaCcsXG4gIGZpOiAnU3VvbWknLFxuICBwdDogJ1BvcnR1Z3XDqnMnLFxuICBlczogJ0VzcGHDsW9sJyxcbiAgY2E6ICdDYXRhbMOgJyxcbiAgamE6ICfml6XmnKzoqp4nLFxuICBjbjogJ+eugOS9k+S4reaWhycsXG4gIHJ1OiAn0KDRg9GB0YHQutC40LknXG59O1xuXG4vKipcbiAqIExvY2FsaXphdGlvbiBjYW4gYmUgcGFzc2VkIHRvIGBLZXBsZXJHbGAgdmlhIHVpU3RhdGUgYGxvY2FsZWAuXG4gKiBBdmFpbGFibGUgbGFuZ3VhZ2VzIGFyZSBgZW5gIGFuZCBgZmlgLiBEZWZhdWx0IGxhbmd1YWdlIGlzIGBlbmBcbiAqIEBjb25zdGFudFxuICogQHB1YmxpY1xuICogQGV4YW1wbGVcbiAqIGBgYGpzXG4gKiBpbXBvcnQge2NvbWJpbmVSZWR1Y2Vyc30gZnJvbSAncmVkdXgnO1xuICogaW1wb3J0IHtMT0NBTEVfQ09ERVN9IGZyb20gJ0BrZXBsZXIuZ2wvbG9jYWxpemF0aW9uJztcbiAqXG4gKiBjb25zdCBjdXN0b21pemVkS2VwbGVyR2xSZWR1Y2VyID0ga2VwbGVyR2xSZWR1Y2VyXG4gKiAgIC5pbml0aWFsU3RhdGUoe1xuICogICAgIHVpU3RhdGU6IHtcbiAqICAgICAgIC8vIHVzZSBGaW5uaXNoIGxvY2FsZVxuICogICAgICAgbG9jYWxlOiBMT0NBTEVfQ09ERVMuZmlcbiAqICAgICB9XG4gKiAgIH0pO1xuICpcbiAqIGBgYFxuICovXG5cbmV4cG9ydCB0eXBlIExvY2FsZUNvZGVzVHlwZSA9IHtcbiAgW2tleTogc3RyaW5nXTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IExPQ0FMRV9DT0RFUzogTG9jYWxlQ29kZXNUeXBlID0gT2JqZWN0LmtleXMoTE9DQUxFUykucmVkdWNlKFxuICAoYWNjLCBrZXkpID0+ICh7Li4uYWNjLCBba2V5XToga2V5fSksXG4gIHt9XG4pO1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFBQTtBQUNBOztBQUVBLE9BQU8sSUFBTUEsT0FBTyxHQUFHO0VBQ3JCQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsT0FBTztFQUNYQyxFQUFFLEVBQUUsV0FBVztFQUNmQyxFQUFFLEVBQUUsU0FBUztFQUNiQyxFQUFFLEVBQUUsUUFBUTtFQUNaQyxFQUFFLEVBQUUsS0FBSztFQUNUQyxFQUFFLEVBQUUsTUFBTTtFQUNWQyxFQUFFLEVBQUU7QUFDTixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0FBTUEsT0FBTyxJQUFNQyxZQUE2QixHQUFHQyxNQUFNLENBQUNDLElBQUksQ0FBQ1gsT0FBTyxDQUFDLENBQUNZLE1BQU0sQ0FDdEUsVUFBQ0MsR0FBRyxFQUFFQyxHQUFHO0VBQUEsT0FBQUMsYUFBQSxDQUFBQSxhQUFBLEtBQVVGLEdBQUcsT0FBQUcsZUFBQSxLQUFHRixHQUFHLEVBQUdBLEdBQUc7QUFBQSxDQUFFLEVBQ3BDLENBQUMsQ0FDSCxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,43 @@
1
+ import _defineProperty from "@babel/runtime/helpers/esm/defineProperty";
2
+ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
3
+ function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
4
+ // SPDX-License-Identifier: MIT
5
+ // Copyright contributors to the kepler.gl project
6
+
7
+ import en from './translations/en';
8
+ import fi from './translations/fi';
9
+ import pt from './translations/pt';
10
+ import es from './translations/es';
11
+ import ca from './translations/ca';
12
+ import cn from './translations/cn';
13
+ import ja from './translations/ja';
14
+ import ru from './translations/ru';
15
+
16
+ // Flat messages since react-intl does not seem to support nested structures
17
+ // Adapted from https://medium.com/siren-apparel-press/internationalization-and-localization-of-sirenapparel-eu-sirenapparel-us-and-sirenapparel-asia-ddee266066a2
18
+ var _flattenMessages = function flattenMessages(nestedMessages) {
19
+ var prefix = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';
20
+ return Object.keys(nestedMessages).reduce(function (messages, key) {
21
+ var value = nestedMessages[key];
22
+ var prefixedKey = prefix ? "".concat(prefix, ".").concat(key) : key;
23
+ if (typeof value === 'string') {
24
+ messages[prefixedKey] = value;
25
+ } else {
26
+ Object.assign(messages, _flattenMessages(value, prefixedKey));
27
+ }
28
+ return messages;
29
+ }, {});
30
+ };
31
+ export { _flattenMessages as flattenMessages };
32
+ var enFlat = _flattenMessages(en);
33
+ export var messages = {};
34
+ messages.en = enFlat;
35
+ messages.fi = _objectSpread(_objectSpread({}, enFlat), _flattenMessages(fi));
36
+ messages.pt = _objectSpread(_objectSpread({}, enFlat), _flattenMessages(pt));
37
+ messages.es = _objectSpread(_objectSpread({}, enFlat), _flattenMessages(es));
38
+ messages.ca = _objectSpread(_objectSpread({}, enFlat), _flattenMessages(ca));
39
+ messages.cn = _objectSpread(_objectSpread({}, enFlat), _flattenMessages(cn));
40
+ messages.ja = _objectSpread(_objectSpread({}, enFlat), _flattenMessages(ja));
41
+ messages.ru = _objectSpread(_objectSpread({}, enFlat), _flattenMessages(ru));
42
+ export default messages;
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJlbiIsImZpIiwicHQiLCJlcyIsImNhIiwiY24iLCJqYSIsInJ1IiwiZmxhdHRlbk1lc3NhZ2VzIiwibmVzdGVkTWVzc2FnZXMiLCJwcmVmaXgiLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJPYmplY3QiLCJrZXlzIiwicmVkdWNlIiwibWVzc2FnZXMiLCJrZXkiLCJ2YWx1ZSIsInByZWZpeGVkS2V5IiwiY29uY2F0IiwiYXNzaWduIiwiX2ZsYXR0ZW5NZXNzYWdlcyIsImVuRmxhdCIsIl9vYmplY3RTcHJlYWQiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvbWVzc2FnZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IE1JVFxuLy8gQ29weXJpZ2h0IGNvbnRyaWJ1dG9ycyB0byB0aGUga2VwbGVyLmdsIHByb2plY3RcblxuaW1wb3J0IGVuIGZyb20gJy4vdHJhbnNsYXRpb25zL2VuJztcbmltcG9ydCBmaSBmcm9tICcuL3RyYW5zbGF0aW9ucy9maSc7XG5pbXBvcnQgcHQgZnJvbSAnLi90cmFuc2xhdGlvbnMvcHQnO1xuaW1wb3J0IGVzIGZyb20gJy4vdHJhbnNsYXRpb25zL2VzJztcbmltcG9ydCBjYSBmcm9tICcuL3RyYW5zbGF0aW9ucy9jYSc7XG5pbXBvcnQgY24gZnJvbSAnLi90cmFuc2xhdGlvbnMvY24nO1xuaW1wb3J0IGphIGZyb20gJy4vdHJhbnNsYXRpb25zL2phJztcbmltcG9ydCBydSBmcm9tICcuL3RyYW5zbGF0aW9ucy9ydSc7XG5cbi8vIEZsYXQgbWVzc2FnZXMgc2luY2UgcmVhY3QtaW50bCBkb2VzIG5vdCBzZWVtIHRvIHN1cHBvcnQgbmVzdGVkIHN0cnVjdHVyZXNcbi8vIEFkYXB0ZWQgZnJvbSBodHRwczovL21lZGl1bS5jb20vc2lyZW4tYXBwYXJlbC1wcmVzcy9pbnRlcm5hdGlvbmFsaXphdGlvbi1hbmQtbG9jYWxpemF0aW9uLW9mLXNpcmVuYXBwYXJlbC1ldS1zaXJlbmFwcGFyZWwtdXMtYW5kLXNpcmVuYXBwYXJlbC1hc2lhLWRkZWUyNjYwNjZhMlxuZXhwb3J0IGNvbnN0IGZsYXR0ZW5NZXNzYWdlcyA9IChcbiAgbmVzdGVkTWVzc2FnZXMsXG4gIHByZWZpeCA9ICcnXG4pOiB7XG4gIFtrZXk6IHN0cmluZ106IHN0cmluZztcbn0gPT4ge1xuICByZXR1cm4gT2JqZWN0LmtleXMobmVzdGVkTWVzc2FnZXMpLnJlZHVjZSgobWVzc2FnZXMsIGtleSkgPT4ge1xuICAgIGNvbnN0IHZhbHVlID0gbmVzdGVkTWVzc2FnZXNba2V5XTtcbiAgICBjb25zdCBwcmVmaXhlZEtleSA9IHByZWZpeCA/IGAke3ByZWZpeH0uJHtrZXl9YCA6IGtleTtcbiAgICBpZiAodHlwZW9mIHZhbHVlID09PSAnc3RyaW5nJykge1xuICAgICAgbWVzc2FnZXNbcHJlZml4ZWRLZXldID0gdmFsdWU7XG4gICAgfSBlbHNlIHtcbiAgICAgIE9iamVjdC5hc3NpZ24obWVzc2FnZXMsIGZsYXR0ZW5NZXNzYWdlcyh2YWx1ZSwgcHJlZml4ZWRLZXkpKTtcbiAgICB9XG4gICAgcmV0dXJuIG1lc3NhZ2VzO1xuICB9LCB7fSk7XG59O1xuXG5jb25zdCBlbkZsYXQgPSBmbGF0dGVuTWVzc2FnZXMoZW4pO1xuXG5leHBvcnQgY29uc3QgbWVzc2FnZXM6IHtcbiAgW2tleTogc3RyaW5nXToge1xuICAgIFtrZXk6IHN0cmluZ106IHN0cmluZztcbiAgfTtcbn0gPSB7fTtcblxubWVzc2FnZXMuZW4gPSBlbkZsYXQ7XG5tZXNzYWdlcy5maSA9IHsuLi5lbkZsYXQsIC4uLmZsYXR0ZW5NZXNzYWdlcyhmaSl9O1xubWVzc2FnZXMucHQgPSB7Li4uZW5GbGF0LCAuLi5mbGF0dGVuTWVzc2FnZXMocHQpfTtcbm1lc3NhZ2VzLmVzID0gey4uLmVuRmxhdCwgLi4uZmxhdHRlbk1lc3NhZ2VzKGVzKX07XG5tZXNzYWdlcy5jYSA9IHsuLi5lbkZsYXQsIC4uLmZsYXR0ZW5NZXNzYWdlcyhjYSl9O1xubWVzc2FnZXMuY24gPSB7Li4uZW5GbGF0LCAuLi5mbGF0dGVuTWVzc2FnZXMoY24pfTtcbm1lc3NhZ2VzLmphID0gey4uLmVuRmxhdCwgLi4uZmxhdHRlbk1lc3NhZ2VzKGphKX07XG5tZXNzYWdlcy5ydSA9IHsuLi5lbkZsYXQsIC4uLmZsYXR0ZW5NZXNzYWdlcyhydSl9O1xuXG5leHBvcnQgZGVmYXVsdCBtZXNzYWdlcztcbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQTs7QUFFQSxPQUFPQSxFQUFFLE1BQU0sbUJBQW1CO0FBQ2xDLE9BQU9DLEVBQUUsTUFBTSxtQkFBbUI7QUFDbEMsT0FBT0MsRUFBRSxNQUFNLG1CQUFtQjtBQUNsQyxPQUFPQyxFQUFFLE1BQU0sbUJBQW1CO0FBQ2xDLE9BQU9DLEVBQUUsTUFBTSxtQkFBbUI7QUFDbEMsT0FBT0MsRUFBRSxNQUFNLG1CQUFtQjtBQUNsQyxPQUFPQyxFQUFFLE1BQU0sbUJBQW1CO0FBQ2xDLE9BQU9DLEVBQUUsTUFBTSxtQkFBbUI7O0FBRWxDO0FBQ0E7QUFDTyxJQUFNQyxnQkFBZSxHQUFHLFNBQWxCQSxlQUFlQSxDQUMxQkMsY0FBYyxFQUlYO0VBQUEsSUFISEMsTUFBTSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxFQUFFO0VBSVgsT0FBT0csTUFBTSxDQUFDQyxJQUFJLENBQUNOLGNBQWMsQ0FBQyxDQUFDTyxNQUFNLENBQUMsVUFBQ0MsUUFBUSxFQUFFQyxHQUFHLEVBQUs7SUFDM0QsSUFBTUMsS0FBSyxHQUFHVixjQUFjLENBQUNTLEdBQUcsQ0FBQztJQUNqQyxJQUFNRSxXQUFXLEdBQUdWLE1BQU0sTUFBQVcsTUFBQSxDQUFNWCxNQUFNLE9BQUFXLE1BQUEsQ0FBSUgsR0FBRyxJQUFLQSxHQUFHO0lBQ3JELElBQUksT0FBT0MsS0FBSyxLQUFLLFFBQVEsRUFBRTtNQUM3QkYsUUFBUSxDQUFDRyxXQUFXLENBQUMsR0FBR0QsS0FBSztJQUMvQixDQUFDLE1BQU07TUFDTEwsTUFBTSxDQUFDUSxNQUFNLENBQUNMLFFBQVEsRUFBRVQsZ0JBQWUsQ0FBQ1csS0FBSyxFQUFFQyxXQUFXLENBQUMsQ0FBQztJQUM5RDtJQUNBLE9BQU9ILFFBQVE7RUFDakIsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDO0FBQ1IsQ0FBQztBQUFDLFNBQUFNLGdCQUFBLElBQUFmLGVBQUE7QUFFRixJQUFNZ0IsTUFBTSxHQUFHaEIsZ0JBQWUsQ0FBQ1IsRUFBRSxDQUFDO0FBRWxDLE9BQU8sSUFBTWlCLFFBSVosR0FBRyxDQUFDLENBQUM7QUFFTkEsUUFBUSxDQUFDakIsRUFBRSxHQUFHd0IsTUFBTTtBQUNwQlAsUUFBUSxDQUFDaEIsRUFBRSxHQUFBd0IsYUFBQSxDQUFBQSxhQUFBLEtBQU9ELE1BQU0sR0FBS2hCLGdCQUFlLENBQUNQLEVBQUUsQ0FBQyxDQUFDO0FBQ2pEZ0IsUUFBUSxDQUFDZixFQUFFLEdBQUF1QixhQUFBLENBQUFBLGFBQUEsS0FBT0QsTUFBTSxHQUFLaEIsZ0JBQWUsQ0FBQ04sRUFBRSxDQUFDLENBQUM7QUFDakRlLFFBQVEsQ0FBQ2QsRUFBRSxHQUFBc0IsYUFBQSxDQUFBQSxhQUFBLEtBQU9ELE1BQU0sR0FBS2hCLGdCQUFlLENBQUNMLEVBQUUsQ0FBQyxDQUFDO0FBQ2pEYyxRQUFRLENBQUNiLEVBQUUsR0FBQXFCLGFBQUEsQ0FBQUEsYUFBQSxLQUFPRCxNQUFNLEdBQUtoQixnQkFBZSxDQUFDSixFQUFFLENBQUMsQ0FBQztBQUNqRGEsUUFBUSxDQUFDWixFQUFFLEdBQUFvQixhQUFBLENBQUFBLGFBQUEsS0FBT0QsTUFBTSxHQUFLaEIsZ0JBQWUsQ0FBQ0gsRUFBRSxDQUFDLENBQUM7QUFDakRZLFFBQVEsQ0FBQ1gsRUFBRSxHQUFBbUIsYUFBQSxDQUFBQSxhQUFBLEtBQU9ELE1BQU0sR0FBS2hCLGdCQUFlLENBQUNGLEVBQUUsQ0FBQyxDQUFDO0FBQ2pEVyxRQUFRLENBQUNWLEVBQUUsR0FBQWtCLGFBQUEsQ0FBQUEsYUFBQSxLQUFPRCxNQUFNLEdBQUtoQixnQkFBZSxDQUFDRCxFQUFFLENBQUMsQ0FBQztBQUVqRCxlQUFlVSxRQUFRIiwiaWdub3JlTGlzdCI6W119