@kaspernj/api-maker 1.0.2072 → 1.0.2075

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 (215) hide show
  1. package/build/base-error.js +2 -2
  2. package/build/base-model/attribute.d.ts.map +1 -1
  3. package/build/base-model/attribute.js +1 -1
  4. package/build/base-model/column.d.ts.map +1 -1
  5. package/build/base-model/column.js +1 -1
  6. package/build/base-model/reflection.js +2 -2
  7. package/build/base-model/scope.js +2 -2
  8. package/build/base-model.js +25 -25
  9. package/build/bootstrap/attribute-row.js +11 -10
  10. package/build/bootstrap/attribute-rows.js +7 -6
  11. package/build/bootstrap/card.js +9 -9
  12. package/build/bootstrap/checkbox.js +5 -5
  13. package/build/bootstrap/checkboxes.js +16 -10
  14. package/build/bootstrap/input.d.ts +4 -1
  15. package/build/bootstrap/input.js +7 -7
  16. package/build/bootstrap/invalid-feedback.js +3 -3
  17. package/build/bootstrap/paginate.js +40 -25
  18. package/build/bootstrap/radio-buttons.d.ts +4 -1
  19. package/build/bootstrap/radio-buttons.js +10 -6
  20. package/build/bootstrap/select.d.ts +4 -1
  21. package/build/bootstrap/select.js +5 -5
  22. package/build/bootstrap/sort-link.js +19 -13
  23. package/build/cable-connection-pool.d.ts.map +1 -1
  24. package/build/cable-connection-pool.js +23 -20
  25. package/build/cable-subscription-pool.d.ts.map +1 -1
  26. package/build/cable-subscription-pool.js +9 -6
  27. package/build/cache-key-generator.d.ts.map +1 -1
  28. package/build/cache-key-generator.js +7 -9
  29. package/build/channels-consumer.js +2 -2
  30. package/build/collection-loader.js +6 -6
  31. package/build/collection.d.ts.map +1 -1
  32. package/build/collection.js +9 -8
  33. package/build/command-submit-data.d.ts.map +1 -1
  34. package/build/command-submit-data.js +21 -23
  35. package/build/commands-pool.d.ts.map +1 -1
  36. package/build/commands-pool.js +12 -10
  37. package/build/config.js +2 -2
  38. package/build/deserializer.js +3 -3
  39. package/build/devise.js +5 -5
  40. package/build/draggable-sort/controller.d.ts.map +1 -1
  41. package/build/draggable-sort/controller.js +5 -4
  42. package/build/draggable-sort/index.js +14 -9
  43. package/build/draggable-sort/item.js +8 -7
  44. package/build/error-logger.d.ts.map +1 -1
  45. package/build/error-logger.js +5 -5
  46. package/build/event-connection.d.ts.map +1 -1
  47. package/build/event-connection.js +2 -2
  48. package/build/event-model-class.d.ts +1 -1
  49. package/build/event-model-class.d.ts.map +1 -1
  50. package/build/event-model-class.js +5 -3
  51. package/build/form.d.ts.map +1 -1
  52. package/build/form.js +10 -11
  53. package/build/history-expo.js +3 -3
  54. package/build/history-react-native.js +2 -2
  55. package/build/inputs/attachment.js +8 -6
  56. package/build/inputs/auto-submit.js +4 -6
  57. package/build/inputs/checkbox.js +5 -4
  58. package/build/inputs/checkboxes.d.ts +4 -1
  59. package/build/inputs/checkboxes.js +19 -12
  60. package/build/inputs/id-for-component.d.ts.map +1 -1
  61. package/build/inputs/id-for-component.js +6 -2
  62. package/build/inputs/input-wrapper.d.ts +4 -1
  63. package/build/inputs/input-wrapper.d.ts.map +1 -1
  64. package/build/inputs/input-wrapper.js +8 -4
  65. package/build/inputs/input.d.ts +4 -1
  66. package/build/inputs/input.d.ts.map +1 -1
  67. package/build/inputs/input.js +11 -10
  68. package/build/inputs/money.js +12 -10
  69. package/build/inputs/select.d.ts +4 -1
  70. package/build/inputs/select.d.ts.map +1 -1
  71. package/build/inputs/select.js +9 -12
  72. package/build/is-expo.d.ts.map +1 -1
  73. package/build/is-expo.js +3 -2
  74. package/build/key-value-store.js +2 -2
  75. package/build/link.js +12 -9
  76. package/build/logger.d.ts.map +1 -1
  77. package/build/logger.js +8 -7
  78. package/build/modal.js +6 -5
  79. package/build/model-class-require.js +2 -2
  80. package/build/model-name.js +2 -2
  81. package/build/model-prop-type.d.ts.map +1 -1
  82. package/build/model-prop-type.js +3 -2
  83. package/build/model-recipes-model-loader.d.ts +0 -1
  84. package/build/model-recipes-model-loader.d.ts.map +1 -1
  85. package/build/model-recipes-model-loader.js +3 -3
  86. package/build/models-response-reader.js +2 -2
  87. package/build/models.js +2 -2
  88. package/build/params.js +2 -2
  89. package/build/router/route.d.ts.map +1 -1
  90. package/build/router/route.js +10 -9
  91. package/build/router/switch.d.ts.map +1 -1
  92. package/build/router/switch.js +5 -4
  93. package/build/router.d.ts.map +1 -1
  94. package/build/router.js +4 -3
  95. package/build/routes-native.d.ts.map +1 -1
  96. package/build/routes-native.js +14 -11
  97. package/build/routes.js +4 -4
  98. package/build/serializer.js +2 -2
  99. package/build/session-status-updater.js +6 -6
  100. package/build/source-maps-loader.js +2 -2
  101. package/build/super-admin/edit-page/edit-attribute-checkbox.js +2 -1
  102. package/build/super-admin/edit-page/edit-attribute-content.js +2 -1
  103. package/build/super-admin/edit-page/edit-attribute-input.js +6 -9
  104. package/build/super-admin/edit-page/edit-attribute.js +4 -3
  105. package/build/super-admin/edit-page.js +12 -10
  106. package/build/super-admin/index-page.js +2 -1
  107. package/build/super-admin/index.js +6 -3
  108. package/build/super-admin/layout/header/index.d.ts.map +1 -1
  109. package/build/super-admin/layout/header/index.js +2 -1
  110. package/build/super-admin/layout/index.js +4 -3
  111. package/build/super-admin/layout/menu/index.d.ts.map +1 -1
  112. package/build/super-admin/layout/menu/index.js +2 -1
  113. package/build/super-admin/layout/menu/menu-content.js +2 -1
  114. package/build/super-admin/layout/menu/menu-item.js +3 -2
  115. package/build/super-admin/layout/no-access.js +2 -1
  116. package/build/super-admin/model-class-table.js +2 -1
  117. package/build/super-admin/models.js +2 -2
  118. package/build/super-admin/show-nav.js +2 -1
  119. package/build/super-admin/show-page/belongs-to-attribute-row.js +2 -1
  120. package/build/super-admin/show-page/index.js +2 -1
  121. package/build/super-admin/show-reflection-actions.js +2 -1
  122. package/build/super-admin/show-reflection-link.js +3 -3
  123. package/build/super-admin/show-reflection-page.js +3 -2
  124. package/build/table/column-content.d.ts.map +1 -1
  125. package/build/table/column-content.js +2 -1
  126. package/build/table/components/column.js +4 -2
  127. package/build/table/components/flat-list.js +4 -2
  128. package/build/table/components/header.js +5 -3
  129. package/build/table/components/row.js +4 -2
  130. package/build/table/filters/attribute-element.js +2 -1
  131. package/build/table/filters/filter-form.js +5 -1
  132. package/build/table/filters/filter.js +2 -1
  133. package/build/table/filters/index.js +2 -1
  134. package/build/table/filters/load-search-modal.js +3 -1
  135. package/build/table/filters/reflection-element.js +2 -1
  136. package/build/table/filters/save-search-modal.js +2 -1
  137. package/build/table/filters/scope-element.js +2 -1
  138. package/build/table/header-column-content.js +2 -1
  139. package/build/table/header-column.js +3 -1
  140. package/build/table/header-select.js +2 -1
  141. package/build/table/model-column.js +2 -1
  142. package/build/table/model-row.js +3 -1
  143. package/build/table/select-calculator.d.ts.map +1 -1
  144. package/build/table/select-calculator.js +2 -1
  145. package/build/table/settings/column-row.js +2 -1
  146. package/build/table/settings/download-action.js +3 -2
  147. package/build/table/settings/index.js +2 -1
  148. package/build/table/table-settings.d.ts.map +1 -1
  149. package/build/table/table-settings.js +2 -1
  150. package/build/table/table.js +34 -15
  151. package/build/table/use-sorting.d.ts.map +1 -1
  152. package/build/table/use-sorting.js +2 -1
  153. package/build/table/widths.d.ts.map +1 -1
  154. package/build/table/widths.js +3 -2
  155. package/build/table/worker-plugins-check-all-checkbox.js +2 -1
  156. package/build/table/worker-plugins-checkbox.js +2 -1
  157. package/build/translated-collections.d.ts.map +1 -1
  158. package/build/translated-collections.js +2 -1
  159. package/build/updated-attribute.d.ts.map +1 -1
  160. package/build/updated-attribute.js +2 -1
  161. package/build/url-encode.d.ts.map +1 -1
  162. package/build/url-encode.js +2 -1
  163. package/build/use-breakpoint.d.ts.map +1 -1
  164. package/build/use-breakpoint.js +3 -1
  165. package/build/use-collection.d.ts.map +1 -1
  166. package/build/use-collection.js +2 -1
  167. package/build/use-created-event.d.ts.map +1 -1
  168. package/build/use-created-event.js +6 -4
  169. package/build/use-current-user-context.d.ts.map +1 -1
  170. package/build/use-current-user-context.js +7 -6
  171. package/build/use-current-user.d.ts.map +1 -1
  172. package/build/use-current-user.js +11 -4
  173. package/build/use-destroyed-event.d.ts.map +1 -1
  174. package/build/use-destroyed-event.js +6 -5
  175. package/build/use-event-emitter.d.ts.map +1 -1
  176. package/build/use-event-emitter.js +2 -1
  177. package/build/use-event-listener.d.ts.map +1 -1
  178. package/build/use-event-listener.js +3 -1
  179. package/build/use-input.d.ts.map +1 -1
  180. package/build/use-input.js +2 -1
  181. package/build/use-model-event.d.ts.map +1 -1
  182. package/build/use-model-event.js +3 -1
  183. package/build/use-model.d.ts.map +1 -1
  184. package/build/use-model.js +2 -1
  185. package/build/use-resize-observer.js +4 -4
  186. package/build/use-router.d.ts.map +1 -1
  187. package/build/use-router.js +6 -12
  188. package/build/use-screen-layout.d.ts.map +1 -1
  189. package/build/use-screen-layout.js +3 -8
  190. package/build/use-styles.d.ts.map +1 -1
  191. package/build/use-styles.js +3 -3
  192. package/build/use-updated-event.d.ts.map +1 -1
  193. package/build/use-updated-event.js +5 -6
  194. package/build/use-validation-errors.d.ts.map +1 -1
  195. package/build/use-validation-errors.js +1 -2
  196. package/build/utils/button.js +2 -1
  197. package/build/utils/card.js +2 -1
  198. package/build/utils/checkbox.js +2 -1
  199. package/build/utils/checkboxes.js +2 -1
  200. package/build/utils/header.d.ts.map +1 -1
  201. package/build/utils/header.js +2 -1
  202. package/build/utils/icon.js +2 -1
  203. package/build/utils/invalid-feedback.js +2 -1
  204. package/build/utils/modal.js +2 -1
  205. package/build/utils/text.js +2 -1
  206. package/build/validation-error.d.ts.map +1 -1
  207. package/build/validation-error.js +2 -1
  208. package/build/with-api-maker.js +1 -1
  209. package/build/with-collection.d.ts.map +1 -1
  210. package/build/with-collection.js +2 -1
  211. package/build/with-current-user.d.ts.map +1 -1
  212. package/build/with-current-user.js +2 -1
  213. package/build/with-model.d.ts.map +1 -1
  214. package/build/with-model.js +2 -1
  215. package/package.json +9 -11
@@ -1,11 +1,12 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
- import BaseComponent from "../base-component";
2
+ /* eslint-disable react/jsx-max-depth, sort-imports */
3
3
  import React, { createContext, useContext, useMemo } from "react";
4
- import memo from "set-state-compare/build/memo.js";
5
- import PropTypes from "prop-types";
6
- import propTypesExact from "prop-types-exact";
7
4
  import { shapeComponent } from "set-state-compare/build/shape-component.js";
8
5
  import Switch, { CurrentSwitchContext } from "./switch";
6
+ import BaseComponent from "../base-component";
7
+ import PropTypes from "prop-types";
8
+ import memo from "set-state-compare/build/memo.js";
9
+ import propTypesExact from "prop-types-exact";
9
10
  import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
10
11
  const CurrentPathContext = createContext([]);
11
12
  const ParamsContext = createContext({});
@@ -80,11 +81,11 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
80
81
  if (fallback) {
81
82
  pathId = "[FALLBACK]";
82
83
  }
83
- else if (!path) {
84
- pathId = "[PATH-EMPTY]";
84
+ else if (path) {
85
+ pathId = path;
85
86
  }
86
87
  else {
87
- pathId = path;
88
+ pathId = "[PATH-EMPTY]";
88
89
  }
89
90
  return pathId;
90
91
  }
@@ -136,7 +137,7 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
136
137
  if (component && includeInPath) {
137
138
  componentPathParts.push(component);
138
139
  }
139
- const newParams = Object.assign({}, this.currentParams, params);
140
+ const newParams = Object.assign({}, this.currentParams, params); // eslint-disable-line prefer-object-spread
140
141
  this.setInstance({ componentPathParts, match: { params }, newParams });
141
142
  this.setState({ matches });
142
143
  this.switchGroup?.setPathMatched(matchId, true);
@@ -190,4 +191,4 @@ const Route = memo(shapeComponent(class Route extends BaseComponent {
190
191
  }));
191
192
  export { RequireComponentContext, RouteContext, Switch, useParams };
192
193
  export default Route;
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sS0FBSyxFQUFFLEVBQUMsYUFBYSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDL0QsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLE1BQU0sRUFBRSxFQUFDLG9CQUFvQixFQUFDLE1BQU0sVUFBVSxDQUFBO0FBQ3JELE9BQU8sT0FBTyxNQUFNLG1DQUFtQyxDQUFBO0FBRXZELE1BQU0sa0JBQWtCLEdBQUcsYUFBYSxDQUFDLEVBQUUsQ0FBQyxDQUFBO0FBQzVDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUN2QyxNQUFNLHVCQUF1QixHQUFHLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtBQUNuRCxNQUFNLFlBQVksR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDeEMsTUFBTSxTQUFTLEdBQUcsR0FBRyxFQUFFLENBQUMsVUFBVSxDQUFDLGFBQWEsQ0FBQyxDQUFBO0FBRWpELE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxLQUFNLFNBQVEsYUFBYTtJQUNqRSxNQUFNLENBQUMsWUFBWSxHQUFHO1FBQ3BCLEtBQUssRUFBRSxLQUFLO1FBQ1osUUFBUSxFQUFFLEtBQUs7UUFDZixhQUFhLEVBQUUsSUFBSTtLQUNwQixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsUUFBUSxFQUFFLFNBQVMs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QUksQ0FBQyxHQUFHLENBQUMsWUFDbkQsS0FBQyxhQUFhLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxTQUFTLFlBQ3RDLE1BQUMsTUFBTSxJQUFDLElBQUksRUFBRSxlQUFlLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLGFBQy9DLFNBQVMsSUFBSSxLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEVBQ3hDLFFBQVEsSUFDRixHQUNjLEdBQ0gsR0FDSSxDQUMvQixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUE7QUFDakUsZUFBZSxLQUFLLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IFJlYWN0LCB7Y3JlYXRlQ29udGV4dCwgdXNlQ29udGV4dCwgdXNlTWVtb30gZnJvbSBcInJlYWN0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFN3aXRjaCwge0N1cnJlbnRTd2l0Y2hDb250ZXh0fSBmcm9tIFwiLi9zd2l0Y2hcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5cbmNvbnN0IEN1cnJlbnRQYXRoQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQoW10pXG5jb25zdCBQYXJhbXNDb250ZXh0ID0gY3JlYXRlQ29udGV4dCh7fSlcbmNvbnN0IFJlcXVpcmVDb21wb25lbnRDb250ZXh0ID0gY3JlYXRlQ29udGV4dChudWxsKVxuY29uc3QgUm91dGVDb250ZXh0ID0gY3JlYXRlQ29udGV4dChudWxsKVxuY29uc3QgdXNlUGFyYW1zID0gKCkgPT4gdXNlQ29udGV4dChQYXJhbXNDb250ZXh0KVxuXG5jb25zdCBSb3V0ZSA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgUm91dGUgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBleGFjdDogZmFsc2UsXG4gICAgZmFsbGJhY2s6IGZhbHNlLFxuICAgIGluY2x1ZGVJblBhdGg6IHRydWVcbiAgfVxuXG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBwcm9wVHlwZXNFeGFjdCh7XG4gICAgY2hpbGRyZW46IFByb3BUeXBlcy5hbnksXG4gICAgY29tcG9uZW50OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNvbXBvbmVudFBhdGg6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgZXhhY3Q6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgZmFsbGJhY2s6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgaW5jbHVkZUluUGF0aDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBvbk1hdGNoOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBwYXRoOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMuaW5zdGFuY2VPZihSZWdFeHApXSlcbiAgfSlcblxuICBtYXRjaCA9IG51bGxcbiAgbmV3UGFyYW1zID0gbnVsbFxuICBwYXRoUGFydHMgPSBudWxsXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5yb3V0ZXIucm91dGVcIn0pXG4gICAgY29uc3Qge3BhdGh9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHtwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwfSA9IHVzZUNvbnRleHQoQ3VycmVudFN3aXRjaENvbnRleHQpXG4gICAgY29uc3QgZ2l2ZW5Sb3V0ZSA9IHVzZUNvbnRleHQoUm91dGVDb250ZXh0KVxuICAgIGNvbnN0IHtwYXRoU2hvd259ID0gc3dpdGNoR3JvdXAuc1xuXG4gICAgdGhpcy5kZWJ1ZyA9IGZhbHNlXG4gICAgdGhpcy5sb2coKCkgPT4gKHtnaXZlblJvdXRlfSkpXG4gICAgdGhpcy50ID0gdFxuXG4gICAgdGhpcy5yZXF1aXJlQ29tcG9uZW50ID0gdXNlQ29udGV4dChSZXF1aXJlQ29tcG9uZW50Q29udGV4dClcbiAgICB0aGlzLmN1cnJlbnRQYXJhbXMgPSB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG4gICAgdGhpcy5jdXJyZW50UGF0aCA9IHVzZUNvbnRleHQoQ3VycmVudFBhdGhDb250ZXh0KVxuICAgIHRoaXMuc3dpdGNoR3JvdXAgPSBzd2l0Y2hHcm91cFxuICAgIHRoaXMucm91dGVQYXJ0cyA9IHVzZU1lbW8oKCkgPT4gZ2l2ZW5Sb3V0ZT8uc3BsaXQoXCIvXCIpLCBbcGF0aCwgZ2l2ZW5Sb3V0ZV0pXG4gICAgdGhpcy5wYXRoUGFydHMgPSB1c2VNZW1vKCgpID0+IHBhdGg/LnNwbGl0KFwiL1wiKSwgW3BhdGhdKVxuXG4gICAgdGhpcy5uZXdSb3V0ZVBhcnRzID0gdXNlTWVtbyhcbiAgICAgICgpID0+IHtcbiAgICAgICAgaWYgKCFwYXRoKSB7XG4gICAgICAgICAgaWYgKGdpdmVuUm91dGUgPT0gXCJcIikge1xuICAgICAgICAgICAgcmV0dXJuIFtdXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLnJvdXRlUGFydHNcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5yb3V0ZVBhcnRzLnNsaWNlKHRoaXMucGF0aFBhcnRzLmxlbmd0aCwgdGhpcy5yb3V0ZVBhcnRzLmxlbmd0aClcbiAgICAgIH0sXG4gICAgICBbZ2l2ZW5Sb3V0ZV0uY29uY2F0KHRoaXMucGF0aFBhcnRzKVxuICAgIClcblxuICAgIHRoaXMudXNlU3RhdGVzKHtDb21wb25lbnQ6IG51bGwsIGNvbXBvbmVudE5vdEZvdW5kOiBudWxsLCBtYXRjaGVzOiBmYWxzZX0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZE1hdGNoZXMoKVxuICAgIH0sIFtnaXZlblJvdXRlLCBwYXRoLCBwYXRoc01hdGNoZWRdKVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAodGhpcy5oYXNTd2l0Y2hNYXRjaCgpICYmICF0aGlzLnMuQ29tcG9uZW50ICYmIHRoaXMucy5tYXRjaGVzKSB7XG4gICAgICAgIGlmICh0aGlzLnByb3BzLm9uTWF0Y2gpIHtcbiAgICAgICAgICB0aGlzLnByb3BzLm9uTWF0Y2goKVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF0aGlzLnByb3BzLmNoaWxkcmVuICYmICh0aGlzLnByb3BzLnBhdGggfHwgdGhpcy5wcm9wcy5jb21wb25lbnQgfHwgdGhpcy5wcm9wcy5jb21wb25lbnRQYXRoKSkge1xuICAgICAgICAgIHRoaXMubG9hZENvbXBvbmVudCgpXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9LCBbcGF0aCwgcGF0aFNob3duLCB0aGlzLnMubWF0Y2hlc10pXG4gIH1cblxuICBoYXNTd2l0Y2hNYXRjaCA9ICgpID0+IHRoaXMuc3dpdGNoR3JvdXAucy5wYXRoU2hvd24gJiYgdGhpcy5zd2l0Y2hHcm91cC5zLnBhdGhTaG93biA9PSB0aGlzLnBhdGhJZCgpXG5cbiAgcGF0aElkKCkge1xuICAgIGNvbnN0IHtmYWxsYmFja30gPSB0aGlzLnBcbiAgICBjb25zdCB7cGF0aH0gPSB0aGlzLnByb3BzXG4gICAgbGV0IHBhdGhJZFxuXG4gICAgaWYgKGZhbGxiYWNrKSB7XG4gICAgICBwYXRoSWQgPSBcIltGQUxMQkFDS11cIlxuICAgIH0gZWxzZSBpZiAoIXBhdGgpIHtcbiAgICAgIHBhdGhJZCA9IFwiW1BBVEgtRU1QVFldXCJcbiAgICB9IGVsc2Uge1xuICAgICAgcGF0aElkID0gcGF0aFxuICAgIH1cblxuICAgIHJldHVybiBwYXRoSWRcbiAgfVxuXG4gIGxvYWRNYXRjaGVzKCkge1xuICAgIGNvbnN0IHtuZXdSb3V0ZVBhcnRzLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y29tcG9uZW50LCBwYXRofSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7ZXhhY3QsIGluY2x1ZGVJblBhdGgsIGZhbGxiYWNrfSA9IHRoaXMucFxuXG4gICAgbGV0IG1hdGNoZXMgPSB0cnVlXG4gICAgY29uc3QgcGFyYW1zID0ge31cbiAgICBjb25zdCBjb21wb25lbnRQYXRoUGFydHMgPSBbLi4udGhpcy5jdXJyZW50UGF0aF1cblxuICAgIHRoaXMubG9nKCgpID0+IFt0aGlzLnByb3BzLnBhdGgsIFwiU3RhcnQgZ2VuZXJhdGluZyBjb21wb25lbnQgcGF0aHNcIiwgSlNPTi5zdHJpbmdpZnkoY29tcG9uZW50UGF0aFBhcnRzKV0pXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0SW5kZXggaW4gdGhpcy5wYXRoUGFydHMpIHtcbiAgICAgIGNvbnN0IHBhdGhQYXJ0ID0gdGhpcy5wYXRoUGFydHNbcGF0aFBhcnRJbmRleF1cbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWRQYXRoUGFydCA9IHQoYHJvdXRlcy4ke3BhdGhQYXJ0fWAsIHtkZWZhdWx0VmFsdWU6IHBhdGhQYXJ0fSlcblxuICAgICAgaWYgKCEocGF0aFBhcnRJbmRleCBpbiB0aGlzLnJvdXRlUGFydHMpKSB7XG4gICAgICAgIHRoaXMubG9nKCgpID0+IGBObyBtYXRjaCBmb3I6ICR7cGF0aFBhcnRJbmRleH1gKVxuICAgICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICAgICAgYnJlYWtcbiAgICAgIH1cblxuICAgICAgY29uc3Qgcm91dGVQYXJ0ID0gZGVjb2RlVVJJQ29tcG9uZW50KHRoaXMucm91dGVQYXJ0c1twYXRoUGFydEluZGV4XSlcblxuICAgICAgaWYgKHBhdGhQYXJ0LnN0YXJ0c1dpdGgoXCI6XCIpICYmIHJvdXRlUGFydCkge1xuICAgICAgICBjb25zdCBwYXJhbU5hbWUgPSBwYXRoUGFydC5zbGljZSgxLCBwYXRoUGFydC5sZW5ndGgpXG5cbiAgICAgICAgcGFyYW1zW3BhcmFtTmFtZV0gPSByb3V0ZVBhcnRcbiAgICAgIH0gZWxzZSBpZiAodHJhbnNsYXRlZFBhdGhQYXJ0ICE9IHJvdXRlUGFydCkge1xuICAgICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICAgICAgYnJlYWtcbiAgICAgIH0gZWxzZSBpZiAoIWNvbXBvbmVudCAmJiBpbmNsdWRlSW5QYXRoKSB7XG4gICAgICAgIGNvbXBvbmVudFBhdGhQYXJ0cy5wdXNoKHBhdGhQYXJ0KVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChleGFjdCAmJiBuZXdSb3V0ZVBhcnRzLmxlbmd0aCA+IDApIHtcbiAgICAgIHRoaXMubG9nKCgpID0+IFtcIkV4YWN0IGFuZCBtb3JlIHJvdXRlIHBhcnRzXCIsIHtuZXdSb3V0ZVBhcnRzLCBwYXRoUGFydHM6IHRoaXMucGF0aFBhcnRzLCByb3V0ZVBhcnRzOiB0aGlzLnJvdXRlUGFydHN9XSlcbiAgICAgIG1hdGNoZXMgPSBmYWxzZVxuICAgIH0gZWxzZSBpZiAobWF0Y2hlcyAmJiBwYXRoKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAodGhpcy5yb3V0ZVBhcnRzLmxlbmd0aCA9PSAwKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH1cblxuICAgIGNvbnN0IG1hdGNoSWQgPSB0aGlzLnBhdGhJZCgpXG5cbiAgICBpZiAoIW1hdGNoZXMgJiYgZmFsbGJhY2spIHtcbiAgICAgIG1hdGNoZXMgPSB0cnVlXG4gICAgfVxuXG4gICAgdGhpcy5sb2coKCkgPT4gW3RoaXMucHJvcHMucGF0aCwgXCJFbmQgZ2VuZXJhdGluZyBjb21wb25lbnQgcGF0aHNcIiwgSlNPTi5zdHJpbmdpZnkoY29tcG9uZW50UGF0aFBhcnRzKSwge21hdGNoZXN9XSlcblxuICAgIGlmIChtYXRjaGVzKSB7XG4gICAgICBpZiAoY29tcG9uZW50ICYmIGluY2x1ZGVJblBhdGgpIHtcbiAgICAgICAgY29tcG9uZW50UGF0aFBhcnRzLnB1c2goY29tcG9uZW50KVxuICAgICAgfVxuXG4gICAgICBjb25zdCBuZXdQYXJhbXMgPSBPYmplY3QuYXNzaWduKHt9LCB0aGlzLmN1cnJlbnRQYXJhbXMsIHBhcmFtcylcblxuICAgICAgdGhpcy5zZXRJbnN0YW5jZSh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaDoge3BhcmFtc30sIG5ld1BhcmFtc30pXG4gICAgICB0aGlzLnNldFN0YXRlKHttYXRjaGVzfSlcbiAgICAgIHRoaXMuc3dpdGNoR3JvdXA/LnNldFBhdGhNYXRjaGVkKG1hdGNoSWQsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0SW5zdGFuY2Uoe2NvbXBvbmVudFBhdGhQYXJ0czogbnVsbCwgbWF0Y2g6IG51bGwsIG5ld1BhcmFtczogbnVsbH0pXG4gICAgICB0aGlzLnNldFN0YXRlKHttYXRjaGVzfSlcbiAgICAgIHRoaXMuc3dpdGNoR3JvdXA/LnNldFBhdGhNYXRjaGVkKG1hdGNoSWQsIGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRDb21wb25lbnQoKSB7XG4gICAgY29uc3QgYWN0dWFsQ29tcG9uZW50UGF0aCA9IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCB8fCB0aGlzLnR0LmNvbXBvbmVudFBhdGhQYXJ0cy5qb2luKFwiL1wiKVxuICAgIGxldCBDb21wb25lbnRcblxuICAgIHRoaXMubG9nKCgpID0+IFtcImxvYWRDb21wb25lbnRcIiwge2NvbXBvbmVudFBhdGg6IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCwgY29tcG9uZW50UGF0aFBhcnRzOiB0aGlzLmNvbXBvbmVudFBhdGhQYXJ0cywgYWN0dWFsQ29tcG9uZW50UGF0aH1dKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEltcG9ydCA9IGF3YWl0IHRoaXMudHQucmVxdWlyZUNvbXBvbmVudCh7cm91dGVEZWZpbml0aW9uOiB7Y29tcG9uZW50OiBhY3R1YWxDb21wb25lbnRQYXRofX0pXG5cbiAgICAgIENvbXBvbmVudCA9IGNvbXBvbmVudEltcG9ydFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDb3VsZG4ndCBmaW5kIGNvbXBvbmVudDogJHthY3R1YWxDb21wb25lbnRQYXRofWApXG5cbiAgICAgIHRocm93IGVycm9yXG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7Q29tcG9uZW50LCBjb21wb25lbnROb3RGb3VuZDogIUNvbXBvbmVudH0pXG4gIH1cblxuICBsb2coY2FsbGJhY2tBcmdzKSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGxldCBhcmdzID0gY2FsbGJhY2tBcmdzKClcblxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFyZ3MpKSBhcmdzID0gW2FyZ3NdXG5cbiAgICAgIGNvbnNvbGUubG9nKC4uLmFyZ3MpXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXMsIG5ld1JvdXRlUGFydHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtjaGlsZHJlbiwgY29tcG9uZW50LCBwYXRofSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7Q29tcG9uZW50LCBjb21wb25lbnROb3RGb3VuZCwgbWF0Y2hlc30gPSB0aGlzLnNcblxuICAgIGlmICghbWF0Y2hlcyB8fCAhdGhpcy5oYXNTd2l0Y2hNYXRjaCgpKSB7XG4gICAgICAvLyBSb3V0ZSBpc24ndCBtYXRjaGluZyBhbmQgc2hvdWxkbid0IGJlIHJlbmRlcmVkIGF0IGFsbC5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgaWYgKCFDb21wb25lbnQgJiYgIWNoaWxkcmVuICYmICFjb21wb25lbnROb3RGb3VuZCkge1xuICAgICAgLy8gUm91dGUgaXMgbWF0Y2hpbmcgYnV0IGhhc24ndCBiZWVuIGxvYWRlZCB5ZXQuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIExvYWRpbmcge2NvbXBvbmVudCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGggfHwgY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIClcbiAgICB9XG5cbiAgICBpZiAoIUNvbXBvbmVudCAmJiAhY2hpbGRyZW4gJiYgY29tcG9uZW50Tm90Rm91bmQpIHtcbiAgICAgIC8vIERvbid0IHJlbmRlciBhbnl0aGluZyBpZiB0aGUgY29tcG9uZW50IGNvdWxkbid0IGJlIGZvdW5kLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEN1cnJlbnRQYXRoQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29tcG9uZW50UGF0aFBhcnRzfT5cbiAgICAgICAgPFJvdXRlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3Um91dGVQYXJ0cy5qb2luKFwiL1wiKX0+XG4gICAgICAgICAgPFBhcmFtc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e25ld1BhcmFtc30+XG4gICAgICAgICAgICA8U3dpdGNoIG5hbWU9e2Byb3V0ZS1ncm91cC0ke3BhdGh9YH0gc2luZ2xlPXtmYWxzZX0+XG4gICAgICAgICAgICAgIHtDb21wb25lbnQgJiYgPENvbXBvbmVudCBtYXRjaD17bWF0Y2h9IC8+fVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICA8L1BhcmFtc0NvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvUm91dGVDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgPC9DdXJyZW50UGF0aENvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG59KSlcblxuZXhwb3J0IHtSZXF1aXJlQ29tcG9uZW50Q29udGV4dCwgUm91dGVDb250ZXh0LCBTd2l0Y2gsIHVzZVBhcmFtc31cbmV4cG9ydCBkZWZhdWx0IFJvdXRlXG4iXX0=
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGUuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInJvdXRlci9yb3V0ZS5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHNEQUFzRDtBQUN0RCxPQUFPLEtBQUssRUFBRSxFQUFDLGFBQWEsRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQy9ELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLE1BQU0sRUFBRSxFQUFDLG9CQUFvQixFQUFDLE1BQU0sVUFBVSxDQUFBO0FBQ3JELE9BQU8sYUFBYSxNQUFNLG1CQUFtQixDQUFBO0FBQzdDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUV2RCxNQUFNLGtCQUFrQixHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUM1QyxNQUFNLGFBQWEsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUE7QUFDdkMsTUFBTSx1QkFBdUIsR0FBRyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUE7QUFDbkQsTUFBTSxZQUFZLEdBQUcsYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBO0FBQ3hDLE1BQU0sU0FBUyxHQUFHLEdBQUcsRUFBRSxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUVqRCxNQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sS0FBTSxTQUFRLGFBQWE7SUFDakUsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixLQUFLLEVBQUUsS0FBSztRQUNaLFFBQVEsRUFBRSxLQUFLO1FBQ2YsYUFBYSxFQUFFLElBQUk7S0FDcEIsQ0FBQTtJQUVELE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFFB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QVEsSUFBQyxLQUFLLEVBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsWUFDbkQsS0FBQyxhQUFhLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxTQUFTLFlBQ3RDLE1BQUMsTUFBTSxJQUFDLElBQUksRUFBRSxlQUFlLElBQUksRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLGFBQy9DLFNBQVMsSUFBSSxLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEVBQ3hDLFFBQVEsSUFDRixHQUNjLEdBQ0gsR0FDSSxDQUMvQixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLHVCQUF1QixFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsU0FBUyxFQUFDLENBQUE7QUFDakUsZUFBZSxLQUFLLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtbWF4LWRlcHRoLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge2NyZWF0ZUNvbnRleHQsIHVzZUNvbnRleHQsIHVzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBTd2l0Y2gsIHtDdXJyZW50U3dpdGNoQ29udGV4dH0gZnJvbSBcIi4vc3dpdGNoXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcblxuY29uc3QgQ3VycmVudFBhdGhDb250ZXh0ID0gY3JlYXRlQ29udGV4dChbXSlcbmNvbnN0IFBhcmFtc0NvbnRleHQgPSBjcmVhdGVDb250ZXh0KHt9KVxuY29uc3QgUmVxdWlyZUNvbXBvbmVudENvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCBSb3V0ZUNvbnRleHQgPSBjcmVhdGVDb250ZXh0KG51bGwpXG5jb25zdCB1c2VQYXJhbXMgPSAoKSA9PiB1c2VDb250ZXh0KFBhcmFtc0NvbnRleHQpXG5cbmNvbnN0IFJvdXRlID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBSb3V0ZSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgZGVmYXVsdFByb3BzID0ge1xuICAgIGV4YWN0OiBmYWxzZSxcbiAgICBmYWxsYmFjazogZmFsc2UsXG4gICAgaW5jbHVkZUluUGF0aDogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgICBjb21wb25lbnQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY29tcG9uZW50UGF0aDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBleGFjdDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBmYWxsYmFjazogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZCxcbiAgICBpbmNsdWRlSW5QYXRoOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG9uTWF0Y2g6IFByb3BUeXBlcy5mdW5jLFxuICAgIHBhdGg6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5zdHJpbmcsIFByb3BUeXBlcy5pbnN0YW5jZU9mKFJlZ0V4cCldKVxuICB9KVxuXG4gIG1hdGNoID0gbnVsbFxuICBuZXdQYXJhbXMgPSBudWxsXG4gIHBhdGhQYXJ0cyA9IG51bGxcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnJvdXRlci5yb3V0ZVwifSlcbiAgICBjb25zdCB7cGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZCwgc3dpdGNoR3JvdXB9ID0gdXNlQ29udGV4dChDdXJyZW50U3dpdGNoQ29udGV4dClcbiAgICBjb25zdCBnaXZlblJvdXRlID0gdXNlQ29udGV4dChSb3V0ZUNvbnRleHQpXG4gICAgY29uc3Qge3BhdGhTaG93bn0gPSBzd2l0Y2hHcm91cC5zXG5cbiAgICB0aGlzLmRlYnVnID0gZmFsc2VcbiAgICB0aGlzLmxvZygoKSA9PiAoe2dpdmVuUm91dGV9KSlcbiAgICB0aGlzLnQgPSB0XG5cbiAgICB0aGlzLnJlcXVpcmVDb21wb25lbnQgPSB1c2VDb250ZXh0KFJlcXVpcmVDb21wb25lbnRDb250ZXh0KVxuICAgIHRoaXMuY3VycmVudFBhcmFtcyA9IHVzZUNvbnRleHQoUGFyYW1zQ29udGV4dClcbiAgICB0aGlzLmN1cnJlbnRQYXRoID0gdXNlQ29udGV4dChDdXJyZW50UGF0aENvbnRleHQpXG4gICAgdGhpcy5zd2l0Y2hHcm91cCA9IHN3aXRjaEdyb3VwXG4gICAgdGhpcy5yb3V0ZVBhcnRzID0gdXNlTWVtbygoKSA9PiBnaXZlblJvdXRlPy5zcGxpdChcIi9cIiksIFtwYXRoLCBnaXZlblJvdXRlXSlcbiAgICB0aGlzLnBhdGhQYXJ0cyA9IHVzZU1lbW8oKCkgPT4gcGF0aD8uc3BsaXQoXCIvXCIpLCBbcGF0aF0pXG5cbiAgICB0aGlzLm5ld1JvdXRlUGFydHMgPSB1c2VNZW1vKFxuICAgICAgKCkgPT4ge1xuICAgICAgICBpZiAoIXBhdGgpIHtcbiAgICAgICAgICBpZiAoZ2l2ZW5Sb3V0ZSA9PSBcIlwiKSB7XG4gICAgICAgICAgICByZXR1cm4gW11cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHRoaXMucm91dGVQYXJ0c1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLnJvdXRlUGFydHMuc2xpY2UodGhpcy5wYXRoUGFydHMubGVuZ3RoLCB0aGlzLnJvdXRlUGFydHMubGVuZ3RoKVxuICAgICAgfSxcbiAgICAgIFtnaXZlblJvdXRlXS5jb25jYXQodGhpcy5wYXRoUGFydHMpXG4gICAgKVxuXG4gICAgdGhpcy51c2VTdGF0ZXMoe0NvbXBvbmVudDogbnVsbCwgY29tcG9uZW50Tm90Rm91bmQ6IG51bGwsIG1hdGNoZXM6IGZhbHNlfSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkTWF0Y2hlcygpXG4gICAgfSwgW2dpdmVuUm91dGUsIHBhdGgsIHBhdGhzTWF0Y2hlZF0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIGlmICh0aGlzLmhhc1N3aXRjaE1hdGNoKCkgJiYgIXRoaXMucy5Db21wb25lbnQgJiYgdGhpcy5zLm1hdGNoZXMpIHtcbiAgICAgICAgaWYgKHRoaXMucHJvcHMub25NYXRjaCkge1xuICAgICAgICAgIHRoaXMucHJvcHMub25NYXRjaCgpXG4gICAgICAgIH1cblxuICAgICAgICBpZiAoIXRoaXMucHJvcHMuY2hpbGRyZW4gJiYgKHRoaXMucHJvcHMucGF0aCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGgpKSB7XG4gICAgICAgICAgdGhpcy5sb2FkQ29tcG9uZW50KClcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sIFtwYXRoLCBwYXRoU2hvd24sIHRoaXMucy5tYXRjaGVzXSlcbiAgfVxuXG4gIGhhc1N3aXRjaE1hdGNoID0gKCkgPT4gdGhpcy5zd2l0Y2hHcm91cC5zLnBhdGhTaG93biAmJiB0aGlzLnN3aXRjaEdyb3VwLnMucGF0aFNob3duID09IHRoaXMucGF0aElkKClcblxuICBwYXRoSWQoKSB7XG4gICAgY29uc3Qge2ZhbGxiYWNrfSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMucHJvcHNcbiAgICBsZXQgcGF0aElkXG5cbiAgICBpZiAoZmFsbGJhY2spIHtcbiAgICAgIHBhdGhJZCA9IFwiW0ZBTExCQUNLXVwiXG4gICAgfSBlbHNlIGlmIChwYXRoKSB7XG4gICAgICBwYXRoSWQgPSBwYXRoXG4gICAgfSBlbHNlIHtcbiAgICAgIHBhdGhJZCA9IFwiW1BBVEgtRU1QVFldXCJcbiAgICB9XG5cbiAgICByZXR1cm4gcGF0aElkXG4gIH1cblxuICBsb2FkTWF0Y2hlcygpIHtcbiAgICBjb25zdCB7bmV3Um91dGVQYXJ0cywgdH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NvbXBvbmVudCwgcGF0aH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge2V4YWN0LCBpbmNsdWRlSW5QYXRoLCBmYWxsYmFja30gPSB0aGlzLnBcblxuICAgIGxldCBtYXRjaGVzID0gdHJ1ZVxuICAgIGNvbnN0IHBhcmFtcyA9IHt9XG4gICAgY29uc3QgY29tcG9uZW50UGF0aFBhcnRzID0gWy4uLnRoaXMuY3VycmVudFBhdGhdXG5cbiAgICB0aGlzLmxvZygoKSA9PiBbdGhpcy5wcm9wcy5wYXRoLCBcIlN0YXJ0IGdlbmVyYXRpbmcgY29tcG9uZW50IHBhdGhzXCIsIEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudFBhdGhQYXJ0cyldKVxuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydEluZGV4IGluIHRoaXMucGF0aFBhcnRzKSB7XG4gICAgICBjb25zdCBwYXRoUGFydCA9IHRoaXMucGF0aFBhcnRzW3BhdGhQYXJ0SW5kZXhdXG4gICAgICBjb25zdCB0cmFuc2xhdGVkUGF0aFBhcnQgPSB0KGByb3V0ZXMuJHtwYXRoUGFydH1gLCB7ZGVmYXVsdFZhbHVlOiBwYXRoUGFydH0pXG5cbiAgICAgIGlmICghKHBhdGhQYXJ0SW5kZXggaW4gdGhpcy5yb3V0ZVBhcnRzKSkge1xuICAgICAgICB0aGlzLmxvZygoKSA9PiBgTm8gbWF0Y2ggZm9yOiAke3BhdGhQYXJ0SW5kZXh9YClcbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGJyZWFrXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHJvdXRlUGFydCA9IGRlY29kZVVSSUNvbXBvbmVudCh0aGlzLnJvdXRlUGFydHNbcGF0aFBhcnRJbmRleF0pXG5cbiAgICAgIGlmIChwYXRoUGFydC5zdGFydHNXaXRoKFwiOlwiKSAmJiByb3V0ZVBhcnQpIHtcbiAgICAgICAgY29uc3QgcGFyYW1OYW1lID0gcGF0aFBhcnQuc2xpY2UoMSwgcGF0aFBhcnQubGVuZ3RoKVxuXG4gICAgICAgIHBhcmFtc1twYXJhbU5hbWVdID0gcm91dGVQYXJ0XG4gICAgICB9IGVsc2UgaWYgKHRyYW5zbGF0ZWRQYXRoUGFydCAhPSByb3V0ZVBhcnQpIHtcbiAgICAgICAgbWF0Y2hlcyA9IGZhbHNlXG4gICAgICAgIGJyZWFrXG4gICAgICB9IGVsc2UgaWYgKCFjb21wb25lbnQgJiYgaW5jbHVkZUluUGF0aCkge1xuICAgICAgICBjb21wb25lbnRQYXRoUGFydHMucHVzaChwYXRoUGFydClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoZXhhY3QgJiYgbmV3Um91dGVQYXJ0cy5sZW5ndGggPiAwKSB7XG4gICAgICB0aGlzLmxvZygoKSA9PiBbXCJFeGFjdCBhbmQgbW9yZSByb3V0ZSBwYXJ0c1wiLCB7bmV3Um91dGVQYXJ0cywgcGF0aFBhcnRzOiB0aGlzLnBhdGhQYXJ0cywgcm91dGVQYXJ0czogdGhpcy5yb3V0ZVBhcnRzfV0pXG4gICAgICBtYXRjaGVzID0gZmFsc2VcbiAgICB9IGVsc2UgaWYgKG1hdGNoZXMgJiYgcGF0aCkge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9IGVsc2UgaWYgKHRoaXMucm91dGVQYXJ0cy5sZW5ndGggPT0gMCkge1xuICAgICAgbWF0Y2hlcyA9IHRydWVcbiAgICB9XG5cbiAgICBjb25zdCBtYXRjaElkID0gdGhpcy5wYXRoSWQoKVxuXG4gICAgaWYgKCFtYXRjaGVzICYmIGZhbGxiYWNrKSB7XG4gICAgICBtYXRjaGVzID0gdHJ1ZVxuICAgIH1cblxuICAgIHRoaXMubG9nKCgpID0+IFt0aGlzLnByb3BzLnBhdGgsIFwiRW5kIGdlbmVyYXRpbmcgY29tcG9uZW50IHBhdGhzXCIsIEpTT04uc3RyaW5naWZ5KGNvbXBvbmVudFBhdGhQYXJ0cyksIHttYXRjaGVzfV0pXG5cbiAgICBpZiAobWF0Y2hlcykge1xuICAgICAgaWYgKGNvbXBvbmVudCAmJiBpbmNsdWRlSW5QYXRoKSB7XG4gICAgICAgIGNvbXBvbmVudFBhdGhQYXJ0cy5wdXNoKGNvbXBvbmVudClcbiAgICAgIH1cblxuICAgICAgY29uc3QgbmV3UGFyYW1zID0gT2JqZWN0LmFzc2lnbih7fSwgdGhpcy5jdXJyZW50UGFyYW1zLCBwYXJhbXMpIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJlZmVyLW9iamVjdC1zcHJlYWRcblxuICAgICAgdGhpcy5zZXRJbnN0YW5jZSh7Y29tcG9uZW50UGF0aFBhcnRzLCBtYXRjaDoge3BhcmFtc30sIG5ld1BhcmFtc30pXG4gICAgICB0aGlzLnNldFN0YXRlKHttYXRjaGVzfSlcbiAgICAgIHRoaXMuc3dpdGNoR3JvdXA/LnNldFBhdGhNYXRjaGVkKG1hdGNoSWQsIHRydWUpXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2V0SW5zdGFuY2Uoe2NvbXBvbmVudFBhdGhQYXJ0czogbnVsbCwgbWF0Y2g6IG51bGwsIG5ld1BhcmFtczogbnVsbH0pXG4gICAgICB0aGlzLnNldFN0YXRlKHttYXRjaGVzfSlcbiAgICAgIHRoaXMuc3dpdGNoR3JvdXA/LnNldFBhdGhNYXRjaGVkKG1hdGNoSWQsIGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRDb21wb25lbnQoKSB7XG4gICAgY29uc3QgYWN0dWFsQ29tcG9uZW50UGF0aCA9IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCB8fCB0aGlzLnR0LmNvbXBvbmVudFBhdGhQYXJ0cy5qb2luKFwiL1wiKVxuICAgIGxldCBDb21wb25lbnRcblxuICAgIHRoaXMubG9nKCgpID0+IFtcImxvYWRDb21wb25lbnRcIiwge2NvbXBvbmVudFBhdGg6IHRoaXMucHJvcHMuY29tcG9uZW50UGF0aCwgY29tcG9uZW50UGF0aFBhcnRzOiB0aGlzLmNvbXBvbmVudFBhdGhQYXJ0cywgYWN0dWFsQ29tcG9uZW50UGF0aH1dKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGNvbXBvbmVudEltcG9ydCA9IGF3YWl0IHRoaXMudHQucmVxdWlyZUNvbXBvbmVudCh7cm91dGVEZWZpbml0aW9uOiB7Y29tcG9uZW50OiBhY3R1YWxDb21wb25lbnRQYXRofX0pXG5cbiAgICAgIENvbXBvbmVudCA9IGNvbXBvbmVudEltcG9ydFxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKGBDb3VsZG4ndCBmaW5kIGNvbXBvbmVudDogJHthY3R1YWxDb21wb25lbnRQYXRofWApXG5cbiAgICAgIHRocm93IGVycm9yXG4gICAgfVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7Q29tcG9uZW50LCBjb21wb25lbnROb3RGb3VuZDogIUNvbXBvbmVudH0pXG4gIH1cblxuICBsb2coY2FsbGJhY2tBcmdzKSB7XG4gICAgaWYgKHRoaXMuZGVidWcpIHtcbiAgICAgIGxldCBhcmdzID0gY2FsbGJhY2tBcmdzKClcblxuICAgICAgaWYgKCFBcnJheS5pc0FycmF5KGFyZ3MpKSBhcmdzID0gW2FyZ3NdXG5cbiAgICAgIGNvbnNvbGUubG9nKC4uLmFyZ3MpXG4gICAgfVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjb21wb25lbnRQYXRoUGFydHMsIG1hdGNoLCBuZXdQYXJhbXMsIG5ld1JvdXRlUGFydHN9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtjaGlsZHJlbiwgY29tcG9uZW50LCBwYXRofSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7Q29tcG9uZW50LCBjb21wb25lbnROb3RGb3VuZCwgbWF0Y2hlc30gPSB0aGlzLnNcblxuICAgIGlmICghbWF0Y2hlcyB8fCAhdGhpcy5oYXNTd2l0Y2hNYXRjaCgpKSB7XG4gICAgICAvLyBSb3V0ZSBpc24ndCBtYXRjaGluZyBhbmQgc2hvdWxkbid0IGJlIHJlbmRlcmVkIGF0IGFsbC5cbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgaWYgKCFDb21wb25lbnQgJiYgIWNoaWxkcmVuICYmICFjb21wb25lbnROb3RGb3VuZCkge1xuICAgICAgLy8gUm91dGUgaXMgbWF0Y2hpbmcgYnV0IGhhc24ndCBiZWVuIGxvYWRlZCB5ZXQuXG4gICAgICByZXR1cm4gKFxuICAgICAgICA8ZGl2PlxuICAgICAgICAgIHtcIkxvYWRpbmcgXCJ9XG4gICAgICAgICAge2NvbXBvbmVudCB8fCB0aGlzLnByb3BzLmNvbXBvbmVudFBhdGggfHwgY29tcG9uZW50UGF0aFBhcnRzLmpvaW4oXCIvXCIpfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIClcbiAgICB9XG5cbiAgICBpZiAoIUNvbXBvbmVudCAmJiAhY2hpbGRyZW4gJiYgY29tcG9uZW50Tm90Rm91bmQpIHtcbiAgICAgIC8vIERvbid0IHJlbmRlciBhbnl0aGluZyBpZiB0aGUgY29tcG9uZW50IGNvdWxkbid0IGJlIGZvdW5kLlxuICAgICAgcmV0dXJuIG51bGxcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPEN1cnJlbnRQYXRoQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17Y29tcG9uZW50UGF0aFBhcnRzfT5cbiAgICAgICAgPFJvdXRlQ29udGV4dC5Qcm92aWRlciB2YWx1ZT17bmV3Um91dGVQYXJ0cy5qb2luKFwiL1wiKX0+XG4gICAgICAgICAgPFBhcmFtc0NvbnRleHQuUHJvdmlkZXIgdmFsdWU9e25ld1BhcmFtc30+XG4gICAgICAgICAgICA8U3dpdGNoIG5hbWU9e2Byb3V0ZS1ncm91cC0ke3BhdGh9YH0gc2luZ2xlPXtmYWxzZX0+XG4gICAgICAgICAgICAgIHtDb21wb25lbnQgJiYgPENvbXBvbmVudCBtYXRjaD17bWF0Y2h9IC8+fVxuICAgICAgICAgICAgICB7Y2hpbGRyZW59XG4gICAgICAgICAgICA8L1N3aXRjaD5cbiAgICAgICAgICA8L1BhcmFtc0NvbnRleHQuUHJvdmlkZXI+XG4gICAgICAgIDwvUm91dGVDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgPC9DdXJyZW50UGF0aENvbnRleHQuUHJvdmlkZXI+XG4gICAgKVxuICB9XG59KSlcblxuZXhwb3J0IHtSZXF1aXJlQ29tcG9uZW50Q29udGV4dCwgUm91dGVDb250ZXh0LCBTd2l0Y2gsIHVzZVBhcmFtc31cbmV4cG9ydCBkZWZhdWx0IFJvdXRlXG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"switch.d.ts","sourceRoot":"/src/","sources":["router/switch.jsx"],"names":[],"mappings":";AAOA,wDAA8C;AAE9C,0BA+DG;kBAvEgC,OAAO"}
1
+ {"version":3,"file":"switch.d.ts","sourceRoot":"/src/","sources":["router/switch.jsx"],"names":[],"mappings":";AAQA,wDAA8C;AAE9C,0BA+DG;kBAxEgC,OAAO"}
@@ -1,10 +1,11 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
- import BaseComponent from "../base-component";
2
+ /* eslint-disable sort-imports */
3
3
  import React, { createContext } from "react";
4
- import memo from "set-state-compare/build/memo.js";
4
+ import { shapeComponent } from "set-state-compare/build/shape-component.js";
5
+ import BaseComponent from "../base-component";
5
6
  import PropTypes from "prop-types";
7
+ import memo from "set-state-compare/build/memo.js";
6
8
  import propTypesExact from "prop-types-exact";
7
- import { shapeComponent } from "set-state-compare/build/shape-component.js";
8
9
  const CurrentSwitchContext = createContext([]);
9
10
  const Switch = memo(shapeComponent(class Switch extends BaseComponent {
10
11
  static defaultProps = {
@@ -57,4 +58,4 @@ const Switch = memo(shapeComponent(class Switch extends BaseComponent {
57
58
  }));
58
59
  export { CurrentSwitchContext };
59
60
  export default Switch;
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIvc3dpdGNoLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxhQUFhLE1BQU0sbUJBQW1CLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsRUFBQyxhQUFhLEVBQUMsTUFBTSxPQUFPLENBQUE7QUFDMUMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUV6RSxNQUFNLG9CQUFvQixHQUFHLGFBQWEsQ0FBQyxFQUFFLENBQUMsQ0FBQTtBQUU5QyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sTUFBTyxTQUFRLGFBQWE7SUFDbkUsTUFBTSxDQUFDLFlBQVksR0FBRztRQUNwQixJQUFJLEVBQUUsV0FBVztRQUNqQixNQUFNLEVBQUUsSUFBSTtLQUNiLENBQUE7SUFFRCxNQUFNLENBQUMsU0FBUyxHQUFHLGNBQWMsQ0FBQztRQUNoQyxRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDdkIsSUFBSSxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3RCLE1BQU0sRUFBRSxTQUFTLENBQUMsSUFBSTtLQUN2QixDQUFDLENBQUE7SUFFRixnQkFBZ0IsR0FBRyxFQUFFLENBQUE7SUFFckIsS0FBSztRQUNILElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixVQUFVLEVBQUUsSUFBSSxJQUFJLEVBQUU7WUFDdEIsU0FBUyxFQUFFLFNBQVM7WUFDcEIsWUFBWSxFQUFFLEVBQUU7U0FDakIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELE1BQU07UUFDSixNQUFNLEVBQUMsU0FBUyxFQUFFLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFeEMsT0FBTyxDQUNMLEtBQUMsb0JBQW9CLENBQUMsUUFBUSxJQUFDLEtBQUssRUFBRSxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUUsV0FBVyxFQUFFLElBQUksRUFBQyxZQUMvRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsR0FDVSxDQUNqQyxDQUFBO0lBQ0gsQ0FBQztJQUVELFNBQVMsQ0FBQyxZQUFZO1FBQ3BCLEtBQUssTUFBTSxXQUFXLElBQUksSUFBSSxDQUFDLEVBQUUsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQ25ELE1BQU0sYUFBYSxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQTtZQUUvQyxJQUFJLGFBQWEsRUFBRSxDQUFDO2dCQUNsQixPQUFPLFdBQVcsQ0FBQTtZQUNwQixDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUMsSUFBSSxFQUFFLE9BQU87UUFDMUIsTUFBTSxFQUFDLGdCQUFnQixFQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUNsQyxNQUFNLEVBQUMsWUFBWSxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQTtRQUU3QixJQUFJLENBQUMsSUFBSTtZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsaUJBQWlCLENBQUMsQ0FBQTtRQUM3QyxJQUFJLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxPQUFPO1lBQUUsT0FBTTtRQUV6QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUM7WUFDckMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzdCLENBQUM7UUFFRCxNQUFNLGVBQWUsR0FBRyxFQUFDLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLEVBQUMsQ0FBQTtRQUVoRCxlQUFlLENBQUMsSUFBSSxDQUFDLEdBQUcsT0FBTyxDQUFBO1FBRS9CLElBQUksQ0FBQyxRQUFRLENBQUM7WUFDWixVQUFVLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLElBQUksSUFBSSxFQUFFLENBQUMsT0FBTyxFQUFFO1lBQ2hELFNBQVMsRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLGVBQWUsQ0FBQztZQUMxQyxZQUFZLEVBQUUsZUFBZTtTQUM5QixDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0YsQ0FBQyxDQUFDLENBQUE7QUFFSCxPQUFPLEVBQUMsb0JBQW9CLEVBQUMsQ0FBQTtBQUM3QixlQUFlLE1BQU0sQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUmVhY3QsIHtjcmVhdGVDb250ZXh0fSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5cbmNvbnN0IEN1cnJlbnRTd2l0Y2hDb250ZXh0ID0gY3JlYXRlQ29udGV4dChbXSlcblxuY29uc3QgU3dpdGNoID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBTd2l0Y2ggZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBuYW1lOiBcIltubyBuYW1lXVwiLFxuICAgIHNpbmdsZTogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNpbmdsZTogUHJvcFR5cGVzLmJvb2xcbiAgfSlcblxuICBwYXRoc01hdGNoZWRLZXlzID0gW11cblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpLFxuICAgICAgcGF0aFNob3duOiB1bmRlZmluZWQsXG4gICAgICBwYXRoc01hdGNoZWQ6IHt9XG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7cGF0aFNob3duLCBwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEN1cnJlbnRTd2l0Y2hDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7cGF0aFNob3duLCBwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwOiB0aGlzfX0+XG4gICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgPC9DdXJyZW50U3dpdGNoQ29udGV4dC5Qcm92aWRlcj5cbiAgICApXG4gIH1cblxuICBwYXRoU2hvd24ocGF0aHNNYXRjaGVkKSB7XG4gICAgZm9yIChjb25zdCBwYXRoTWF0Y2hlZCBvZiB0aGlzLnR0LnBhdGhzTWF0Y2hlZEtleXMpIHtcbiAgICAgIGNvbnN0IGlzUGF0aE1hdGNoZWQgPSBwYXRoc01hdGNoZWRbcGF0aE1hdGNoZWRdXG5cbiAgICAgIGlmIChpc1BhdGhNYXRjaGVkKSB7XG4gICAgICAgIHJldHVybiBwYXRoTWF0Y2hlZFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFBhdGhNYXRjaGVkKHBhdGgsIG1hdGNoZWQpIHtcbiAgICBjb25zdCB7cGF0aHNNYXRjaGVkS2V5c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZH0gPSB0aGlzLnNcblxuICAgIGlmICghcGF0aCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gJ3BhdGgnIGdpdmVuXCIpXG4gICAgaWYgKHBhdGhzTWF0Y2hlZFtwYXRoXSA9PSBtYXRjaGVkKSByZXR1cm5cblxuICAgIGlmICghcGF0aHNNYXRjaGVkS2V5cy5pbmNsdWRlcyhwYXRoKSkge1xuICAgICAgcGF0aHNNYXRjaGVkS2V5cy5wdXNoKHBhdGgpXG4gICAgfVxuXG4gICAgY29uc3QgbmV3UGF0aHNNYXRjaGVkID0gey4uLnRoaXMucy5wYXRoc01hdGNoZWR9XG5cbiAgICBuZXdQYXRoc01hdGNoZWRbcGF0aF0gPSBtYXRjaGVkXG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGxhc3RVcGRhdGU6IE1hdGgucmFuZG9tKCkgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgIHBhdGhTaG93bjogdGhpcy5wYXRoU2hvd24obmV3UGF0aHNNYXRjaGVkKSxcbiAgICAgIHBhdGhzTWF0Y2hlZDogbmV3UGF0aHNNYXRjaGVkXG4gICAgfSlcbiAgfVxufSkpXG5cbmV4cG9ydCB7Q3VycmVudFN3aXRjaENvbnRleHR9XG5leHBvcnQgZGVmYXVsdCBTd2l0Y2hcbiJdfQ==
61
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dpdGNoLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIvc3dpdGNoLmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsaUNBQWlDO0FBQ2pDLE9BQU8sS0FBSyxFQUFFLEVBQUMsYUFBYSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzFDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLGFBQWEsTUFBTSxtQkFBbUIsQ0FBQTtBQUM3QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFFN0MsTUFBTSxvQkFBb0IsR0FBRyxhQUFhLENBQUMsRUFBRSxDQUFDLENBQUE7QUFFOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLE1BQU8sU0FBUSxhQUFhO0lBQ25FLE1BQU0sQ0FBQyxZQUFZLEdBQUc7UUFDcEIsSUFBSSxFQUFFLFdBQVc7UUFDakIsTUFBTSxFQUFFLElBQUk7S0FDYixDQUFBO0lBRUQsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsUUFBUSxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3ZCLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN0QixNQUFNLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDdkIsQ0FBQyxDQUFBO0lBRUYsZ0JBQWdCLEdBQUcsRUFBRSxDQUFBO0lBRXJCLEtBQUs7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsVUFBVSxFQUFFLElBQUksSUFBSSxFQUFFO1lBQ3RCLFNBQVMsRUFBRSxTQUFTO1lBQ3BCLFlBQVksRUFBRSxFQUFFO1NBQ2pCLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxFQUFDLFNBQVMsRUFBRSxZQUFZLEVBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQyxDQUFBO1FBRXhDLE9BQU8sQ0FDTCxLQUFDLG9CQUFvQixDQUFDLFFBQVEsSUFBQyxLQUFLLEVBQUUsRUFBQyxTQUFTLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUMsWUFDL0UsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQ1UsQ0FDakMsQ0FBQTtJQUNILENBQUM7SUFFRCxTQUFTLENBQUMsWUFBWTtRQUNwQixLQUFLLE1BQU0sV0FBVyxJQUFJLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztZQUNuRCxNQUFNLGFBQWEsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7WUFFL0MsSUFBSSxhQUFhLEVBQUUsQ0FBQztnQkFDbEIsT0FBTyxXQUFXLENBQUE7WUFDcEIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsY0FBYyxDQUFDLElBQUksRUFBRSxPQUFPO1FBQzFCLE1BQU0sRUFBQyxnQkFBZ0IsRUFBQyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDbEMsTUFBTSxFQUFDLFlBQVksRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFFN0IsSUFBSSxDQUFDLElBQUk7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLGlCQUFpQixDQUFDLENBQUE7UUFDN0MsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksT0FBTztZQUFFLE9BQU07UUFFekMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO1lBQ3JDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM3QixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxFQUFDLENBQUE7UUFFaEQsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQTtRQUUvQixJQUFJLENBQUMsUUFBUSxDQUFDO1lBQ1osVUFBVSxFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxJQUFJLElBQUksRUFBRSxDQUFDLE9BQU8sRUFBRTtZQUNoRCxTQUFTLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxlQUFlLENBQUM7WUFDMUMsWUFBWSxFQUFFLGVBQWU7U0FDOUIsQ0FBQyxDQUFBO0lBQ0osQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBO0FBRUgsT0FBTyxFQUFDLG9CQUFvQixFQUFDLENBQUE7QUFDN0IsZUFBZSxNQUFNLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge2NyZWF0ZUNvbnRleHR9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBwcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5cbmNvbnN0IEN1cnJlbnRTd2l0Y2hDb250ZXh0ID0gY3JlYXRlQ29udGV4dChbXSlcblxuY29uc3QgU3dpdGNoID0gbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBTd2l0Y2ggZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIGRlZmF1bHRQcm9wcyA9IHtcbiAgICBuYW1lOiBcIltubyBuYW1lXVwiLFxuICAgIHNpbmdsZTogdHJ1ZVxuICB9XG5cbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgICBuYW1lOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHNpbmdsZTogUHJvcFR5cGVzLmJvb2xcbiAgfSlcblxuICBwYXRoc01hdGNoZWRLZXlzID0gW11cblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBsYXN0VXBkYXRlOiBuZXcgRGF0ZSgpLFxuICAgICAgcGF0aFNob3duOiB1bmRlZmluZWQsXG4gICAgICBwYXRoc01hdGNoZWQ6IHt9XG4gICAgfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7cGF0aFNob3duLCBwYXRoc01hdGNoZWR9ID0gdGhpcy5zXG5cbiAgICByZXR1cm4gKFxuICAgICAgPEN1cnJlbnRTd2l0Y2hDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt7cGF0aFNob3duLCBwYXRoc01hdGNoZWQsIHN3aXRjaEdyb3VwOiB0aGlzfX0+XG4gICAgICAgIHt0aGlzLnByb3BzLmNoaWxkcmVufVxuICAgICAgPC9DdXJyZW50U3dpdGNoQ29udGV4dC5Qcm92aWRlcj5cbiAgICApXG4gIH1cblxuICBwYXRoU2hvd24ocGF0aHNNYXRjaGVkKSB7XG4gICAgZm9yIChjb25zdCBwYXRoTWF0Y2hlZCBvZiB0aGlzLnR0LnBhdGhzTWF0Y2hlZEtleXMpIHtcbiAgICAgIGNvbnN0IGlzUGF0aE1hdGNoZWQgPSBwYXRoc01hdGNoZWRbcGF0aE1hdGNoZWRdXG5cbiAgICAgIGlmIChpc1BhdGhNYXRjaGVkKSB7XG4gICAgICAgIHJldHVybiBwYXRoTWF0Y2hlZFxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFBhdGhNYXRjaGVkKHBhdGgsIG1hdGNoZWQpIHtcbiAgICBjb25zdCB7cGF0aHNNYXRjaGVkS2V5c30gPSB0aGlzLnR0XG4gICAgY29uc3Qge3BhdGhzTWF0Y2hlZH0gPSB0aGlzLnNcblxuICAgIGlmICghcGF0aCkgdGhyb3cgbmV3IEVycm9yKFwiTm8gJ3BhdGgnIGdpdmVuXCIpXG4gICAgaWYgKHBhdGhzTWF0Y2hlZFtwYXRoXSA9PSBtYXRjaGVkKSByZXR1cm5cblxuICAgIGlmICghcGF0aHNNYXRjaGVkS2V5cy5pbmNsdWRlcyhwYXRoKSkge1xuICAgICAgcGF0aHNNYXRjaGVkS2V5cy5wdXNoKHBhdGgpXG4gICAgfVxuXG4gICAgY29uc3QgbmV3UGF0aHNNYXRjaGVkID0gey4uLnRoaXMucy5wYXRoc01hdGNoZWR9XG5cbiAgICBuZXdQYXRoc01hdGNoZWRbcGF0aF0gPSBtYXRjaGVkXG5cbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGxhc3RVcGRhdGU6IE1hdGgucmFuZG9tKCkgKyBuZXcgRGF0ZSgpLmdldFRpbWUoKSxcbiAgICAgIHBhdGhTaG93bjogdGhpcy5wYXRoU2hvd24obmV3UGF0aHNNYXRjaGVkKSxcbiAgICAgIHBhdGhzTWF0Y2hlZDogbmV3UGF0aHNNYXRjaGVkXG4gICAgfSlcbiAgfVxufSkpXG5cbmV4cG9ydCB7Q3VycmVudFN3aXRjaENvbnRleHR9XG5leHBvcnQgZGVmYXVsdCBTd2l0Y2hcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"router.d.ts","sourceRoot":"/src/","sources":["router.jsx"],"names":[],"mappings":";;kBAGoC,OAAO"}
1
+ {"version":3,"file":"router.d.ts","sourceRoot":"/src/","sources":["router.jsx"],"names":[],"mappings":";;kBACoC,OAAO"}
package/build/router.js CHANGED
@@ -1,9 +1,10 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
+ /* eslint-disable sort-imports */
3
+ import React, { Suspense, memo } from "react";
4
+ import { shapeComponent } from "set-state-compare/build/shape-component.js";
2
5
  import BaseComponent from "./base-component";
3
6
  import PropTypes from "prop-types";
4
7
  import propTypesExact from "prop-types-exact";
5
- import React, { memo, Suspense } from "react";
6
- import { shapeComponent } from "set-state-compare/build/shape-component.js";
7
8
  import usePath from "on-location-changed/build/use-path.js";
8
9
  import useRouter from "./use-router";
9
10
  export default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {
@@ -33,4 +34,4 @@ export default memo(shapeComponent(class ApiMakerRouter extends BaseComponent {
33
34
  return (_jsx(Suspense, { fallback: _jsx("div", {}), children: _jsx(Component, { match: match }) }));
34
35
  }
35
36
  }));
36
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQTtBQUM1QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLEVBQUUsRUFBQyxJQUFJLEVBQUUsUUFBUSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLE9BQU8sTUFBTSx1Q0FBdUMsQ0FBQTtBQUMzRCxPQUFPLFNBQVMsTUFBTSxjQUFjLENBQUE7QUFFcEMsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sY0FBZSxTQUFRLGFBQWE7SUFDM0UsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ3pCLE9BQU8sRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLFVBQVU7UUFDbkMsaUJBQWlCLEVBQUUsU0FBUyxDQUFDLFdBQVc7UUFDeEMsZ0JBQWdCLEVBQUUsU0FBUyxDQUFDLElBQUksQ0FBQyxVQUFVO1FBQzNDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQ2xDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtLQUN6QixDQUFDLENBQUE7SUFFRixNQUFNO1FBQ0osTUFBTSxJQUFJLEdBQUcsT0FBTyxFQUFFLENBQUE7UUFDdEIsTUFBTSxFQUFDLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxnQkFBZ0IsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQzNGLE1BQU0sRUFBQyxLQUFLLEVBQUMsR0FBRyxTQUFTLENBQUMsRUFBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLENBQUE7UUFDcEUsTUFBTSxFQUFDLGFBQWEsRUFBQyxHQUFHLEtBQUssQ0FBQTtRQUU3QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDbkIsSUFBSSxpQkFBaUIsRUFBRSxDQUFDO2dCQUN0QixNQUFNLGlCQUFpQixHQUFHLGlCQUFpQixDQUFBO2dCQUUzQyxPQUFPLENBQ0wsS0FBQyxRQUFRLElBQUMsUUFBUSxFQUFFLGVBQU8sWUFDekIsS0FBQyxpQkFBaUIsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEdBQzFCLENBQ1osQ0FBQTtZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixPQUFPLElBQUksQ0FBQTtZQUNiLENBQUM7UUFDSCxDQUFDO1FBRUQsTUFBTSxTQUFTLEdBQUcsZ0JBQWdCLENBQUMsRUFBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLHFCQUFxQixDQUFDLGVBQWUsRUFBQyxDQUFDLENBQUE7UUFFMUcsT0FBTyxDQUNMLEtBQUMsUUFBUSxJQUFDLFFBQVEsRUFBRSxlQUFPLFlBQ3pCLEtBQUMsU0FBUyxJQUFDLEtBQUssRUFBRSxLQUFLLEdBQUksR0FDbEIsQ0FDWixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgcHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0LCB7bWVtbywgU3VzcGVuc2V9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB1c2VQYXRoIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1wYXRoLmpzXCJcbmltcG9ydCB1c2VSb3V0ZXIgZnJvbSBcIi4vdXNlLXJvdXRlclwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJSb3V0ZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBoaXN0b3J5OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvY2FsZXM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIG5vdEZvdW5kQ29tcG9uZW50OiBQcm9wVHlwZXMuZWxlbWVudFR5cGUsXG4gICAgcmVxdWlyZUNvbXBvbmVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICByb3V0ZURlZmluaXRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHJvdXRlczogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBwYXRoID0gdXNlUGF0aCgpXG4gICAgY29uc3Qge2xvY2FsZXMsIG5vdEZvdW5kQ29tcG9uZW50LCByZXF1aXJlQ29tcG9uZW50LCByb3V0ZURlZmluaXRpb25zLCByb3V0ZXN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHttYXRjaH0gPSB1c2VSb3V0ZXIoe2xvY2FsZXMsIHBhdGgsIHJvdXRlcywgcm91dGVEZWZpbml0aW9uc30pXG4gICAgY29uc3Qge21hdGNoaW5nUm91dGV9ID0gbWF0Y2hcblxuICAgIGlmICghbWF0Y2hpbmdSb3V0ZSkge1xuICAgICAgaWYgKG5vdEZvdW5kQ29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IE5vdEZvdW5kQ29tcG9uZW50ID0gbm90Rm91bmRDb21wb25lbnRcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PGRpdiAvPn0+XG4gICAgICAgICAgICA8Tm90Rm91bmRDb21wb25lbnQgbWF0Y2g9e21hdGNofSAvPlxuICAgICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgQ29tcG9uZW50ID0gcmVxdWlyZUNvbXBvbmVudCh7cm91dGVEZWZpbml0aW9uOiBtYXRjaGluZ1JvdXRlLnBhcnNlZFJvdXRlRGVmaW5pdGlvbi5yb3V0ZURlZmluaXRpb259KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PGRpdiAvPn0+XG4gICAgICAgIDxDb21wb25lbnQgbWF0Y2g9e21hdGNofSAvPlxuICAgICAgPC9TdXNwZW5zZT5cbiAgICApXG4gIH1cbn0pKVxuIl19
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVyLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXIuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpQ0FBaUM7QUFDakMsT0FBTyxLQUFLLEVBQUUsRUFBQyxRQUFRLEVBQUUsSUFBSSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzNDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQTtBQUM1QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxPQUFPLE1BQU0sdUNBQXVDLENBQUE7QUFDM0QsT0FBTyxTQUFTLE1BQU0sY0FBYyxDQUFBO0FBRXBDLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLGNBQWUsU0FBUSxhQUFhO0lBQzNFLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLE9BQU8sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN6QixPQUFPLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxVQUFVO1FBQ25DLGlCQUFpQixFQUFFLFNBQVMsQ0FBQyxXQUFXO1FBQ3hDLGdCQUFnQixFQUFFLFNBQVMsQ0FBQyxJQUFJLENBQUMsVUFBVTtRQUMzQyxnQkFBZ0IsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNsQyxNQUFNLEVBQUUsU0FBUyxDQUFDLE1BQU07S0FDekIsQ0FBQyxDQUFBO0lBRUYsTUFBTTtRQUNKLE1BQU0sSUFBSSxHQUFHLE9BQU8sRUFBRSxDQUFBO1FBQ3RCLE1BQU0sRUFBQyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsZ0JBQWdCLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUMzRixNQUFNLEVBQUMsS0FBSyxFQUFDLEdBQUcsU0FBUyxDQUFDLEVBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxDQUFBO1FBQ3BFLE1BQU0sRUFBQyxhQUFhLEVBQUMsR0FBRyxLQUFLLENBQUE7UUFFN0IsSUFBSSxDQUFDLGFBQWEsRUFBRSxDQUFDO1lBQ25CLElBQUksaUJBQWlCLEVBQUUsQ0FBQztnQkFDdEIsTUFBTSxpQkFBaUIsR0FBRyxpQkFBaUIsQ0FBQTtnQkFFM0MsT0FBTyxDQUNMLEtBQUMsUUFBUSxJQUFDLFFBQVEsRUFBRSxlQUFPLFlBQ3pCLEtBQUMsaUJBQWlCLElBQUMsS0FBSyxFQUFFLEtBQUssR0FBSSxHQUMxQixDQUNaLENBQUE7WUFDSCxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxJQUFJLENBQUE7WUFDYixDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sU0FBUyxHQUFHLGdCQUFnQixDQUFDLEVBQUMsZUFBZSxFQUFFLGFBQWEsQ0FBQyxxQkFBcUIsQ0FBQyxlQUFlLEVBQUMsQ0FBQyxDQUFBO1FBRTFHLE9BQU8sQ0FDTCxLQUFDLFFBQVEsSUFBQyxRQUFRLEVBQUUsZUFBTyxZQUN6QixLQUFDLFNBQVMsSUFBQyxLQUFLLEVBQUUsS0FBSyxHQUFJLEdBQ2xCLENBQ1osQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7U3VzcGVuc2UsIG1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB1c2VQYXRoIGZyb20gXCJvbi1sb2NhdGlvbi1jaGFuZ2VkL2J1aWxkL3VzZS1wYXRoLmpzXCJcbmltcG9ydCB1c2VSb3V0ZXIgZnJvbSBcIi4vdXNlLXJvdXRlclwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJSb3V0ZXIgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBoaXN0b3J5OiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGxvY2FsZXM6IFByb3BUeXBlcy5hcnJheS5pc1JlcXVpcmVkLFxuICAgIG5vdEZvdW5kQ29tcG9uZW50OiBQcm9wVHlwZXMuZWxlbWVudFR5cGUsXG4gICAgcmVxdWlyZUNvbXBvbmVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICByb3V0ZURlZmluaXRpb25zOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIHJvdXRlczogUHJvcFR5cGVzLm9iamVjdFxuICB9KVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCBwYXRoID0gdXNlUGF0aCgpXG4gICAgY29uc3Qge2xvY2FsZXMsIG5vdEZvdW5kQ29tcG9uZW50LCByZXF1aXJlQ29tcG9uZW50LCByb3V0ZURlZmluaXRpb25zLCByb3V0ZXN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHttYXRjaH0gPSB1c2VSb3V0ZXIoe2xvY2FsZXMsIHBhdGgsIHJvdXRlcywgcm91dGVEZWZpbml0aW9uc30pXG4gICAgY29uc3Qge21hdGNoaW5nUm91dGV9ID0gbWF0Y2hcblxuICAgIGlmICghbWF0Y2hpbmdSb3V0ZSkge1xuICAgICAgaWYgKG5vdEZvdW5kQ29tcG9uZW50KSB7XG4gICAgICAgIGNvbnN0IE5vdEZvdW5kQ29tcG9uZW50ID0gbm90Rm91bmRDb21wb25lbnRcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PGRpdiAvPn0+XG4gICAgICAgICAgICA8Tm90Rm91bmRDb21wb25lbnQgbWF0Y2g9e21hdGNofSAvPlxuICAgICAgICAgIDwvU3VzcGVuc2U+XG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBudWxsXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgQ29tcG9uZW50ID0gcmVxdWlyZUNvbXBvbmVudCh7cm91dGVEZWZpbml0aW9uOiBtYXRjaGluZ1JvdXRlLnBhcnNlZFJvdXRlRGVmaW5pdGlvbi5yb3V0ZURlZmluaXRpb259KVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxTdXNwZW5zZSBmYWxsYmFjaz17PGRpdiAvPn0+XG4gICAgICAgIDxDb21wb25lbnQgbWF0Y2g9e21hdGNofSAvPlxuICAgICAgPC9TdXNwZW5zZT5cbiAgICApXG4gIH1cbn0pKVxuIl19
@@ -1 +1 @@
1
- {"version":3,"file":"routes-native.d.ts","sourceRoot":"/src/","sources":["routes-native.js"],"names":[],"mappings":"AAKA;IACE;;OAIC;IAHC,eAA0B;IAC1B,wBAA0B;IAC1B,0BAA+B;IAGjC,4EAqDC;IAED,uCAcC;IAbC,UAAgB;IAelB;;;;;YA6DC;IAED;;;;;eAyBC;CACF"}
1
+ {"version":3,"file":"routes-native.d.ts","sourceRoot":"/src/","sources":["routes-native.js"],"names":[],"mappings":"AAKA;IACE;;OAIC;IAHC,eAA0B;IAC1B,wBAA0B;IAC1B,0BAA+B;IAGjC,4EAsDC;IAED,uCAeC;IAdC,UAAgB;IAgBlB;;;;;YA6DC;IAED;;;;;eA4BC;CACF"}
@@ -1,5 +1,5 @@
1
- import { dig, digg, digs } from "diggerize";
2
1
  import * as inflection from "inflection";
2
+ import { dig, digg, digs } from "diggerize";
3
3
  import qs from "qs";
4
4
  import urlEncode from "./url-encode.js";
5
5
  export default class ApiMakerRoutesNative {
@@ -25,6 +25,7 @@ export default class ApiMakerRoutesNative {
25
25
  for (let i = 1; i < rawPathParts.length; i++) {
26
26
  const pathPart = rawPathParts[i];
27
27
  const variableMatch = pathPart.match(/^:([A-z_]+)$/);
28
+ // eslint-disable-next-line max-depth
28
29
  if (variableMatch) {
29
30
  localizedPathParts.push({ type: "variable", count: variableCount++ });
30
31
  }
@@ -59,12 +60,12 @@ export default class ApiMakerRoutesNative {
59
60
  const locales = digg(i18n, "locales");
60
61
  for (const locale in locales) {
61
62
  const routeTranslations = dig(locales, locale, "routes");
62
- if (!routeTranslations)
63
- continue;
64
- if (!(locale in this.routeTranslationParts))
65
- this.routeTranslationParts[locale] = {};
66
- for (const key in routeTranslations) {
67
- this.routeTranslationParts[locale][key] = routeTranslations[key];
63
+ if (routeTranslations) {
64
+ if (!(locale in this.routeTranslationParts))
65
+ this.routeTranslationParts[locale] = {};
66
+ for (const key in routeTranslations) {
67
+ this.routeTranslationParts[locale][key] = routeTranslations[key];
68
+ }
68
69
  }
69
70
  }
70
71
  }
@@ -129,8 +130,8 @@ export default class ApiMakerRoutesNative {
129
130
  }
130
131
  addHostToRoute({ host, port, protocol, translatedRoute }) {
131
132
  let fullUrl = "";
132
- const hostToUse = host || globalThis.location && globalThis.location.host;
133
- const portToUse = port || globalThis.location && globalThis.location.port;
133
+ const hostToUse = host || (globalThis.location ? globalThis.location.host : undefined);
134
+ const portToUse = port || (globalThis.location ? globalThis.location.port : undefined);
134
135
  if (!hostToUse)
135
136
  throw new Error("Unable to detect host");
136
137
  if (protocol) {
@@ -143,11 +144,13 @@ export default class ApiMakerRoutesNative {
143
144
  fullUrl += "https://";
144
145
  }
145
146
  fullUrl += hostToUse;
146
- if (portToUse && ((protocol == "http" && portToUse != 80) || (protocol == "https" && port != 443))) {
147
+ const isHttpNonDefaultPort = protocol == "http" && portToUse != 80;
148
+ const isHttpsNonDefaultPort = protocol == "https" && port != 443;
149
+ if (portToUse && (isHttpNonDefaultPort || isHttpsNonDefaultPort)) {
147
150
  fullUrl += `:${portToUse}`;
148
151
  }
149
152
  fullUrl += translatedRoute;
150
153
  return fullUrl;
151
154
  }
152
155
  }
153
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLW5hdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsicm91dGVzLW5hdGl2ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDekMsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFBO0FBRXZDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQ3ZDLFlBQWEsRUFBQyxTQUFTLEVBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtRQUMxQixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFBO0lBQ2pDLENBQUM7SUFFRCxvQkFBb0IsQ0FBRSxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDekQsS0FBSyxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDcEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQy9ELE1BQU0sYUFBYSxHQUFHLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQTtZQUU3RCxJQUFJLG1CQUFtQixJQUFJLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxD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QUksSUFBSSxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFBO1FBQ3pFLE1BQU0sU0FBUyxHQUFHLElBQUksSUFBSSxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFBO1FBRXpFLElBQUksQ0FBQyxTQUFTO1lBQUUsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsQ0FBQyxDQUFBO1FBRXhELElBQUksUUFBUSxFQUFFLENBQUM7WUFDYixPQUFPLElBQUksR0FBRyxRQUFRLEtBQUssQ0FBQTtRQUM3QixDQUFDO2FBQU0sSUFBSSxVQUFVLENBQUMsUUFBUSxJQUFJLFVBQVUsQ0FBQyxRQUFRLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDL0QsT0FBTyxJQUFJLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxRQUFRLElBQUksQ0FBQTtRQUNoRCxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sSUFBSSxVQUFVLENBQUE7UUFDdkIsQ0FBQztRQUVELE9BQU8sSUFBSSxTQUFTLENBQUE7UUFFcEIsSUFBSSxTQUFTLElBQUksQ0FBQyxDQUFDLFFBQVEsSUFBSSxNQUFNLElBQUksU0FBUyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxJQUFJLE9BQU8sSUFBSSxJQUFJLElBQUksR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDO1lBQ25HLE9BQU8sSUFBSSxJQUFJLFNBQVMsRUFBRSxDQUFBO1FBQzVCLENBQUM7UUFFRCxPQUFPLElBQUksZUFBZSxDQUFBO1FBRTFCLE9BQU8sT0FBTyxDQUFBO0lBQ2hCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnLCBkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHFzIGZyb20gXCJxc1wiXG5pbXBvcnQgdXJsRW5jb2RlIGZyb20gXCIuL3VybC1lbmNvZGUuanNcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlclJvdXRlc05hdGl2ZSB7XG4gIGNvbnN0cnVjdG9yICh7Z2V0TG9jYWxlfSkge1xuICAgIHRoaXMuZ2V0TG9jYWxlID0gZ2V0TG9jYWxlXG4gICAgdGhpcy5yb3V0ZURlZmluaXRpb25zID0gW11cbiAgICB0aGlzLnJvdXRlVHJhbnNsYXRpb25QYXJ0cyA9IHt9XG4gIH1cblxuICBsb2FkUm91dGVEZWZpbml0aW9ucyAocm91dGVEZWZpbml0aW9ucywgcm91dGVEZWZpbml0aW9uQXJncykge1xuICAgIGZvciAoY29uc3Qgcm91dGVEZWZpbml0aW9uIG9mIGRpZ2cocm91dGVEZWZpbml0aW9ucywgXCJyb3V0ZXNcIikpIHtcbiAgICAgIGNvbnN0IHtuYW1lLCBwYXRofSA9IGRpZ3Mocm91dGVEZWZpbml0aW9uLCBcIm5hbWVcIiwgXCJwYXRoXCIpXG4gICAgICBjb25zdCByYXdQYXRoUGFydHMgPSBwYXRoLnNwbGl0KFwiL1wiKVxuICAgICAgY29uc3QgcGF0aE1ldGhvZE5hbWUgPSBgJHtpbmZsZWN0aW9uLmNhbWVsaXplKG5hbWUsIHRydWUpfVBhdGhgXG4gICAgICBjb25zdCB1cmxNZXRob2ROYW1lID0gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lLCB0cnVlKX1VcmxgXG5cbiAgICAgIGlmIChyb3V0ZURlZmluaXRpb25BcmdzICYmIHJvdXRlRGVmaW5pdGlvbkFyZ3MubG9jYWxpemVkKSB7XG4gICAgICAgIGNvbnN0IGxvY2FsaXplZFJvdXRlcyA9IHt9XG5cbiAgICAgICAgZm9yIChjb25zdCBsb2NhbGUgaW4gdGhpcy5yb3V0ZVRyYW5zbGF0aW9uUGFydHMpIHtcbiAgICAgICAgICBsZXQgdmFyaWFibGVDb3VudCA9IDBcblxuICAgICAgICAgIGNvbnN0IGxvY2FsaXplZFBhdGhQYXJ0cyA9IFtcbiAgICAgICAgICAgIHt0eXBlOiBcInBhdGhQYXJ0XCIsIG5hbWU6IFwiXCJ9LFxuICAgICAgICAgICAge3R5cGU6IFwicGF0aFBhcnRcIiwgbmFtZTogbG9jYWxlfVxuICAgICAgICAgIF1cblxuICAgICAgICAgIGZvciAobGV0IGkgPSAxOyBpIDwgcmF3UGF0aFBhcnRzLmxlbmd0aDsgaSsrKSB7XG4gICAgICAgICAgICBjb25zdCBwYXRoUGFydCA9IHJhd1BhdGhQYXJ0c1tpXVxuICAgICAgICAgICAgY29uc3QgdmFyaWFibGVNYXRjaCA9IHBhdGhQYXJ0Lm1hdGNoKC9eOihbQS16X10rKSQvKVxuXG4gICAgICAgICAgICBpZiAodmFyaWFibGVNYXRjaCkge1xuICAgICAgICAgICAgICBsb2NhbGl6ZWRQYXRoUGFydHMucHVzaCh7dHlwZTogXCJ2YXJpYWJsZVwiLCBjb3VudDogdmFyaWFibGVDb3VudCsrfSlcbiAgICAgICAgICAgIH0gZWxzZSBpZiAocGF0aFBhcnQpIHtcbiAgICAgICAgICAgICAgY29uc3QgbmFtZSA9IHRoaXMuaTE4bi50KGByb3V0ZXMuJHtwYXRoUGFydH1gLCBudWxsLCB7ZGVmYXVsdDogcGF0aFBhcnQsIGxvY2FsZX0pXG5cbiAgICAgICAgICAgICAgbG9jYWxpemVkUGF0aFBhcnRzLnB1c2goe3R5cGU6IFwicGF0aFBhcnRcIiwgbmFtZX0pXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbG9jYWxpemVkUm91dGVzW2xvY2FsZV0gPSBsb2NhbGl6ZWRQYXRoUGFydHNcbiAgICAgICAgfVxuXG4gICAgICAgIHRoaXNbcGF0aE1ldGhvZE5hbWVdID0gKC4uLmFyZ3MpID0+IHRoaXMudHJhbnNsYXRlUm91dGUoe2FyZ3MsIGxvY2FsaXplZFJvdXRlc30pXG4gICAgICAgIHRoaXNbdXJsTWV0aG9kTmFtZV0gPSAoLi4uYXJncykgPT4gdGhpcy50cmFuc2xhdGVSb3V0ZSh7YXJncywgbG9jYWxpemVkUm91dGVzLCB1cmw6IHRydWV9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHZhcmlhYmxlQ291bnQgPSAwXG5cbiAgICAgICAgY29uc3QgcGF0aFBhcnRzID0gcmF3UGF0aFBhcnRzLm1hcCgocGF0aFBhcnQpID0+IHtcbiAgICAgICAgICBjb25zdCB2YXJpYWJsZU1hdGNoID0gcGF0aFBhcnQubWF0Y2goL146KFtBLXpfXSspJC8pXG5cbiAgICAgICAgICBpZiAodmFyaWFibGVNYXRjaCkge1xuICAgICAgICAgICAgcmV0dXJuIHt0eXBlOiBcInZhcmlhYmxlXCIsIGNvdW50OiB2YXJpYWJsZUNvdW50fVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4ge3R5cGU6IFwicGF0aFBhcnRcIiwgbmFtZTogcGF0aFBhcnR9XG4gICAgICAgICAgfVxuICAgICAgICB9KVxuXG4gICAgICAgIHRoaXNbcGF0aE1ldGhvZE5hbWVdID0gKC4uLmFyZ3MpID0+IHRoaXMudHJhbnNsYXRlUm91dGUoe2FyZ3MsIHBhdGhQYXJ0c30pXG4gICAgICAgIHRoaXNbdXJsTWV0aG9kTmFtZV0gPSAoLi4uYXJncykgPT4gdGhpcy50cmFuc2xhdGVSb3V0ZSh7YXJncywgcGF0aFBhcnRzLCB1cmw6IHRydWV9KVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGxvYWRSb3V0ZVRyYW5zbGF0aW9ucyAoaTE4bikge1xuICAgIHRoaXMuaTE4biA9IGkxOG5cbiAgICBjb25zdCBsb2NhbGVzID0gZGlnZyhpMThuLCBcImxvY2FsZXNcIilcblxuICAgIGZvciAoY29uc3QgbG9jYWxlIGluIGxvY2FsZXMpIHtcbiAgICAgIGNvbnN0IHJvdXRlVHJhbnNsYXRpb25zID0gZGlnKGxvY2FsZXMsIGxvY2FsZSwgXCJyb3V0ZXNcIilcblxuICAgICAgaWYgKCFyb3V0ZVRyYW5zbGF0aW9ucykgY29udGludWVcbiAgICAgIGlmICghKGxvY2FsZSBpbiB0aGlzLnJvdXRlVHJhbnNsYXRpb25QYXJ0cykpIHRoaXMucm91dGVUcmFuc2xhdGlvblBhcnRzW2xvY2FsZV0gPSB7fVxuXG4gICAgICBmb3IgKGNvbnN0IGtleSBpbiByb3V0ZVRyYW5zbGF0aW9ucykge1xuICAgICAgICB0aGlzLnJvdXRlVHJhbnNsYXRpb25QYXJ0c1tsb2NhbGVdW2tleV0gPSByb3V0ZVRyYW5zbGF0aW9uc1trZXldXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNsYXRlUm91dGUgKHthcmdzLCBsb2NhbGl6ZWRSb3V0ZXMsIHBhdGhQYXJ0cywgdXJsfSkge1xuICAgIGxldCBvcHRpb25zXG5cbiAgICAvLyBFeHRyYWN0IG9wdGlvbnMgZnJvbSBhcmdzIGlmIGFueVxuICAgIGNvbnN0IGxhc3RBcmcgPSBhcmdzW2FyZ3MubGVuZ3RoIC0gMV1cblxuICAgIGlmIChsYXN0QXJnICYmIHR5cGVvZiBsYXN0QXJnID09IFwib2JqZWN0XCIpIHtcbiAgICAgIG9wdGlvbnMgPSBhcmdzLnBvcCgpXG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMgPSB7fVxuICAgIH1cblxuICAgIC8vIFRha2UgbG9jYWxlIGZyb20gb3B0aW9ucyBpZiBnaXZlbiBvciBmYWxsIGJhY2sgdG8gZmFsbGJhY2tcbiAgICBjb25zdCB7bG9jYWxlLCBob3N0LCBwb3J0LCBwcm90b2NvbCwgLi4ucmVzdE9wdGlvbnN9ID0gb3B0aW9uc1xuXG4gICAgaWYgKGxvY2FsaXplZFJvdXRlcykge1xuICAgICAgLy8gUHV0IHRvZ2V0aGVyIHJvdXRlIHdpdGggdmFyaWFibGVzIGFuZCBzdGF0aWMgdHJhbnNsYXRlZCBwYXJ0cyAod2hpY2ggd2VyZSB0cmFuc2xhdGVkIGFuZCBjYWNoZWQgcHJldmlvdXNseSlcbiAgICAgIGxldCB0cmFuc2xhdGVkUm91dGUgPSBkaWdnKGxvY2FsaXplZFJvdXRlcywgbG9jYWxlIHx8IHRoaXMuZ2V0TG9jYWxlKCkpXG4gICAgICAgIC5tYXAoKHBhdGhQYXJ0KSA9PiB7XG4gICAgICAgICAgaWYgKHBhdGhQYXJ0LnR5cGUgPT0gXCJwYXRoUGFydFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gcGF0aFBhcnQubmFtZVxuICAgICAgICAgIH0gZWxzZSBpZiAocGF0aFBhcnQudHlwZSA9PSBcInZhcmlhYmxlXCIpIHtcbiAgICAgICAgICAgIC8vIEFyZ3MgbWlnaHQgbm90IGNvbnRhaW4gdGhlIHJpZ2h0IGFtb3VudCBvZiB2YXJpYWJsZXMsIHNvIGRvbnQgY2hhbmdlIHRoaXMgdG8gJ2RpZ2cnXG4gICAgICAgICAgICByZXR1cm4gZGlnKGFyZ3MsIGRpZ2cocGF0aFBhcnQsIFwiY291bnRcIikpXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5oYW5kbGVkIHBhdGggcGFydCB0eXBlOiAke3BhdGhQYXJ0LnR5cGV9YClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICAgIC5qb2luKFwiL1wiKVxuXG4gICAgICBpZiAocmVzdE9wdGlvbnMgJiYgT2JqZWN0LmtleXMocmVzdE9wdGlvbnMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdHJhbnNsYXRlZFJvdXRlICs9IGA/JHtxcy5zdHJpbmdpZnkocmVzdE9wdGlvbnMsIHtlbmNvZGVyOiB1cmxFbmNvZGV9KX1gXG4gICAgICB9XG5cbiAgICAgIGlmICh1cmwpIHJldHVybiB0aGlzLmFkZEhvc3RUb1JvdXRlKHtob3N0LCBwb3J0LCBwcm90b2NvbCwgdHJhbnNsYXRlZFJvdXRlfSlcblxuICAgICAgcmV0dXJuIHRyYW5zbGF0ZWRSb3V0ZVxuICAgIH0gZWxzZSBpZiAocGF0aFBhcnRzKSB7XG4gICAgICAvLyBQdXQgdG9nZXRoZXIgcm91dGUgd2l0aCB2YXJpYWJsZXMgYW5kIHN0YXRpYyB0cmFuc2xhdGVkIHBhcnRzICh3aGljaCB3ZXJlIHRyYW5zbGF0ZWQgYW5kIGNhY2hlZCBwcmV2aW91c2x5KVxuICAgICAgbGV0IHRyYW5zbGF0ZWRSb3V0ZSA9IHBhdGhQYXJ0c1xuICAgICAgICAubWFwKChwYXRoUGFydCkgPT4ge1xuICAgICAgICAgIGlmIChwYXRoUGFydC50eXBlID09IFwicGF0aFBhcnRcIikge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhQYXJ0Lm5hbWVcbiAgICAgICAgICB9IGVsc2UgaWYgKHBhdGhQYXJ0LnR5cGUgPT0gXCJ2YXJpYWJsZVwiKSB7XG4gICAgICAgICAgICByZXR1cm4gZGlnZyhhcmdzLCBkaWdnKHBhdGhQYXJ0LCBcImNvdW50XCIpKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuaGFuZGxlZCBwYXRoIHBhcnQgdHlwZTogJHtwYXRoUGFydC50eXBlfWApXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuam9pbihcIi9cIilcblxuICAgICAgaWYgKHJlc3RPcHRpb25zICYmIE9iamVjdC5rZXlzKHJlc3RPcHRpb25zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRyYW5zbGF0ZWRSb3V0ZSArPSBgPyR7cXMuc3RyaW5naWZ5KHJlc3RPcHRpb25zLCB7ZW5jb2RlcjogdXJsRW5jb2RlfSl9YFxuICAgICAgfVxuXG4gICAgICBpZiAodXJsKSByZXR1cm4gdGhpcy5hZGRIb3N0VG9Sb3V0ZSh7aG9zdCwgcG9ydCwgcHJvdG9jb2wsIHRyYW5zbGF0ZWRSb3V0ZX0pXG5cbiAgICAgIHJldHVybiB0cmFuc2xhdGVkUm91dGVcbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJVbmhhbmRsZWQgc3RhdGVcIilcbiAgfVxuXG4gIGFkZEhvc3RUb1JvdXRlICh7aG9zdCwgcG9ydCwgcHJvdG9jb2wsIHRyYW5zbGF0ZWRSb3V0ZX0pIHtcbiAgICBsZXQgZnVsbFVybCA9IFwiXCJcblxuICAgIGNvbnN0IGhvc3RUb1VzZSA9IGhvc3QgfHwgZ2xvYmFsVGhpcy5sb2NhdGlvbiAmJiBnbG9iYWxUaGlzLmxvY2F0aW9uLmhvc3RcbiAgICBjb25zdCBwb3J0VG9Vc2UgPSBwb3J0IHx8IGdsb2JhbFRoaXMubG9jYXRpb24gJiYgZ2xvYmFsVGhpcy5sb2NhdGlvbi5wb3J0XG5cbiAgICBpZiAoIWhvc3RUb1VzZSkgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGRldGVjdCBob3N0XCIpXG5cbiAgICBpZiAocHJvdG9jb2wpIHtcbiAgICAgIGZ1bGxVcmwgKz0gYCR7cHJvdG9jb2x9Oi8vYFxuICAgIH0gZWxzZSBpZiAoZ2xvYmFsVGhpcy5sb2NhdGlvbiAmJiBnbG9iYWxUaGlzLmxvY2F0aW9uLnByb3RvY29sKSB7XG4gICAgICBmdWxsVXJsICs9IGAke2dsb2JhbFRoaXMubG9jYXRpb24ucHJvdG9jb2x9Ly9gXG4gICAgfSBlbHNlIHtcbiAgICAgIGZ1bGxVcmwgKz0gXCJodHRwczovL1wiXG4gICAgfVxuXG4gICAgZnVsbFVybCArPSBob3N0VG9Vc2VcblxuICAgIGlmIChwb3J0VG9Vc2UgJiYgKChwcm90b2NvbCA9PSBcImh0dHBcIiAmJiBwb3J0VG9Vc2UgIT0gODApIHx8IChwcm90b2NvbCA9PSBcImh0dHBzXCIgJiYgcG9ydCAhPSA0NDMpKSkge1xuICAgICAgZnVsbFVybCArPSBgOiR7cG9ydFRvVXNlfWBcbiAgICB9XG5cbiAgICBmdWxsVXJsICs9IHRyYW5zbGF0ZWRSb3V0ZVxuXG4gICAgcmV0dXJuIGZ1bGxVcmxcbiAgfVxufVxuIl19
156
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLW5hdGl2ZS5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsicm91dGVzLW5hdGl2ZS5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsR0FBRyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUMsTUFBTSxXQUFXLENBQUE7QUFDekMsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFBO0FBQ25CLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFBO0FBRXZDLE1BQU0sQ0FBQyxPQUFPLE9BQU8sb0JBQW9CO0lBQ3ZDLFlBQWEsRUFBQyxTQUFTLEVBQUM7UUFDdEIsSUFBSSxDQUFDLFNBQVMsR0FBRyxTQUFTLENBQUE7UUFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQTtRQUMxQixJQUFJLENBQUMscUJBQXFCLEdBQUcsRUFBRSxDQUFBO0lBQ2pDLENBQUM7SUFFRCxvQkFBb0IsQ0FBRSxnQkFBZ0IsRUFBRSxtQkFBbUI7UUFDekQsS0FBSyxNQUFNLGVBQWUsSUFBSSxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsUUFBUSxDQUFDLEVBQUUsQ0FBQztZQUMvRCxNQUFNLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFBO1lBQzFELE1BQU0sWUFBWSxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDcEMsTUFBTSxjQUFjLEdBQUcsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsTUFBTSxDQUFBO1lBQy9ELE1BQU0sYUFBYSxHQUFHLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQTtZQUU3RCxJQUFJLG1CQUFtQixJQUFJLG1CQUFtQixDQUFDLFNBQVMsRUFBRSxD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KiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7ZGlnLCBkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBxcyBmcm9tIFwicXNcIlxuaW1wb3J0IHVybEVuY29kZSBmcm9tIFwiLi91cmwtZW5jb2RlLmpzXCJcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgQXBpTWFrZXJSb3V0ZXNOYXRpdmUge1xuICBjb25zdHJ1Y3RvciAoe2dldExvY2FsZX0pIHtcbiAgICB0aGlzLmdldExvY2FsZSA9IGdldExvY2FsZVxuICAgIHRoaXMucm91dGVEZWZpbml0aW9ucyA9IFtdXG4gICAgdGhpcy5yb3V0ZVRyYW5zbGF0aW9uUGFydHMgPSB7fVxuICB9XG5cbiAgbG9hZFJvdXRlRGVmaW5pdGlvbnMgKHJvdXRlRGVmaW5pdGlvbnMsIHJvdXRlRGVmaW5pdGlvbkFyZ3MpIHtcbiAgICBmb3IgKGNvbnN0IHJvdXRlRGVmaW5pdGlvbiBvZiBkaWdnKHJvdXRlRGVmaW5pdGlvbnMsIFwicm91dGVzXCIpKSB7XG4gICAgICBjb25zdCB7bmFtZSwgcGF0aH0gPSBkaWdzKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIsIFwicGF0aFwiKVxuICAgICAgY29uc3QgcmF3UGF0aFBhcnRzID0gcGF0aC5zcGxpdChcIi9cIilcbiAgICAgIGNvbnN0IHBhdGhNZXRob2ROYW1lID0gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShuYW1lLCB0cnVlKX1QYXRoYFxuICAgICAgY29uc3QgdXJsTWV0aG9kTmFtZSA9IGAke2luZmxlY3Rpb24uY2FtZWxpemUobmFtZSwgdHJ1ZSl9VXJsYFxuXG4gICAgICBpZiAocm91dGVEZWZpbml0aW9uQXJncyAmJiByb3V0ZURlZmluaXRpb25BcmdzLmxvY2FsaXplZCkge1xuICAgICAgICBjb25zdCBsb2NhbGl6ZWRSb3V0ZXMgPSB7fVxuXG4gICAgICAgIGZvciAoY29uc3QgbG9jYWxlIGluIHRoaXMucm91dGVUcmFuc2xhdGlvblBhcnRzKSB7XG4gICAgICAgICAgbGV0IHZhcmlhYmxlQ291bnQgPSAwXG5cbiAgICAgICAgICBjb25zdCBsb2NhbGl6ZWRQYXRoUGFydHMgPSBbXG4gICAgICAgICAgICB7dHlwZTogXCJwYXRoUGFydFwiLCBuYW1lOiBcIlwifSxcbiAgICAgICAgICAgIHt0eXBlOiBcInBhdGhQYXJ0XCIsIG5hbWU6IGxvY2FsZX1cbiAgICAgICAgICBdXG5cbiAgICAgICAgICBmb3IgKGxldCBpID0gMTsgaSA8IHJhd1BhdGhQYXJ0cy5sZW5ndGg7IGkrKykge1xuICAgICAgICAgICAgY29uc3QgcGF0aFBhcnQgPSByYXdQYXRoUGFydHNbaV1cbiAgICAgICAgICAgIGNvbnN0IHZhcmlhYmxlTWF0Y2ggPSBwYXRoUGFydC5tYXRjaCgvXjooW0Etel9dKykkLylcblxuICAgICAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG1heC1kZXB0aFxuICAgICAgICAgICAgaWYgKHZhcmlhYmxlTWF0Y2gpIHtcbiAgICAgICAgICAgICAgbG9jYWxpemVkUGF0aFBhcnRzLnB1c2goe3R5cGU6IFwidmFyaWFibGVcIiwgY291bnQ6IHZhcmlhYmxlQ291bnQrK30pXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHBhdGhQYXJ0KSB7XG4gICAgICAgICAgICAgIGNvbnN0IG5hbWUgPSB0aGlzLmkxOG4udChgcm91dGVzLiR7cGF0aFBhcnR9YCwgbnVsbCwge2RlZmF1bHQ6IHBhdGhQYXJ0LCBsb2NhbGV9KVxuXG4gICAgICAgICAgICAgIGxvY2FsaXplZFBhdGhQYXJ0cy5wdXNoKHt0eXBlOiBcInBhdGhQYXJ0XCIsIG5hbWV9KVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIGxvY2FsaXplZFJvdXRlc1tsb2NhbGVdID0gbG9jYWxpemVkUGF0aFBhcnRzXG4gICAgICAgIH1cblxuICAgICAgICB0aGlzW3BhdGhNZXRob2ROYW1lXSA9ICguLi5hcmdzKSA9PiB0aGlzLnRyYW5zbGF0ZVJvdXRlKHthcmdzLCBsb2NhbGl6ZWRSb3V0ZXN9KVxuICAgICAgICB0aGlzW3VybE1ldGhvZE5hbWVdID0gKC4uLmFyZ3MpID0+IHRoaXMudHJhbnNsYXRlUm91dGUoe2FyZ3MsIGxvY2FsaXplZFJvdXRlcywgdXJsOiB0cnVlfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGxldCB2YXJpYWJsZUNvdW50ID0gMFxuXG4gICAgICAgIGNvbnN0IHBhdGhQYXJ0cyA9IHJhd1BhdGhQYXJ0cy5tYXAoKHBhdGhQYXJ0KSA9PiB7XG4gICAgICAgICAgY29uc3QgdmFyaWFibGVNYXRjaCA9IHBhdGhQYXJ0Lm1hdGNoKC9eOihbQS16X10rKSQvKVxuXG4gICAgICAgICAgaWYgKHZhcmlhYmxlTWF0Y2gpIHtcbiAgICAgICAgICAgIHJldHVybiB7dHlwZTogXCJ2YXJpYWJsZVwiLCBjb3VudDogdmFyaWFibGVDb3VudH1cbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgcmV0dXJuIHt0eXBlOiBcInBhdGhQYXJ0XCIsIG5hbWU6IHBhdGhQYXJ0fVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcblxuICAgICAgICB0aGlzW3BhdGhNZXRob2ROYW1lXSA9ICguLi5hcmdzKSA9PiB0aGlzLnRyYW5zbGF0ZVJvdXRlKHthcmdzLCBwYXRoUGFydHN9KVxuICAgICAgICB0aGlzW3VybE1ldGhvZE5hbWVdID0gKC4uLmFyZ3MpID0+IHRoaXMudHJhbnNsYXRlUm91dGUoe2FyZ3MsIHBhdGhQYXJ0cywgdXJsOiB0cnVlfSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBsb2FkUm91dGVUcmFuc2xhdGlvbnMgKGkxOG4pIHtcbiAgICB0aGlzLmkxOG4gPSBpMThuXG4gICAgY29uc3QgbG9jYWxlcyA9IGRpZ2coaTE4biwgXCJsb2NhbGVzXCIpXG5cbiAgICBmb3IgKGNvbnN0IGxvY2FsZSBpbiBsb2NhbGVzKSB7XG4gICAgICBjb25zdCByb3V0ZVRyYW5zbGF0aW9ucyA9IGRpZyhsb2NhbGVzLCBsb2NhbGUsIFwicm91dGVzXCIpXG5cbiAgICAgIGlmIChyb3V0ZVRyYW5zbGF0aW9ucykge1xuICAgICAgICBpZiAoIShsb2NhbGUgaW4gdGhpcy5yb3V0ZVRyYW5zbGF0aW9uUGFydHMpKSB0aGlzLnJvdXRlVHJhbnNsYXRpb25QYXJ0c1tsb2NhbGVdID0ge31cblxuICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiByb3V0ZVRyYW5zbGF0aW9ucykge1xuICAgICAgICAgIHRoaXMucm91dGVUcmFuc2xhdGlvblBhcnRzW2xvY2FsZV1ba2V5XSA9IHJvdXRlVHJhbnNsYXRpb25zW2tleV1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHRyYW5zbGF0ZVJvdXRlICh7YXJncywgbG9jYWxpemVkUm91dGVzLCBwYXRoUGFydHMsIHVybH0pIHtcbiAgICBsZXQgb3B0aW9uc1xuXG4gICAgLy8gRXh0cmFjdCBvcHRpb25zIGZyb20gYXJncyBpZiBhbnlcbiAgICBjb25zdCBsYXN0QXJnID0gYXJnc1thcmdzLmxlbmd0aCAtIDFdXG5cbiAgICBpZiAobGFzdEFyZyAmJiB0eXBlb2YgbGFzdEFyZyA9PSBcIm9iamVjdFwiKSB7XG4gICAgICBvcHRpb25zID0gYXJncy5wb3AoKVxuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zID0ge31cbiAgICB9XG5cbiAgICAvLyBUYWtlIGxvY2FsZSBmcm9tIG9wdGlvbnMgaWYgZ2l2ZW4gb3IgZmFsbCBiYWNrIHRvIGZhbGxiYWNrXG4gICAgY29uc3Qge2xvY2FsZSwgaG9zdCwgcG9ydCwgcHJvdG9jb2wsIC4uLnJlc3RPcHRpb25zfSA9IG9wdGlvbnNcblxuICAgIGlmIChsb2NhbGl6ZWRSb3V0ZXMpIHtcbiAgICAgIC8vIFB1dCB0b2dldGhlciByb3V0ZSB3aXRoIHZhcmlhYmxlcyBhbmQgc3RhdGljIHRyYW5zbGF0ZWQgcGFydHMgKHdoaWNoIHdlcmUgdHJhbnNsYXRlZCBhbmQgY2FjaGVkIHByZXZpb3VzbHkpXG4gICAgICBsZXQgdHJhbnNsYXRlZFJvdXRlID0gZGlnZyhsb2NhbGl6ZWRSb3V0ZXMsIGxvY2FsZSB8fCB0aGlzLmdldExvY2FsZSgpKVxuICAgICAgICAubWFwKChwYXRoUGFydCkgPT4ge1xuICAgICAgICAgIGlmIChwYXRoUGFydC50eXBlID09IFwicGF0aFBhcnRcIikge1xuICAgICAgICAgICAgcmV0dXJuIHBhdGhQYXJ0Lm5hbWVcbiAgICAgICAgICB9IGVsc2UgaWYgKHBhdGhQYXJ0LnR5cGUgPT0gXCJ2YXJpYWJsZVwiKSB7XG4gICAgICAgICAgICAvLyBBcmdzIG1pZ2h0IG5vdCBjb250YWluIHRoZSByaWdodCBhbW91bnQgb2YgdmFyaWFibGVzLCBzbyBkb250IGNoYW5nZSB0aGlzIHRvICdkaWdnJ1xuICAgICAgICAgICAgcmV0dXJuIGRpZyhhcmdzLCBkaWdnKHBhdGhQYXJ0LCBcImNvdW50XCIpKVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVuaGFuZGxlZCBwYXRoIHBhcnQgdHlwZTogJHtwYXRoUGFydC50eXBlfWApXG4gICAgICAgICAgfVxuICAgICAgICB9KVxuICAgICAgICAuam9pbihcIi9cIilcblxuICAgICAgaWYgKHJlc3RPcHRpb25zICYmIE9iamVjdC5rZXlzKHJlc3RPcHRpb25zKS5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRyYW5zbGF0ZWRSb3V0ZSArPSBgPyR7cXMuc3RyaW5naWZ5KHJlc3RPcHRpb25zLCB7ZW5jb2RlcjogdXJsRW5jb2RlfSl9YFxuICAgICAgfVxuXG4gICAgICBpZiAodXJsKSByZXR1cm4gdGhpcy5hZGRIb3N0VG9Sb3V0ZSh7aG9zdCwgcG9ydCwgcHJvdG9jb2wsIHRyYW5zbGF0ZWRSb3V0ZX0pXG5cbiAgICAgIHJldHVybiB0cmFuc2xhdGVkUm91dGVcbiAgICB9IGVsc2UgaWYgKHBhdGhQYXJ0cykge1xuICAgICAgLy8gUHV0IHRvZ2V0aGVyIHJvdXRlIHdpdGggdmFyaWFibGVzIGFuZCBzdGF0aWMgdHJhbnNsYXRlZCBwYXJ0cyAod2hpY2ggd2VyZSB0cmFuc2xhdGVkIGFuZCBjYWNoZWQgcHJldmlvdXNseSlcbiAgICAgIGxldCB0cmFuc2xhdGVkUm91dGUgPSBwYXRoUGFydHNcbiAgICAgICAgLm1hcCgocGF0aFBhcnQpID0+IHtcbiAgICAgICAgICBpZiAocGF0aFBhcnQudHlwZSA9PSBcInBhdGhQYXJ0XCIpIHtcbiAgICAgICAgICAgIHJldHVybiBwYXRoUGFydC5uYW1lXG4gICAgICAgICAgfSBlbHNlIGlmIChwYXRoUGFydC50eXBlID09IFwidmFyaWFibGVcIikge1xuICAgICAgICAgICAgcmV0dXJuIGRpZ2coYXJncywgZGlnZyhwYXRoUGFydCwgXCJjb3VudFwiKSlcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBVbmhhbmRsZWQgcGF0aCBwYXJ0IHR5cGU6ICR7cGF0aFBhcnQudHlwZX1gKVxuICAgICAgICAgIH1cbiAgICAgICAgfSlcbiAgICAgICAgLmpvaW4oXCIvXCIpXG5cbiAgICAgIGlmIChyZXN0T3B0aW9ucyAmJiBPYmplY3Qua2V5cyhyZXN0T3B0aW9ucykubGVuZ3RoID4gMCkge1xuICAgICAgICB0cmFuc2xhdGVkUm91dGUgKz0gYD8ke3FzLnN0cmluZ2lmeShyZXN0T3B0aW9ucywge2VuY29kZXI6IHVybEVuY29kZX0pfWBcbiAgICAgIH1cblxuICAgICAgaWYgKHVybCkgcmV0dXJuIHRoaXMuYWRkSG9zdFRvUm91dGUoe2hvc3QsIHBvcnQsIHByb3RvY29sLCB0cmFuc2xhdGVkUm91dGV9KVxuXG4gICAgICByZXR1cm4gdHJhbnNsYXRlZFJvdXRlXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiVW5oYW5kbGVkIHN0YXRlXCIpXG4gIH1cblxuICBhZGRIb3N0VG9Sb3V0ZSAoe2hvc3QsIHBvcnQsIHByb3RvY29sLCB0cmFuc2xhdGVkUm91dGV9KSB7XG4gICAgbGV0IGZ1bGxVcmwgPSBcIlwiXG5cbiAgICBjb25zdCBob3N0VG9Vc2UgPSBob3N0IHx8IChnbG9iYWxUaGlzLmxvY2F0aW9uID8gZ2xvYmFsVGhpcy5sb2NhdGlvbi5ob3N0IDogdW5kZWZpbmVkKVxuICAgIGNvbnN0IHBvcnRUb1VzZSA9IHBvcnQgfHwgKGdsb2JhbFRoaXMubG9jYXRpb24gPyBnbG9iYWxUaGlzLmxvY2F0aW9uLnBvcnQgOiB1bmRlZmluZWQpXG5cbiAgICBpZiAoIWhvc3RUb1VzZSkgdGhyb3cgbmV3IEVycm9yKFwiVW5hYmxlIHRvIGRldGVjdCBob3N0XCIpXG5cbiAgICBpZiAocHJvdG9jb2wpIHtcbiAgICAgIGZ1bGxVcmwgKz0gYCR7cHJvdG9jb2x9Oi8vYFxuICAgIH0gZWxzZSBpZiAoZ2xvYmFsVGhpcy5sb2NhdGlvbiAmJiBnbG9iYWxUaGlzLmxvY2F0aW9uLnByb3RvY29sKSB7XG4gICAgICBmdWxsVXJsICs9IGAke2dsb2JhbFRoaXMubG9jYXRpb24ucHJvdG9jb2x9Ly9gXG4gICAgfSBlbHNlIHtcbiAgICAgIGZ1bGxVcmwgKz0gXCJodHRwczovL1wiXG4gICAgfVxuXG4gICAgZnVsbFVybCArPSBob3N0VG9Vc2VcblxuICAgIGNvbnN0IGlzSHR0cE5vbkRlZmF1bHRQb3J0ID0gcHJvdG9jb2wgPT0gXCJodHRwXCIgJiYgcG9ydFRvVXNlICE9IDgwXG4gICAgY29uc3QgaXNIdHRwc05vbkRlZmF1bHRQb3J0ID0gcHJvdG9jb2wgPT0gXCJodHRwc1wiICYmIHBvcnQgIT0gNDQzXG5cbiAgICBpZiAocG9ydFRvVXNlICYmIChpc0h0dHBOb25EZWZhdWx0UG9ydCB8fCBpc0h0dHBzTm9uRGVmYXVsdFBvcnQpKSB7XG4gICAgICBmdWxsVXJsICs9IGA6JHtwb3J0VG9Vc2V9YFxuICAgIH1cblxuICAgIGZ1bGxVcmwgKz0gdHJhbnNsYXRlZFJvdXRlXG5cbiAgICByZXR1cm4gZnVsbFVybFxuICB9XG59XG4iXX0=
package/build/routes.js CHANGED
@@ -1,5 +1,5 @@
1
- import { digg } from "diggerize";
2
1
  import * as inflection from "inflection";
2
+ import { digg } from "diggerize";
3
3
  export default class ApiMakerRoutes {
4
4
  constructor({ jsRoutes, locale, routeDefinitions }) {
5
5
  if (!jsRoutes)
@@ -24,7 +24,7 @@ export default class ApiMakerRoutes {
24
24
  this[routeNamePath] = (...args) => {
25
25
  let routeNamePathToUse;
26
26
  if (locale) {
27
- routeNamePathToUse = inflection.camelize(`${digg(routeDefinition, "name")}_${I18n.locale}_path`, true);
27
+ routeNamePathToUse = inflection.camelize(`${digg(routeDefinition, "name")}_${I18n.locale}_path`, true); // eslint-disable-line no-undef
28
28
  }
29
29
  else {
30
30
  routeNamePathToUse = routeNamePath;
@@ -37,7 +37,7 @@ export default class ApiMakerRoutes {
37
37
  this[routeNameUrl] = (...args) => {
38
38
  let routeNameUrlToUse;
39
39
  if (locale) {
40
- routeNameUrlToUse = inflection.camelize(`${digg(routeDefinition, "name")}_${I18n.locale}_url`, true);
40
+ routeNameUrlToUse = inflection.camelize(`${digg(routeDefinition, "name")}_${I18n.locale}_url`, true); // eslint-disable-line no-undef
41
41
  }
42
42
  else {
43
43
  routeNameUrlToUse = routeNameUrl;
@@ -47,4 +47,4 @@ export default class ApiMakerRoutes {
47
47
  }
48
48
  }
49
49
  }
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUV4QyxNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFDakMsWUFBYSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFFekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFBO1FBRXhDLEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLElBQUksaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUE7WUFFdkMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUN4RixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBRXRGLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLElBQUksTUFBTSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ2hHLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU0sTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ2hHLENBQUM7aUJBQU0sQ0FBQztnQkFDTixpQkFBaUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUN0RixnQkFBZ0IsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3RGLENBQUM7WUFFRCxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsaUJBQWlCLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUM5RyxDQUFDO1lBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxrQkFBa0IsQ0FBQTtnQkFFdEIsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxrQkFBa0IsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ3hHLENBQUM7cUJBQU0sQ0FBQztvQkFDTixrQkFBa0IsR0FBRyxhQUFhLENBQUE7Z0JBQ3BDLENBQUM7Z0JBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUNuRCxDQUFDLENBQUE7WUFFRCxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsZ0JBQWdCLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUM1RyxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxpQkFBaUIsQ0FBQTtnQkFFckIsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxpQkFBaUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ3RHLENBQUM7cUJBQU0sQ0FBQztvQkFDTixpQkFBaUIsR0FBRyxZQUFZLENBQUE7Z0JBQ2xDLENBQUM7Z0JBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUNsRCxDQUFDLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlclJvdXRlcyB7XG4gIGNvbnN0cnVjdG9yICh7anNSb3V0ZXMsIGxvY2FsZSwgcm91dGVEZWZpbml0aW9uc30pIHtcbiAgICBpZiAoIWpzUm91dGVzKSB0aHJvdyBuZXcgRXJyb3IoXCInanNSb3V0ZXMnIHdhc24ndCBnaXZlblwiKVxuXG4gICAgdGhpcy5qc1JvdXRlcyA9IGpzUm91dGVzXG4gICAgdGhpcy5yb3V0ZURlZmluaXRpb25zID0gcm91dGVEZWZpbml0aW9uc1xuXG4gICAgZm9yIChjb25zdCByb3V0ZURlZmluaXRpb24gb2YgZGlnZyh0aGlzLCBcInJvdXRlRGVmaW5pdGlvbnNcIiwgXCJyb3V0ZXNcIikpIHtcbiAgICAgIGxldCB0ZXN0Um91dGVOYW1lUGF0aCwgdGVzdFJvdXRlTmFtZVVybFxuXG4gICAgICBjb25zdCByb3V0ZU5hbWVQYXRoID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV9wYXRoYCwgdHJ1ZSlcbiAgICAgIGNvbnN0IHJvdXRlTmFtZVVybCA9IGluZmxlY3Rpb24uY2FtZWxpemUoYCR7ZGlnZyhyb3V0ZURlZmluaXRpb24sIFwibmFtZVwiKX1fdXJsYCwgdHJ1ZSlcblxuICAgICAgaWYgKGxvY2FsZSkge1xuICAgICAgICB0ZXN0Um91dGVOYW1lUGF0aCA9IGluZmxlY3Rpb24uY2FtZWxpemUoYCR7ZGlnZyhyb3V0ZURlZmluaXRpb24sIFwibmFtZVwiKX1fJHtsb2NhbGV9X3BhdGhgLCB0cnVlKVxuICAgICAgICB0ZXN0Um91dGVOYW1lVXJsID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV8ke2xvY2FsZX1fdXJsYCwgdHJ1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRlc3RSb3V0ZU5hbWVQYXRoID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV9wYXRoYCwgdHJ1ZSlcbiAgICAgICAgdGVzdFJvdXRlTmFtZVVybCA9IGluZmxlY3Rpb24uY2FtZWxpemUoYCR7ZGlnZyhyb3V0ZURlZmluaXRpb24sIFwibmFtZVwiKX1fdXJsYCwgdHJ1ZSlcbiAgICAgIH1cblxuICAgICAgaWYgKCEodGVzdFJvdXRlTmFtZVBhdGggaW4gdGhpcy5qc1JvdXRlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHBhdGggaW4gSlMgcm91dGVzOiAke3Rlc3RSb3V0ZU5hbWVQYXRofTogJHtPYmplY3Qua2V5cyh0aGlzLmpzUm91dGVzKS5qb2luKFwiLCBcIil9YClcbiAgICAgIH1cblxuICAgICAgdGhpc1tyb3V0ZU5hbWVQYXRoXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIGxldCByb3V0ZU5hbWVQYXRoVG9Vc2VcblxuICAgICAgICBpZiAobG9jYWxlKSB7XG4gICAgICAgICAgcm91dGVOYW1lUGF0aFRvVXNlID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV8ke0kxOG4ubG9jYWxlfV9wYXRoYCwgdHJ1ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByb3V0ZU5hbWVQYXRoVG9Vc2UgPSByb3V0ZU5hbWVQYXRoXG4gICAgICAgIH1cblxuICAgICAgICByZXR1cm4gdGhpcy5qc1JvdXRlc1tyb3V0ZU5hbWVQYXRoVG9Vc2VdKC4uLmFyZ3MpXG4gICAgICB9XG5cbiAgICAgIGlmICghKHRlc3RSb3V0ZU5hbWVVcmwgaW4gdGhpcy5qc1JvdXRlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIFVSTCBpbiBKUyByb3V0ZXM6ICR7dGVzdFJvdXRlTmFtZVVybH06ICR7T2JqZWN0LmtleXModGhpcy5qc1JvdXRlcykuam9pbihcIiwgXCIpfWApXG4gICAgICB9XG5cbiAgICAgIHRoaXNbcm91dGVOYW1lVXJsXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIGxldCByb3V0ZU5hbWVVcmxUb1VzZVxuXG4gICAgICAgIGlmIChsb2NhbGUpIHtcbiAgICAgICAgICByb3V0ZU5hbWVVcmxUb1VzZSA9IGluZmxlY3Rpb24uY2FtZWxpemUoYCR7ZGlnZyhyb3V0ZURlZmluaXRpb24sIFwibmFtZVwiKX1fJHtJMThuLmxvY2FsZX1fdXJsYCwgdHJ1ZSlcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICByb3V0ZU5hbWVVcmxUb1VzZSA9IHJvdXRlTmFtZVVybFxuICAgICAgICB9XG5cbiAgICAgICAgcmV0dXJuIHRoaXMuanNSb3V0ZXNbcm91dGVOYW1lVXJsVG9Vc2VdKC4uLmFyZ3MpXG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
50
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm91dGVzLmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJyb3V0ZXMuanMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxLQUFLLFVBQVUsTUFBTSxZQUFZLENBQUE7QUFDeEMsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUU5QixNQUFNLENBQUMsT0FBTyxPQUFPLGNBQWM7SUFDakMsWUFBYSxFQUFDLFFBQVEsRUFBRSxNQUFNLEVBQUUsZ0JBQWdCLEVBQUM7UUFDL0MsSUFBSSxDQUFDLFFBQVE7WUFBRSxNQUFNLElBQUksS0FBSyxDQUFDLHlCQUF5QixDQUFDLENBQUE7UUFFekQsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUE7UUFDeEIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFBO1FBRXhDLEtBQUssTUFBTSxlQUFlLElBQUksSUFBSSxDQUFDLElBQUksRUFBRSxrQkFBa0IsRUFBRSxRQUFRLENBQUMsRUFBRSxDQUFDO1lBQ3ZFLElBQUksaUJBQWlCLEVBQUUsZ0JBQWdCLENBQUE7WUFFdkMsTUFBTSxhQUFhLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQTtZQUN4RixNQUFNLFlBQVksR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBRXRGLElBQUksTUFBTSxFQUFFLENBQUM7Z0JBQ1gsaUJBQWlCLEdBQUcsVUFBVSxDQUFDLFFBQVEsQ0FBQyxHQUFHLElBQUksQ0FBQyxlQUFlLEVBQUUsTUFBTSxDQUFDLElBQUksTUFBTSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUE7Z0JBQ2hHLGdCQUFnQixHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsR0FBRyxJQUFJLENBQUMsZUFBZSxFQUFFLE1BQU0sQ0FBQyxJQUFJLE1BQU0sTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ2hHLENBQUM7aUJBQU0sQ0FBQztnQkFDTixpQkFBaUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFBO2dCQUN0RixnQkFBZ0IsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLElBQUksQ0FBQyxDQUFBO1lBQ3RGLENBQUM7WUFFRCxJQUFJLENBQUMsQ0FBQyxpQkFBaUIsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw4QkFBOEIsaUJBQWlCLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUM5RyxDQUFDO1lBRUQsSUFBSSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtnQkFDaEMsSUFBSSxrQkFBa0IsQ0FBQTtnQkFFdEIsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxrQkFBa0IsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQywrQkFBK0I7Z0JBQ3hJLENBQUM7cUJBQU0sQ0FBQztvQkFDTixrQkFBa0IsR0FBRyxhQUFhLENBQUE7Z0JBQ3BDLENBQUM7Z0JBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGtCQUFrQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUNuRCxDQUFDLENBQUE7WUFFRCxJQUFJLENBQUMsQ0FBQyxnQkFBZ0IsSUFBSSxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztnQkFDekMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsZ0JBQWdCLEtBQUssTUFBTSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQTtZQUM1RyxDQUFDO1lBRUQsSUFBSSxDQUFDLFlBQVksQ0FBQyxHQUFHLENBQUMsR0FBRyxJQUFJLEVBQUUsRUFBRTtnQkFDL0IsSUFBSSxpQkFBaUIsQ0FBQTtnQkFFckIsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxpQkFBaUIsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLEdBQUcsSUFBSSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQywrQkFBK0I7Z0JBQ3RJLENBQUM7cUJBQU0sQ0FBQztvQkFDTixpQkFBaUIsR0FBRyxZQUFZLENBQUE7Z0JBQ2xDLENBQUM7Z0JBRUQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsQ0FBQTtZQUNsRCxDQUFDLENBQUE7UUFDSCxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlclJvdXRlcyB7XG4gIGNvbnN0cnVjdG9yICh7anNSb3V0ZXMsIGxvY2FsZSwgcm91dGVEZWZpbml0aW9uc30pIHtcbiAgICBpZiAoIWpzUm91dGVzKSB0aHJvdyBuZXcgRXJyb3IoXCInanNSb3V0ZXMnIHdhc24ndCBnaXZlblwiKVxuXG4gICAgdGhpcy5qc1JvdXRlcyA9IGpzUm91dGVzXG4gICAgdGhpcy5yb3V0ZURlZmluaXRpb25zID0gcm91dGVEZWZpbml0aW9uc1xuXG4gICAgZm9yIChjb25zdCByb3V0ZURlZmluaXRpb24gb2YgZGlnZyh0aGlzLCBcInJvdXRlRGVmaW5pdGlvbnNcIiwgXCJyb3V0ZXNcIikpIHtcbiAgICAgIGxldCB0ZXN0Um91dGVOYW1lUGF0aCwgdGVzdFJvdXRlTmFtZVVybFxuXG4gICAgICBjb25zdCByb3V0ZU5hbWVQYXRoID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV9wYXRoYCwgdHJ1ZSlcbiAgICAgIGNvbnN0IHJvdXRlTmFtZVVybCA9IGluZmxlY3Rpb24uY2FtZWxpemUoYCR7ZGlnZyhyb3V0ZURlZmluaXRpb24sIFwibmFtZVwiKX1fdXJsYCwgdHJ1ZSlcblxuICAgICAgaWYgKGxvY2FsZSkge1xuICAgICAgICB0ZXN0Um91dGVOYW1lUGF0aCA9IGluZmxlY3Rpb24uY2FtZWxpemUoYCR7ZGlnZyhyb3V0ZURlZmluaXRpb24sIFwibmFtZVwiKX1fJHtsb2NhbGV9X3BhdGhgLCB0cnVlKVxuICAgICAgICB0ZXN0Um91dGVOYW1lVXJsID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV8ke2xvY2FsZX1fdXJsYCwgdHJ1ZSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRlc3RSb3V0ZU5hbWVQYXRoID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV9wYXRoYCwgdHJ1ZSlcbiAgICAgICAgdGVzdFJvdXRlTmFtZVVybCA9IGluZmxlY3Rpb24uY2FtZWxpemUoYCR7ZGlnZyhyb3V0ZURlZmluaXRpb24sIFwibmFtZVwiKX1fdXJsYCwgdHJ1ZSlcbiAgICAgIH1cblxuICAgICAgaWYgKCEodGVzdFJvdXRlTmFtZVBhdGggaW4gdGhpcy5qc1JvdXRlcykpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHBhdGggaW4gSlMgcm91dGVzOiAke3Rlc3RSb3V0ZU5hbWVQYXRofTogJHtPYmplY3Qua2V5cyh0aGlzLmpzUm91dGVzKS5qb2luKFwiLCBcIil9YClcbiAgICAgIH1cblxuICAgICAgdGhpc1tyb3V0ZU5hbWVQYXRoXSA9ICguLi5hcmdzKSA9PiB7XG4gICAgICAgIGxldCByb3V0ZU5hbWVQYXRoVG9Vc2VcblxuICAgICAgICBpZiAobG9jYWxlKSB7XG4gICAgICAgICAgcm91dGVOYW1lUGF0aFRvVXNlID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV8ke0kxOG4ubG9jYWxlfV9wYXRoYCwgdHJ1ZSkgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHJvdXRlTmFtZVBhdGhUb1VzZSA9IHJvdXRlTmFtZVBhdGhcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmpzUm91dGVzW3JvdXRlTmFtZVBhdGhUb1VzZV0oLi4uYXJncylcbiAgICAgIH1cblxuICAgICAgaWYgKCEodGVzdFJvdXRlTmFtZVVybCBpbiB0aGlzLmpzUm91dGVzKSkge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggVVJMIGluIEpTIHJvdXRlczogJHt0ZXN0Um91dGVOYW1lVXJsfTogJHtPYmplY3Qua2V5cyh0aGlzLmpzUm91dGVzKS5qb2luKFwiLCBcIil9YClcbiAgICAgIH1cblxuICAgICAgdGhpc1tyb3V0ZU5hbWVVcmxdID0gKC4uLmFyZ3MpID0+IHtcbiAgICAgICAgbGV0IHJvdXRlTmFtZVVybFRvVXNlXG5cbiAgICAgICAgaWYgKGxvY2FsZSkge1xuICAgICAgICAgIHJvdXRlTmFtZVVybFRvVXNlID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgJHtkaWdnKHJvdXRlRGVmaW5pdGlvbiwgXCJuYW1lXCIpfV8ke0kxOG4ubG9jYWxlfV91cmxgLCB0cnVlKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgcm91dGVOYW1lVXJsVG9Vc2UgPSByb3V0ZU5hbWVVcmxcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiB0aGlzLmpzUm91dGVzW3JvdXRlTmFtZVVybFRvVXNlXSguLi5hcmdzKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -25,7 +25,7 @@ export default class Serializer {
25
25
  };
26
26
  }
27
27
  else if (arg instanceof Date) {
28
- let offsetNumber = parseInt((arg.getTimezoneOffset() / 60) * 100, 10);
28
+ let offsetNumber = parseInt(arg.getTimezoneOffset() / 60 * 100, 10);
29
29
  offsetNumber = -offsetNumber;
30
30
  let offset = `${offsetNumber}`;
31
31
  while (offset.length < 4) {
@@ -66,4 +66,4 @@ export default class Serializer {
66
66
  return newObject;
67
67
  }
68
68
  }
69
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2VyaWFsaXplci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBRTlCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sVUFBVTtJQUM3QixNQUFNLENBQUMsU0FBUyxDQUFFLEdBQUc7UUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFckMsT0FBTyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDOUIsQ0FBQztJQUVELFlBQWEsR0FBRztRQUNkLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxHQUFHO1FBQ3BCLElBQUksT0FBTyxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFlBQVksSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNqRixPQUFPO2dCQUNMLGNBQWMsRUFBRSxPQUFPO2dCQUN2QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQztnQkFDcEQsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7YUFDbkIsQ0FBQTtRQUNILENBQUM7YUFBTSxJQUFJLE9BQU8sR0FBRyxJQUFJLFVBQVUsSUFBSSxHQUFHLENBQUMsWUFBWSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3ZFLE9BQU87Z0JBQ0wsY0FBYyxFQUFFLFVBQVU7Z0JBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQzthQUN6QyxDQUFBO1FBQ0gsQ0FBQzthQUFNLElBQUksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQy9CLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxpQkFBaUIsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxFQUFFLENBQUMsQ0FBQTtZQUVyRSxZQUFZLEdBQUcsQ0FBQyxZQUFZLENBQUE7WUFFNUIsSUFBSSxNQUFNLEdBQUcsR0FBRyxZQUFZLEVBQUUsQ0FBQTtZQUU5QixPQUFPLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQ3pCLE1BQU0sR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFBO1lBQ3ZCLENBQUM7WUFFRCxPQUFPO2dCQUNMLGNBQWMsRUFBRSxVQUFVO2dCQUMxQixLQUFLLEVBQUUsR0FBRyxHQUFHLENBQUMsV0FBVyxFQUFFLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUMsSUFBSSxHQUFHLENBQUMsT0FBTyxFQUFFLElBQUksR0FBRyxDQUFDLFFBQVEsRUFBRSxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxHQUFHLENBQUMsVUFBVSxFQUFFLElBQUksTUFBTSxFQUFFO2FBQ3pJLENBQUE7UUFDSCxDQUFDO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsT0FBTyxJQUFJLENBQUMsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2pDLENBQUM7YUFBTSxJQUFJLE9BQU8sR0FBRyxJQUFJLFFBQVEsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLFdBQVcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFlBQVksSUFBSSxZQUFZLEVBQUUsQ0FBQztZQUM1RyxPQUFPO2dCQUNMLGNBQWMsRUFBRSxZQUFZO2dCQUM1QixLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUM7YUFDakMsQ0FBQTtRQUNILENBQUM7YUFBTSxJQUFJLE9BQU8sR0FBRyxJQUFJLFFBQVEsSUFBSSxHQUFHLEtBQUssSUFBSSxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxJQUFJLFFBQVEsRUFBRSxDQUFDO1lBQ3RGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sR0FBRyxDQUFBO1FBQ1osQ0FBQztJQUNILENBQUM7SUFFRCxjQUFjLENBQUUsR0FBRztRQUNqQixPQUFPLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFFRCxlQUFlLENBQUUsR0FBRztRQUNsQixNQUFNLFNBQVMsR0FBRyxFQUFFLENBQUE7UUFFcEIsS0FBSyxNQUFNLEdBQUcsSUFBSSxHQUFHLEVBQUUsQ0FBQztZQUN0QixNQUFNLEtBQUssR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDdEIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFBO1lBQzlDLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUUxQyxTQUFTLENBQUMsTUFBTSxDQUFDLEdBQUcsUUFBUSxDQUFBO1FBQzlCLENBQUM7UUFFRCxPQUFPLFNBQVMsQ0FBQTtJQUNsQixDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBTZXJpYWxpemVyIHtcbiAgc3RhdGljIHNlcmlhbGl6ZSAoYXJnKSB7XG4gICAgY29uc3Qgc2VyaWFsaXplID0gbmV3IFNlcmlhbGl6ZXIoYXJnKVxuXG4gICAgcmV0dXJuIHNlcmlhbGl6ZS5zZXJpYWxpemUoKVxuICB9XG5cbiAgY29uc3RydWN0b3IgKGFyZykge1xuICAgIHRoaXMuYXJnID0gYXJnXG4gIH1cblxuICBzZXJpYWxpemUgKCkge1xuICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZUFyZ3VtZW50KHRoaXMuYXJnKVxuICB9XG5cbiAgc2VyaWFsaXplQXJndW1lbnQgKGFyZykge1xuICAgIGlmICh0eXBlb2YgYXJnID09IFwib2JqZWN0XCIgJiYgYXJnICYmIGFyZy5jb25zdHJ1Y3Rvci5hcGlNYWtlclR5cGUgPT0gXCJCYXNlTW9kZWxcIikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXBpX21ha2VyX3R5cGU6IFwibW9kZWxcIixcbiAgICAgICAgbW9kZWxfY2xhc3NfbmFtZTogZGlnZyhhcmcubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpLFxuICAgICAgICBtb2RlbF9pZDogYXJnLmlkKClcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcgPT0gXCJmdW5jdGlvblwiICYmIGFyZy5hcGlNYWtlclR5cGUgPT0gXCJCYXNlTW9kZWxcIikge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYXBpX21ha2VyX3R5cGU6IFwicmVzb3VyY2VcIixcbiAgICAgICAgbmFtZTogZGlnZyhhcmcubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhcmcgaW5zdGFuY2VvZiBEYXRlKSB7XG4gICAgICBsZXQgb2Zmc2V0TnVtYmVyID0gcGFyc2VJbnQoKGFyZy5nZXRUaW1lem9uZU9mZnNldCgpIC8gNjApICogMTAwLCAxMClcblxuICAgICAgb2Zmc2V0TnVtYmVyID0gLW9mZnNldE51bWJlclxuXG4gICAgICBsZXQgb2Zmc2V0ID0gYCR7b2Zmc2V0TnVtYmVyfWBcblxuICAgICAgd2hpbGUgKG9mZnNldC5sZW5ndGggPCA0KSB7XG4gICAgICAgIG9mZnNldCA9IGAwJHtvZmZzZXR9YFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcGlfbWFrZXJfdHlwZTogXCJkYXRldGltZVwiLFxuICAgICAgICB2YWx1ZTogYCR7YXJnLmdldEZ1bGxZZWFyKCl9LSR7YXJnLmdldE1vbnRoKCkgKyAxfS0ke2FyZy5nZXREYXRlKCl9ICR7YXJnLmdldEhvdXJzKCl9OiR7YXJnLmdldE1pbnV0ZXMoKX06JHthcmcuZ2V0U2Vjb25kcygpfSske29mZnNldH1gXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZUFycmF5KGFyZylcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcgPT0gXCJvYmplY3RcIiAmJiBhcmcgJiYgYXJnLmNvbnN0cnVjdG9yICYmIGFyZy5jb25zdHJ1Y3Rvci5hcGlNYWtlclR5cGUgPT0gXCJDb2xsZWN0aW9uXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFwaV9tYWtlcl90eXBlOiBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgdmFsdWU6IHRoaXMuc2VyaWFsaXplT2JqZWN0KGFyZylcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcgPT0gXCJvYmplY3RcIiAmJiBhcmcgIT09IG51bGwgJiYgYXJnLmNvbnN0cnVjdG9yLm5hbWUgPT0gXCJPYmplY3RcIikge1xuICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplT2JqZWN0KGFyZylcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFyZ1xuICAgIH1cbiAgfVxuXG4gIHNlcmlhbGl6ZUFycmF5IChhcmcpIHtcbiAgICByZXR1cm4gYXJnLm1hcCgodmFsdWUpID0+IHRoaXMuc2VyaWFsaXplQXJndW1lbnQodmFsdWUpKVxuICB9XG5cbiAgc2VyaWFsaXplT2JqZWN0IChhcmcpIHtcbiAgICBjb25zdCBuZXdPYmplY3QgPSB7fVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gYXJnKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGFyZ1trZXldXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuc2VyaWFsaXplQXJndW1lbnQodmFsdWUpXG4gICAgICBjb25zdCBuZXdLZXkgPSB0aGlzLnNlcmlhbGl6ZUFyZ3VtZW50KGtleSlcblxuICAgICAgbmV3T2JqZWN0W25ld0tleV0gPSBuZXdWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBuZXdPYmplY3RcbiAgfVxufVxuIl19
69
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2VyaWFsaXplci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBRTlCLE1BQU0sQ0FBQyxPQUFPLE9BQU8sVUFBVTtJQUM3QixNQUFNLENBQUMsU0FBUyxDQUFFLEdBQUc7UUFDbkIsTUFBTSxTQUFTLEdBQUcsSUFBSSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUE7UUFFckMsT0FBTyxTQUFTLENBQUMsU0FBUyxFQUFFLENBQUE7SUFDOUIsQ0FBQztJQUVELFlBQWEsR0FBRztRQUNkLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO0lBQ2hCLENBQUM7SUFFRCxTQUFTO1FBQ1AsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFBO0lBQ3pDLENBQUM7SUFFRCxpQkFBaUIsQ0FBRSxHQUFHO1FBQ3BCLElBQUksT0FBTyxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxDQUFDLFlBQVksSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNqRixPQUFPO2dCQUNMLGNBQWMsRUFBRSxPQUFPO2dCQUN2QixnQkFBZ0IsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQztnQkFDcEQsUUFBUSxFQUFFLEdBQUcsQ0FBQyxFQUFFLEVBQUU7YUFDbkIsQ0FBQTtRQUNILENBQUM7YUFBTSxJQUFJLE9BQU8sR0FBRyxJQUFJLFVBQVUsSUFBSSxHQUFHLENBQUMsWUFBWSxJQUFJLFdBQVcsRUFBRSxDQUFDO1lBQ3ZFLE9BQU87Z0JBQ0wsY0FBYyxFQUFFLFVBQVU7Z0JBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLGNBQWMsRUFBRSxFQUFFLE1BQU0sQ0FBQzthQUN6QyxDQUFBO1FBQ0gsQ0FBQzthQUFNLElBQUksR0FBRyxZQUFZLElBQUksRUFBRSxDQUFDO1lBQy9CLElBQUksWUFBWSxHQUFHLFFBQVEsQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLEdBQUcsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFBO1lBRW5FLFlBQVksR0FBRyxDQUFDLFlBQVksQ0FBQTtZQUU1QixJQUFJLE1BQU0sR0FBRyxHQUFHLFlBQVksRUFBRSxDQUFBO1lBRTlCLE9BQU8sTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDekIsTUFBTSxHQUFHLElBQUksTUFBTSxFQUFFLENBQUE7WUFDdkIsQ0FBQztZQUVELE9BQU87Z0JBQ0wsY0FBYyxFQUFFLFVBQVU7Z0JBQzFCLEtBQUssRUFBRSxHQUFHLEdBQUcsQ0FBQyxXQUFXLEVBQUUsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLEdBQUcsQ0FBQyxJQUFJLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxHQUFHLENBQUMsUUFBUSxFQUFFLElBQUksR0FBRyxDQUFDLFVBQVUsRUFBRSxJQUFJLEdBQUcsQ0FBQyxVQUFVLEVBQUUsSUFBSSxNQUFNLEVBQUU7YUFDekksQ0FBQTtRQUNILENBQUM7YUFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEVBQUUsQ0FBQztZQUM5QixPQUFPLElBQUksQ0FBQyxjQUFjLENBQUMsR0FBRyxDQUFDLENBQUE7UUFDakMsQ0FBQzthQUFNLElBQUksT0FBTyxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsV0FBVyxJQUFJLEdBQUcsQ0FBQyxXQUFXLENBQUMsWUFBWSxJQUFJLFlBQVksRUFBRSxDQUFDO1lBQzVHLE9BQU87Z0JBQ0wsY0FBYyxFQUFFLFlBQVk7Z0JBQzVCLEtBQUssRUFBRSxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQzthQUNqQyxDQUFBO1FBQ0gsQ0FBQzthQUFNLElBQUksT0FBTyxHQUFHLElBQUksUUFBUSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksR0FBRyxDQUFDLFdBQVcsQ0FBQyxJQUFJLElBQUksUUFBUSxFQUFFLENBQUM7WUFDdEYsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFBO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxHQUFHLENBQUE7UUFDWixDQUFDO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBRSxHQUFHO1FBQ2pCLE9BQU8sR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7SUFDMUQsQ0FBQztJQUVELGVBQWUsQ0FBRSxHQUFHO1FBQ2xCLE1BQU0sU0FBUyxHQUFHLEVBQUUsQ0FBQTtRQUVwQixLQUFLLE1BQU0sR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1lBQ3RCLE1BQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQTtZQUN0QixNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsS0FBSyxDQUFDLENBQUE7WUFDOUMsTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLEdBQUcsQ0FBQyxDQUFBO1lBRTFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsR0FBRyxRQUFRLENBQUE7UUFDOUIsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFBO0lBQ2xCLENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIFNlcmlhbGl6ZXIge1xuICBzdGF0aWMgc2VyaWFsaXplIChhcmcpIHtcbiAgICBjb25zdCBzZXJpYWxpemUgPSBuZXcgU2VyaWFsaXplcihhcmcpXG5cbiAgICByZXR1cm4gc2VyaWFsaXplLnNlcmlhbGl6ZSgpXG4gIH1cblxuICBjb25zdHJ1Y3RvciAoYXJnKSB7XG4gICAgdGhpcy5hcmcgPSBhcmdcbiAgfVxuXG4gIHNlcmlhbGl6ZSAoKSB7XG4gICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplQXJndW1lbnQodGhpcy5hcmcpXG4gIH1cblxuICBzZXJpYWxpemVBcmd1bWVudCAoYXJnKSB7XG4gICAgaWYgKHR5cGVvZiBhcmcgPT0gXCJvYmplY3RcIiAmJiBhcmcgJiYgYXJnLmNvbnN0cnVjdG9yLmFwaU1ha2VyVHlwZSA9PSBcIkJhc2VNb2RlbFwiKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcGlfbWFrZXJfdHlwZTogXCJtb2RlbFwiLFxuICAgICAgICBtb2RlbF9jbGFzc19uYW1lOiBkaWdnKGFyZy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIiksXG4gICAgICAgIG1vZGVsX2lkOiBhcmcuaWQoKVxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAodHlwZW9mIGFyZyA9PSBcImZ1bmN0aW9uXCIgJiYgYXJnLmFwaU1ha2VyVHlwZSA9PSBcIkJhc2VNb2RlbFwiKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcGlfbWFrZXJfdHlwZTogXCJyZXNvdXJjZVwiLFxuICAgICAgICBuYW1lOiBkaWdnKGFyZy5tb2RlbENsYXNzRGF0YSgpLCBcIm5hbWVcIilcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGFyZyBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIGxldCBvZmZzZXROdW1iZXIgPSBwYXJzZUludChhcmcuZ2V0VGltZXpvbmVPZmZzZXQoKSAvIDYwICogMTAwLCAxMClcblxuICAgICAgb2Zmc2V0TnVtYmVyID0gLW9mZnNldE51bWJlclxuXG4gICAgICBsZXQgb2Zmc2V0ID0gYCR7b2Zmc2V0TnVtYmVyfWBcblxuICAgICAgd2hpbGUgKG9mZnNldC5sZW5ndGggPCA0KSB7XG4gICAgICAgIG9mZnNldCA9IGAwJHtvZmZzZXR9YFxuICAgICAgfVxuXG4gICAgICByZXR1cm4ge1xuICAgICAgICBhcGlfbWFrZXJfdHlwZTogXCJkYXRldGltZVwiLFxuICAgICAgICB2YWx1ZTogYCR7YXJnLmdldEZ1bGxZZWFyKCl9LSR7YXJnLmdldE1vbnRoKCkgKyAxfS0ke2FyZy5nZXREYXRlKCl9ICR7YXJnLmdldEhvdXJzKCl9OiR7YXJnLmdldE1pbnV0ZXMoKX06JHthcmcuZ2V0U2Vjb25kcygpfSske29mZnNldH1gXG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChBcnJheS5pc0FycmF5KGFyZykpIHtcbiAgICAgIHJldHVybiB0aGlzLnNlcmlhbGl6ZUFycmF5KGFyZylcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcgPT0gXCJvYmplY3RcIiAmJiBhcmcgJiYgYXJnLmNvbnN0cnVjdG9yICYmIGFyZy5jb25zdHJ1Y3Rvci5hcGlNYWtlclR5cGUgPT0gXCJDb2xsZWN0aW9uXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFwaV9tYWtlcl90eXBlOiBcImNvbGxlY3Rpb25cIixcbiAgICAgICAgdmFsdWU6IHRoaXMuc2VyaWFsaXplT2JqZWN0KGFyZylcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBhcmcgPT0gXCJvYmplY3RcIiAmJiBhcmcgIT09IG51bGwgJiYgYXJnLmNvbnN0cnVjdG9yLm5hbWUgPT0gXCJPYmplY3RcIikge1xuICAgICAgcmV0dXJuIHRoaXMuc2VyaWFsaXplT2JqZWN0KGFyZylcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGFyZ1xuICAgIH1cbiAgfVxuXG4gIHNlcmlhbGl6ZUFycmF5IChhcmcpIHtcbiAgICByZXR1cm4gYXJnLm1hcCgodmFsdWUpID0+IHRoaXMuc2VyaWFsaXplQXJndW1lbnQodmFsdWUpKVxuICB9XG5cbiAgc2VyaWFsaXplT2JqZWN0IChhcmcpIHtcbiAgICBjb25zdCBuZXdPYmplY3QgPSB7fVxuXG4gICAgZm9yIChjb25zdCBrZXkgaW4gYXJnKSB7XG4gICAgICBjb25zdCB2YWx1ZSA9IGFyZ1trZXldXG4gICAgICBjb25zdCBuZXdWYWx1ZSA9IHRoaXMuc2VyaWFsaXplQXJndW1lbnQodmFsdWUpXG4gICAgICBjb25zdCBuZXdLZXkgPSB0aGlzLnNlcmlhbGl6ZUFyZ3VtZW50KGtleSlcblxuICAgICAgbmV3T2JqZWN0W25ld0tleV0gPSBuZXdWYWx1ZVxuICAgIH1cblxuICAgIHJldHVybiBuZXdPYmplY3RcbiAgfVxufVxuIl19
@@ -1,7 +1,7 @@
1
- import config from "./config.js";
2
- import Devise from "./devise.js";
3
1
  import * as inflection from "inflection";
2
+ import Devise from "./devise.js";
4
3
  import Logger from "./logger.js";
4
+ import config from "./config.js";
5
5
  import wakeEvent from "wake-event";
6
6
  const logger = new Logger({ name: "ApiMaker / SessionStatusUpdater" });
7
7
  const shared = {};
@@ -19,11 +19,11 @@ export default class ApiMakerSessionStatusUpdater {
19
19
  if ("useMetaElement" in args) {
20
20
  this.useMetaElement = args.useMetaElement;
21
21
  }
22
- else if (typeof document != "undefined") {
23
- this.useMetaElement = true;
22
+ else if (typeof document === "undefined") {
23
+ this.useMetaElement = false;
24
24
  }
25
25
  else {
26
- this.useMetaElement = false;
26
+ this.useMetaElement = true;
27
27
  }
28
28
  if (typeof window != "undefined") {
29
29
  this.connectOnlineEvent();
@@ -129,4 +129,4 @@ export default class ApiMakerSessionStatusUpdater {
129
129
  }
130
130
  }
131
131
  }
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQix3QkFBd0I7QUFFeEIsTUFBTSxDQUFDLE9BQU8sT0FBTyw0QkFBNEI7SUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUMsNEJBQTRCLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5RSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsNEJBQTRCLENBQUE7SUFDNUMsQ0FBQztJQUVELFlBQVksSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQTtRQUVyQyxJQUFJLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUMxQyxJQUFJLENBQUMsY0FB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RWpHLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtZQUN2QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUM3QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGNvbmZpZyBmcm9tIFwiLi9jb25maWcuanNcIlxuaW1wb3J0IERldmlzZSBmcm9tIFwiLi9kZXZpc2UuanNcIlxuaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuL2xvZ2dlci5qc1wiXG5pbXBvcnQgd2FrZUV2ZW50IGZyb20gXCJ3YWtlLWV2ZW50XCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIFNlc3Npb25TdGF0dXNVcGRhdGVyXCJ9KVxuY29uc3Qgc2hhcmVkID0ge31cblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIge1xuICBzdGF0aWMgY3VycmVudChhcmdzKSB7XG4gICAgaWYgKCFzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlcikge1xuICAgICAgc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIgPSBuZXcgQXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlcihhcmdzKVxuICAgIH1cblxuICAgIHJldHVybiBzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlclxuICB9XG5cbiAgY29uc3RydWN0b3IoYXJncyA9IHt9KSB7XG4gICAgdGhpcy5ldmVudHMgPSB7fVxuICAgIHRoaXMudGltZW91dCA9IGFyZ3MudGltZW91dCB8fCA2MDAwMDBcblxuICAgIGlmIChcInVzZU1ldGFFbGVtZW50XCIgaW4gYXJncykge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGFyZ3MudXNlTWV0YUVsZW1lbnRcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudCAhPSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB0aGlzLnVzZU1ldGFFbGVtZW50ID0gdHJ1ZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVzZU1ldGFFbGVtZW50ID0gZmFsc2VcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIHdpbmRvdyAhPSBcInVuZGVmaW5lZFwiKSB7XG4gICAgICB0aGlzLmNvbm5lY3RPbmxpbmVFdmVudCgpXG4gICAgfVxuXG4gICAgdGhpcy5jb25uZWN0V2FrZUV2ZW50KClcbiAgfVxuXG4gIGNvbm5lY3RPbmxpbmVFdmVudCgpIHtcbiAgICB3aW5kb3cuYWRkRXZlbnRMaXN0ZW5lcihcIm9ubGluZVwiLCB0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMsIGZhbHNlKVxuICB9XG5cbiAgY29ubmVjdFdha2VFdmVudCgpIHtcbiAgICB3YWtlRXZlbnQodGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzKVxuICB9XG5cbiAgYXN5bmMgZ2V0Q3NyZlRva2VuKCkge1xuICAgIGlmICh0aGlzLmNzcmZUb2tlbikge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBHZXQgQ1NSRiB0b2tlbiBmcm9tIHNldCB2YXJpYWJsZTogJHt0aGlzLmNzcmZUb2tlbn1gKVxuXG4gICAgICByZXR1cm4gdGhpcy5jc3JmVG9rZW5cbiAgICB9XG5cbiAgICBpZiAodGhpcy51c2VNZXRhRWxlbWVudCkge1xuICAgICAgY29uc3QgY3NyZlRva2VuRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXVwiKVxuXG4gICAgICBpZiAoY3NyZlRva2VuRWxlbWVudCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYEdldCBDU1JGIHRva2VuIGZyb20gbWV0YSBlbGVtZW50OiAke2NzcmZUb2tlbkVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKX1gKVxuXG4gICAgICAgIHRoaXMuY3NyZlRva2VuID0gY3NyZlRva2VuRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3NyZlRva2VuXG4gICAgICB9XG4gICAgfVxuXG4gICAgbG9nZ2VyLmRlYnVnKFwiVXBkYXRpbmcgc2Vzc2lvbiBzdGF0dXMgYmVjYXVzZSBubyBDU1JGIHRva2VuIHNldCB5ZXRcIilcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuXG4gICAgaWYgKHRoaXMuY3NyZlRva2VuKSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJldHVybmluZyBDU1JGIHRva2VuIGFmdGVyIHVwZGF0aW5nIHNlc3Npb24gc3RhdHVzOiAke3RoaXMuY3NyZlRva2VufWApXG5cbiAgICAgIHJldHVybiB0aGlzLmNzcmZUb2tlblxuICAgIH1cblxuICAgIHRocm93IG5ldyBFcnJvcihcIkNTUkYgdG9rZW4gaGFzbid0IGJlZW4gc2V0XCIpXG4gIH1cblxuICBzZXNzaW9uU3RhdHVzKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3QgaG9zdCA9IGNvbmZpZy5nZXRIb3N0KClcbiAgICAgIGxldCByZXF1ZXN0UGF0aCA9IFwiXCJcblxuICAgICAgaWYgKGhvc3QpIHJlcXVlc3RQYXRoICs9IGhvc3RcblxuICAgICAgcmVxdWVzdFBhdGggKz0gXCIvYXBpX21ha2VyL3Nlc3Npb25fc3RhdHVzZXNcIlxuXG4gICAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgeGhyLm9wZW4oXCJQT1NUXCIsIHJlcXVlc3RQYXRoLCB0cnVlKVxuICAgICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBKU09OLnBhcnNlKHhoci5yZXNwb25zZVRleHQpXG4gICAgICAgIHJlc29sdmUocmVzcG9uc2UpXG4gICAgICB9XG4gICAgICB4aHIuc2VuZCgpXG4gICAgfSlcbiAgfVxuXG4gIG9uU2lnbmVkT3V0KGNhbGxiYWNrKSB7XG4gICAgdGhpcy5hZGRFdmVudChcIm9uU2lnbmVkT3V0XCIsIGNhbGxiYWNrKVxuICB9XG5cbiAgc3RhcnRUaW1lb3V0KCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInN0YXJ0VGltZW91dFwiKVxuXG4gICAgaWYgKHRoaXMudXBkYXRlVGltZW91dClcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnVwZGF0ZVRpbWVvdXQpXG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZW91dCgpXG4gICAgICAgIHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cygpXG4gICAgICB9LFxuICAgICAgdGhpcy50aW1lb3V0XG4gICAgKVxuICB9XG5cbiAgc3RvcFRpbWVvdXQoKSB7XG4gICAgaWYgKHRoaXMudXBkYXRlVGltZW91dClcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gIH1cblxuICB1cGRhdGVTZXNzaW9uU3RhdHVzID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInVwZGF0ZVNlc3Npb25TdGF0dXNcIilcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2Vzc2lvblN0YXR1cygpXG5cbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpfWApXG4gICAgdGhpcy51cGRhdGVNZXRhRWxlbWVudHNGcm9tUmVzdWx0KHJlc3VsdClcbiAgICB0aGlzLnVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQocmVzdWx0KVxuICB9XG5cbiAgdXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdChyZXN1bHQpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJ1cGRhdGVNZXRhRWxlbWVudHNGcm9tUmVzdWx0XCIpXG5cbiAgICB0aGlzLmNzcmZUb2tlbiA9IHJlc3VsdC5jc3JmX3Rva2VuXG5cbiAgICBpZiAodGhpcy51c2VNZXRhRWxlbWVudCkge1xuICAgICAgY29uc3QgY3NyZlRva2VuRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXVwiKVxuXG4gICAgICBpZiAoY3NyZlRva2VuRWxlbWVudCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYENoYW5naW5nIHRva2VuIGZyb20gXCIke2NzcmZUb2tlbkVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKX1cIiB0byBcIiR7cmVzdWx0LmNzcmZfdG9rZW59XCJgKVxuICAgICAgICBjc3JmVG9rZW5FbGVtZW50LnNldEF0dHJpYnV0ZShcImNvbnRlbnRcIiwgcmVzdWx0LmNzcmZfdG9rZW4pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2dnZXIuZGVidWcoXCJjc3JmIHRva2VuIGVsZW1lbnQgY291bGRuJ3QgYmUgZm91bmRcIilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGVVc2VyU2Vzc2lvbnNGcm9tUmVzdWx0KHJlc3VsdCkge1xuICAgIGZvciAoY29uc3Qgc2NvcGVOYW1lIGluIHJlc3VsdC5zY29wZXMpIHtcbiAgICAgIHRoaXMudXBkYXRlVXNlclNlc3Npb25TY29wZUZyb21SZXN1bHQoc2NvcGVOYW1lLCByZXN1bHQuc2NvcGVzW3Njb3BlTmFtZV0pXG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVXNlclNlc3Npb25TY29wZUZyb21SZXN1bHQoc2NvcGVOYW1lLCBzY29wZSkge1xuICAgIGNvbnN0IGRldmlzZUlzU2lnbmVkSW5NZXRob2ROYW1lID0gYGlzJHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlTmFtZSl9U2lnbmVkSW5gXG5cbiAgICBpZiAoIShkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZSBpbiBEZXZpc2UpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggbWV0aG9kIGluIERldmlzZTogJHtkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZX1gKVxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRseVNpZ25lZEluID0gRGV2aXNlW2RldmlzZUlzU2lnbmVkSW5NZXRob2ROYW1lXSgpXG4gICAgY29uc3Qgc2lnbmVkSW5PbkJhY2tlbmQgPSBzY29wZS5zaWduZWRfaW5cblxuICAgIGlmIChjdXJyZW50bHlTaWduZWRJbiAmJiAhc2lnbmVkSW5PbkJhY2tlbmQpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgJHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlTmFtZSl9IHNpZ25lZCBpbiBvbiBmcm9udGVuZCBidXQgbm90IGluIGJhY2tlbmQhYClcblxuICAgICAgRGV2aXNlLnNldFNpZ25lZE91dCh7c2NvcGU6IHNjb3BlTmFtZX0pXG4gICAgICBEZXZpc2UuY2FsbFNpZ25PdXRFdmVudCh7c2NvcGU6IHNjb3BlTmFtZX0pXG4gICAgfVxuICB9XG59XG4iXX0=
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQix3QkFBd0I7QUFFeEIsTUFBTSxDQUFDLE9BQU8sT0FBTyw0QkFBNEI7SUFDL0MsTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJO1FBQ2pCLElBQUksQ0FBQyxNQUFNLENBQUMsNEJBQTRCLEVBQUUsQ0FBQztZQUN6QyxNQUFNLENBQUMsNEJBQTRCLEdBQUcsSUFBSSw0QkFBNEIsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUM5RSxDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUMsNEJBQTRCLENBQUE7SUFDNUMsQ0FBQztJQUVELFlBQVksSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQTtRQUVyQyxJQUFJLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsS0FBSyxXQUFXLEVBQUUsQ0FBQztZQUMzQyxJQUFJLENBQUMsY0FB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RWpHLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtZQUN2QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUM3QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZS5qc1wiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuL2xvZ2dlci5qc1wiXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQgd2FrZUV2ZW50IGZyb20gXCJ3YWtlLWV2ZW50XCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIFNlc3Npb25TdGF0dXNVcGRhdGVyXCJ9KVxuY29uc3Qgc2hhcmVkID0ge31cblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIge1xuICBzdGF0aWMgY3VycmVudChhcmdzKSB7XG4gICAgaWYgKCFzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlcikge1xuICAgICAgc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIgPSBuZXcgQXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlcihhcmdzKVxuICAgIH1cblxuICAgIHJldHVybiBzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlclxuICB9XG5cbiAgY29uc3RydWN0b3IoYXJncyA9IHt9KSB7XG4gICAgdGhpcy5ldmVudHMgPSB7fVxuICAgIHRoaXMudGltZW91dCA9IGFyZ3MudGltZW91dCB8fCA2MDAwMDBcblxuICAgIGlmIChcInVzZU1ldGFFbGVtZW50XCIgaW4gYXJncykge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGFyZ3MudXNlTWV0YUVsZW1lbnRcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGZhbHNlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy5jb25uZWN0T25saW5lRXZlbnQoKVxuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdFdha2VFdmVudCgpXG4gIH1cblxuICBjb25uZWN0T25saW5lRXZlbnQoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJvbmxpbmVcIiwgdGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzLCBmYWxzZSlcbiAgfVxuXG4gIGNvbm5lY3RXYWtlRXZlbnQoKSB7XG4gICAgd2FrZUV2ZW50KHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cylcbiAgfVxuXG4gIGFzeW5jIGdldENzcmZUb2tlbigpIHtcbiAgICBpZiAodGhpcy5jc3JmVG9rZW4pIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZyhgR2V0IENTUkYgdG9rZW4gZnJvbSBzZXQgdmFyaWFibGU6ICR7dGhpcy5jc3JmVG9rZW59YClcblxuICAgICAgcmV0dXJuIHRoaXMuY3NyZlRva2VuXG4gICAgfVxuXG4gICAgaWYgKHRoaXMudXNlTWV0YUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNzcmZUb2tlbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibWV0YVtuYW1lPSdjc3JmLXRva2VuJ11cIilcblxuICAgICAgaWYgKGNzcmZUb2tlbkVsZW1lbnQpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBHZXQgQ1NSRiB0b2tlbiBmcm9tIG1ldGEgZWxlbWVudDogJHtjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIil9YClcblxuICAgICAgICB0aGlzLmNzcmZUb2tlbiA9IGNzcmZUb2tlbkVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKVxuXG4gICAgICAgIHJldHVybiB0aGlzLmNzcmZUb2tlblxuICAgICAgfVxuICAgIH1cblxuICAgIGxvZ2dlci5kZWJ1ZyhcIlVwZGF0aW5nIHNlc3Npb24gc3RhdHVzIGJlY2F1c2Ugbm8gQ1NSRiB0b2tlbiBzZXQgeWV0XCIpXG4gICAgYXdhaXQgdGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzKClcblxuICAgIGlmICh0aGlzLmNzcmZUb2tlbikge1xuICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBSZXR1cm5pbmcgQ1NSRiB0b2tlbiBhZnRlciB1cGRhdGluZyBzZXNzaW9uIHN0YXR1czogJHt0aGlzLmNzcmZUb2tlbn1gKVxuXG4gICAgICByZXR1cm4gdGhpcy5jc3JmVG9rZW5cbiAgICB9XG5cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJDU1JGIHRva2VuIGhhc24ndCBiZWVuIHNldFwiKVxuICB9XG5cbiAgc2Vzc2lvblN0YXR1cygpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGhvc3QgPSBjb25maWcuZ2V0SG9zdCgpXG4gICAgICBsZXQgcmVxdWVzdFBhdGggPSBcIlwiXG5cbiAgICAgIGlmIChob3N0KSByZXF1ZXN0UGF0aCArPSBob3N0XG5cbiAgICAgIHJlcXVlc3RQYXRoICs9IFwiL2FwaV9tYWtlci9zZXNzaW9uX3N0YXR1c2VzXCJcblxuICAgICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcbiAgICAgIHhoci5vcGVuKFwiUE9TVFwiLCByZXF1ZXN0UGF0aCwgdHJ1ZSlcbiAgICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KVxuICAgICAgICByZXNvbHZlKHJlc3BvbnNlKVxuICAgICAgfVxuICAgICAgeGhyLnNlbmQoKVxuICAgIH0pXG4gIH1cblxuICBvblNpZ25lZE91dChjYWxsYmFjaykge1xuICAgIHRoaXMuYWRkRXZlbnQoXCJvblNpZ25lZE91dFwiLCBjYWxsYmFjaylcbiAgfVxuXG4gIHN0YXJ0VGltZW91dCgpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJzdGFydFRpbWVvdXRcIilcblxuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lb3V0KVxuXG4gICAgdGhpcy51cGRhdGVUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKVxuICAgICAgICB0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuICAgICAgfSxcbiAgICAgIHRoaXMudGltZW91dFxuICAgIClcbiAgfVxuXG4gIHN0b3BUaW1lb3V0KCkge1xuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lb3V0KVxuICB9XG5cbiAgdXBkYXRlU2Vzc2lvblN0YXR1cyA9IGFzeW5jICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJ1cGRhdGVTZXNzaW9uU3RhdHVzXCIpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNlc3Npb25TdGF0dXMoKVxuXG4gICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBSZXN1bHQ6ICR7SlNPTi5zdHJpbmdpZnkocmVzdWx0LCBudWxsLCAyKX1gKVxuICAgIHRoaXMudXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdChyZXN1bHQpXG4gICAgdGhpcy51cGRhdGVVc2VyU2Vzc2lvbnNGcm9tUmVzdWx0KHJlc3VsdClcbiAgfVxuXG4gIHVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQocmVzdWx0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwidXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdFwiKVxuXG4gICAgdGhpcy5jc3JmVG9rZW4gPSByZXN1bHQuY3NyZl90b2tlblxuXG4gICAgaWYgKHRoaXMudXNlTWV0YUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNzcmZUb2tlbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibWV0YVtuYW1lPSdjc3JmLXRva2VuJ11cIilcblxuICAgICAgaWYgKGNzcmZUb2tlbkVsZW1lbnQpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBDaGFuZ2luZyB0b2tlbiBmcm9tIFwiJHtjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIil9XCIgdG8gXCIke3Jlc3VsdC5jc3JmX3Rva2VufVwiYClcbiAgICAgICAgY3NyZlRva2VuRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIsIHJlc3VsdC5jc3JmX3Rva2VuKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFwiY3NyZiB0b2tlbiBlbGVtZW50IGNvdWxkbid0IGJlIGZvdW5kXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVXNlclNlc3Npb25zRnJvbVJlc3VsdChyZXN1bHQpIHtcbiAgICBmb3IgKGNvbnN0IHNjb3BlTmFtZSBpbiByZXN1bHQuc2NvcGVzKSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgcmVzdWx0LnNjb3Blc1tzY29wZU5hbWVdKVxuICAgIH1cbiAgfVxuXG4gIHVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgc2NvcGUpIHtcbiAgICBjb25zdCBkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZSA9IGBpcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfVNpZ25lZEluYFxuXG4gICAgaWYgKCEoZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWUgaW4gRGV2aXNlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIG1ldGhvZCBpbiBEZXZpc2U6ICR7ZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWV9YClcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50bHlTaWduZWRJbiA9IERldmlzZVtkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZV0oKVxuICAgIGNvbnN0IHNpZ25lZEluT25CYWNrZW5kID0gc2NvcGUuc2lnbmVkX2luXG5cbiAgICBpZiAoY3VycmVudGx5U2lnbmVkSW4gJiYgIXNpZ25lZEluT25CYWNrZW5kKSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfSBzaWduZWQgaW4gb24gZnJvbnRlbmQgYnV0IG5vdCBpbiBiYWNrZW5kIWApXG5cbiAgICAgIERldmlzZS5zZXRTaWduZWRPdXQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgICAgRGV2aXNlLmNhbGxTaWduT3V0RXZlbnQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgIH1cbiAgfVxufVxuIl19