@kaspernj/api-maker 1.0.2121 → 1.0.2123

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.
package/build/link.js CHANGED
@@ -2,12 +2,12 @@ import { jsx as _jsx } from "react/jsx-runtime";
2
2
  /* eslint-disable sort-imports */
3
3
  import { Platform, Pressable, StyleSheet } from "react-native";
4
4
  import { shapeComponent } from "set-state-compare/build/shape-component.js";
5
- import { useApiMaker } from "@kaspernj/api-maker/build/with-api-maker.js";
6
5
  import BaseComponent from "./base-component";
7
6
  import PropTypes from "prop-types";
8
7
  import React from "react";
9
8
  import dataSetToAttributes from "./data-set-to-attributes.js";
10
9
  import memo from "set-state-compare/build/memo.js";
10
+ import { useApiMaker } from "./with-api-maker";
11
11
  export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
12
12
  static propTypes = {
13
13
  paddingHorizontal: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),
@@ -161,4 +161,4 @@ export default memo(shapeComponent(class ApiMakerLink extends BaseComponent {
161
161
  history.push(this.props.to);
162
162
  }
163
163
  }));
164
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibGluay5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSw2Q0FBNkMsQ0FBQTtBQUN2RSxPQUFPLGFBQWEsTUFBTSxrQkFBa0IsQ0FBQTtBQUM1QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sbUJBQW1CLE1BQU0sNkJBQTZCLENBQUE7QUFDN0QsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFFbEQsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sWUFBYSxTQUFRLGFBQWE7SUFDekUsTUFBTSxDQUFDLFNBQVMsR0FBRztRQUNqQixpQkFBaUIsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRSxZQUFZLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDN0IsQ0FBQTtJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFBO0lBQy9CLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxTQUFT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QyxDQUFBO0lBRUQsUUFBUSxHQUFHLEdBQUcsRUFBRTtRQUNkLDZHQUE2RztRQUM3RyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ3JCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUMsQ0FBQTtJQUVELFlBQVk7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUVqRCxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQTtRQUV2RixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQge1BsYXRmb3JtLCBQcmVzc2FibGUsIFN0eWxlU2hlZXR9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUFwaU1ha2VyfSBmcm9tIFwiQGthc3Blcm5qL2FwaS1tYWtlci9idWlsZC93aXRoLWFwaS1tYWtlci5qc1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGRhdGFTZXRUb0F0dHJpYnV0ZXMgZnJvbSBcIi4vZGF0YS1zZXQtdG8tYXR0cmlidXRlcy5qc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJMaW5rIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgcGFkZGluZ0hvcml6b250YWw6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICBwYWRkaW5nVmVydGljYWw6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICB1c2VQcmVzc2FibGU6IFByb3BUeXBlcy5ib29sXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLmFwaU1ha2VyID0gdXNlQXBpTWFrZXIoKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhU2V0LCB0bywgb25DbGljaywgb25QcmVzcywgcGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGUsIHRlc3RJRCwgdXNlUHJlc3NhYmxlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGxpbmtTdHlsZSA9IHRoaXMubGlua1N0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZSwgdXNlUHJlc3NhYmxlfSlcblxuICAgIGlmIChQbGF0Zm9ybS5PUyA9PSBcIndlYlwiICYmICF1c2VQcmVzc2FibGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxhXG4gICAgICAgICAgey4uLmRhdGFTZXRUb0F0dHJpYnV0ZXMoT2JqZWN0LmFzc2lnbih7dGVzdGlkOiB0ZXN0SUR9LCBkYXRhU2V0KSl9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJlZmVyLW9iamVjdC1zcHJlYWRcbiAgICAgICAgICBocmVmPXt0byB8fCBcIiNcIn1cbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uTGlua0NsaWNrZWR9XG4gICAgICAgICAgc3R5bGU9e2xpbmtTdHlsZX1cbiAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8UHJlc3NhYmxlIGRhdGFTZXQ9e2RhdGFTZXR9IG9uUHJlc3M9e3RoaXMudHQub25QcmVzc30gc3R5bGU9e2xpbmtTdHlsZX0gdGVzdElEPXt0ZXN0SUR9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgLyoqIFJldHVybnMgYSBjYWNoZWQgc3R5bGUgd2l0aCBwYWRkaW5nIHByb3BzIGFwcGxpZWQuICovXG4gIGxpbmtTdHlsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGUsIHVzZVByZXNzYWJsZX0pIHtcbiAgICBpZiAoUGxhdGZvcm0uT1MgPT0gXCJ3ZWJcIiAmJiAhdXNlUHJlc3NhYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5saW5rU3R5bGVGb3JBbmNob3Ioe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saW5rU3R5bGVGb3JQcmVzc2FibGUoe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSlcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBhbmNob3Igc3R5bGUgd2l0aCBwYWRkaW5nIHByb3BzIGFwcGxpZWQuICovXG4gIGxpbmtTdHlsZUZvckFuY2hvcih7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGV9KSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUoXCJsaW5rU3R5bGVGb3JBbmNob3JcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzb2x2ZWRTdHlsZSA9IHRoaXMucmVzb2x2ZVN0eWxlRm9yQW5jaG9yKHN0eWxlKVxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gdGhpcy5wYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZTogcmVzb2x2ZWRTdHlsZX0pXG5cbiAgICAgIGlmICghb3ZlcnJpZGVzKSByZXR1cm4gcmVzb2x2ZWRTdHlsZVxuXG4gICAgICBjb25zdCBuZXh0U3R5bGUgPSB7Li4ucmVzb2x2ZWRTdHlsZX1cblxuICAgICAgZGVsZXRlIG5leHRTdHlsZS5wYWRkaW5nSG9yaXpvbnRhbFxuICAgICAgZGVsZXRlIG5leHRTdHlsZS5wYWRkaW5nVmVydGljYWxcblxuICAgICAgcmV0dXJuIHsuLi5uZXh0U3R5bGUsIC4uLm92ZXJyaWRlc31cbiAgICB9LCBbcGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGVdKVxuICB9XG5cbiAgLyoqIFJldHVybnMgYSBQcmVzc2FibGUtY29tcGF0aWJsZSBzdHlsZSB3aXRoIHBhZGRpbmcgcHJvcHMgYXBwbGllZC4gKi9cbiAgbGlua1N0eWxlRm9yUHJlc3NhYmxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pIHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZShcImxpbmtTdHlsZUZvclByZXNzYWJsZVwiLCAoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHN0eWxlID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gKHN0YXRlKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWRTdHlsZSA9IHN0eWxlKHN0YXRlKVxuICAgICAgICAgIGNvbnN0IG92ZXJyaWRlcyA9IHRoaXMucGFkZGluZ092ZXJyaWRlc0Zyb21TdHlsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGU6IHJlc29sdmVkU3R5bGV9KVxuXG4gICAgICAgICAgaWYgKCFvdmVycmlkZXMpIHJldHVybiByZXNvbHZlZFN0eWxlXG5cbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNvbHZlZFN0eWxlKSkgcmV0dXJuIFsuLi5yZXNvbHZlZFN0eWxlLCBvdmVycmlkZXNdXG5cbiAgICAgICAgICBpZiAocmVzb2x2ZWRTdHlsZSAmJiB0eXBlb2YgcmVzb2x2ZWRTdHlsZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gey4uLnRoaXMuc3RyaXBQYWRkaW5nU2hvcnRoYW5kKHJlc29sdmVkU3R5bGUpLCAuLi5vdmVycmlkZXN9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtyZXNvbHZlZFN0eWxlLCBvdmVycmlkZXNdXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gdGhpcy5wYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pXG5cbiAgICAgIGlmICghb3ZlcnJpZGVzKSByZXR1cm4gc3R5bGVcblxuICAgICAgaWYgKCFzdHlsZSkgcmV0dXJuIG92ZXJyaWRlc1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzdHlsZSkpIHJldHVybiBbLi4uc3R5bGUsIG92ZXJyaWRlc11cblxuICAgICAgaWYgKHR5cGVvZiBzdHlsZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB7Li4udGhpcy5zdHJpcFBhZGRpbmdTaG9ydGhhbmQoc3R5bGUpLCAuLi5vdmVycmlkZXN9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbc3R5bGUsIG92ZXJyaWRlc11cbiAgICB9LCBbcGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGVdKVxuICB9XG5cbiAgLyoqIFJlc29sdmVzIGEgc3R5bGUgb2JqZWN0IGZvciBhbmNob3IgcmVuZGVyaW5nLiAqL1xuICByZXNvbHZlU3R5bGVGb3JBbmNob3Ioc3R5bGUpIHtcbiAgICBpZiAodHlwZW9mIHN0eWxlID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuIFN0eWxlU2hlZXQuZmxhdHRlbihzdHlsZSh7cHJlc3NlZDogZmFsc2UsIGZvY3VzZWQ6IGZhbHNlLCBob3ZlcmVkOiBmYWxzZX0pKSB8fCB7fVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHN0eWxlKSkgcmV0dXJuIFN0eWxlU2hlZXQuZmxhdHRlbihzdHlsZSkgfHwge31cblxuICAgIHJldHVybiBzdHlsZSB8fCB7fVxuICB9XG5cbiAgLyoqIFJldHVybnMgcGFkZGluZyBvdmVycmlkZXMgYmFzZWQgb24gdGhlIHJlc29sdmVkIHN0eWxlLiAqL1xuICBwYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pIHtcbiAgICBjb25zdCBzdHlsZU9iamVjdCA9IFN0eWxlU2hlZXQuZmxhdHRlbihzdHlsZSkgfHwge31cbiAgICBjb25zdCBzdHlsZVBhZGRpbmdIb3Jpem9udGFsID0gc3R5bGVPYmplY3QucGFkZGluZ0hvcml6b250YWxcbiAgICBjb25zdCBzdHlsZVBhZGRpbmdWZXJ0aWNhbCA9IHN0eWxlT2JqZWN0LnBhZGRpbmdWZXJ0aWNhbFxuICAgIGNvbnN0IHBhZGRpbmdIb3Jpem9udGFsRGVmaW5lZCA9IHRoaXMuaXNEZWZpbmVkKHBhZGRpbmdIb3Jpem9udGFsKVxuICAgIGNvbnN0IHBhZGRpbmdWZXJ0aWNhbERlZmluZWQgPSB0aGlzLmlzRGVmaW5lZChwYWRkaW5nVmVydGljYWwpXG4gICAgY29uc3Qgc3R5bGVQYWRkaW5nSG9yaXpvbnRhbERlZmluZWQgPSB0aGlzLmlzRGVmaW5lZChzdHlsZVBhZGRpbmdIb3Jpem9udGFsKVxuICAgIGNvbnN0IHN0eWxlUGFkZGluZ1ZlcnRpY2FsRGVmaW5lZCA9IHRoaXMuaXNEZWZpbmVkKHN0eWxlUGFkZGluZ1ZlcnRpY2FsKVxuICAgIGNvbnN0IGhhc1BhZGRpbmdIb3Jpem9udGFsID0gcGFkZGluZ0hvcml6b250YWxEZWZpbmVkIHx8IHN0eWxlUGFkZGluZ0hvcml6b250YWxEZWZpbmVkXG4gICAgY29uc3QgaGFzUGFkZGluZ1ZlcnRpY2FsID0gcGFkZGluZ1ZlcnRpY2FsRGVmaW5lZCB8fCBzdHlsZVBhZGRpbmdWZXJ0aWNhbERlZmluZWRcblxuICAgIGlmICghaGFzUGFkZGluZ0hvcml6b250YWwgJiYgIWhhc1BhZGRpbmdWZXJ0aWNhbCkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHJlc29sdmVkUGFkZGluZ0hvcml6b250YWwgPSBwYWRkaW5nSG9yaXpvbnRhbERlZmluZWQgPyBwYWRkaW5nSG9yaXpvbnRhbCA6IHN0eWxlUGFkZGluZ0hvcml6b250YWxcbiAgICBjb25zdCByZXNvbHZlZFBhZGRpbmdWZXJ0aWNhbCA9IHBhZGRpbmdWZXJ0aWNhbERlZmluZWQgPyBwYWRkaW5nVmVydGljYWwgOiBzdHlsZVBhZGRpbmdWZXJ0aWNhbFxuICAgIGNvbnN0IG92ZXJyaWRlcyA9IHt9XG5cbiAgICBpZiAodGhpcy5pc0RlZmluZWQocmVzb2x2ZWRQYWRkaW5nSG9yaXpvbnRhbCkpIHtcbiAgICAgIGlmICghdGhpcy5pc0RlZmluZWQoc3R5bGVPYmplY3QucGFkZGluZ0xlZnQpKSBvdmVycmlkZXMucGFkZGluZ0xlZnQgPSByZXNvbHZlZFBhZGRpbmdIb3Jpem9udGFsXG4gICAgICBpZiAoIXRoaXMuaXNEZWZpbmVkKHN0eWxlT2JqZWN0LnBhZGRpbmdSaWdodCkpIG92ZXJyaWRlcy5wYWRkaW5nUmlnaHQgPSByZXNvbHZlZFBhZGRpbmdIb3Jpem9udGFsXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNEZWZpbmVkKHJlc29sdmVkUGFkZGluZ1ZlcnRpY2FsKSkge1xuICAgICAgaWYgKCF0aGlzLmlzRGVmaW5lZChzdHlsZU9iamVjdC5wYWRkaW5nVG9wKSkgb3ZlcnJpZGVzLnBhZGRpbmdUb3AgPSByZXNvbHZlZFBhZGRpbmdWZXJ0aWNhbFxuICAgICAgaWYgKCF0aGlzLmlzRGVmaW5lZChzdHlsZU9iamVjdC5wYWRkaW5nQm90dG9tKSkgb3ZlcnJpZGVzLnBhZGRpbmdCb3R0b20gPSByZXNvbHZlZFBhZGRpbmdWZXJ0aWNhbFxuICAgIH1cblxuICAgIHJldHVybiBvdmVycmlkZXNcbiAgfVxuXG4gIC8qKiBSZW1vdmVzIHBhZGRpbmcgc2hvcnRoYW5kIHZhbHVlcyBmcm9tIGEgc3R5bGUgb2JqZWN0LiAqL1xuICBzdHJpcFBhZGRpbmdTaG9ydGhhbmQoc3R5bGUpIHtcbiAgICBjb25zdCBuZXh0U3R5bGUgPSB7Li4uc3R5bGV9XG5cbiAgICBkZWxldGUgbmV4dFN0eWxlLnBhZGRpbmdIb3Jpem9udGFsXG4gICAgZGVsZXRlIG5leHRTdHlsZS5wYWRkaW5nVmVydGljYWxcblxuICAgIHJldHVybiBuZXh0U3R5bGVcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRydWUgd2hlbiBhIHZhbHVlIGlzIG5laXRoZXIgbnVsbCBub3IgdW5kZWZpbmVkLiAqL1xuICBpc0RlZmluZWQodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZFxuICB9XG5cbiAgb25MaW5rQ2xpY2tlZCA9IChlLCAuLi5yZXN0QXJncykgPT4ge1xuICAgIGNvbnN0IHtvbkNsaWNrLCBvblByZXNzfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICBvbkNsaWNrKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIGlmIChvblByZXNzKSB7XG4gICAgICBvblByZXNzKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIGlmICghZS5kZWZhdWx0UHJldmVudGVkICYmICFlLmN0cmxLZXkgJiYgIWUubWV0YUtleSAmJiB0aGlzLnByb3BzLnRhcmdldCAhPSBcIl9ibGFua1wiKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgICAgdGhpcy5yZWRpcmVjdCgpXG4gICAgfVxuICB9XG5cbiAgb25QcmVzcyA9ICgpID0+IHtcbiAgICBjb25zdCB7b25DbGljaywgb25QcmVzc30gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAob25DbGljaykge1xuICAgICAgb25DbGljayhlLCAuLi5yZXN0QXJncykgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuICAgIH1cblxuICAgIGlmIChvblByZXNzKSB7XG4gICAgICBvblByZXNzKGUsIC4uLnJlc3RBcmdzKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4gICAgfVxuXG4gICAgdGhpcy5yZWRpcmVjdCgpXG4gIH1cblxuICByZWRpcmVjdCA9ICgpID0+IHtcbiAgICAvLyBJZiBubyB0aW1lb3V0IGlzIHVzZWQsIHRoaXMgY2FuIGNhdXNlIGFuIFwiY29tcG9uZW50IHN1c3BlbmRlZCB3aGlsZSByZXNwb25kaW5nIHRvIHN5bmNocm9ub3VzIGlucHV0XCItZXJyb3JcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2hpc3RvcnlQdXNoKClcbiAgICB9LCAwKVxuICB9XG5cbiAgX2hpc3RvcnlQdXNoKCkge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmFwaU1ha2VyLmNvbmZpZy5nZXRIaXN0b3J5KClcblxuICAgIGlmICghaGlzdG9yeSkgdGhyb3cgbmV3IEVycm9yKFwiSGlzdG9yeSBoYXNuJ3QgYmVlbiBzZXQgaW4gdGhlIEFQSSBtYWtlciBjb25maWd1cmF0aW9uXCIpXG5cbiAgICBoaXN0b3J5LnB1c2godGhpcy5wcm9wcy50bylcbiAgfVxufSkpXG4iXX0=
164
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsibGluay5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLEVBQUMsUUFBUSxFQUFFLFNBQVMsRUFBRSxVQUFVLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDNUQsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sYUFBYSxNQUFNLGtCQUFrQixDQUFBO0FBQzVDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxtQkFBbUIsTUFBTSw2QkFBNkIsQ0FBQTtBQUM3RCxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sa0JBQWtCLENBQUE7QUFFNUMsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sWUFBYSxTQUFRLGFBQWE7SUFDekUsTUFBTSxDQUFDLFNBQVMsR0FBRztRQUNqQixpQkFBaUIsRUFBRSxTQUFTLENBQUMsU0FBUyxDQUFDLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUUsZUFBZSxFQUFFLFNBQVMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxTQUFTLENBQUMsTUFBTSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUMxRSxZQUFZLEVBQUUsU0FBUyxDQUFDLElBQUk7S0FDN0IsQ0FBQTtJQUVELEtBQUs7UUFDSCxJQUFJLENBQUMsUUFBUSxHQUFHLFdBQVcsRUFBRSxDQUFBO0lBQy9CLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxFQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxlQUFlLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxZQUFZLEVBQUUsR0FBRyxTQUFT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QyxDQUFBO0lBRUQsUUFBUSxHQUFHLEdBQUcsRUFBRTtRQUNkLDZHQUE2RztRQUM3RyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFBO1FBQ3JCLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQTtJQUNQLENBQUMsQ0FBQTtJQUVELFlBQVk7UUFDVixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUVqRCxJQUFJLENBQUMsT0FBTztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsd0RBQXdELENBQUMsQ0FBQTtRQUV2RixPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUE7SUFDN0IsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQge1BsYXRmb3JtLCBQcmVzc2FibGUsIFN0eWxlU2hlZXR9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IGRhdGFTZXRUb0F0dHJpYnV0ZXMgZnJvbSBcIi4vZGF0YS1zZXQtdG8tYXR0cmlidXRlcy5qc1wiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQge3VzZUFwaU1ha2VyfSBmcm9tIFwiLi93aXRoLWFwaS1tYWtlclwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJMaW5rIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgcGFkZGluZ0hvcml6b250YWw6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICBwYWRkaW5nVmVydGljYWw6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5udW1iZXIsIFByb3BUeXBlcy5zdHJpbmddKSxcbiAgICB1c2VQcmVzc2FibGU6IFByb3BUeXBlcy5ib29sXG4gIH1cblxuICBzZXR1cCgpIHtcbiAgICB0aGlzLmFwaU1ha2VyID0gdXNlQXBpTWFrZXIoKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtkYXRhU2V0LCB0bywgb25DbGljaywgb25QcmVzcywgcGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGUsIHRlc3RJRCwgdXNlUHJlc3NhYmxlLCAuLi5yZXN0UHJvcHN9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IGxpbmtTdHlsZSA9IHRoaXMubGlua1N0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZSwgdXNlUHJlc3NhYmxlfSlcblxuICAgIGlmIChQbGF0Zm9ybS5PUyA9PSBcIndlYlwiICYmICF1c2VQcmVzc2FibGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxhXG4gICAgICAgICAgey4uLmRhdGFTZXRUb0F0dHJpYnV0ZXMoT2JqZWN0LmFzc2lnbih7dGVzdGlkOiB0ZXN0SUR9LCBkYXRhU2V0KSl9IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJlZmVyLW9iamVjdC1zcHJlYWRcbiAgICAgICAgICBocmVmPXt0byB8fCBcIiNcIn1cbiAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uTGlua0NsaWNrZWR9XG4gICAgICAgICAgc3R5bGU9e2xpbmtTdHlsZX1cbiAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAvPlxuICAgICAgKVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8UHJlc3NhYmxlIGRhdGFTZXQ9e2RhdGFTZXR9IG9uUHJlc3M9e3RoaXMudHQub25QcmVzc30gc3R5bGU9e2xpbmtTdHlsZX0gdGVzdElEPXt0ZXN0SUR9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgKVxuICB9XG5cbiAgLyoqIFJldHVybnMgYSBjYWNoZWQgc3R5bGUgd2l0aCBwYWRkaW5nIHByb3BzIGFwcGxpZWQuICovXG4gIGxpbmtTdHlsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGUsIHVzZVByZXNzYWJsZX0pIHtcbiAgICBpZiAoUGxhdGZvcm0uT1MgPT0gXCJ3ZWJcIiAmJiAhdXNlUHJlc3NhYmxlKSB7XG4gICAgICByZXR1cm4gdGhpcy5saW5rU3R5bGVGb3JBbmNob3Ioe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSlcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5saW5rU3R5bGVGb3JQcmVzc2FibGUoe3BhZGRpbmdIb3Jpem9udGFsLCBwYWRkaW5nVmVydGljYWwsIHN0eWxlfSlcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRoZSBhbmNob3Igc3R5bGUgd2l0aCBwYWRkaW5nIHByb3BzIGFwcGxpZWQuICovXG4gIGxpbmtTdHlsZUZvckFuY2hvcih7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGV9KSB7XG4gICAgcmV0dXJuIHRoaXMuY2FjaGUoXCJsaW5rU3R5bGVGb3JBbmNob3JcIiwgKCkgPT4ge1xuICAgICAgY29uc3QgcmVzb2x2ZWRTdHlsZSA9IHRoaXMucmVzb2x2ZVN0eWxlRm9yQW5jaG9yKHN0eWxlKVxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gdGhpcy5wYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZTogcmVzb2x2ZWRTdHlsZX0pXG5cbiAgICAgIGlmICghb3ZlcnJpZGVzKSByZXR1cm4gcmVzb2x2ZWRTdHlsZVxuXG4gICAgICBjb25zdCBuZXh0U3R5bGUgPSB7Li4ucmVzb2x2ZWRTdHlsZX1cblxuICAgICAgZGVsZXRlIG5leHRTdHlsZS5wYWRkaW5nSG9yaXpvbnRhbFxuICAgICAgZGVsZXRlIG5leHRTdHlsZS5wYWRkaW5nVmVydGljYWxcblxuICAgICAgcmV0dXJuIHsuLi5uZXh0U3R5bGUsIC4uLm92ZXJyaWRlc31cbiAgICB9LCBbcGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGVdKVxuICB9XG5cbiAgLyoqIFJldHVybnMgYSBQcmVzc2FibGUtY29tcGF0aWJsZSBzdHlsZSB3aXRoIHBhZGRpbmcgcHJvcHMgYXBwbGllZC4gKi9cbiAgbGlua1N0eWxlRm9yUHJlc3NhYmxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pIHtcbiAgICByZXR1cm4gdGhpcy5jYWNoZShcImxpbmtTdHlsZUZvclByZXNzYWJsZVwiLCAoKSA9PiB7XG4gICAgICBpZiAodHlwZW9mIHN0eWxlID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgICByZXR1cm4gKHN0YXRlKSA9PiB7XG4gICAgICAgICAgY29uc3QgcmVzb2x2ZWRTdHlsZSA9IHN0eWxlKHN0YXRlKVxuICAgICAgICAgIGNvbnN0IG92ZXJyaWRlcyA9IHRoaXMucGFkZGluZ092ZXJyaWRlc0Zyb21TdHlsZSh7cGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGU6IHJlc29sdmVkU3R5bGV9KVxuXG4gICAgICAgICAgaWYgKCFvdmVycmlkZXMpIHJldHVybiByZXNvbHZlZFN0eWxlXG5cbiAgICAgICAgICBpZiAoQXJyYXkuaXNBcnJheShyZXNvbHZlZFN0eWxlKSkgcmV0dXJuIFsuLi5yZXNvbHZlZFN0eWxlLCBvdmVycmlkZXNdXG5cbiAgICAgICAgICBpZiAocmVzb2x2ZWRTdHlsZSAmJiB0eXBlb2YgcmVzb2x2ZWRTdHlsZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgICAgICByZXR1cm4gey4uLnRoaXMuc3RyaXBQYWRkaW5nU2hvcnRoYW5kKHJlc29sdmVkU3R5bGUpLCAuLi5vdmVycmlkZXN9XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcmV0dXJuIFtyZXNvbHZlZFN0eWxlLCBvdmVycmlkZXNdXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgY29uc3Qgb3ZlcnJpZGVzID0gdGhpcy5wYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pXG5cbiAgICAgIGlmICghb3ZlcnJpZGVzKSByZXR1cm4gc3R5bGVcblxuICAgICAgaWYgKCFzdHlsZSkgcmV0dXJuIG92ZXJyaWRlc1xuXG4gICAgICBpZiAoQXJyYXkuaXNBcnJheShzdHlsZSkpIHJldHVybiBbLi4uc3R5bGUsIG92ZXJyaWRlc11cblxuICAgICAgaWYgKHR5cGVvZiBzdHlsZSA9PSBcIm9iamVjdFwiKSB7XG4gICAgICAgIHJldHVybiB7Li4udGhpcy5zdHJpcFBhZGRpbmdTaG9ydGhhbmQoc3R5bGUpLCAuLi5vdmVycmlkZXN9XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBbc3R5bGUsIG92ZXJyaWRlc11cbiAgICB9LCBbcGFkZGluZ0hvcml6b250YWwsIHBhZGRpbmdWZXJ0aWNhbCwgc3R5bGVdKVxuICB9XG5cbiAgLyoqIFJlc29sdmVzIGEgc3R5bGUgb2JqZWN0IGZvciBhbmNob3IgcmVuZGVyaW5nLiAqL1xuICByZXNvbHZlU3R5bGVGb3JBbmNob3Ioc3R5bGUpIHtcbiAgICBpZiAodHlwZW9mIHN0eWxlID09IFwiZnVuY3Rpb25cIikge1xuICAgICAgcmV0dXJuIFN0eWxlU2hlZXQuZmxhdHRlbihzdHlsZSh7cHJlc3NlZDogZmFsc2UsIGZvY3VzZWQ6IGZhbHNlLCBob3ZlcmVkOiBmYWxzZX0pKSB8fCB7fVxuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KHN0eWxlKSkgcmV0dXJuIFN0eWxlU2hlZXQuZmxhdHRlbihzdHlsZSkgfHwge31cblxuICAgIHJldHVybiBzdHlsZSB8fCB7fVxuICB9XG5cbiAgLyoqIFJldHVybnMgcGFkZGluZyBvdmVycmlkZXMgYmFzZWQgb24gdGhlIHJlc29sdmVkIHN0eWxlLiAqL1xuICBwYWRkaW5nT3ZlcnJpZGVzRnJvbVN0eWxlKHtwYWRkaW5nSG9yaXpvbnRhbCwgcGFkZGluZ1ZlcnRpY2FsLCBzdHlsZX0pIHtcbiAgICBjb25zdCBzdHlsZU9iamVjdCA9IFN0eWxlU2hlZXQuZmxhdHRlbihzdHlsZSkgfHwge31cbiAgICBjb25zdCBzdHlsZVBhZGRpbmdIb3Jpem9udGFsID0gc3R5bGVPYmplY3QucGFkZGluZ0hvcml6b250YWxcbiAgICBjb25zdCBzdHlsZVBhZGRpbmdWZXJ0aWNhbCA9IHN0eWxlT2JqZWN0LnBhZGRpbmdWZXJ0aWNhbFxuICAgIGNvbnN0IHBhZGRpbmdIb3Jpem9udGFsRGVmaW5lZCA9IHRoaXMuaXNEZWZpbmVkKHBhZGRpbmdIb3Jpem9udGFsKVxuICAgIGNvbnN0IHBhZGRpbmdWZXJ0aWNhbERlZmluZWQgPSB0aGlzLmlzRGVmaW5lZChwYWRkaW5nVmVydGljYWwpXG4gICAgY29uc3Qgc3R5bGVQYWRkaW5nSG9yaXpvbnRhbERlZmluZWQgPSB0aGlzLmlzRGVmaW5lZChzdHlsZVBhZGRpbmdIb3Jpem9udGFsKVxuICAgIGNvbnN0IHN0eWxlUGFkZGluZ1ZlcnRpY2FsRGVmaW5lZCA9IHRoaXMuaXNEZWZpbmVkKHN0eWxlUGFkZGluZ1ZlcnRpY2FsKVxuICAgIGNvbnN0IGhhc1BhZGRpbmdIb3Jpem9udGFsID0gcGFkZGluZ0hvcml6b250YWxEZWZpbmVkIHx8IHN0eWxlUGFkZGluZ0hvcml6b250YWxEZWZpbmVkXG4gICAgY29uc3QgaGFzUGFkZGluZ1ZlcnRpY2FsID0gcGFkZGluZ1ZlcnRpY2FsRGVmaW5lZCB8fCBzdHlsZVBhZGRpbmdWZXJ0aWNhbERlZmluZWRcblxuICAgIGlmICghaGFzUGFkZGluZ0hvcml6b250YWwgJiYgIWhhc1BhZGRpbmdWZXJ0aWNhbCkgcmV0dXJuIG51bGxcblxuICAgIGNvbnN0IHJlc29sdmVkUGFkZGluZ0hvcml6b250YWwgPSBwYWRkaW5nSG9yaXpvbnRhbERlZmluZWQgPyBwYWRkaW5nSG9yaXpvbnRhbCA6IHN0eWxlUGFkZGluZ0hvcml6b250YWxcbiAgICBjb25zdCByZXNvbHZlZFBhZGRpbmdWZXJ0aWNhbCA9IHBhZGRpbmdWZXJ0aWNhbERlZmluZWQgPyBwYWRkaW5nVmVydGljYWwgOiBzdHlsZVBhZGRpbmdWZXJ0aWNhbFxuICAgIGNvbnN0IG92ZXJyaWRlcyA9IHt9XG5cbiAgICBpZiAodGhpcy5pc0RlZmluZWQocmVzb2x2ZWRQYWRkaW5nSG9yaXpvbnRhbCkpIHtcbiAgICAgIGlmICghdGhpcy5pc0RlZmluZWQoc3R5bGVPYmplY3QucGFkZGluZ0xlZnQpKSBvdmVycmlkZXMucGFkZGluZ0xlZnQgPSByZXNvbHZlZFBhZGRpbmdIb3Jpem9udGFsXG4gICAgICBpZiAoIXRoaXMuaXNEZWZpbmVkKHN0eWxlT2JqZWN0LnBhZGRpbmdSaWdodCkpIG92ZXJyaWRlcy5wYWRkaW5nUmlnaHQgPSByZXNvbHZlZFBhZGRpbmdIb3Jpem9udGFsXG4gICAgfVxuXG4gICAgaWYgKHRoaXMuaXNEZWZpbmVkKHJlc29sdmVkUGFkZGluZ1ZlcnRpY2FsKSkge1xuICAgICAgaWYgKCF0aGlzLmlzRGVmaW5lZChzdHlsZU9iamVjdC5wYWRkaW5nVG9wKSkgb3ZlcnJpZGVzLnBhZGRpbmdUb3AgPSByZXNvbHZlZFBhZGRpbmdWZXJ0aWNhbFxuICAgICAgaWYgKCF0aGlzLmlzRGVmaW5lZChzdHlsZU9iamVjdC5wYWRkaW5nQm90dG9tKSkgb3ZlcnJpZGVzLnBhZGRpbmdCb3R0b20gPSByZXNvbHZlZFBhZGRpbmdWZXJ0aWNhbFxuICAgIH1cblxuICAgIHJldHVybiBvdmVycmlkZXNcbiAgfVxuXG4gIC8qKiBSZW1vdmVzIHBhZGRpbmcgc2hvcnRoYW5kIHZhbHVlcyBmcm9tIGEgc3R5bGUgb2JqZWN0LiAqL1xuICBzdHJpcFBhZGRpbmdTaG9ydGhhbmQoc3R5bGUpIHtcbiAgICBjb25zdCBuZXh0U3R5bGUgPSB7Li4uc3R5bGV9XG5cbiAgICBkZWxldGUgbmV4dFN0eWxlLnBhZGRpbmdIb3Jpem9udGFsXG4gICAgZGVsZXRlIG5leHRTdHlsZS5wYWRkaW5nVmVydGljYWxcblxuICAgIHJldHVybiBuZXh0U3R5bGVcbiAgfVxuXG4gIC8qKiBSZXR1cm5zIHRydWUgd2hlbiBhIHZhbHVlIGlzIG5laXRoZXIgbnVsbCBub3IgdW5kZWZpbmVkLiAqL1xuICBpc0RlZmluZWQodmFsdWUpIHtcbiAgICByZXR1cm4gdmFsdWUgIT09IG51bGwgJiYgdmFsdWUgIT09IHVuZGVmaW5lZFxuICB9XG5cbiAgb25MaW5rQ2xpY2tlZCA9IChlLCAuLi5yZXN0QXJncykgPT4ge1xuICAgIGNvbnN0IHtvbkNsaWNrLCBvblByZXNzfSA9IHRoaXMucHJvcHNcblxuICAgIGlmIChvbkNsaWNrKSB7XG4gICAgICBvbkNsaWNrKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIGlmIChvblByZXNzKSB7XG4gICAgICBvblByZXNzKGUsIC4uLnJlc3RBcmdzKVxuICAgIH1cblxuICAgIGlmICghZS5kZWZhdWx0UHJldmVudGVkICYmICFlLmN0cmxLZXkgJiYgIWUubWV0YUtleSAmJiB0aGlzLnByb3BzLnRhcmdldCAhPSBcIl9ibGFua1wiKSB7XG4gICAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgICAgdGhpcy5yZWRpcmVjdCgpXG4gICAgfVxuICB9XG5cbiAgb25QcmVzcyA9ICgpID0+IHtcbiAgICBjb25zdCB7b25DbGljaywgb25QcmVzc30gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAob25DbGljaykge1xuICAgICAgb25DbGljayhlLCAuLi5yZXN0QXJncykgLy8gZXNsaW50LWRpc2FibGUtbGluZSBuby11bmRlZlxuICAgIH1cblxuICAgIGlmIChvblByZXNzKSB7XG4gICAgICBvblByZXNzKGUsIC4uLnJlc3RBcmdzKSAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLXVuZGVmXG4gICAgfVxuXG4gICAgdGhpcy5yZWRpcmVjdCgpXG4gIH1cblxuICByZWRpcmVjdCA9ICgpID0+IHtcbiAgICAvLyBJZiBubyB0aW1lb3V0IGlzIHVzZWQsIHRoaXMgY2FuIGNhdXNlIGFuIFwiY29tcG9uZW50IHN1c3BlbmRlZCB3aGlsZSByZXNwb25kaW5nIHRvIHN5bmNocm9ub3VzIGlucHV0XCItZXJyb3JcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHRoaXMuX2hpc3RvcnlQdXNoKClcbiAgICB9LCAwKVxuICB9XG5cbiAgX2hpc3RvcnlQdXNoKCkge1xuICAgIGNvbnN0IGhpc3RvcnkgPSB0aGlzLmFwaU1ha2VyLmNvbmZpZy5nZXRIaXN0b3J5KClcblxuICAgIGlmICghaGlzdG9yeSkgdGhyb3cgbmV3IEVycm9yKFwiSGlzdG9yeSBoYXNuJ3QgYmVlbiBzZXQgaW4gdGhlIEFQSSBtYWtlciBjb25maWd1cmF0aW9uXCIpXG5cbiAgICBoaXN0b3J5LnB1c2godGhpcy5wcm9wcy50bylcbiAgfVxufSkpXG4iXX0=
@@ -1 +1 @@
1
- {"version":3,"file":"model-recipes-model-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-model-loader.js"],"names":[],"mappings":"AAKA,4DAA4D;AAC5D;IACE,mBAAmB;IACnB;;;OAKC;IAFC,wBAA4C;IAC5C,iBAA8B;IAGhC,mBAAmB;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAuW8kW,CAAC;;;;;;;;wBAA2iB,CAAC;;;;;iCAAypE,CAAC;;;;;;;;;;;;;;;;;iCAA4+G,yBAAI,EAAC,gCAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA3R7tiB,mEAC/C;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA3CL;IAED,uCAAuC;IACvC,wEAiBC;IAED,oCAAoC;IACpC,6EAgBC;IAED,qCAAqC;IACrC,0EAiBC;IAED,oCAAoC;IACpC,6FAkFC;IAED,gCAAgC;IAChC;;;;aAIC;IAED,iCAAiC;IACjC;;;;;;;;;aAkBC;IAED;;;;;;;;;;;;aAyDC;IAED,+BAA+B;IAC/B;;;;;;;;;aAuCC;IAED,4BAA4B;IAC5B;;;;aAIC;IAED;;;;;;;;;;aAyCC;CACF;uBAnXsB,iBAAiB;sBADlB,iBAAiB"}
1
+ {"version":3,"file":"model-recipes-model-loader.d.ts","sourceRoot":"/src/","sources":["model-recipes-model-loader.js"],"names":[],"mappings":"AAKA,4DAA4D;AAC5D;IACE,mBAAmB;IACnB;;;OAKC;IAFC,wBAA4C;IAC5C,iBAA8B;IAGhC,mBAAmB;IACnB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;wBAyWw3V,CAAC;;;;;;;;wBAA2iB,CAAC;;;;;iCAAypE,CAAC;;;;;;;;;;;;;;;;;iCAA4+G,yBAAI,EAAC,gCAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBAjSxjiB,mEAEL;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAxCE;IAED,uCAAuC;IACvC,wEAiBC;IAED,oCAAoC;IACpC,6EAiBC;IAED,qCAAqC;IACrC,0EAkBC;IAED,oCAAoC;IACpC,6FAkFC;IAED,gCAAgC;IAChC;;;;aAIC;IAED,iCAAiC;IACjC;;;;;;;;;aAkBC;IAED;;;;;;;;;;;;aAyDC;IAED,+BAA+B;IAC/B;;;;;;;;;aAuCC;IAED,4BAA4B;IAC5B;;;;aAIC;IAED;;;;;;;;;;aAyCC;CACF;uBArXsB,iBAAiB;sBADlB,iBAAiB"}
@@ -47,13 +47,14 @@ export default class ApiMakerModelRecipesModelLoader {
47
47
  addQueryCommandsToModelClass(ModelClass, collectionCommands) {
48
48
  for (const collectionCommandName in collectionCommands) {
49
49
  const methodName = inflection.camelize(collectionCommandName, true);
50
+ const collectionCommand = collectionCommands[collectionCommandName];
50
51
  ModelClass[methodName] = function (args, commandArgs = {}) {
51
52
  return this._callCollectionCommand({
52
53
  args,
53
54
  command: collectionCommandName,
54
55
  collectionName: digg(this.modelClassData(), "collectionName"),
55
56
  type: "collection"
56
- }, commandArgs);
57
+ }, { ...digg(collectionCommand, "args"), ...commandArgs });
57
58
  };
58
59
  }
59
60
  }
@@ -61,6 +62,7 @@ export default class ApiMakerModelRecipesModelLoader {
61
62
  addMemberCommandsToModelClass(ModelClass, memberCommands) {
62
63
  for (const memberCommandName in memberCommands) {
63
64
  const methodName = inflection.camelize(memberCommandName, true);
65
+ const memberCommand = memberCommands[memberCommandName];
64
66
  ModelClass.prototype[methodName] = function (args, commandArgs = {}) {
65
67
  return this._callMemberCommand({
66
68
  args,
@@ -68,7 +70,7 @@ export default class ApiMakerModelRecipesModelLoader {
68
70
  primaryKey: this.primaryKey(),
69
71
  collectionName: this.modelClassData().collectionName,
70
72
  type: "member"
71
- }, commandArgs);
73
+ }, { ...digg(memberCommand, "args"), ...commandArgs });
72
74
  };
73
75
  }
74
76
  }
@@ -257,4 +259,4 @@ export default class ApiMakerModelRecipesModelLoader {
257
259
  };
258
260
  }
259
261
  }
260
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcmVjaXBlcy1tb2RlbC1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIm1vZGVsLXJlY2lwZXMtbW9kZWwtbG9hZGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFBO0FBQ3ZDLE9BQU8sVUFBVSxNQUFNLGlCQUFpQixDQUFBO0FBRXhDLDREQUE0RDtBQUM1RCxNQUFNLENBQUMsT0FBTyxPQUFPLCtCQUErQjtJQUNsRCxtQkFBbUI7SUFDbkIsWUFBYSxFQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBQztRQUM1QyxJQUFJLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtRQUUvRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUE7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixXQUFXO1FBQ1QsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDL0MsTUFBTSxFQUNKLFVBQVUsRUFDVixtQkFBbUIsRUFBRSxrQkFBa0IsRUFDdkMsZUFBZSxFQUFFLGNBQWMsRUFDL0IsZ0JBQWdCLEVBQUUsY0FBYyxFQUNoQyxhQUFhLEVBQ2QsR0FBRyxJQUFJLENBQ04sV0FBVyxFQUNYLFlBQVksRUFDWixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixlQUFlLENBQ2hCLENBQUE7UUFDRCxNQUFNLEVBQUMsSUFBSSxFQUFFLGNBQWMsRUFBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFD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XG5pbXBvcnQge2RpZ2csIGRpZ3N9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IEJhc2VNb2RlbCBmcm9tIFwiLi9iYXNlLW1vZGVsLmpzXCJcbmltcG9ydCBDb2xsZWN0aW9uIGZyb20gXCIuL2NvbGxlY3Rpb24uanNcIlxuXG4vKiogQnVpbGRzIHJ1bnRpbWUgbW9kZWwgY2xhc3NlcyBmcm9tIHJlY2lwZSBkZWZpbml0aW9ucy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyTW9kZWxSZWNpcGVzTW9kZWxMb2FkZXIge1xuICAvKiogQ29uc3RydWN0b3IuICovXG4gIGNvbnN0cnVjdG9yICh7bW9kZWxSZWNpcGUsIG1vZGVsUmVjaXBlc0xvYWRlcn0pIHtcbiAgICBpZiAoIW1vZGVsUmVjaXBlKSB0aHJvdyBuZXcgRXJyb3IoXCJObyAnbW9kZWxSZWNpcGUnIHdhcyBnaXZlblwiKVxuXG4gICAgdGhpcy5tb2RlbFJlY2lwZXNMb2FkZXIgPSBtb2RlbFJlY2lwZXNMb2FkZXJcbiAgICB0aGlzLm1vZGVsUmVjaXBlID0gbW9kZWxSZWNpcGVcbiAgfVxuXG4gIC8qKiBjcmVhdGVDbGFzcy4gKi9cbiAgY3JlYXRlQ2xhc3MgKCkge1xuICAgIGNvbnN0IHttb2RlbFJlY2lwZX0gPSBkaWdzKHRoaXMsIFwibW9kZWxSZWNpcGVcIilcbiAgICBjb25zdCB7XG4gICAgICBhdHRyaWJ1dGVzLFxuICAgICAgY29sbGVjdGlvbl9jb21tYW5kczogY29sbGVjdGlvbkNvbW1hbmRzLFxuICAgICAgbWVtYmVyX2NvbW1hbmRzOiBtZW1iZXJDb21tYW5kcyxcbiAgICAgIG1vZGVsX2NsYXNzX2RhdGE6IG1vZGVsQ2xhc3NEYXRhLFxuICAgICAgcmVsYXRpb25zaGlwc1xuICAgIH0gPSBkaWdzKFxuICAgICAgbW9kZWxSZWNpcGUsXG4gICAgICBcImF0dHJpYnV0ZXNcIixcbiAgICAgIFwiY29sbGVjdGlvbl9jb21tYW5kc1wiLFxuICAgICAgXCJtZW1iZXJfY29tbWFuZHNcIixcbiAgICAgIFwibW9kZWxfY2xhc3NfZGF0YVwiLFxuICAgICAgXCJyZWxhdGlvbnNoaXBzXCJcbiAgICApXG4gICAgY29uc3Qge25hbWU6IG1vZGVsQ2xhc3NOYW1lfSA9IGRpZ3MobW9kZWxDbGFzc0RhdGEsIFwibmFtZVwiKVxuICAgIGNvbnN0IE1vZGVsQ2xhc3MgPSBjbGFzcyBBcGlNYWtlck1vZGVsIGV4dGVuZHMgQmFzZU1vZGVsIHsgfVxuXG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KFxuICAgICAgTW9kZWxDbGFzcyxcbiAgICAgIFwibmFtZVwiLFxuICAgICAge3dyaXRhYmxlOiBmYWxzZSwgdmFsdWU6IG1vZGVsQ2xhc3NOYW1lfVxuICAgIClcblxuICAgIGNvbnN0IG1vZGVsQ2xhc3NDb25zdHJ1Y3RvciA9IC8qKiBAdHlwZSB7YW55fSAqLyAoTW9kZWxDbGFzcy5wcm90b3R5cGUuY29uc3RydWN0b3IpXG4gICAgbW9kZWxDbGFzc0NvbnN0cnVjdG9yLm1vZGVsQ2xhc3NEYXRhID0gKCkgPT4gbW9kZWxDbGFzc0RhdGFcblxuICAgIHRoaXMuYWRkQXR0cmlidXRlTWV0aG9kc1RvTW9kZWxDbGFzcyhNb2RlbENsYXNzLCBhdHRyaWJ1dGVzKVxuICAgIHRoaXMuYWRkUmVsYXRpb25zaGlwc1RvTW9kZWxDbGFzcyhNb2RlbENsYXNzLCBtb2RlbENsYXNzRGF0YSwgcmVsYXRpb25zaGlwcylcbiAgICB0aGlzLmFkZFF1ZXJ5Q29tbWFuZHNUb01vZGVsQ2xhc3MoTW9kZWxDbGFzcywgY29sbGVjdGlvbkNvbW1hbmRzKVxuICAgIHRoaXMuYWRkTWVtYmVyQ29tbWFuZHNUb01vZGVsQ2xhc3MoTW9kZWxDbGFzcywgbWVtYmVyQ29tbWFuZHMpXG5cbiAgICByZXR1cm4gTW9kZWxDbGFzc1xuICB9XG5cbiAgLyoqIGFkZEF0dHJpYnV0ZU1ldGhvZHNUb01vZGVsQ2xhc3MuICovXG4gIGFkZEF0dHJpYnV0ZU1ldGhvZHNUb01vZGVsQ2xhc3MgKE1vZGVsQ2xhc3MsIGF0dHJpYnV0ZXMpIHtcbiAgICBmb3IgKGNvbnN0IGF0dHJpYnV0ZU5hbWUgaW4gYXR0cmlidXRlcykge1xuICAgICAgY29uc3QgYXR0cmlidXRlID0gYXR0cmlidXRlc1thdHRyaWJ1dGVOYW1lXVxuICAgICAgY29uc3Qge25hbWV9ID0gZGlncyhhdHRyaWJ1dGUsIFwibmFtZVwiKVxuICAgICAgY29uc3QgbWV0aG9kTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUobmFtZSwgdHJ1ZSlcbiAgICAgIGNvbnN0IGhhc01ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGBoYXNfJHtuYW1lfWAsIHRydWUpXG5cbiAgICAgIE1vZGVsQ2xhc3MucHJvdG90eXBlW21ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgICByZXR1cm4gdGhpcy5yZWFkQXR0cmlidXRlVW5kZXJzY29yZShhdHRyaWJ1dGVOYW1lKVxuICAgICAgfVxuXG4gICAgICBNb2RlbENsYXNzLnByb3RvdHlwZVtoYXNNZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY29uc3QgdmFsdWUgPSB0aGlzW21ldGhvZE5hbWVdKClcblxuICAgICAgICByZXR1cm4gdGhpcy5faXNQcmVzZW50KHZhbHVlKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBhZGRRdWVyeUNvbW1hbmRzVG9Nb2RlbENsYXNzLiAqL1xuICBhZGRRdWVyeUNvbW1hbmRzVG9Nb2RlbENsYXNzIChNb2RlbENsYXNzLCBjb2xsZWN0aW9uQ29tbWFuZHMpIHtcbiAgICBmb3IgKGNvbnN0IGNvbGxlY3Rpb25Db21tYW5kTmFtZSBpbiBjb2xsZWN0aW9uQ29tbWFuZHMpIHtcbiAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGNvbGxlY3Rpb25Db21tYW5kTmFtZSwgdHJ1ZSlcblxuICAgICAgTW9kZWxDbGFzc1ttZXRob2ROYW1lXSA9IGZ1bmN0aW9uIChhcmdzLCBjb21tYW5kQXJncyA9IHt9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYWxsQ29sbGVjdGlvbkNvbW1hbmQoXG4gICAgICAgICAge1xuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGNvbW1hbmQ6IGNvbGxlY3Rpb25Db21tYW5kTmFtZSxcbiAgICAgICAgICAgIGNvbGxlY3Rpb25OYW1lOiBkaWdnKHRoaXMubW9kZWxDbGFzc0RhdGEoKSwgXCJjb2xsZWN0aW9uTmFtZVwiKSxcbiAgICAgICAgICAgIHR5cGU6IFwiY29sbGVjdGlvblwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjb21tYW5kQXJnc1xuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIGFkZE1lbWJlckNvbW1hbmRzVG9Nb2RlbENsYXNzLiAqL1xuICBhZGRNZW1iZXJDb21tYW5kc1RvTW9kZWxDbGFzcyAoTW9kZWxDbGFzcywgbWVtYmVyQ29tbWFuZHMpIHtcbiAgICBmb3IgKGNvbnN0IG1lbWJlckNvbW1hbmROYW1lIGluIG1lbWJlckNvbW1hbmRzKSB7XG4gICAgICBjb25zdCBtZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShtZW1iZXJDb21tYW5kTmFtZSwgdHJ1ZSlcblxuICAgICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoYXJncywgY29tbWFuZEFyZ3MgPSB7fSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FsbE1lbWJlckNvbW1hbmQoXG4gICAgICAgICAge1xuICAgICAgICAgICAgYXJncyxcbiAgICAgICAgICAgIGNvbW1hbmQ6IG1lbWJlckNvbW1hbmROYW1lLFxuICAgICAgICAgICAgcHJpbWFyeUtleTogdGhpcy5wcmltYXJ5S2V5KCksXG4gICAgICAgICAgICBjb2xsZWN0aW9uTmFtZTogdGhpcy5tb2RlbENsYXNzRGF0YSgpLmNvbGxlY3Rpb25OYW1lLFxuICAgICAgICAgICAgdHlwZTogXCJtZW1iZXJcIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgY29tbWFuZEFyZ3NcbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBhZGRSZWxhdGlvbnNoaXBzVG9Nb2RlbENsYXNzLiAqL1xuICBhZGRSZWxhdGlvbnNoaXBzVG9Nb2RlbENsYXNzIChNb2RlbENsYXNzLCBtb2RlbENsYXNzRGF0YSwgcmVsYXRpb25zaGlwcykge1xuICAgIGNvbnN0IHttb2RlbFJlY2lwZXNMb2FkZXJ9ID0gZGlncyh0aGlzLCBcIm1vZGVsUmVjaXBlc0xvYWRlclwiKVxuXG4gICAgZm9yIChjb25zdCByZWxhdGlvbnNoaXBOYW1lIGluIHJlbGF0aW9uc2hpcHMpIHtcbiAgICAgIGNvbnN0IHJlbGF0aW9uc2hpcCA9IHJlbGF0aW9uc2hpcHNbcmVsYXRpb25zaGlwTmFtZV1cbiAgICAgIGNvbnN0IHtcbiAgICAgICAgYWN0aXZlX3JlY29yZDoge1xuICAgICAgICAgIG5hbWU6IGFjdGl2ZVJlY29yZE5hbWUsXG4gICAgICAgICAgcHJpbWFyeV9rZXk6IGFjdGl2ZVJlY29yZFByaW1hcnlLZXlcbiAgICAgICAgfSxcbiAgICAgICAgY2xhc3NfbmFtZTogY2xhc3NOYW1lLFxuICAgICAgICBmb3JlaWduX2tleTogZm9yZWlnbktleSxcbiAgICAgICAga2xhc3M6IHtwcmltYXJ5X2tleToga2xhc3NQcmltYXJ5S2V5fSxcbiAgICAgICAgb3B0aW9uczoge2FzOiBvcHRpb25zQXMsIHByaW1hcnlfa2V5OiBvcHRpb25zUHJpbWFyeUtleSwgdGhyb3VnaDogb3B0aW9uc1Rocm91Z2h9LFxuICAgICAgICByZXNvdXJjZV9uYW1lOiByZXNvdXJjZU5hbWUsXG4gICAgICAgIHR5cGVcbiAgICAgIH0gPSBkaWdzKFxuICAgICAgICByZWxhdGlvbnNoaXAsXG4gICAgICAgIFwiYWN0aXZlX3JlY29yZFwiLFxuICAgICAgICBcImNsYXNzX25hbWVcIixcbiAgICAgICAgXCJmb3JlaWduX2tleVwiLFxuICAgICAgICBcImtsYXNzXCIsXG4gICAgICAgIFwib3B0aW9uc1wiLFxuICAgICAgICBcInJlc291cmNlX25hbWVcIixcbiAgICAgICAgXCJ0eXBlXCJcbiAgICAgIClcbiAgICAgIGNvbnN0IGxvYWRNZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgbG9hZF8ke3JlbGF0aW9uc2hpcE5hbWV9YCwgdHJ1ZSlcbiAgICAgIGNvbnN0IG1vZGVsTWV0aG9kTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUocmVsYXRpb25zaGlwTmFtZSwgdHJ1ZSlcblxuICAgICAgaWYgKHR5cGUgPT0gXCJiZWxvbmdzX3RvXCIpIHtcbiAgICAgICAgdGhpcy5kZWZpbmVCZWxvbmdzVG9HZXRNZXRob2Qoe01vZGVsQ2xhc3MsIG1vZGVsTWV0aG9kTmFtZSwgcmVsYXRpb25zaGlwTmFtZX0pXG4gICAgICAgIHRoaXMuZGVmaW5lQmVsb25nc1RvTG9hZE1ldGhvZCh7XG4gICAgICAgICAgZm9yZWlnbktleSxcbiAgICAgICAgICBrbGFzc1ByaW1hcnlLZXksXG4gICAgICAgICAgbG9hZE1ldGhvZE5hbWUsXG4gICAgICAgICAgTW9kZWxDbGFzcyxcbiAgICAgICAgICBtb2RlbFJlY2lwZXNMb2FkZXIsXG4gICAgICAgICAgb3B0aW9uc1ByaW1hcnlLZXksXG4gICAgICAgICAgcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICByZXNvdXJjZU5hbWVcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSBpZiAodHlwZSA9PSBcImhhc19tYW55XCIpIHtcbiAgICAgICAgdGhpcy5kZWZpbmVIYXNNYW55R2V0TWV0aG9kKHtcbiAgICAgICAgICBhY3RpdmVSZWNvcmROYW1lLFxuICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICBmb3JlaWduS2V5LFxuICAgICAgICAgIE1vZGVsQ2xhc3MsXG4gICAgICAgICAgbW9kZWxNZXRob2ROYW1lLFxuICAgICAgICAgIG1vZGVsUmVjaXBlc0xvYWRlcixcbiAgICAgICAgICBvcHRpb25zQXMsXG4gICAgICAgICAgb3B0aW9uc1ByaW1hcnlLZXksXG4gICAgICAgICAgb3B0aW9uc1Rocm91Z2gsXG4gICAgICAgICAgcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICByZXNvdXJjZU5hbWVcbiAgICAgICAgfSlcbiAgICAgICAgdGhpcy5kZWZpbmVIYXNNYW55TG9hZE1ldGhvZCh7XG4gICAgICAgICAgZm9yZWlnbktleSxcbiAgICAgICAgICBsb2FkTWV0aG9kTmFtZSxcbiAgICAgICAgICBNb2RlbENsYXNzLFxuICAgICAgICAgIG1vZGVsQ2xhc3NEYXRhLFxuICAgICAgICAgIG1vZGVsUmVjaXBlc0xvYWRlcixcbiAgICAgICAgICBvcHRpb25zVGhyb3VnaCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgIHJlc291cmNlTmFtZVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwiaGFzX29uZVwiKSB7XG4gICAgICAgIHRoaXMuZGVmaW5lSGFzT25lR2V0TWV0aGQoe01vZGVsQ2xhc3MsIG1vZGVsTWV0aG9kTmFtZSwgcmVsYXRpb25zaGlwTmFtZX0pXG4gICAgICAgIHRoaXMuZGVmaW5lSGFzT25lTG9hZE1ldGhvZCh7XG4gICAgICAgICAgYWN0aXZlUmVjb3JkUHJpbWFyeUtleSxcbiAgICAgICAgICBmb3JlaWduS2V5LFxuICAgICAgICAgIGxvYWRNZXRob2ROYW1lLFxuICAgICAgICAgIE1vZGVsQ2xhc3MsXG4gICAgICAgICAgbW9kZWxDbGFzc0RhdGEsXG4gICAgICAgICAgbW9kZWxSZWNpcGVzTG9hZGVyLFxuICAgICAgICAgIG9wdGlvbnNUaHJvdWdoLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcE5hbWUsXG4gICAgICAgICAgcmVzb3VyY2VOYW1lXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFVua25vd24gcmVsYXRpb25zaGlwIHR5cGU6ICR7dHlwZX1gKVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8qKiBkZWZpbmVCZWxvbmdzVG9HZXRNZXRob2QuICovXG4gIGRlZmluZUJlbG9uZ3NUb0dldE1ldGhvZCAoe01vZGVsQ2xhc3MsIG1vZGVsTWV0aG9kTmFtZSwgcmVsYXRpb25zaGlwTmFtZX0pIHtcbiAgICBNb2RlbENsYXNzLnByb3RvdHlwZVttb2RlbE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3JlYWRCZWxvbmdzVG9SZWZsZWN0aW9uKHtyZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZX0pXG4gICAgfVxuICB9XG5cbiAgLyoqIGRlZmluZUJlbG9uZ3NUb0xvYWRNZXRob2QuICovXG4gIGRlZmluZUJlbG9uZ3NUb0xvYWRNZXRob2QgKHtmb3JlaWduS2V5LCBrbGFzc1ByaW1hcnlLZXksIE1vZGVsQ2xhc3MsIG1vZGVsUmVjaXBlc0xvYWRlciwgbG9hZE1ldGhvZE5hbWUsIG9wdGlvbnNQcmltYXJ5S2V5LCByZWxhdGlvbnNoaXBOYW1lLCByZXNvdXJjZU5hbWV9KSB7XG4gICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbbG9hZE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgZm9yZWlnbktleU1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGZvcmVpZ25LZXksIHRydWUpXG5cbiAgICAgIGlmICghKGZvcmVpZ25LZXlNZXRob2ROYW1lIGluIHRoaXMpKSB0aHJvdyBuZXcgRXJyb3IoYEZvcmVpZ24ga2V5IG1ldGhvZCB3YXNuJ3QgZGVmaW5lZDogJHtmb3JlaWduS2V5TWV0aG9kTmFtZX1gKVxuXG4gICAgICBjb25zdCBpZCA9IHRoaXNbZm9yZWlnbktleU1ldGhvZE5hbWVdKClcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbFJlY2lwZXNMb2FkZXIuZ2V0TW9kZWxDbGFzcyhyZXNvdXJjZU5hbWUpXG4gICAgICBjb25zdCByYW5zYWNrID0ge31cbiAgICAgIGNvbnN0IHJhbnNhY2tJZFNlYXJjaEtleSA9IGAke29wdGlvbnNQcmltYXJ5S2V5IHx8IGtsYXNzUHJpbWFyeUtleX1fZXFgXG5cbiAgICAgIHJhbnNhY2tbcmFuc2Fja0lkU2VhcmNoS2V5XSA9IGlkXG5cbiAgICAgIHJldHVybiB0aGlzLl9sb2FkQmVsb25nc1RvUmVmbGVjdGlvbihcbiAgICAgICAge3JlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lLCBtb2RlbDogdGhpcywgbW9kZWxDbGFzc30sXG4gICAgICAgIHtyYW5zYWNrfVxuICAgICAgKVxuICAgIH1cbiAgfVxuXG4gIGRlZmluZUhhc01hbnlHZXRNZXRob2QgKHtcbiAgICBhY3RpdmVSZWNvcmROYW1lLFxuICAgIGNsYXNzTmFtZSxcbiAgICBmb3JlaWduS2V5LFxuICAgIE1vZGVsQ2xhc3MsXG4gICAgbW9kZWxNZXRob2ROYW1lLFxuICAgIG1vZGVsUmVjaXBlc0xvYWRlcixcbiAgICBvcHRpb25zQXMsXG4gICAgb3B0aW9uc1ByaW1hcnlLZXksXG4gICAgb3B0aW9uc1Rocm91Z2gsXG4gICAgcmVsYXRpb25zaGlwTmFtZSxcbiAgICByZXNvdXJjZU5hbWVcbiAgfSkge1xuICAgIE1vZGVsQ2xhc3MucHJvdG90eXBlW21vZGVsTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBpZCA9IHRoaXMucHJpbWFyeUtleSgpXG4gICAgICBjb25zdCBtb2RlbENsYXNzID0gbW9kZWxSZWNpcGVzTG9hZGVyLmdldE1vZGVsQ2xhc3MocmVzb3VyY2VOYW1lKVxuICAgICAgY29uc3QgcmFuc2FjayA9IHt9XG5cbiAgICAgIHJhbnNhY2tbYCR7Zm9yZWlnbktleX1fZXFgXSA9IGlkXG5cbiAgICAgIGNvbnN0IGhhc01hbnlQYXJhbWV0ZXJzID0ge1xuICAgICAgICByZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgbW9kZWw6IHRoaXMsXG4gICAgICAgIG1vZGVsTmFtZTogY2xhc3NOYW1lLFxuICAgICAgICBtb2RlbENsYXNzXG4gICAgICB9XG5cbiAgICAgIGxldCBxdWVyeVBhcmFtZXRlcnNcblxuICAgICAgaWYgKG9wdGlvbnNUaHJvdWdoKSB7XG4gICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHtcbiAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgIHRocm91Z2g6IHtcbiAgICAgICAgICAgICAgbW9kZWw6IGFjdGl2ZVJlY29yZE5hbWUsXG4gICAgICAgICAgICAgIGlkOiB0aGlzLnByaW1hcnlLZXkoKSxcbiAgICAgICAgICAgICAgcmVmbGVjdGlvbjogcmVsYXRpb25zaGlwTmFtZVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY29uc3QgcmFuc2FjayA9IHt9XG4gICAgICAgIGNvbnN0IHByaW1hcnlLZXlDb2x1bW5OYW1lID0gb3B0aW9uc1ByaW1hcnlLZXkgfHwgZGlnZyhNb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwicHJpbWFyeUtleVwiKVxuICAgICAgICBjb25zdCBwcmltYXJ5S2V5TWV0aG9kTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUocHJpbWFyeUtleUNvbHVtbk5hbWUsIHRydWUpXG5cbiAgICAgICAgaWYgKCEocHJpbWFyeUtleU1ldGhvZE5hbWUgaW4gdGhpcykpIHRocm93IG5ldyBFcnJvcihgTm8gc3VjaCBwcmltYXJ5IGtleSBtZXRob2Q6ICR7cHJpbWFyeUtleU1ldGhvZE5hbWV9YClcblxuICAgICAgICByYW5zYWNrW2Ake2ZvcmVpZ25LZXl9X2VxYF0gPSB0aGlzW3ByaW1hcnlLZXlNZXRob2ROYW1lXSgpXG5cbiAgICAgICAgaWYgKG9wdGlvbnNBcykge1xuICAgICAgICAgIHJhbnNhY2tbYCR7b3B0aW9uc0FzfV90eXBlX2VxYF0gPSBhY3RpdmVSZWNvcmROYW1lXG4gICAgICAgIH1cblxuICAgICAgICBxdWVyeVBhcmFtZXRlcnMgPSB7cmFuc2Fja31cbiAgICAgIH1cblxuICAgICAgcmV0dXJuIG5ldyBDb2xsZWN0aW9uKGhhc01hbnlQYXJhbWV0ZXJzLCBxdWVyeVBhcmFtZXRlcnMpXG4gICAgfVxuICB9XG5cbiAgLyoqIGRlZmluZUhhc01hbnlMb2FkTWV0aG9kLiAqL1xuICBkZWZpbmVIYXNNYW55TG9hZE1ldGhvZCAoe2ZvcmVpZ25LZXksIGxvYWRNZXRob2ROYW1lLCBNb2RlbENsYXNzLCBtb2RlbENsYXNzRGF0YSwgbW9kZWxSZWNpcGVzTG9hZGVyLCBvcHRpb25zVGhyb3VnaCwgcmVsYXRpb25zaGlwTmFtZSwgcmVzb3VyY2VOYW1lfSkge1xuICAgIE1vZGVsQ2xhc3MucHJvdG90eXBlW2xvYWRNZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5wcmltYXJ5S2V5KClcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbFJlY2lwZXNMb2FkZXIuZ2V0TW9kZWxDbGFzcyhyZXNvdXJjZU5hbWUpXG5cbiAgICAgIGlmIChvcHRpb25zVGhyb3VnaCkge1xuICAgICAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWxDbGFzc0RhdGEsIFwiY2xhc3NOYW1lXCIpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRIYXNNYW55UmVmbGVjdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICAgIG1vZGVsOiB0aGlzLFxuICAgICAgICAgICAgbW9kZWxDbGFzc1xuICAgICAgICAgIH0sXG4gICAgICAgICAge1xuICAgICAgICAgICAgcGFyYW1zOiB7XG4gICAgICAgICAgICAgIHRocm91Z2g6IHtcbiAgICAgICAgICAgICAgICBtb2RlbDogbW9kZWxDbGFzc05hbWUsXG4gICAgICAgICAgICAgICAgaWQsXG4gICAgICAgICAgICAgICAgcmVmbGVjdGlvbjogcmVsYXRpb25zaGlwTmFtZVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByYW5zYWNrID0ge31cblxuICAgICAgICByYW5zYWNrW2Ake2ZvcmVpZ25LZXl9X2VxYF0gPSBpZFxuXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkSGFzTWFueVJlZmxlY3Rpb24oXG4gICAgICAgICAge1xuICAgICAgICAgICAgcmVmbGVjdGlvbk5hbWU6IHJlbGF0aW9uc2hpcE5hbWUsXG4gICAgICAgICAgICBtb2RlbDogdGhpcyxcbiAgICAgICAgICAgIG1vZGVsQ2xhc3NcbiAgICAgICAgICB9LFxuICAgICAgICAgIHtyYW5zYWNrfVxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIGRlZmluZUhhc09uZUdldE1ldGhkLiAqL1xuICBkZWZpbmVIYXNPbmVHZXRNZXRoZCAoe01vZGVsQ2xhc3MsIG1vZGVsTWV0aG9kTmFtZSwgcmVsYXRpb25zaGlwTmFtZX0pIHtcbiAgICBNb2RlbENsYXNzLnByb3RvdHlwZVttb2RlbE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgcmV0dXJuIHRoaXMuX3JlYWRIYXNPbmVSZWZsZWN0aW9uKHtyZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZX0pXG4gICAgfVxuICB9XG5cbiAgZGVmaW5lSGFzT25lTG9hZE1ldGhvZCAoe1xuICAgIGFjdGl2ZVJlY29yZFByaW1hcnlLZXksXG4gICAgZm9yZWlnbktleSxcbiAgICBsb2FkTWV0aG9kTmFtZSxcbiAgICBNb2RlbENsYXNzLFxuICAgIG1vZGVsQ2xhc3NEYXRhLFxuICAgIG1vZGVsUmVjaXBlc0xvYWRlcixcbiAgICBvcHRpb25zVGhyb3VnaCxcbiAgICByZWxhdGlvbnNoaXBOYW1lLFxuICAgIHJlc291cmNlTmFtZVxuICB9KSB7XG4gICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbbG9hZE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgcHJpbWFyeUtleU1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGFjdGl2ZVJlY29yZFByaW1hcnlLZXksIHRydWUpXG5cbiAgICAgIGlmICghKHByaW1hcnlLZXlNZXRob2ROYW1lIGluIHRoaXMpKSB0aHJvdyBuZXcgRXJyb3IoYFByaW1hcnkga2V5IG1ldGhvZCB3YXNuJ3QgZGVmaW5lZDogJHtwcmltYXJ5S2V5TWV0aG9kTmFtZX1gKVxuXG4gICAgICBjb25zdCBpZCA9IHRoaXNbcHJpbWFyeUtleU1ldGhvZE5hbWVdKClcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbFJlY2lwZXNMb2FkZXIuZ2V0TW9kZWxDbGFzcyhyZXNvdXJjZU5hbWUpXG5cbiAgICAgIGlmIChvcHRpb25zVGhyb3VnaCkge1xuICAgICAgICBjb25zdCBtb2RlbENsYXNzTmFtZSA9IGRpZ2cobW9kZWxDbGFzc0RhdGEsIFwiY2xhc3NOYW1lXCIpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRIYXNPbmVSZWZsZWN0aW9uKFxuICAgICAgICAgIHtyZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSwgbW9kZWw6IHRoaXMsIG1vZGVsQ2xhc3N9LFxuICAgICAgICAgIHtwYXJhbXM6IHt0aHJvdWdoOiB7bW9kZWw6IG1vZGVsQ2xhc3NOYW1lLCBpZCwgcmVmbGVjdGlvbjogcmVsYXRpb25zaGlwTmFtZX19fVxuICAgICAgICApXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByYW5zYWNrID0ge31cblxuICAgICAgICByYW5zYWNrW2Ake2ZvcmVpZ25LZXl9X2VxYF0gPSBpZFxuXG4gICAgICAgIHJldHVybiB0aGlzLl9sb2FkSGFzT25lUmVmbGVjdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICAgIG1vZGVsOiB0aGlzLFxuICAgICAgICAgICAgbW9kZWxDbGFzc1xuICAgICAgICAgIH0sXG4gICAgICAgICAge3JhbnNhY2t9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==
262
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtcmVjaXBlcy1tb2RlbC1sb2FkZXIuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbIm1vZGVsLXJlY2lwZXMtbW9kZWwtbG9hZGVyLmpzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ3hDLE9BQU8sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3BDLE9BQU8sU0FBUyxNQUFNLGlCQUFpQixDQUFBO0FBQ3ZDLE9BQU8sVUFBVSxNQUFNLGlCQUFpQixDQUFBO0FBRXhDLDREQUE0RDtBQUM1RCxNQUFNLENBQUMsT0FBTyxPQUFPLCtCQUErQjtJQUNsRCxtQkFBbUI7SUFDbkIsWUFBYSxFQUFDLFdBQVcsRUFBRSxrQkFBa0IsRUFBQztRQUM1QyxJQUFJLENBQUMsV0FBVztZQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsNEJBQTRCLENBQUMsQ0FBQTtRQUUvRCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsa0JBQWtCLENBQUE7UUFDNUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUE7SUFDaEMsQ0FBQztJQUVELG1CQUFtQjtJQUNuQixXQUFXO1FBQ1QsTUFBTSxFQUFDLFdBQVcsRUFBQyxHQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsYUFBYSxDQUFDLENBQUE7UUFDL0MsTUFBTSxFQUNKLFVBQVUsRUFDVixtQkFBbUIsRUFBRSxrQkFBa0IsRUFDdkMsZUFBZSxFQUFFLGNBQWMsRUFDL0IsZ0JBQWdCLEVBQUUsY0FBYyxFQUNoQyxhQUFhLEVBQ2QsR0FBRyxJQUFJLENBQ04sV0FBVyxFQUNYLFlBQVksRUFDWixxQkFBcUIsRUFDckIsaUJBQWlCLEVBQ2pCLGtCQUFrQixFQUNsQixlQUFlLENBQ2hCLENBQUE7UUFDRCxNQUFNLEVBQUMsSUFBSSxFQUFFLGNBQWMsRUFBQyxHQUFHLElBQUksQ0FBQyxjQUFjLEVBQUUsTUFBTSxDQUFDLENBQUE7UUFD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SSxDQUFDLHFCQUFxQixDQUMvQjtvQkFDRSxjQUFjLEVBQUUsZ0JBQWdCO29CQUNoQyxLQUFLLEVBQUUsSUFBSTtvQkFDWCxVQUFVO2lCQUNYLEVBQ0QsRUFBQyxPQUFPLEVBQUMsQ0FDVixDQUFBO1lBQ0gsQ0FBQztRQUNILENBQUMsQ0FBQTtJQUNILENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBCYXNlTW9kZWwgZnJvbSBcIi4vYmFzZS1tb2RlbC5qc1wiXG5pbXBvcnQgQ29sbGVjdGlvbiBmcm9tIFwiLi9jb2xsZWN0aW9uLmpzXCJcblxuLyoqIEJ1aWxkcyBydW50aW1lIG1vZGVsIGNsYXNzZXMgZnJvbSByZWNpcGUgZGVmaW5pdGlvbnMuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlck1vZGVsUmVjaXBlc01vZGVsTG9hZGVyIHtcbiAgLyoqIENvbnN0cnVjdG9yLiAqL1xuICBjb25zdHJ1Y3RvciAoe21vZGVsUmVjaXBlLCBtb2RlbFJlY2lwZXNMb2FkZXJ9KSB7XG4gICAgaWYgKCFtb2RlbFJlY2lwZSkgdGhyb3cgbmV3IEVycm9yKFwiTm8gJ21vZGVsUmVjaXBlJyB3YXMgZ2l2ZW5cIilcblxuICAgIHRoaXMubW9kZWxSZWNpcGVzTG9hZGVyID0gbW9kZWxSZWNpcGVzTG9hZGVyXG4gICAgdGhpcy5tb2RlbFJlY2lwZSA9IG1vZGVsUmVjaXBlXG4gIH1cblxuICAvKiogY3JlYXRlQ2xhc3MuICovXG4gIGNyZWF0ZUNsYXNzICgpIHtcbiAgICBjb25zdCB7bW9kZWxSZWNpcGV9ID0gZGlncyh0aGlzLCBcIm1vZGVsUmVjaXBlXCIpXG4gICAgY29uc3Qge1xuICAgICAgYXR0cmlidXRlcyxcbiAgICAgIGNvbGxlY3Rpb25fY29tbWFuZHM6IGNvbGxlY3Rpb25Db21tYW5kcyxcbiAgICAgIG1lbWJlcl9jb21tYW5kczogbWVtYmVyQ29tbWFuZHMsXG4gICAgICBtb2RlbF9jbGFzc19kYXRhOiBtb2RlbENsYXNzRGF0YSxcbiAgICAgIHJlbGF0aW9uc2hpcHNcbiAgICB9ID0gZGlncyhcbiAgICAgIG1vZGVsUmVjaXBlLFxuICAgICAgXCJhdHRyaWJ1dGVzXCIsXG4gICAgICBcImNvbGxlY3Rpb25fY29tbWFuZHNcIixcbiAgICAgIFwibWVtYmVyX2NvbW1hbmRzXCIsXG4gICAgICBcIm1vZGVsX2NsYXNzX2RhdGFcIixcbiAgICAgIFwicmVsYXRpb25zaGlwc1wiXG4gICAgKVxuICAgIGNvbnN0IHtuYW1lOiBtb2RlbENsYXNzTmFtZX0gPSBkaWdzKG1vZGVsQ2xhc3NEYXRhLCBcIm5hbWVcIilcbiAgICBjb25zdCBNb2RlbENsYXNzID0gY2xhc3MgQXBpTWFrZXJNb2RlbCBleHRlbmRzIEJhc2VNb2RlbCB7IH1cblxuICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShcbiAgICAgIE1vZGVsQ2xhc3MsXG4gICAgICBcIm5hbWVcIixcbiAgICAgIHt3cml0YWJsZTogZmFsc2UsIHZhbHVlOiBtb2RlbENsYXNzTmFtZX1cbiAgICApXG5cbiAgICBjb25zdCBtb2RlbENsYXNzQ29uc3RydWN0b3IgPSAvKiogQHR5cGUge2FueX0gKi8gKE1vZGVsQ2xhc3MucHJvdG90eXBlLmNvbnN0cnVjdG9yKVxuICAgIG1vZGVsQ2xhc3NDb25zdHJ1Y3Rvci5tb2RlbENsYXNzRGF0YSA9ICgpID0+IG1vZGVsQ2xhc3NEYXRhXG5cbiAgICB0aGlzLmFkZEF0dHJpYnV0ZU1ldGhvZHNUb01vZGVsQ2xhc3MoTW9kZWxDbGFzcywgYXR0cmlidXRlcylcbiAgICB0aGlzLmFkZFJlbGF0aW9uc2hpcHNUb01vZGVsQ2xhc3MoTW9kZWxDbGFzcywgbW9kZWxDbGFzc0RhdGEsIHJlbGF0aW9uc2hpcHMpXG4gICAgdGhpcy5hZGRRdWVyeUNvbW1hbmRzVG9Nb2RlbENsYXNzKE1vZGVsQ2xhc3MsIGNvbGxlY3Rpb25Db21tYW5kcylcbiAgICB0aGlzLmFkZE1lbWJlckNvbW1hbmRzVG9Nb2RlbENsYXNzKE1vZGVsQ2xhc3MsIG1lbWJlckNvbW1hbmRzKVxuXG4gICAgcmV0dXJuIE1vZGVsQ2xhc3NcbiAgfVxuXG4gIC8qKiBhZGRBdHRyaWJ1dGVNZXRob2RzVG9Nb2RlbENsYXNzLiAqL1xuICBhZGRBdHRyaWJ1dGVNZXRob2RzVG9Nb2RlbENsYXNzIChNb2RlbENsYXNzLCBhdHRyaWJ1dGVzKSB7XG4gICAgZm9yIChjb25zdCBhdHRyaWJ1dGVOYW1lIGluIGF0dHJpYnV0ZXMpIHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZSA9IGF0dHJpYnV0ZXNbYXR0cmlidXRlTmFtZV1cbiAgICAgIGNvbnN0IHtuYW1lfSA9IGRpZ3MoYXR0cmlidXRlLCBcIm5hbWVcIilcbiAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG5hbWUsIHRydWUpXG4gICAgICBjb25zdCBoYXNNZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShgaGFzXyR7bmFtZX1gLCB0cnVlKVxuXG4gICAgICBNb2RlbENsYXNzLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgcmV0dXJuIHRoaXMucmVhZEF0dHJpYnV0ZVVuZGVyc2NvcmUoYXR0cmlidXRlTmFtZSlcbiAgICAgIH1cblxuICAgICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbaGFzTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICAgIGNvbnN0IHZhbHVlID0gdGhpc1ttZXRob2ROYW1lXSgpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2lzUHJlc2VudCh2YWx1ZSlcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogYWRkUXVlcnlDb21tYW5kc1RvTW9kZWxDbGFzcy4gKi9cbiAgYWRkUXVlcnlDb21tYW5kc1RvTW9kZWxDbGFzcyAoTW9kZWxDbGFzcywgY29sbGVjdGlvbkNvbW1hbmRzKSB7XG4gICAgZm9yIChjb25zdCBjb2xsZWN0aW9uQ29tbWFuZE5hbWUgaW4gY29sbGVjdGlvbkNvbW1hbmRzKSB7XG4gICAgICBjb25zdCBtZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShjb2xsZWN0aW9uQ29tbWFuZE5hbWUsIHRydWUpXG4gICAgICBjb25zdCBjb2xsZWN0aW9uQ29tbWFuZCA9IGNvbGxlY3Rpb25Db21tYW5kc1tjb2xsZWN0aW9uQ29tbWFuZE5hbWVdXG5cbiAgICAgIE1vZGVsQ2xhc3NbbWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoYXJncywgY29tbWFuZEFyZ3MgPSB7fSkge1xuICAgICAgICByZXR1cm4gdGhpcy5fY2FsbENvbGxlY3Rpb25Db21tYW5kKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIGFyZ3MsXG4gICAgICAgICAgICBjb21tYW5kOiBjb2xsZWN0aW9uQ29tbWFuZE5hbWUsXG4gICAgICAgICAgICBjb2xsZWN0aW9uTmFtZTogZGlnZyh0aGlzLm1vZGVsQ2xhc3NEYXRhKCksIFwiY29sbGVjdGlvbk5hbWVcIiksXG4gICAgICAgICAgICB0eXBlOiBcImNvbGxlY3Rpb25cIlxuICAgICAgICAgIH0sXG4gICAgICAgICAgey4uLmRpZ2coY29sbGVjdGlvbkNvbW1hbmQsIFwiYXJnc1wiKSwgLi4uY29tbWFuZEFyZ3N9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogYWRkTWVtYmVyQ29tbWFuZHNUb01vZGVsQ2xhc3MuICovXG4gIGFkZE1lbWJlckNvbW1hbmRzVG9Nb2RlbENsYXNzIChNb2RlbENsYXNzLCBtZW1iZXJDb21tYW5kcykge1xuICAgIGZvciAoY29uc3QgbWVtYmVyQ29tbWFuZE5hbWUgaW4gbWVtYmVyQ29tbWFuZHMpIHtcbiAgICAgIGNvbnN0IG1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKG1lbWJlckNvbW1hbmROYW1lLCB0cnVlKVxuICAgICAgY29uc3QgbWVtYmVyQ29tbWFuZCA9IG1lbWJlckNvbW1hbmRzW21lbWJlckNvbW1hbmROYW1lXVxuXG4gICAgICBNb2RlbENsYXNzLnByb3RvdHlwZVttZXRob2ROYW1lXSA9IGZ1bmN0aW9uIChhcmdzLCBjb21tYW5kQXJncyA9IHt9KSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9jYWxsTWVtYmVyQ29tbWFuZChcbiAgICAgICAgICB7XG4gICAgICAgICAgICBhcmdzLFxuICAgICAgICAgICAgY29tbWFuZDogbWVtYmVyQ29tbWFuZE5hbWUsXG4gICAgICAgICAgICBwcmltYXJ5S2V5OiB0aGlzLnByaW1hcnlLZXkoKSxcbiAgICAgICAgICAgIGNvbGxlY3Rpb25OYW1lOiB0aGlzLm1vZGVsQ2xhc3NEYXRhKCkuY29sbGVjdGlvbk5hbWUsXG4gICAgICAgICAgICB0eXBlOiBcIm1lbWJlclwiXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7Li4uZGlnZyhtZW1iZXJDb21tYW5kLCBcImFyZ3NcIiksIC4uLmNvbW1hbmRBcmdzfVxuICAgICAgICApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIGFkZFJlbGF0aW9uc2hpcHNUb01vZGVsQ2xhc3MuICovXG4gIGFkZFJlbGF0aW9uc2hpcHNUb01vZGVsQ2xhc3MgKE1vZGVsQ2xhc3MsIG1vZGVsQ2xhc3NEYXRhLCByZWxhdGlvbnNoaXBzKSB7XG4gICAgY29uc3Qge21vZGVsUmVjaXBlc0xvYWRlcn0gPSBkaWdzKHRoaXMsIFwibW9kZWxSZWNpcGVzTG9hZGVyXCIpXG5cbiAgICBmb3IgKGNvbnN0IHJlbGF0aW9uc2hpcE5hbWUgaW4gcmVsYXRpb25zaGlwcykge1xuICAgICAgY29uc3QgcmVsYXRpb25zaGlwID0gcmVsYXRpb25zaGlwc1tyZWxhdGlvbnNoaXBOYW1lXVxuICAgICAgY29uc3Qge1xuICAgICAgICBhY3RpdmVfcmVjb3JkOiB7XG4gICAgICAgICAgbmFtZTogYWN0aXZlUmVjb3JkTmFtZSxcbiAgICAgICAgICBwcmltYXJ5X2tleTogYWN0aXZlUmVjb3JkUHJpbWFyeUtleVxuICAgICAgICB9LFxuICAgICAgICBjbGFzc19uYW1lOiBjbGFzc05hbWUsXG4gICAgICAgIGZvcmVpZ25fa2V5OiBmb3JlaWduS2V5LFxuICAgICAgICBrbGFzczoge3ByaW1hcnlfa2V5OiBrbGFzc1ByaW1hcnlLZXl9LFxuICAgICAgICBvcHRpb25zOiB7YXM6IG9wdGlvbnNBcywgcHJpbWFyeV9rZXk6IG9wdGlvbnNQcmltYXJ5S2V5LCB0aHJvdWdoOiBvcHRpb25zVGhyb3VnaH0sXG4gICAgICAgIHJlc291cmNlX25hbWU6IHJlc291cmNlTmFtZSxcbiAgICAgICAgdHlwZVxuICAgICAgfSA9IGRpZ3MoXG4gICAgICAgIHJlbGF0aW9uc2hpcCxcbiAgICAgICAgXCJhY3RpdmVfcmVjb3JkXCIsXG4gICAgICAgIFwiY2xhc3NfbmFtZVwiLFxuICAgICAgICBcImZvcmVpZ25fa2V5XCIsXG4gICAgICAgIFwia2xhc3NcIixcbiAgICAgICAgXCJvcHRpb25zXCIsXG4gICAgICAgIFwicmVzb3VyY2VfbmFtZVwiLFxuICAgICAgICBcInR5cGVcIlxuICAgICAgKVxuICAgICAgY29uc3QgbG9hZE1ldGhvZE5hbWUgPSBpbmZsZWN0aW9uLmNhbWVsaXplKGBsb2FkXyR7cmVsYXRpb25zaGlwTmFtZX1gLCB0cnVlKVxuICAgICAgY29uc3QgbW9kZWxNZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShyZWxhdGlvbnNoaXBOYW1lLCB0cnVlKVxuXG4gICAgICBpZiAodHlwZSA9PSBcImJlbG9uZ3NfdG9cIikge1xuICAgICAgICB0aGlzLmRlZmluZUJlbG9uZ3NUb0dldE1ldGhvZCh7TW9kZWxDbGFzcywgbW9kZWxNZXRob2ROYW1lLCByZWxhdGlvbnNoaXBOYW1lfSlcbiAgICAgICAgdGhpcy5kZWZpbmVCZWxvbmdzVG9Mb2FkTWV0aG9kKHtcbiAgICAgICAgICBmb3JlaWduS2V5LFxuICAgICAgICAgIGtsYXNzUHJpbWFyeUtleSxcbiAgICAgICAgICBsb2FkTWV0aG9kTmFtZSxcbiAgICAgICAgICBNb2RlbENsYXNzLFxuICAgICAgICAgIG1vZGVsUmVjaXBlc0xvYWRlcixcbiAgICAgICAgICBvcHRpb25zUHJpbWFyeUtleSxcbiAgICAgICAgICByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgIHJlc291cmNlTmFtZVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIGlmICh0eXBlID09IFwiaGFzX21hbnlcIikge1xuICAgICAgICB0aGlzLmRlZmluZUhhc01hbnlHZXRNZXRob2Qoe1xuICAgICAgICAgIGFjdGl2ZVJlY29yZE5hbWUsXG4gICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgIGZvcmVpZ25LZXksXG4gICAgICAgICAgTW9kZWxDbGFzcyxcbiAgICAgICAgICBtb2RlbE1ldGhvZE5hbWUsXG4gICAgICAgICAgbW9kZWxSZWNpcGVzTG9hZGVyLFxuICAgICAgICAgIG9wdGlvbnNBcyxcbiAgICAgICAgICBvcHRpb25zUHJpbWFyeUtleSxcbiAgICAgICAgICBvcHRpb25zVGhyb3VnaCxcbiAgICAgICAgICByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgIHJlc291cmNlTmFtZVxuICAgICAgICB9KVxuICAgICAgICB0aGlzLmRlZmluZUhhc01hbnlMb2FkTWV0aG9kKHtcbiAgICAgICAgICBmb3JlaWduS2V5LFxuICAgICAgICAgIGxvYWRNZXRob2ROYW1lLFxuICAgICAgICAgIE1vZGVsQ2xhc3MsXG4gICAgICAgICAgbW9kZWxDbGFzc0RhdGEsXG4gICAgICAgICAgbW9kZWxSZWNpcGVzTG9hZGVyLFxuICAgICAgICAgIG9wdGlvbnNUaHJvdWdoLFxuICAgICAgICAgIHJlbGF0aW9uc2hpcE5hbWUsXG4gICAgICAgICAgcmVzb3VyY2VOYW1lXG4gICAgICAgIH0pXG4gICAgICB9IGVsc2UgaWYgKHR5cGUgPT0gXCJoYXNfb25lXCIpIHtcbiAgICAgICAgdGhpcy5kZWZpbmVIYXNPbmVHZXRNZXRoZCh7TW9kZWxDbGFzcywgbW9kZWxNZXRob2ROYW1lLCByZWxhdGlvbnNoaXBOYW1lfSlcbiAgICAgICAgdGhpcy5kZWZpbmVIYXNPbmVMb2FkTWV0aG9kKHtcbiAgICAgICAgICBhY3RpdmVSZWNvcmRQcmltYXJ5S2V5LFxuICAgICAgICAgIGZvcmVpZ25LZXksXG4gICAgICAgICAgbG9hZE1ldGhvZE5hbWUsXG4gICAgICAgICAgTW9kZWxDbGFzcyxcbiAgICAgICAgICBtb2RlbENsYXNzRGF0YSxcbiAgICAgICAgICBtb2RlbFJlY2lwZXNMb2FkZXIsXG4gICAgICAgICAgb3B0aW9uc1Rocm91Z2gsXG4gICAgICAgICAgcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICByZXNvdXJjZU5hbWVcbiAgICAgICAgfSlcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5rbm93biByZWxhdGlvbnNoaXAgdHlwZTogJHt0eXBlfWApXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIGRlZmluZUJlbG9uZ3NUb0dldE1ldGhvZC4gKi9cbiAgZGVmaW5lQmVsb25nc1RvR2V0TWV0aG9kICh7TW9kZWxDbGFzcywgbW9kZWxNZXRob2ROYW1lLCByZWxhdGlvbnNoaXBOYW1lfSkge1xuICAgIE1vZGVsQ2xhc3MucHJvdG90eXBlW21vZGVsTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVhZEJlbG9uZ3NUb1JlZmxlY3Rpb24oe3JlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lfSlcbiAgICB9XG4gIH1cblxuICAvKiogZGVmaW5lQmVsb25nc1RvTG9hZE1ldGhvZC4gKi9cbiAgZGVmaW5lQmVsb25nc1RvTG9hZE1ldGhvZCAoe2ZvcmVpZ25LZXksIGtsYXNzUHJpbWFyeUtleSwgTW9kZWxDbGFzcywgbW9kZWxSZWNpcGVzTG9hZGVyLCBsb2FkTWV0aG9kTmFtZSwgb3B0aW9uc1ByaW1hcnlLZXksIHJlbGF0aW9uc2hpcE5hbWUsIHJlc291cmNlTmFtZX0pIHtcbiAgICBNb2RlbENsYXNzLnByb3RvdHlwZVtsb2FkTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBmb3JlaWduS2V5TWV0aG9kTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUoZm9yZWlnbktleSwgdHJ1ZSlcblxuICAgICAgaWYgKCEoZm9yZWlnbktleU1ldGhvZE5hbWUgaW4gdGhpcykpIHRocm93IG5ldyBFcnJvcihgRm9yZWlnbiBrZXkgbWV0aG9kIHdhc24ndCBkZWZpbmVkOiAke2ZvcmVpZ25LZXlNZXRob2ROYW1lfWApXG5cbiAgICAgIGNvbnN0IGlkID0gdGhpc1tmb3JlaWduS2V5TWV0aG9kTmFtZV0oKVxuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsUmVjaXBlc0xvYWRlci5nZXRNb2RlbENsYXNzKHJlc291cmNlTmFtZSlcbiAgICAgIGNvbnN0IHJhbnNhY2sgPSB7fVxuICAgICAgY29uc3QgcmFuc2Fja0lkU2VhcmNoS2V5ID0gYCR7b3B0aW9uc1ByaW1hcnlLZXkgfHwga2xhc3NQcmltYXJ5S2V5fV9lcWBcblxuICAgICAgcmFuc2Fja1tyYW5zYWNrSWRTZWFyY2hLZXldID0gaWRcblxuICAgICAgcmV0dXJuIHRoaXMuX2xvYWRCZWxvbmdzVG9SZWZsZWN0aW9uKFxuICAgICAgICB7cmVmbGVjdGlvbk5hbWU6IHJlbGF0aW9uc2hpcE5hbWUsIG1vZGVsOiB0aGlzLCBtb2RlbENsYXNzfSxcbiAgICAgICAge3JhbnNhY2t9XG4gICAgICApXG4gICAgfVxuICB9XG5cbiAgZGVmaW5lSGFzTWFueUdldE1ldGhvZCAoe1xuICAgIGFjdGl2ZVJlY29yZE5hbWUsXG4gICAgY2xhc3NOYW1lLFxuICAgIGZvcmVpZ25LZXksXG4gICAgTW9kZWxDbGFzcyxcbiAgICBtb2RlbE1ldGhvZE5hbWUsXG4gICAgbW9kZWxSZWNpcGVzTG9hZGVyLFxuICAgIG9wdGlvbnNBcyxcbiAgICBvcHRpb25zUHJpbWFyeUtleSxcbiAgICBvcHRpb25zVGhyb3VnaCxcbiAgICByZWxhdGlvbnNoaXBOYW1lLFxuICAgIHJlc291cmNlTmFtZVxuICB9KSB7XG4gICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbbW9kZWxNZXRob2ROYW1lXSA9IGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IGlkID0gdGhpcy5wcmltYXJ5S2V5KClcbiAgICAgIGNvbnN0IG1vZGVsQ2xhc3MgPSBtb2RlbFJlY2lwZXNMb2FkZXIuZ2V0TW9kZWxDbGFzcyhyZXNvdXJjZU5hbWUpXG4gICAgICBjb25zdCByYW5zYWNrID0ge31cblxuICAgICAgcmFuc2Fja1tgJHtmb3JlaWduS2V5fV9lcWBdID0gaWRcblxuICAgICAgY29uc3QgaGFzTWFueVBhcmFtZXRlcnMgPSB7XG4gICAgICAgIHJlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICBtb2RlbDogdGhpcyxcbiAgICAgICAgbW9kZWxOYW1lOiBjbGFzc05hbWUsXG4gICAgICAgIG1vZGVsQ2xhc3NcbiAgICAgIH1cblxuICAgICAgbGV0IHF1ZXJ5UGFyYW1ldGVyc1xuXG4gICAgICBpZiAob3B0aW9uc1Rocm91Z2gpIHtcbiAgICAgICAgcXVlcnlQYXJhbWV0ZXJzID0ge1xuICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgdGhyb3VnaDoge1xuICAgICAgICAgICAgICBtb2RlbDogYWN0aXZlUmVjb3JkTmFtZSxcbiAgICAgICAgICAgICAgaWQ6IHRoaXMucHJpbWFyeUtleSgpLFxuICAgICAgICAgICAgICByZWZsZWN0aW9uOiByZWxhdGlvbnNoaXBOYW1lXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjb25zdCByYW5zYWNrID0ge31cbiAgICAgICAgY29uc3QgcHJpbWFyeUtleUNvbHVtbk5hbWUgPSBvcHRpb25zUHJpbWFyeUtleSB8fCBkaWdnKE1vZGVsQ2xhc3MubW9kZWxDbGFzc0RhdGEoKSwgXCJwcmltYXJ5S2V5XCIpXG4gICAgICAgIGNvbnN0IHByaW1hcnlLZXlNZXRob2ROYW1lID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwcmltYXJ5S2V5Q29sdW1uTmFtZSwgdHJ1ZSlcblxuICAgICAgICBpZiAoIShwcmltYXJ5S2V5TWV0aG9kTmFtZSBpbiB0aGlzKSkgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIHByaW1hcnkga2V5IG1ldGhvZDogJHtwcmltYXJ5S2V5TWV0aG9kTmFtZX1gKVxuXG4gICAgICAgIHJhbnNhY2tbYCR7Zm9yZWlnbktleX1fZXFgXSA9IHRoaXNbcHJpbWFyeUtleU1ldGhvZE5hbWVdKClcblxuICAgICAgICBpZiAob3B0aW9uc0FzKSB7XG4gICAgICAgICAgcmFuc2Fja1tgJHtvcHRpb25zQXN9X3R5cGVfZXFgXSA9IGFjdGl2ZVJlY29yZE5hbWVcbiAgICAgICAgfVxuXG4gICAgICAgIHF1ZXJ5UGFyYW1ldGVycyA9IHtyYW5zYWNrfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gbmV3IENvbGxlY3Rpb24oaGFzTWFueVBhcmFtZXRlcnMsIHF1ZXJ5UGFyYW1ldGVycylcbiAgICB9XG4gIH1cblxuICAvKiogZGVmaW5lSGFzTWFueUxvYWRNZXRob2QuICovXG4gIGRlZmluZUhhc01hbnlMb2FkTWV0aG9kICh7Zm9yZWlnbktleSwgbG9hZE1ldGhvZE5hbWUsIE1vZGVsQ2xhc3MsIG1vZGVsQ2xhc3NEYXRhLCBtb2RlbFJlY2lwZXNMb2FkZXIsIG9wdGlvbnNUaHJvdWdoLCByZWxhdGlvbnNoaXBOYW1lLCByZXNvdXJjZU5hbWV9KSB7XG4gICAgTW9kZWxDbGFzcy5wcm90b3R5cGVbbG9hZE1ldGhvZE5hbWVdID0gZnVuY3Rpb24gKCkge1xuICAgICAgY29uc3QgaWQgPSB0aGlzLnByaW1hcnlLZXkoKVxuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsUmVjaXBlc0xvYWRlci5nZXRNb2RlbENsYXNzKHJlc291cmNlTmFtZSlcblxuICAgICAgaWYgKG9wdGlvbnNUaHJvdWdoKSB7XG4gICAgICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhtb2RlbENsYXNzRGF0YSwgXCJjbGFzc05hbWVcIilcblxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZEhhc01hbnlSZWZsZWN0aW9uKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgbW9kZWw6IHRoaXMsXG4gICAgICAgICAgICBtb2RlbENsYXNzXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7XG4gICAgICAgICAgICBwYXJhbXM6IHtcbiAgICAgICAgICAgICAgdGhyb3VnaDoge1xuICAgICAgICAgICAgICAgIG1vZGVsOiBtb2RlbENsYXNzTmFtZSxcbiAgICAgICAgICAgICAgICBpZCxcbiAgICAgICAgICAgICAgICByZWZsZWN0aW9uOiByZWxhdGlvbnNoaXBOYW1lXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJhbnNhY2sgPSB7fVxuXG4gICAgICAgIHJhbnNhY2tbYCR7Zm9yZWlnbktleX1fZXFgXSA9IGlkXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRIYXNNYW55UmVmbGVjdGlvbihcbiAgICAgICAgICB7XG4gICAgICAgICAgICByZWZsZWN0aW9uTmFtZTogcmVsYXRpb25zaGlwTmFtZSxcbiAgICAgICAgICAgIG1vZGVsOiB0aGlzLFxuICAgICAgICAgICAgbW9kZWxDbGFzc1xuICAgICAgICAgIH0sXG4gICAgICAgICAge3JhbnNhY2t9XG4gICAgICAgIClcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogZGVmaW5lSGFzT25lR2V0TWV0aGQuICovXG4gIGRlZmluZUhhc09uZUdldE1ldGhkICh7TW9kZWxDbGFzcywgbW9kZWxNZXRob2ROYW1lLCByZWxhdGlvbnNoaXBOYW1lfSkge1xuICAgIE1vZGVsQ2xhc3MucHJvdG90eXBlW21vZGVsTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gdGhpcy5fcmVhZEhhc09uZVJlZmxlY3Rpb24oe3JlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lfSlcbiAgICB9XG4gIH1cblxuICBkZWZpbmVIYXNPbmVMb2FkTWV0aG9kICh7XG4gICAgYWN0aXZlUmVjb3JkUHJpbWFyeUtleSxcbiAgICBmb3JlaWduS2V5LFxuICAgIGxvYWRNZXRob2ROYW1lLFxuICAgIE1vZGVsQ2xhc3MsXG4gICAgbW9kZWxDbGFzc0RhdGEsXG4gICAgbW9kZWxSZWNpcGVzTG9hZGVyLFxuICAgIG9wdGlvbnNUaHJvdWdoLFxuICAgIHJlbGF0aW9uc2hpcE5hbWUsXG4gICAgcmVzb3VyY2VOYW1lXG4gIH0pIHtcbiAgICBNb2RlbENsYXNzLnByb3RvdHlwZVtsb2FkTWV0aG9kTmFtZV0gPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBwcmltYXJ5S2V5TWV0aG9kTmFtZSA9IGluZmxlY3Rpb24uY2FtZWxpemUoYWN0aXZlUmVjb3JkUHJpbWFyeUtleSwgdHJ1ZSlcblxuICAgICAgaWYgKCEocHJpbWFyeUtleU1ldGhvZE5hbWUgaW4gdGhpcykpIHRocm93IG5ldyBFcnJvcihgUHJpbWFyeSBrZXkgbWV0aG9kIHdhc24ndCBkZWZpbmVkOiAke3ByaW1hcnlLZXlNZXRob2ROYW1lfWApXG5cbiAgICAgIGNvbnN0IGlkID0gdGhpc1twcmltYXJ5S2V5TWV0aG9kTmFtZV0oKVxuICAgICAgY29uc3QgbW9kZWxDbGFzcyA9IG1vZGVsUmVjaXBlc0xvYWRlci5nZXRNb2RlbENsYXNzKHJlc291cmNlTmFtZSlcblxuICAgICAgaWYgKG9wdGlvbnNUaHJvdWdoKSB7XG4gICAgICAgIGNvbnN0IG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhtb2RlbENsYXNzRGF0YSwgXCJjbGFzc05hbWVcIilcblxuICAgICAgICByZXR1cm4gdGhpcy5fbG9hZEhhc09uZVJlZmxlY3Rpb24oXG4gICAgICAgICAge3JlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lLCBtb2RlbDogdGhpcywgbW9kZWxDbGFzc30sXG4gICAgICAgICAge3BhcmFtczoge3Rocm91Z2g6IHttb2RlbDogbW9kZWxDbGFzc05hbWUsIGlkLCByZWZsZWN0aW9uOiByZWxhdGlvbnNoaXBOYW1lfX19XG4gICAgICAgIClcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGNvbnN0IHJhbnNhY2sgPSB7fVxuXG4gICAgICAgIHJhbnNhY2tbYCR7Zm9yZWlnbktleX1fZXFgXSA9IGlkXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuX2xvYWRIYXNPbmVSZWZsZWN0aW9uKFxuICAgICAgICAgIHtcbiAgICAgICAgICAgIHJlZmxlY3Rpb25OYW1lOiByZWxhdGlvbnNoaXBOYW1lLFxuICAgICAgICAgICAgbW9kZWw6IHRoaXMsXG4gICAgICAgICAgICBtb2RlbENsYXNzXG4gICAgICAgICAgfSxcbiAgICAgICAgICB7cmFuc2Fja31cbiAgICAgICAgKVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -24,6 +24,11 @@ export default class ApiMakerSessionStatusUpdater {
24
24
  stopTimeout(): void;
25
25
  /** updateSessionStatus. */
26
26
  updateSessionStatus: () => Promise<void>;
27
+ /**
28
+ * @param {Record<string, any>} result
29
+ * @returns {void}
30
+ */
31
+ applyResult(result: Record<string, any>): void;
27
32
  /** updateMetaElementsFromResult. */
28
33
  updateMetaElementsFromResult(result: any): void;
29
34
  /** updateUserSessionsFromResult. */
@@ -1 +1 @@
1
- {"version":3,"file":"session-status-updater.d.ts","sourceRoot":"/src/","sources":["session-status-updater.js"],"names":[],"mappings":"AAWA,+CAA+C;AAC/C;IACE,eAAe;IACf,+BAMC;IAED,mBAAmB;IACnB,uBAiBC;IAhBC,WAAgB;IAChB,aAAqC;IAGnC,wBAAyC;IAc7C,0BAA0B;IAC1B,2BAEC;IAED,wBAAwB;IACxB,yBAEC;IAED,6BA6BC;IAhBK,eAAyD;IAkB/D,qBAAqB;IACrB,8BAiBC;IAED,mBAAmB;IACnB,iCAGC;IAED,oBAAoB;IACpB,qBAaC;IAPC,8BAMC;IAGH,mBAAmB;IACnB,oBAGC;IAED,2BAA2B;IAC3B,yCAQC;IAED,oCAAoC;IACpC,gDAeC;IAED,oCAAoC;IACpC,gDAIC;IAED,wCAAwC;IACxC,mEAgBC;CACF"}
1
+ {"version":3,"file":"session-status-updater.d.ts","sourceRoot":"/src/","sources":["session-status-updater.js"],"names":[],"mappings":"AAWA,+CAA+C;AAC/C;IACE,eAAe;IACf,+BAMC;IAED,mBAAmB;IACnB,uBAiBC;IAhBC,WAAgB;IAChB,aAAqC;IAGnC,wBAAyC;IAc7C,0BAA0B;IAC1B,2BAEC;IAED,wBAAwB;IACxB,yBAEC;IAED,6BA+BC;IAlBK,eAAyD;IAoB/D,qBAAqB;IACrB,8BAiBC;IAED,mBAAmB;IACnB,iCAGC;IAED,oBAAoB;IACpB,qBAaC;IAPC,8BAMC;IAGH,mBAAmB;IACnB,oBAGC;IAED,2BAA2B;IAC3B,yCAMC;IAED;;;OAGG;IACH,oBAHW,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GACjB,IAAI,CAOhB;IAED,oCAAoC;IACpC,gDAmBC;IAED,oCAAoC;IACpC,gDAIC;IAED,wCAAwC;IACxC,mEAgBC;CACF"}
@@ -60,7 +60,8 @@ export default class ApiMakerSessionStatusUpdater {
60
60
  logger.debug(() => `Returning CSRF token after updating session status: ${this.csrfToken}`);
61
61
  return this.csrfToken;
62
62
  }
63
- throw new Error("CSRF token hasn't been set");
63
+ logger.debug("No CSRF token available after updating session status");
64
+ return undefined;
64
65
  }
65
66
  /** sessionStatus. */
66
67
  sessionStatus() {
@@ -103,13 +104,23 @@ export default class ApiMakerSessionStatusUpdater {
103
104
  updateSessionStatus = async () => {
104
105
  logger.debug("updateSessionStatus");
105
106
  const result = await this.sessionStatus();
107
+ this.applyResult(result);
108
+ };
109
+ /**
110
+ * @param {Record<string, any>} result
111
+ * @returns {void}
112
+ */
113
+ applyResult(result) {
106
114
  logger.debug(() => `Result: ${JSON.stringify(result, null, 2)}`);
107
115
  this.updateMetaElementsFromResult(result);
108
116
  this.updateUserSessionsFromResult(result);
109
- };
117
+ }
110
118
  /** updateMetaElementsFromResult. */
111
119
  updateMetaElementsFromResult(result) {
112
120
  logger.debug("updateMetaElementsFromResult");
121
+ if (!result.csrf_token) {
122
+ return;
123
+ }
113
124
  this.csrfToken = result.csrf_token;
114
125
  if (this.useMetaElement) {
115
126
  const csrfTokenElement = document.querySelector("meta[name='csrf-token']");
@@ -143,4 +154,4 @@ export default class ApiMakerSessionStatusUpdater {
143
154
  }
144
155
  }
145
156
  }
146
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQix3QkFBd0I7QUFFeEIsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBQy9DLGVBQWU7SUFDZixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFlBQVksSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQTtRQUVyQyxJQUFJLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsS0FB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RCxNQUFNLGlCQUFpQixHQUFHLEtBQUssQ0FBQyxTQUFTLENBQUE7UUFFekMsSUFBSSxpQkFBaUIsSUFBSSxDQUFDLGlCQUFpQixFQUFFLENBQUM7WUFDNUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxHQUFHLEVBQUUsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLDRDQUE0QyxDQUFDLENBQUE7WUFFakcsTUFBTSxDQUFDLFlBQVksQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1lBQ3ZDLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxFQUFDLEtBQUssRUFBRSxTQUFTLEVBQUMsQ0FBQyxDQUFBO1FBQzdDLENBQUM7SUFDSCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCBEZXZpc2UgZnJvbSBcIi4vZGV2aXNlLmpzXCJcbmltcG9ydCBMb2dnZXIgZnJvbSBcIi4vbG9nZ2VyLmpzXCJcbmltcG9ydCBjb25maWcgZnJvbSBcIi4vY29uZmlnLmpzXCJcbmltcG9ydCB3YWtlRXZlbnQgZnJvbSBcIndha2UtZXZlbnRcIlxuXG5jb25zdCBsb2dnZXIgPSBuZXcgTG9nZ2VyKHtuYW1lOiBcIkFwaU1ha2VyIC8gU2Vzc2lvblN0YXR1c1VwZGF0ZXJcIn0pXG5jb25zdCBzaGFyZWQgPSB7fVxuXG4vLyBsb2dnZXIuc2V0RGVidWcodHJ1ZSlcblxuLyoqIFRyYWNrcyBzZXNzaW9uIGFuZCBDU1JGIHRva2VuIGZyZXNobmVzcy4gKi9cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIge1xuICAvKiogY3VycmVudC4gKi9cbiAgc3RhdGljIGN1cnJlbnQoYXJncykge1xuICAgIGlmICghc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIpIHtcbiAgICAgIHNoYXJlZC5hcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyID0gbmV3IEFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXIoYXJncylcbiAgICB9XG5cbiAgICByZXR1cm4gc2hhcmVkLmFwaU1ha2VyU2Vzc2lvblN0YXR1c1VwZGF0ZXJcbiAgfVxuXG4gIC8qKiBDb25zdHJ1Y3Rvci4gKi9cbiAgY29uc3RydWN0b3IoYXJncyA9IHt9KSB7XG4gICAgdGhpcy5ldmVudHMgPSB7fVxuICAgIHRoaXMudGltZW91dCA9IGFyZ3MudGltZW91dCB8fCA2MDAwMDBcblxuICAgIGlmIChcInVzZU1ldGFFbGVtZW50XCIgaW4gYXJncykge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGFyZ3MudXNlTWV0YUVsZW1lbnRcbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBkb2N1bWVudCA9PT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy51c2VNZXRhRWxlbWVudCA9IGZhbHNlXG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSB0cnVlXG4gICAgfVxuXG4gICAgaWYgKHR5cGVvZiB3aW5kb3cgIT0gXCJ1bmRlZmluZWRcIikge1xuICAgICAgdGhpcy5jb25uZWN0T25saW5lRXZlbnQoKVxuICAgIH1cblxuICAgIHRoaXMuY29ubmVjdFdha2VFdmVudCgpXG4gIH1cblxuICAvKiogY29ubmVjdE9ubGluZUV2ZW50LiAqL1xuICBjb25uZWN0T25saW5lRXZlbnQoKSB7XG4gICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJvbmxpbmVcIiwgdGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzLCBmYWxzZSlcbiAgfVxuXG4gIC8qKiBjb25uZWN0V2FrZUV2ZW50LiAqL1xuICBjb25uZWN0V2FrZUV2ZW50KCkge1xuICAgIHdha2VFdmVudCh0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMpXG4gIH1cblxuICBhc3luYyBnZXRDc3JmVG9rZW4oKSB7XG4gICAgaWYgKHRoaXMuY3NyZlRva2VuKSB7XG4gICAgICBsb2dnZXIuZGVidWcoYEdldCBDU1JGIHRva2VuIGZyb20gc2V0IHZhcmlhYmxlOiAke3RoaXMuY3NyZlRva2VufWApXG5cbiAgICAgIHJldHVybiB0aGlzLmNzcmZUb2tlblxuICAgIH1cblxuICAgIGlmICh0aGlzLnVzZU1ldGFFbGVtZW50KSB7XG4gICAgICBjb25zdCBjc3JmVG9rZW5FbGVtZW50ID0gZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpXG5cbiAgICAgIGlmIChjc3JmVG9rZW5FbGVtZW50KSB7XG4gICAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgR2V0IENTUkYgdG9rZW4gZnJvbSBtZXRhIGVsZW1lbnQ6ICR7Y3NyZlRva2VuRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpfWApXG5cbiAgICAgICAgdGhpcy5jc3JmVG9rZW4gPSBjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIilcblxuICAgICAgICByZXR1cm4gdGhpcy5jc3JmVG9rZW5cbiAgICAgIH1cbiAgICB9XG5cbiAgICBsb2dnZXIuZGVidWcoXCJVcGRhdGluZyBzZXNzaW9uIHN0YXR1cyBiZWNhdXNlIG5vIENTUkYgdG9rZW4gc2V0IHlldFwiKVxuICAgIGF3YWl0IHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cygpXG5cbiAgICBpZiAodGhpcy5jc3JmVG9rZW4pIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgUmV0dXJuaW5nIENTUkYgdG9rZW4gYWZ0ZXIgdXBkYXRpbmcgc2Vzc2lvbiBzdGF0dXM6ICR7dGhpcy5jc3JmVG9rZW59YClcblxuICAgICAgcmV0dXJuIHRoaXMuY3NyZlRva2VuXG4gICAgfVxuXG4gICAgdGhyb3cgbmV3IEVycm9yKFwiQ1NSRiB0b2tlbiBoYXNuJ3QgYmVlbiBzZXRcIilcbiAgfVxuXG4gIC8qKiBzZXNzaW9uU3RhdHVzLiAqL1xuICBzZXNzaW9uU3RhdHVzKCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT4ge1xuICAgICAgY29uc3QgaG9zdCA9IGNvbmZpZy5nZXRIb3N0KClcbiAgICAgIGxldCByZXF1ZXN0UGF0aCA9IFwiXCJcblxuICAgICAgaWYgKGhvc3QpIHJlcXVlc3RQYXRoICs9IGhvc3RcblxuICAgICAgcmVxdWVzdFBhdGggKz0gXCIvYXBpX21ha2VyL3Nlc3Npb25fc3RhdHVzZXNcIlxuXG4gICAgICBjb25zdCB4aHIgPSBuZXcgWE1MSHR0cFJlcXVlc3QoKVxuICAgICAgeGhyLm9wZW4oXCJQT1NUXCIsIHJlcXVlc3RQYXRoLCB0cnVlKVxuICAgICAgeGhyLm9ubG9hZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBKU09OLnBhcnNlKHhoci5yZXNwb25zZVRleHQpXG4gICAgICAgIHJlc29sdmUocmVzcG9uc2UpXG4gICAgICB9XG4gICAgICB4aHIuc2VuZCgpXG4gICAgfSlcbiAgfVxuXG4gIC8qKiBvblNpZ25lZE91dC4gKi9cbiAgb25TaWduZWRPdXQoY2FsbGJhY2spIHtcbiAgICAvLyBAdHMtZXhwZWN0LWVycm9yXG4gICAgdGhpcy5hZGRFdmVudChcIm9uU2lnbmVkT3V0XCIsIGNhbGxiYWNrKVxuICB9XG5cbiAgLyoqIHN0YXJ0VGltZW91dC4gKi9cbiAgc3RhcnRUaW1lb3V0KCkge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInN0YXJ0VGltZW91dFwiKVxuXG4gICAgaWYgKHRoaXMudXBkYXRlVGltZW91dClcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnVwZGF0ZVRpbWVvdXQpXG5cbiAgICB0aGlzLnVwZGF0ZVRpbWVvdXQgPSBzZXRUaW1lb3V0KFxuICAgICAgKCkgPT4ge1xuICAgICAgICB0aGlzLnN0YXJ0VGltZW91dCgpXG4gICAgICAgIHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cygpXG4gICAgICB9LFxuICAgICAgdGhpcy50aW1lb3V0XG4gICAgKVxuICB9XG5cbiAgLyoqIHN0b3BUaW1lb3V0LiAqL1xuICBzdG9wVGltZW91dCgpIHtcbiAgICBpZiAodGhpcy51cGRhdGVUaW1lb3V0KVxuICAgICAgY2xlYXJUaW1lb3V0KHRoaXMudXBkYXRlVGltZW91dClcbiAgfVxuXG4gIC8qKiB1cGRhdGVTZXNzaW9uU3RhdHVzLiAqL1xuICB1cGRhdGVTZXNzaW9uU3RhdHVzID0gYXN5bmMgKCkgPT4ge1xuICAgIGxvZ2dlci5kZWJ1ZyhcInVwZGF0ZVNlc3Npb25TdGF0dXNcIilcblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMuc2Vzc2lvblN0YXR1cygpXG5cbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpfWApXG4gICAgdGhpcy51cGRhdGVNZXRhRWxlbWVudHNGcm9tUmVzdWx0KHJlc3VsdClcbiAgICB0aGlzLnVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQocmVzdWx0KVxuICB9XG5cbiAgLyoqIHVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQuICovXG4gIHVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQocmVzdWx0KSB7XG4gICAgbG9nZ2VyLmRlYnVnKFwidXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdFwiKVxuXG4gICAgdGhpcy5jc3JmVG9rZW4gPSByZXN1bHQuY3NyZl90b2tlblxuXG4gICAgaWYgKHRoaXMudXNlTWV0YUVsZW1lbnQpIHtcbiAgICAgIGNvbnN0IGNzcmZUb2tlbkVsZW1lbnQgPSBkb2N1bWVudC5xdWVyeVNlbGVjdG9yKFwibWV0YVtuYW1lPSdjc3JmLXRva2VuJ11cIilcblxuICAgICAgaWYgKGNzcmZUb2tlbkVsZW1lbnQpIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKCgpID0+IGBDaGFuZ2luZyB0b2tlbiBmcm9tIFwiJHtjc3JmVG9rZW5FbGVtZW50LmdldEF0dHJpYnV0ZShcImNvbnRlbnRcIil9XCIgdG8gXCIke3Jlc3VsdC5jc3JmX3Rva2VufVwiYClcbiAgICAgICAgY3NyZlRva2VuRWxlbWVudC5zZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIsIHJlc3VsdC5jc3JmX3Rva2VuKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbG9nZ2VyLmRlYnVnKFwiY3NyZiB0b2tlbiBlbGVtZW50IGNvdWxkbid0IGJlIGZvdW5kXCIpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqIHVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQuICovXG4gIHVwZGF0ZVVzZXJTZXNzaW9uc0Zyb21SZXN1bHQocmVzdWx0KSB7XG4gICAgZm9yIChjb25zdCBzY29wZU5hbWUgaW4gcmVzdWx0LnNjb3Blcykge1xuICAgICAgdGhpcy51cGRhdGVVc2VyU2Vzc2lvblNjb3BlRnJvbVJlc3VsdChzY29wZU5hbWUsIHJlc3VsdC5zY29wZXNbc2NvcGVOYW1lXSlcbiAgICB9XG4gIH1cblxuICAvKiogdXBkYXRlVXNlclNlc3Npb25TY29wZUZyb21SZXN1bHQuICovXG4gIHVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgc2NvcGUpIHtcbiAgICBjb25zdCBkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZSA9IGBpcyR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfVNpZ25lZEluYFxuXG4gICAgaWYgKCEoZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWUgaW4gRGV2aXNlKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBzdWNoIG1ldGhvZCBpbiBEZXZpc2U6ICR7ZGV2aXNlSXNTaWduZWRJbk1ldGhvZE5hbWV9YClcbiAgICB9XG5cbiAgICBjb25zdCBjdXJyZW50bHlTaWduZWRJbiA9IERldmlzZVtkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZV0oKVxuICAgIGNvbnN0IHNpZ25lZEluT25CYWNrZW5kID0gc2NvcGUuc2lnbmVkX2luXG5cbiAgICBpZiAoY3VycmVudGx5U2lnbmVkSW4gJiYgIXNpZ25lZEluT25CYWNrZW5kKSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYCR7aW5mbGVjdGlvbi5jYW1lbGl6ZShzY29wZU5hbWUpfSBzaWduZWQgaW4gb24gZnJvbnRlbmQgYnV0IG5vdCBpbiBiYWNrZW5kIWApXG5cbiAgICAgIERldmlzZS5zZXRTaWduZWRPdXQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgICAgRGV2aXNlLmNhbGxTaWduT3V0RXZlbnQoe3Njb3BlOiBzY29wZU5hbWV9KVxuICAgIH1cbiAgfVxufVxuIl19
157
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic2Vzc2lvbi1zdGF0dXMtdXBkYXRlci5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLE1BQU0sTUFBTSxhQUFhLENBQUE7QUFDaEMsT0FBTyxNQUFNLE1BQU0sYUFBYSxDQUFBO0FBQ2hDLE9BQU8sTUFBTSxNQUFNLGFBQWEsQ0FBQTtBQUNoQyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFFbEMsTUFBTSxNQUFNLEdBQUcsSUFBSSxNQUFNLENBQUMsRUFBQyxJQUFJLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO0FBQ3BFLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQix3QkFBd0I7QUFFeEIsK0NBQStDO0FBQy9DLE1BQU0sQ0FBQyxPQUFPLE9BQU8sNEJBQTRCO0lBQy9DLGVBQWU7SUFDZixNQUFNLENBQUMsT0FBTyxDQUFDLElBQUk7UUFDakIsSUFBSSxDQUFDLE1BQU0sQ0FBQyw0QkFBNEIsRUFBRSxDQUFDO1lBQ3pDLE1BQU0sQ0FBQyw0QkFBNEIsR0FBRyxJQUFJLDRCQUE0QixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQzlFLENBQUM7UUFFRCxPQUFPLE1BQU0sQ0FBQyw0QkFBNEIsQ0FBQTtJQUM1QyxDQUFDO0lBRUQsbUJBQW1CO0lBQ25CLFlBQVksSUFBSSxHQUFHLEVBQUU7UUFDbkIsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDaEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxJQUFJLE1BQU0sQ0FBQTtRQUVyQyxJQUFJLGdCQUFnQixJQUFJLElBQUksRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxDQUFDLGNBQWMsQ0FBQTtRQUMzQyxDQUFDO2FBQU0sSUFBSSxPQUFPLFFBQVEsS0FB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Q0FBQyxDQUFDLDBCQUEwQixJQUFJLE1BQU0sQ0FBQyxFQUFFLENBQUM7WUFDNUMsTUFBTSxJQUFJLEtBQUssQ0FBQyw2QkFBNkIsMEJBQTBCLEVBQUUsQ0FBQyxDQUFBO1FBQzVFLENBQUM7UUFFRCxNQUFNLGlCQUFpQixHQUFHLE1BQU0sQ0FBQywwQkFBMEIsQ0FBQyxFQUFFLENBQUE7UUFDOUQsTUFBTSxpQkFBaUIsR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFBO1FBRXpDLElBQUksaUJBQWlCLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1lBQzVDLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUMsR0FBRyxVQUFVLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFBO1lBRWpHLE1BQU0sQ0FBQyxZQUFZLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtZQUN2QyxNQUFNLENBQUMsZ0JBQWdCLENBQUMsRUFBQyxLQUFLLEVBQUUsU0FBUyxFQUFDLENBQUMsQ0FBQTtRQUM3QyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0ICogYXMgaW5mbGVjdGlvbiBmcm9tIFwiaW5mbGVjdGlvblwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuL2RldmlzZS5qc1wiXG5pbXBvcnQgTG9nZ2VyIGZyb20gXCIuL2xvZ2dlci5qc1wiXG5pbXBvcnQgY29uZmlnIGZyb20gXCIuL2NvbmZpZy5qc1wiXG5pbXBvcnQgd2FrZUV2ZW50IGZyb20gXCJ3YWtlLWV2ZW50XCJcblxuY29uc3QgbG9nZ2VyID0gbmV3IExvZ2dlcih7bmFtZTogXCJBcGlNYWtlciAvIFNlc3Npb25TdGF0dXNVcGRhdGVyXCJ9KVxuY29uc3Qgc2hhcmVkID0ge31cblxuLy8gbG9nZ2VyLnNldERlYnVnKHRydWUpXG5cbi8qKiBUcmFja3Mgc2Vzc2lvbiBhbmQgQ1NSRiB0b2tlbiBmcmVzaG5lc3MuICovXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBBcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyIHtcbiAgLyoqIGN1cnJlbnQuICovXG4gIHN0YXRpYyBjdXJyZW50KGFyZ3MpIHtcbiAgICBpZiAoIXNoYXJlZC5hcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyKSB7XG4gICAgICBzaGFyZWQuYXBpTWFrZXJTZXNzaW9uU3RhdHVzVXBkYXRlciA9IG5ldyBBcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyKGFyZ3MpXG4gICAgfVxuXG4gICAgcmV0dXJuIHNoYXJlZC5hcGlNYWtlclNlc3Npb25TdGF0dXNVcGRhdGVyXG4gIH1cblxuICAvKiogQ29uc3RydWN0b3IuICovXG4gIGNvbnN0cnVjdG9yKGFyZ3MgPSB7fSkge1xuICAgIHRoaXMuZXZlbnRzID0ge31cbiAgICB0aGlzLnRpbWVvdXQgPSBhcmdzLnRpbWVvdXQgfHwgNjAwMDAwXG5cbiAgICBpZiAoXCJ1c2VNZXRhRWxlbWVudFwiIGluIGFyZ3MpIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSBhcmdzLnVzZU1ldGFFbGVtZW50XG4gICAgfSBlbHNlIGlmICh0eXBlb2YgZG9jdW1lbnQgPT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRoaXMudXNlTWV0YUVsZW1lbnQgPSBmYWxzZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLnVzZU1ldGFFbGVtZW50ID0gdHJ1ZVxuICAgIH1cblxuICAgIGlmICh0eXBlb2Ygd2luZG93ICE9IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIHRoaXMuY29ubmVjdE9ubGluZUV2ZW50KClcbiAgICB9XG5cbiAgICB0aGlzLmNvbm5lY3RXYWtlRXZlbnQoKVxuICB9XG5cbiAgLyoqIGNvbm5lY3RPbmxpbmVFdmVudC4gKi9cbiAgY29ubmVjdE9ubGluZUV2ZW50KCkge1xuICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwib25saW5lXCIsIHRoaXMudXBkYXRlU2Vzc2lvblN0YXR1cywgZmFsc2UpXG4gIH1cblxuICAvKiogY29ubmVjdFdha2VFdmVudC4gKi9cbiAgY29ubmVjdFdha2VFdmVudCgpIHtcbiAgICB3YWtlRXZlbnQodGhpcy51cGRhdGVTZXNzaW9uU3RhdHVzKVxuICB9XG5cbiAgYXN5bmMgZ2V0Q3NyZlRva2VuKCkge1xuICAgIGlmICh0aGlzLmNzcmZUb2tlbikge1xuICAgICAgbG9nZ2VyLmRlYnVnKGBHZXQgQ1NSRiB0b2tlbiBmcm9tIHNldCB2YXJpYWJsZTogJHt0aGlzLmNzcmZUb2tlbn1gKVxuXG4gICAgICByZXR1cm4gdGhpcy5jc3JmVG9rZW5cbiAgICB9XG5cbiAgICBpZiAodGhpcy51c2VNZXRhRWxlbWVudCkge1xuICAgICAgY29uc3QgY3NyZlRva2VuRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXVwiKVxuXG4gICAgICBpZiAoY3NyZlRva2VuRWxlbWVudCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYEdldCBDU1JGIHRva2VuIGZyb20gbWV0YSBlbGVtZW50OiAke2NzcmZUb2tlbkVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKX1gKVxuXG4gICAgICAgIHRoaXMuY3NyZlRva2VuID0gY3NyZlRva2VuRWxlbWVudC5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpXG5cbiAgICAgICAgcmV0dXJuIHRoaXMuY3NyZlRva2VuXG4gICAgICB9XG4gICAgfVxuXG4gICAgbG9nZ2VyLmRlYnVnKFwiVXBkYXRpbmcgc2Vzc2lvbiBzdGF0dXMgYmVjYXVzZSBubyBDU1JGIHRva2VuIHNldCB5ZXRcIilcbiAgICBhd2FpdCB0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuXG4gICAgaWYgKHRoaXMuY3NyZlRva2VuKSB7XG4gICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJldHVybmluZyBDU1JGIHRva2VuIGFmdGVyIHVwZGF0aW5nIHNlc3Npb24gc3RhdHVzOiAke3RoaXMuY3NyZlRva2VufWApXG5cbiAgICAgIHJldHVybiB0aGlzLmNzcmZUb2tlblxuICAgIH1cblxuICAgIGxvZ2dlci5kZWJ1ZyhcIk5vIENTUkYgdG9rZW4gYXZhaWxhYmxlIGFmdGVyIHVwZGF0aW5nIHNlc3Npb24gc3RhdHVzXCIpXG5cbiAgICByZXR1cm4gdW5kZWZpbmVkXG4gIH1cblxuICAvKiogc2Vzc2lvblN0YXR1cy4gKi9cbiAgc2Vzc2lvblN0YXR1cygpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIGNvbnN0IGhvc3QgPSBjb25maWcuZ2V0SG9zdCgpXG4gICAgICBsZXQgcmVxdWVzdFBhdGggPSBcIlwiXG5cbiAgICAgIGlmIChob3N0KSByZXF1ZXN0UGF0aCArPSBob3N0XG5cbiAgICAgIHJlcXVlc3RQYXRoICs9IFwiL2FwaV9tYWtlci9zZXNzaW9uX3N0YXR1c2VzXCJcblxuICAgICAgY29uc3QgeGhyID0gbmV3IFhNTEh0dHBSZXF1ZXN0KClcbiAgICAgIHhoci5vcGVuKFwiUE9TVFwiLCByZXF1ZXN0UGF0aCwgdHJ1ZSlcbiAgICAgIHhoci5vbmxvYWQgPSAoKSA9PiB7XG4gICAgICAgIGNvbnN0IHJlc3BvbnNlID0gSlNPTi5wYXJzZSh4aHIucmVzcG9uc2VUZXh0KVxuICAgICAgICByZXNvbHZlKHJlc3BvbnNlKVxuICAgICAgfVxuICAgICAgeGhyLnNlbmQoKVxuICAgIH0pXG4gIH1cblxuICAvKiogb25TaWduZWRPdXQuICovXG4gIG9uU2lnbmVkT3V0KGNhbGxiYWNrKSB7XG4gICAgLy8gQHRzLWV4cGVjdC1lcnJvclxuICAgIHRoaXMuYWRkRXZlbnQoXCJvblNpZ25lZE91dFwiLCBjYWxsYmFjaylcbiAgfVxuXG4gIC8qKiBzdGFydFRpbWVvdXQuICovXG4gIHN0YXJ0VGltZW91dCgpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJzdGFydFRpbWVvdXRcIilcblxuICAgIGlmICh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gICAgICBjbGVhclRpbWVvdXQodGhpcy51cGRhdGVUaW1lb3V0KVxuXG4gICAgdGhpcy51cGRhdGVUaW1lb3V0ID0gc2V0VGltZW91dChcbiAgICAgICgpID0+IHtcbiAgICAgICAgdGhpcy5zdGFydFRpbWVvdXQoKVxuICAgICAgICB0aGlzLnVwZGF0ZVNlc3Npb25TdGF0dXMoKVxuICAgICAgfSxcbiAgICAgIHRoaXMudGltZW91dFxuICAgIClcbiAgfVxuXG4gIC8qKiBzdG9wVGltZW91dC4gKi9cbiAgc3RvcFRpbWVvdXQoKSB7XG4gICAgaWYgKHRoaXMudXBkYXRlVGltZW91dClcbiAgICAgIGNsZWFyVGltZW91dCh0aGlzLnVwZGF0ZVRpbWVvdXQpXG4gIH1cblxuICAvKiogdXBkYXRlU2Vzc2lvblN0YXR1cy4gKi9cbiAgdXBkYXRlU2Vzc2lvblN0YXR1cyA9IGFzeW5jICgpID0+IHtcbiAgICBsb2dnZXIuZGVidWcoXCJ1cGRhdGVTZXNzaW9uU3RhdHVzXCIpXG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnNlc3Npb25TdGF0dXMoKVxuXG4gICAgdGhpcy5hcHBseVJlc3VsdChyZXN1bHQpXG4gIH1cblxuICAvKipcbiAgICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSByZXN1bHRcbiAgICogQHJldHVybnMge3ZvaWR9XG4gICAqL1xuICBhcHBseVJlc3VsdChyZXN1bHQpIHtcbiAgICBsb2dnZXIuZGVidWcoKCkgPT4gYFJlc3VsdDogJHtKU09OLnN0cmluZ2lmeShyZXN1bHQsIG51bGwsIDIpfWApXG5cbiAgICB0aGlzLnVwZGF0ZU1ldGFFbGVtZW50c0Zyb21SZXN1bHQocmVzdWx0KVxuICAgIHRoaXMudXBkYXRlVXNlclNlc3Npb25zRnJvbVJlc3VsdChyZXN1bHQpXG4gIH1cblxuICAvKiogdXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdC4gKi9cbiAgdXBkYXRlTWV0YUVsZW1lbnRzRnJvbVJlc3VsdChyZXN1bHQpIHtcbiAgICBsb2dnZXIuZGVidWcoXCJ1cGRhdGVNZXRhRWxlbWVudHNGcm9tUmVzdWx0XCIpXG5cbiAgICBpZiAoIXJlc3VsdC5jc3JmX3Rva2VuKSB7XG4gICAgICByZXR1cm5cbiAgICB9XG5cbiAgICB0aGlzLmNzcmZUb2tlbiA9IHJlc3VsdC5jc3JmX3Rva2VuXG5cbiAgICBpZiAodGhpcy51c2VNZXRhRWxlbWVudCkge1xuICAgICAgY29uc3QgY3NyZlRva2VuRWxlbWVudCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoXCJtZXRhW25hbWU9J2NzcmYtdG9rZW4nXVwiKVxuXG4gICAgICBpZiAoY3NyZlRva2VuRWxlbWVudCkge1xuICAgICAgICBsb2dnZXIuZGVidWcoKCkgPT4gYENoYW5naW5nIHRva2VuIGZyb20gXCIke2NzcmZUb2tlbkVsZW1lbnQuZ2V0QXR0cmlidXRlKFwiY29udGVudFwiKX1cIiB0byBcIiR7cmVzdWx0LmNzcmZfdG9rZW59XCJgKVxuICAgICAgICBjc3JmVG9rZW5FbGVtZW50LnNldEF0dHJpYnV0ZShcImNvbnRlbnRcIiwgcmVzdWx0LmNzcmZfdG9rZW4pXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBsb2dnZXIuZGVidWcoXCJjc3JmIHRva2VuIGVsZW1lbnQgY291bGRuJ3QgYmUgZm91bmRcIilcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKiogdXBkYXRlVXNlclNlc3Npb25zRnJvbVJlc3VsdC4gKi9cbiAgdXBkYXRlVXNlclNlc3Npb25zRnJvbVJlc3VsdChyZXN1bHQpIHtcbiAgICBmb3IgKGNvbnN0IHNjb3BlTmFtZSBpbiByZXN1bHQuc2NvcGVzKSB7XG4gICAgICB0aGlzLnVwZGF0ZVVzZXJTZXNzaW9uU2NvcGVGcm9tUmVzdWx0KHNjb3BlTmFtZSwgcmVzdWx0LnNjb3Blc1tzY29wZU5hbWVdKVxuICAgIH1cbiAgfVxuXG4gIC8qKiB1cGRhdGVVc2VyU2Vzc2lvblNjb3BlRnJvbVJlc3VsdC4gKi9cbiAgdXBkYXRlVXNlclNlc3Npb25TY29wZUZyb21SZXN1bHQoc2NvcGVOYW1lLCBzY29wZSkge1xuICAgIGNvbnN0IGRldmlzZUlzU2lnbmVkSW5NZXRob2ROYW1lID0gYGlzJHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlTmFtZSl9U2lnbmVkSW5gXG5cbiAgICBpZiAoIShkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZSBpbiBEZXZpc2UpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIHN1Y2ggbWV0aG9kIGluIERldmlzZTogJHtkZXZpc2VJc1NpZ25lZEluTWV0aG9kTmFtZX1gKVxuICAgIH1cblxuICAgIGNvbnN0IGN1cnJlbnRseVNpZ25lZEluID0gRGV2aXNlW2RldmlzZUlzU2lnbmVkSW5NZXRob2ROYW1lXSgpXG4gICAgY29uc3Qgc2lnbmVkSW5PbkJhY2tlbmQgPSBzY29wZS5zaWduZWRfaW5cblxuICAgIGlmIChjdXJyZW50bHlTaWduZWRJbiAmJiAhc2lnbmVkSW5PbkJhY2tlbmQpIHtcbiAgICAgIGxvZ2dlci5kZWJ1ZygoKSA9PiBgJHtpbmZsZWN0aW9uLmNhbWVsaXplKHNjb3BlTmFtZSl9IHNpZ25lZCBpbiBvbiBmcm9udGVuZCBidXQgbm90IGluIGJhY2tlbmQhYClcblxuICAgICAgRGV2aXNlLnNldFNpZ25lZE91dCh7c2NvcGU6IHNjb3BlTmFtZX0pXG4gICAgICBEZXZpc2UuY2FsbFNpZ25PdXRFdmVudCh7c2NvcGU6IHNjb3BlTmFtZX0pXG4gICAgfVxuICB9XG59XG4iXX0=
@@ -3,7 +3,6 @@ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  /* eslint-disable react/jsx-max-depth, react/jsx-no-literals, sort-imports */
4
4
  import React, { useMemo } from "react";
5
5
  import { Pressable, View } from "react-native";
6
- import apiMakerConfig from "@kaspernj/api-maker/build/config.js";
7
6
  import BaseComponent from "../../base-component";
8
7
  import classNames from "classnames";
9
8
  import { digg } from "diggerize";
@@ -13,6 +12,7 @@ import Params from "../../params.js";
13
12
  import { TableSearch } from "models.js";
14
13
  import Text from "../../utils/text";
15
14
  import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
15
+ import apiMakerConfig from "../../config.js";
16
16
  const SearchLink = memo(shapeComponent(class SearchLink extends BaseComponent {
17
17
  render() {
18
18
  const { search } = this.props;
@@ -88,4 +88,4 @@ export default memo(shapeComponent(class ApiMakerTableFiltersLoadSearchModal ext
88
88
  });
89
89
  };
90
90
  }));
91
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1zZWFyY2gtbW9kYWwuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvbG9hZC1zZWFyY2gtbW9kYWwuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkU7QUFDN0UsNkVBQTZFO0FBQzdFLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sY0FBYyxNQUFNLHFDQUFxQyxDQUFBO0FBQ2hFLE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQTtBQUNwQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3JDLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sT0FBTyxNQUFNLG1DQUFtQyxDQUFBO0FBRXZELE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxVQUFXLFNBQVEsYUFBYTtJQUMzRSxNQUFNO1FBQ0osTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFFM0IsT0FBTyxDQUNMLE1BQUMsSUFBSSxJQUNILE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFB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QUU5QixjQUFjLEVBQUUsQ0FBQTtJQUNsQixDQUFDLENBQUE7SUFFRCxlQUFlLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUU7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDN0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tdW5yZXNvbHZlZCwgaW1wbGljaXQtYXJyb3ctbGluZWJyZWFrLCBuby1hbGVydCAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW1heC1kZXB0aCwgcmVhY3QvanN4LW5vLWxpdGVyYWxzLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgYXBpTWFrZXJDb25maWcgZnJvbSBcIkBrYXNwZXJuai9hcGktbWFrZXIvYnVpbGQvY29uZmlnLmpzXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQge2RpZ2d9IGZyb20gXCJkaWdnZXJpemVcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi8uLi9wYXJhbXMuanNcIlxuaW1wb3J0IHtUYWJsZVNlYXJjaH0gZnJvbSBcIm1vZGVscy5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcblxuY29uc3QgU2VhcmNoTGluayA9IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgU2VhcmNoTGluayBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge3NlYXJjaH0gPSB0aGlzLnByb3BzXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdcbiAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVcIiwge2NsYXNzOiBcInNlYXJjaC1yb3dcIiwgc2VhcmNoSWQ6IHNlYXJjaC5pZCgpfSwgW3NlYXJjaC5pZCgpXSl9XG4gICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwicm9vdFZpZXdTdHlsZVN0eWxlXCIsIHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCB3aWR0aDogXCIxMDAlXCJ9KX1cbiAgICAgID5cbiAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJsb2FkU2VhcmNoTGlua1ByZXNzYWJsZURhdGFTZXRcIiwge2NsYXNzOiBcImxvYWQtc2VhcmNoLWxpbmtcIn0pfVxuICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25TZWFyY2hDbGlja2VkfVxuICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwibG9hZFNlYXJjaExpbmtQcmVzc2FibGVTdHlsZVwiLCB7anVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCJ9KX1cbiAgICAgICAgPlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAge3NlYXJjaC5uYW1lKCl9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgPFZpZXcgc3R5bGU9e3RoaXMuY2FjaGUoXCJhY3Rpb25zVmlld1N0eWxlXCIsIHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBtYXJnaW5MZWZ0OiBcImF1dG9cIn0pfT5cbiAgICAgICAgICA8UHJlc3NhYmxlXG4gICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiZWRpdFNlYXJjaEJ1dHRvbkRhdGFTZXRcIiwge2NsYXNzOiBcImVkaXQtc2VhcmNoLWJ1dHRvblwifSl9XG4gICAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uRWRpdFByZXNzZWR9XG4gICAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImVkaXRTZWFyY2hCdXR0b25TdHlsZVwiLCB7XG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICB3aWR0aDogMjUsXG4gICAgICAgICAgICAgIGhlaWdodDogMjUsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCIsXG4gICAgICAgICAgICAgIGJvcmRlcjogXCIxcHggc29saWQgIzAwN2JmZlwiLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgICAgIGNvbG9yOiBcIiMwMDdiZmZcIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICYjeDI3MEU7XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImRlbGV0ZVNlYXJjaEJ1dHRvbkRhdGFTZXRcIiwge2NsYXNzOiBcImRlbGV0ZS1zZWFyY2gtYnV0dG9uXCJ9KX1cbiAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25EZWxldGVQcmVzc2VkfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJkZWxldGVTZWFyY2hCdXR0b25TdHlsZVwiLCB7XG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiA1LFxuICAgICAgICAgICAgICB3aWR0aDogMjUsXG4gICAgICAgICAgICAgIGhlaWdodDogMjUsXG4gICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCIsXG4gICAgICAgICAgICAgIGJvcmRlcjogXCIxcHggc29saWQgI2RjMzU0NVwiLFxuICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgICAgIGNvbG9yOiBcIiNkYzM1NDVcIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICAgICYjeDI3MTU7XG4gICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkRlbGV0ZVByZXNzZWQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKCFjb25maXJtKFwiQXJlIHlvdSBzdXJlP1wiKSkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuXG4gICAgY29uc3Qge3NlYXJjaH0gPSB0aGlzLnByb3BzXG5cbiAgICBhd2FpdCBzZWFyY2guZGVzdHJveSgpXG4gICAgdGhpcy5wcm9wcy5vbkRlbGV0ZWQoe3NlYXJjaH0pXG4gIH1cblxuICBvbkVkaXRQcmVzc2VkID0gKCkgPT4gdGhpcy5wcm9wcy5vbkVkaXRQcmVzc2VkKHtzZWFyY2g6IHRoaXMucHJvcHMuc2VhcmNofSlcbiAgb25TZWFyY2hDbGlja2VkID0gKCkgPT4gdGhpcy5wcm9wcy5vbkNsaWNrKHtzZWFyY2g6IHRoaXMucHJvcHMuc2VhcmNofSlcbn0pKVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVGaWx0ZXJzTG9hZFNlYXJjaE1vZGFsIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUuZmlsdGVycy5sb2FkX3NlYXJjaF9tb2RhbFwifSlcblxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGVkaXRTZWFyY2g6IHVuZGVmaW5lZCxcbiAgICAgIHNlYXJjaGVzOiB1bmRlZmluZWRcbiAgICB9KVxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe3R9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRTZWFyY2hlcygpXG4gICAgfSwgW10pXG4gIH1cblxuICBsb2FkU2VhcmNoZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgY29uc3Qge2N1cnJlbnRVc2VyfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB1c2VyVHlwZSA9IGRpZ2coY3VycmVudFVzZXIubW9kZWxDbGFzc0RhdGEoKSwgXCJuYW1lXCIpXG4gICAgY29uc3Qgc2VhcmNoZXMgPSBhd2FpdCBUYWJsZVNlYXJjaFxuICAgICAgLnJhbnNhY2soe3VzZXJfaWRfZXE6IGN1cnJlbnRVc2VyLmlkKCksIHVzZXJfdHlwZV9lcTogdXNlclR5cGV9KVxuICAgICAgLnRvQXJyYXkoKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7c2VhcmNoZXN9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHt0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7Y2xhc3NOYW1lLCBjdXJyZW50VXNlciwgbW9kZWxDbGFzcywgb25FZGl0U2VhcmNoUHJlc3NlZCwgb25SZXF1ZXN0Q2xvc2UsIHF1ZXJ5U2VhcmNoTmFtZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBNb2RhbCA9IGFwaU1ha2VyQ29uZmlnLmdldE1vZGFsKClcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgY2xhc3NOYW1lPXtjbGFzc05hbWVzKFwiYXBpLW1ha2VyLS10YWJsZS0tZmlsdGVycy0tbG9hZC1zZWFyY2gtbW9kYWxcIiwgY2xhc3NOYW1lKX0gb25SZXF1ZXN0Q2xvc2U9e29uUmVxdWVzdENsb3NlfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgPFZpZXc+XG4gICAgICAgICAgPFRleHQ+XG4gICAgICAgICAgICB7dChcIi5jaG9vc2VfYV9zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJDaG9vc2UgYSBzZWFyY2hcIn0pfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9WaWV3PlxuICAgICAgICB7dGhpcy5zdGF0ZS5zZWFyY2hlcz8ubWFwKChzZWFyY2gpID0+XG4gICAgICAgICAgPFNlYXJjaExpbmtcbiAgICAgICAgICAgIGtleT17c2VhcmNoLmlkKCl9XG4gICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uU2VhcmNoQ2xpY2tlZH1cbiAgICAgICAgICAgIG9uRGVsZXRlZD17dGhpcy50dC5vblNlYXJjaERlbGV0ZWR9XG4gICAgICAgICAgICBvbkVkaXRQcmVzc2VkPXtvbkVkaXRTZWFyY2hQcmVzc2VkfVxuICAgICAgICAgICAgc2VhcmNoPXtzZWFyY2h9XG4gICAgICAgICAgLz5cbiAgICAgICAgKX1cbiAgICAgIDwvTW9kYWw+XG4gICAgKVxuICB9XG5cbiAgb25TZWFyY2hDbGlja2VkID0gKHtzZWFyY2h9KSA9PiB7XG4gICAgY29uc3Qge29uUmVxdWVzdENsb3NlLCBxdWVyeVNlYXJjaE5hbWV9ID0gdGhpcy5wcm9wc1xuICAgIGNvbnN0IHF1ZXJ5UGFyYW1zID0gc2VhcmNoLnF1ZXJ5UGFyYW1zKClcbiAgICBjb25zdCBuZXdQYXJhbXMgPSB7fVxuXG4gICAgbmV3UGFyYW1zW3F1ZXJ5U2VhcmNoTmFtZV0gPSBxdWVyeVBhcmFtcy5tYXAoKHF1ZXJ5UGFyYW0pID0+IEpTT04uc3RyaW5naWZ5KHF1ZXJ5UGFyYW0pKVxuXG4gICAgUGFyYW1zLmNoYW5nZVBhcmFtcyhuZXdQYXJhbXMpXG5cbiAgICBvblJlcXVlc3RDbG9zZSgpXG4gIH1cblxuICBvblNlYXJjaERlbGV0ZWQgPSAoe3NlYXJjaH0pID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIHNlYXJjaGVzOiB0aGlzLnN0YXRlLnNlYXJjaGVzLmZpbHRlcigoZXhpc3RpbmdTZWFyY2gpID0+IGV4aXN0aW5nU2VhcmNoLmlkKCkgIT0gc2VhcmNoLmlkKCkpXG4gICAgfSlcbiAgfVxufSkpXG4iXX0=
91
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9hZC1zZWFyY2gtbW9kYWwuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvbG9hZC1zZWFyY2gtbW9kYWwuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSw2RUFBNkU7QUFDN0UsNkVBQTZFO0FBQzdFLE9BQU8sS0FBSyxFQUFFLEVBQUMsT0FBTyxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQ3BDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sYUFBYSxNQUFNLHNCQUFzQixDQUFBO0FBQ2hELE9BQU8sVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQzlCLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLE1BQU0sTUFBTSxpQkFBaUIsQ0FBQTtBQUNwQyxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sV0FBVyxDQUFBO0FBQ3JDLE9BQU8sSUFBSSxNQUFNLGtCQUFrQixDQUFBO0FBQ25DLE9BQU8sT0FBTyxNQUFNLG1DQUFtQyxDQUFBO0FBQ3ZELE9BQU8sY0FBYyxNQUFNLGlCQUFpQixDQUFBO0FBRTVDLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxVQUFXLFNBQVEsYUFBYTtJQUMzRSxNQUFNO1FBQ0osTUFBTSxFQUFDLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUE7UUFFM0IsT0FBTyxDQUNMLE1BQUMsSUFBSSxJQUNILE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGVBQWUsRUFBRSxFQUFDLEtBQUssRUFBRSxZQUFZLEVBQUUsUUFBUSxFQUFFLE1BQU0sQ0FBQyxFQUFFLEVBQUUsRUFBQyxFQUFFLENBQUMsTUFBTSxDQUFDLEVBQUUsRUFB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QUU5QixjQUFjLEVBQUUsQ0FBQTtJQUNsQixDQUFDLENBQUE7SUFFRCxlQUFlLEdBQUcsQ0FBQyxFQUFDLE1BQU0sRUFBQyxFQUFFLEVBQUU7UUFDN0IsSUFBSSxDQUFDLFFBQVEsQ0FBQztZQUNaLFFBQVEsRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBRSxDQUFDLGNBQWMsQ0FBQyxFQUFFLEVBQUUsSUFBSSxNQUFNLENBQUMsRUFBRSxFQUFFLENBQUM7U0FDN0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbXBvcnQvbm8tdW5yZXNvbHZlZCwgaW1wbGljaXQtYXJyb3ctbGluZWJyZWFrLCBuby1hbGVydCAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LW1heC1kZXB0aCwgcmVhY3QvanN4LW5vLWxpdGVyYWxzLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vcGFyYW1zLmpzXCJcbmltcG9ydCB7VGFibGVTZWFyY2h9IGZyb20gXCJtb2RlbHMuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5pbXBvcnQgYXBpTWFrZXJDb25maWcgZnJvbSBcIi4uLy4uL2NvbmZpZy5qc1wiXG5cbmNvbnN0IFNlYXJjaExpbmsgPSBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFNlYXJjaExpbmsgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtzZWFyY2h9ID0gdGhpcy5wcm9wc1xuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJyb290Vmlld1N0eWxlXCIsIHtjbGFzczogXCJzZWFyY2gtcm93XCIsIHNlYXJjaElkOiBzZWFyY2guaWQoKX0sIFtzZWFyY2guaWQoKV0pfVxuICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcInJvb3RWaWV3U3R5bGVTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogXCJyb3dcIiwgd2lkdGg6IFwiMTAwJVwifSl9XG4gICAgICA+XG4gICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwibG9hZFNlYXJjaExpbmtQcmVzc2FibGVEYXRhU2V0XCIsIHtjbGFzczogXCJsb2FkLXNlYXJjaC1saW5rXCJ9KX1cbiAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uU2VhcmNoQ2xpY2tlZH1cbiAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImxvYWRTZWFyY2hMaW5rUHJlc3NhYmxlU3R5bGVcIiwge2p1c3RpZnlDb250ZW50OiBcImNlbnRlclwifSl9XG4gICAgICAgID5cbiAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgIHtzZWFyY2gubmFtZSgpfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgIDxWaWV3IHN0eWxlPXt0aGlzLmNhY2hlKFwiYWN0aW9uc1ZpZXdTdHlsZVwiLCB7ZmxleERpcmVjdGlvbjogXCJyb3dcIiwgbWFyZ2luTGVmdDogXCJhdXRvXCJ9KX0+XG4gICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImVkaXRTZWFyY2hCdXR0b25EYXRhU2V0XCIsIHtjbGFzczogXCJlZGl0LXNlYXJjaC1idXR0b25cIn0pfVxuICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkVkaXRQcmVzc2VkfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJlZGl0U2VhcmNoQnV0dG9uU3R5bGVcIiwge1xuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICBib3JkZXI6IFwiMXB4IHNvbGlkICMwMDdiZmZcIixcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA1LFxuICAgICAgICAgICAgICBjb2xvcjogXCIjMDA3YmZmXCJcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAmI3gyNzBFO1xuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJkZWxldGVTZWFyY2hCdXR0b25EYXRhU2V0XCIsIHtjbGFzczogXCJkZWxldGUtc2VhcmNoLWJ1dHRvblwifSl9XG4gICAgICAgICAgICBvblByZXNzPXt0aGlzLnR0Lm9uRGVsZXRlUHJlc3NlZH1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwiZGVsZXRlU2VhcmNoQnV0dG9uU3R5bGVcIiwge1xuICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgbWFyZ2luTGVmdDogNSxcbiAgICAgICAgICAgICAgd2lkdGg6IDI1LFxuICAgICAgICAgICAgICBoZWlnaHQ6IDI1LFxuICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgICAgICAgICAgICBib3JkZXI6IFwiMXB4IHNvbGlkICNkYzM1NDVcIixcbiAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiA1LFxuICAgICAgICAgICAgICBjb2xvcjogXCIjZGMzNTQ1XCJcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAmI3gyNzE1O1xuICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICA8L1ZpZXc+XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25EZWxldGVQcmVzc2VkID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmICghY29uZmlybShcIkFyZSB5b3Ugc3VyZT9cIikpIHtcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IHtzZWFyY2h9ID0gdGhpcy5wcm9wc1xuXG4gICAgYXdhaXQgc2VhcmNoLmRlc3Ryb3koKVxuICAgIHRoaXMucHJvcHMub25EZWxldGVkKHtzZWFyY2h9KVxuICB9XG5cbiAgb25FZGl0UHJlc3NlZCA9ICgpID0+IHRoaXMucHJvcHMub25FZGl0UHJlc3NlZCh7c2VhcmNoOiB0aGlzLnByb3BzLnNlYXJjaH0pXG4gIG9uU2VhcmNoQ2xpY2tlZCA9ICgpID0+IHRoaXMucHJvcHMub25DbGljayh7c2VhcmNoOiB0aGlzLnByb3BzLnNlYXJjaH0pXG59KSlcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVyc0xvYWRTZWFyY2hNb2RhbCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLmZpbHRlcnMubG9hZF9zZWFyY2hfbW9kYWxcIn0pXG5cbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBlZGl0U2VhcmNoOiB1bmRlZmluZWQsXG4gICAgICBzZWFyY2hlczogdW5kZWZpbmVkXG4gICAgfSlcbiAgICB0aGlzLnNldEluc3RhbmNlKHt0fSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkU2VhcmNoZXMoKVxuICAgIH0sIFtdKVxuICB9XG5cbiAgbG9hZFNlYXJjaGVzID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IHtjdXJyZW50VXNlcn0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgdXNlclR5cGUgPSBkaWdnKGN1cnJlbnRVc2VyLm1vZGVsQ2xhc3NEYXRhKCksIFwibmFtZVwiKVxuICAgIGNvbnN0IHNlYXJjaGVzID0gYXdhaXQgVGFibGVTZWFyY2hcbiAgICAgIC5yYW5zYWNrKHt1c2VyX2lkX2VxOiBjdXJyZW50VXNlci5pZCgpLCB1c2VyX3R5cGVfZXE6IHVzZXJUeXBlfSlcbiAgICAgIC50b0FycmF5KClcblxuICAgIHRoaXMuc2V0U3RhdGUoe3NlYXJjaGVzfSlcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7dH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2NsYXNzTmFtZSwgY3VycmVudFVzZXIsIG1vZGVsQ2xhc3MsIG9uRWRpdFNlYXJjaFByZXNzZWQsIG9uUmVxdWVzdENsb3NlLCBxdWVyeVNlYXJjaE5hbWUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgTW9kYWwgPSBhcGlNYWtlckNvbmZpZy5nZXRNb2RhbCgpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcImFwaS1tYWtlci0tdGFibGUtLWZpbHRlcnMtLWxvYWQtc2VhcmNoLW1vZGFsXCIsIGNsYXNzTmFtZSl9IG9uUmVxdWVzdENsb3NlPXtvblJlcXVlc3RDbG9zZX0gey4uLnJlc3RQcm9wc30+XG4gICAgICAgIDxWaWV3PlxuICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAge3QoXCIuY2hvb3NlX2Ffc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiQ2hvb3NlIGEgc2VhcmNoXCJ9KX1cbiAgICAgICAgICA8L1RleHQ+XG4gICAgICAgIDwvVmlldz5cbiAgICAgICAge3RoaXMuc3RhdGUuc2VhcmNoZXM/Lm1hcCgoc2VhcmNoKSA9PlxuICAgICAgICAgIDxTZWFyY2hMaW5rXG4gICAgICAgICAgICBrZXk9e3NlYXJjaC5pZCgpfVxuICAgICAgICAgICAgb25DbGljaz17dGhpcy50dC5vblNlYXJjaENsaWNrZWR9XG4gICAgICAgICAgICBvbkRlbGV0ZWQ9e3RoaXMudHQub25TZWFyY2hEZWxldGVkfVxuICAgICAgICAgICAgb25FZGl0UHJlc3NlZD17b25FZGl0U2VhcmNoUHJlc3NlZH1cbiAgICAgICAgICAgIHNlYXJjaD17c2VhcmNofVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L01vZGFsPlxuICAgIClcbiAgfVxuXG4gIG9uU2VhcmNoQ2xpY2tlZCA9ICh7c2VhcmNofSkgPT4ge1xuICAgIGNvbnN0IHtvblJlcXVlc3RDbG9zZSwgcXVlcnlTZWFyY2hOYW1lfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBxdWVyeVBhcmFtcyA9IHNlYXJjaC5xdWVyeVBhcmFtcygpXG4gICAgY29uc3QgbmV3UGFyYW1zID0ge31cblxuICAgIG5ld1BhcmFtc1txdWVyeVNlYXJjaE5hbWVdID0gcXVlcnlQYXJhbXMubWFwKChxdWVyeVBhcmFtKSA9PiBKU09OLnN0cmluZ2lmeShxdWVyeVBhcmFtKSlcblxuICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMobmV3UGFyYW1zKVxuXG4gICAgb25SZXF1ZXN0Q2xvc2UoKVxuICB9XG5cbiAgb25TZWFyY2hEZWxldGVkID0gKHtzZWFyY2h9KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBzZWFyY2hlczogdGhpcy5zdGF0ZS5zZWFyY2hlcy5maWx0ZXIoKGV4aXN0aW5nU2VhcmNoKSA9PiBleGlzdGluZ1NlYXJjaC5pZCgpICE9IHNlYXJjaC5pZCgpKVxuICAgIH0pXG4gIH1cbn0pKVxuIl19
@@ -1,6 +1,5 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  /* eslint-disable react/button-has-type, sort-imports */
3
- import apiMakerConfig from "@kaspernj/api-maker/build/config.js";
4
3
  import BaseComponent from "../../base-component";
5
4
  import Checkbox from "../../bootstrap/checkbox";
6
5
  import { digg } from "diggerize";
@@ -12,6 +11,7 @@ import React from "react";
12
11
  import { shapeComponent } from "set-state-compare/build/shape-component.js";
13
12
  import memo from "set-state-compare/build/memo.js";
14
13
  import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
14
+ import apiMakerConfig from "../../config.js";
15
15
  const TableSearch = modelClassRequire("TableSearch");
16
16
  export default memo(shapeComponent(class ApiMakerTableFiltersSaveSearchModal extends BaseComponent {
17
17
  setup() {
@@ -45,4 +45,4 @@ export default memo(shapeComponent(class ApiMakerTableFiltersSaveSearchModal ext
45
45
  }
46
46
  };
47
47
  }));
48
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1zZWFyY2gtbW9kYWwuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvc2F2ZS1zZWFyY2gtbW9kYWwuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx3REFBd0Q7QUFDeEQsT0FBTyxjQUFjLE1BQU0scUNBQXFDLENBQUE7QUFDaEUsT0FBTyxhQUFhLE1BQU0sc0JBQXNCLENBQUE7QUFDaEQsT0FBTyxRQUFRLE1BQU0sMEJBQTBCLENBQUE7QUFDL0MsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQy9CLE9BQU8sS0FBSyxNQUFNLHVCQUF1QixDQUFBO0FBQ3pDLE9BQU8saUJBQWlCLE1BQU0sOEJBQThCLENBQUE7QUFDNUQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUV2RCxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUVwRCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxtQ0FBb0MsU0FBUSxhQUFhO0lBQ2hHLEtBQUs7UUFDSCxNQUFNLEVBQUMsQ0FBQyxFQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUMsU0FBUyxFQUFFLDhDQUE4QyxFQUFDLENBQUMsQ0FBQTtRQUVoRixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3RGLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUV2QyxPQUFPLENBQ0wsS0FBQyxLQUFLLElBQUMsY0FBYyxFQUFFLGNBQWMsS0FBTSxTQUFTLFlBQ2xELE1BQUMsSUFBSSxJQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksYUFDdEUsS0FBQyxLQUFLLElBQ0osWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFDM0IsRUFBRSxFQUFDLG1CQUFtQixFQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsRUFDNUQsSUFBSSxFQUFDLG9CQUFvQixHQUN6QixFQUNGLEtBQUMsUUFBUSxJQUNQLGNBQWMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQy9CLEVBQUUsRUFBQyxxQkFBcUIsRUFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxDQUFDLEVBQ2xELElBQUksRUFBQyxzQkFBc0IsR0FDM0IsRUFDRixpQkFBUSxTQUFTLEVBQUMsMkJBQTJCLFlBQzFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBQyxDQUFDLEdBQy9DLElBQ0osR0FDRCxDQUNULENBQUE7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDdkMsTUFBTSxFQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDcEUsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUE7UUFFaEgsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN6QixRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUE7UUFDdkUsQ0FBQztRQUVELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQ25GLENBQUM7UUFFRCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUE7UUFFaEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQzlCLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFDLFlBQVksRUFBRSx1QkFBdUIsRUFBQyxDQUFDLENBQUMsQ0FBQTtZQUNoRixjQUFjLEVBQUUsQ0FBQTtRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9idXR0b24taGFzLXR5cGUsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IGFwaU1ha2VyQ29uZmlnIGZyb20gXCJAa2FzcGVybmovYXBpLW1ha2VyL2J1aWxkL2NvbmZpZy5qc1wiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IENoZWNrYm94IGZyb20gXCIuLi8uLi9ib290c3RyYXAvY2hlY2tib3hcIlxuaW1wb3J0IHtkaWdnfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCB7Rmxhc2hOb3RpZmljYXRpb25zfSBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9uc1wiXG5pbXBvcnQge0Zvcm19IGZyb20gXCIuLi8uLi9mb3JtXCJcbmltcG9ydCBJbnB1dCBmcm9tIFwiLi4vLi4vYm9vdHN0cmFwL2lucHV0XCJcbmltcG9ydCBtb2RlbENsYXNzUmVxdWlyZSBmcm9tIFwiLi4vLi4vbW9kZWwtY2xhc3MtcmVxdWlyZS5qc1wiXG5pbXBvcnQgUmVhY3QgZnJvbSBcInJlYWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5cbmNvbnN0IFRhYmxlU2VhcmNoID0gbW9kZWxDbGFzc1JlcXVpcmUoXCJUYWJsZVNlYXJjaFwiKVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVGaWx0ZXJzU2F2ZVNlYXJjaE1vZGFsIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUuZmlsdGVycy5zYXZlX3NlYXJjaF9tb2RhbFwifSlcblxuICAgIHRoaXMudCA9IHRcbiAgICB0aGlzLnVzZVN0YXRlcyh7Zm9ybTogbnVsbH0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2N1cnJlbnRGaWx0ZXJzLCBjdXJyZW50VXNlciwgb25SZXF1ZXN0Q2xvc2UsIHNlYXJjaCwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBNb2RhbCA9IGFwaU1ha2VyQ29uZmlnLmdldE1vZGFsKClcblxuICAgIHJldHVybiAoXG4gICAgICA8TW9kYWwgb25SZXF1ZXN0Q2xvc2U9e29uUmVxdWVzdENsb3NlfSB7Li4ucmVzdFByb3BzfT5cbiAgICAgICAgPEZvcm0gb25TdWJtaXQ9e3RoaXMudHQub25TYXZlU2VhcmNoU3VibWl0fSBzZXRGb3JtPXt0aGlzLnNldFN0YXRlcy5mb3JtfT5cbiAgICAgICAgICA8SW5wdXRcbiAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17c2VhcmNoLm5hbWUoKX1cbiAgICAgICAgICAgIGlkPVwidGFibGVfc2VhcmNoX25hbWVcIlxuICAgICAgICAgICAgbGFiZWw9e3RoaXMudChcIi5zZWFyY2hfbmFtZVwiLCB7ZGVmYXVsdFZhbHVlOiBcIlNlYXJjaCBuYW1lXCJ9KX1cbiAgICAgICAgICAgIG5hbWU9XCJ0YWJsZV9zZWFyY2hbbmFtZV1cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPENoZWNrYm94XG4gICAgICAgICAgICBkZWZhdWx0Q2hlY2tlZD17c2VhcmNoLnB1YmxpYygpfVxuICAgICAgICAgICAgaWQ9XCJ0YWJsZV9zZWFyY2hfcHVibGljXCJcbiAgICAgICAgICAgIGxhYmVsPXt0aGlzLnQoXCIucHVibGljXCIsIHtkZWZhdWx0VmFsdWU6IFwiUHVibGljXCJ9KX1cbiAgICAgICAgICAgIG5hbWU9XCJ0YWJsZV9zZWFyY2hbcHVibGljXVwiXG4gICAgICAgICAgLz5cbiAgICAgICAgICA8YnV0dG9uIGNsYXNzTmFtZT1cInNhdmUtc2VhcmNoLXN1Ym1pdC1idXR0b25cIj5cbiAgICAgICAgICAgIHt0aGlzLnQoXCIuc2F2ZV9zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJTYXZlIHNlYXJjaFwifSl9XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvRm9ybT5cbiAgICAgIDwvTW9kYWw+XG4gICAgKVxuICB9XG5cbiAgb25TYXZlU2VhcmNoU3VibWl0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gdGhpcy5zLmZvcm0uYXNPYmplY3QoKVxuICAgIGNvbnN0IHtjdXJyZW50RmlsdGVycywgY3VycmVudFVzZXIsIG9uUmVxdWVzdENsb3NlLCBzZWFyY2h9ID0gdGhpcy5wXG4gICAgY29uc3QgaGFzVXNlclR5cGVDb2x1bW4gPSBCb29sZWFuKFRhYmxlU2VhcmNoLmF0dHJpYnV0ZXMoKS5maW5kKChhdHRyaWJ1dGUpID0+IGF0dHJpYnV0ZS5uYW1lKCkgPT0gXCJ1c2VyX3R5cGVcIikpXG5cbiAgICBpZiAoc2VhcmNoLmlzTmV3UmVjb3JkKCkpIHtcbiAgICAgIGZvcm1EYXRhLnRhYmxlX3NlYXJjaC5xdWVyeV9wYXJhbXMgPSBKU09OLnN0cmluZ2lmeShjdXJyZW50RmlsdGVycygpKVxuICAgIH1cblxuICAgIGlmIChoYXNVc2VyVHlwZUNvbHVtbikge1xuICAgICAgZm9ybURhdGEudGFibGVfc2VhcmNoLnVzZXJfdHlwZSA9IGRpZ2coY3VycmVudFVzZXIubW9kZWxDbGFzc0RhdGEoKSwgXCJjbGFzc05hbWVcIilcbiAgICB9XG5cbiAgICBmb3JtRGF0YS50YWJsZV9zZWFyY2gudXNlcl9pZCA9IGN1cnJlbnRVc2VyLmlkKClcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBzZWFyY2guc2F2ZVJhdyhmb3JtRGF0YSlcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5zdWNjZXNzKHRoaXMudChcIi5cIiwge2RlZmF1bHRWYWx1ZTogXCJUaGUgc2VhcmNoIHdhcyBzYXZlZC5cIn0pKVxuICAgICAgb25SZXF1ZXN0Q2xvc2UoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuZXJyb3JSZXNwb25zZShlcnJvcilcbiAgICB9XG4gIH1cbn0pKVxuIl19
48
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1zZWFyY2gtbW9kYWwuanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvc2F2ZS1zZWFyY2gtbW9kYWwuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx3REFBd0Q7QUFDeEQsT0FBTyxhQUFhLE1BQU0sc0JBQXNCLENBQUE7QUFDaEQsT0FBTyxRQUFRLE1BQU0sMEJBQTBCLENBQUE7QUFDL0MsT0FBTyxFQUFDLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUM5QixPQUFPLEVBQUMsa0JBQWtCLEVBQUMsTUFBTSxxQkFBcUIsQ0FBQTtBQUN0RCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQy9CLE9BQU8sS0FBSyxNQUFNLHVCQUF1QixDQUFBO0FBQ3pDLE9BQU8saUJBQWlCLE1BQU0sOEJBQThCLENBQUE7QUFDNUQsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUN2RCxPQUFPLGNBQWMsTUFBTSxpQkFBaUIsQ0FBQTtBQUU1QyxNQUFNLFdBQVcsR0FBRyxpQkFBaUIsQ0FBQyxhQUFhLENBQUMsQ0FBQTtBQUVwRCxlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxtQ0FBb0MsU0FBUSxhQUFhO0lBQ2hHLEtBQUs7UUFDSCxNQUFNLEVBQUMsQ0FBQyxFQUFDLEdBQUcsT0FBTyxDQUFDLEVBQUMsU0FBUyxFQUFFLDhDQUE4QyxFQUFDLENBQUMsQ0FBQTtRQUVoRixJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNWLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFDLENBQUMsQ0FBQTtJQUM5QixDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxjQUFjLEVBQUUsV0FBVyxFQUFFLGNBQWMsRUFBRSxNQUFNLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3RGLE1BQU0sS0FBSyxHQUFHLGNBQWMsQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUV2QyxPQUFPLENBQ0wsS0FBQyxLQUFLLElBQUMsY0FBYyxFQUFFLGNBQWMsS0FBTSxTQUFTLFlBQ2xELE1BQUMsSUFBSSxJQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksYUFDdEUsS0FBQyxLQUFLLElBQ0osWUFBWSxFQUFFLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFDM0IsRUFBRSxFQUFDLG1CQUFtQixFQUN0QixLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxjQUFjLEVBQUUsRUFBQyxZQUFZLEVBQUUsYUFBYSxFQUFDLENBQUMsRUFDNUQsSUFBSSxFQUFDLG9CQUFvQixHQUN6QixFQUNGLEtBQUMsUUFBUSxJQUNQLGNBQWMsRUFBRSxNQUFNLENBQUMsTUFBTSxFQUFFLEVBQy9CLEVBQUUsRUFBQyxxQkFBcUIsRUFDeEIsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxFQUFFLEVBQUMsWUFBWSxFQUFFLFFBQVEsRUFBQyxDQUFDLEVBQ2xELElBQUksRUFBQyxzQkFBc0IsR0FDM0IsRUFDRixpQkFBUSxTQUFTLEVBQUMsMkJBQTJCLFlBQzFDLElBQUksQ0FBQyxDQUFDLENBQUMsY0FBYyxFQUFFLEVBQUMsWUFBWSxFQUFFLGFBQWEsRUFBQyxDQUFDLEdBQy9DLElBQ0osR0FDRCxDQUNULENBQUE7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLEdBQUcsS0FBSyxJQUFJLEVBQUU7UUFDOUIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUE7UUFDdkMsTUFBTSxFQUFDLGNBQWMsRUFBRSxXQUFXLEVBQUUsY0FBYyxFQUFFLE1BQU0sRUFBQyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUE7UUFDcEUsTUFBTSxpQkFBaUIsR0FBRyxPQUFPLENBQUMsV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQUMsU0FBUyxDQUFDLElBQUksRUFBRSxJQUFJLFdBQVcsQ0FBQyxDQUFDLENBQUE7UUFFaEgsSUFBSSxNQUFNLENBQUMsV0FBVyxFQUFFLEVBQUUsQ0FBQztZQUN6QixRQUFRLENBQUMsWUFBWSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDLENBQUE7UUFDdkUsQ0FBQztRQUVELElBQUksaUJBQWlCLEVBQUUsQ0FBQztZQUN0QixRQUFRLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLGNBQWMsRUFBRSxFQUFFLFdBQVcsQ0FBQyxDQUFBO1FBQ25GLENBQUM7UUFFRCxRQUFRLENBQUMsWUFBWSxDQUFDLE9BQU8sR0FBRyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUE7UUFFaEQsSUFBSSxDQUFDO1lBQ0gsTUFBTSxNQUFNLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFBO1lBQzlCLGtCQUFrQixDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFDLFlBQVksRUFBRSx1QkFBdUIsRUFBQyxDQUFDLENBQUMsQ0FBQTtZQUNoRixjQUFjLEVBQUUsQ0FBQTtRQUNsQixDQUFDO1FBQUMsT0FBTyxLQUFLLEVBQUUsQ0FBQztZQUNmLGtCQUFrQixDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN6QyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9idXR0b24taGFzLXR5cGUsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBDaGVja2JveCBmcm9tIFwiLi4vLi4vYm9vdHN0cmFwL2NoZWNrYm94XCJcbmltcG9ydCB7ZGlnZ30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQge0ZsYXNoTm90aWZpY2F0aW9uc30gZnJvbSBcImZsYXNoLW5vdGlmaWNhdGlvbnNcIlxuaW1wb3J0IHtGb3JtfSBmcm9tIFwiLi4vLi4vZm9ybVwiXG5pbXBvcnQgSW5wdXQgZnJvbSBcIi4uLy4uL2Jvb3RzdHJhcC9pbnB1dFwiXG5pbXBvcnQgbW9kZWxDbGFzc1JlcXVpcmUgZnJvbSBcIi4uLy4uL21vZGVsLWNsYXNzLXJlcXVpcmUuanNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4bi5tanNcIlxuaW1wb3J0IGFwaU1ha2VyQ29uZmlnIGZyb20gXCIuLi8uLi9jb25maWcuanNcIlxuXG5jb25zdCBUYWJsZVNlYXJjaCA9IG1vZGVsQ2xhc3NSZXF1aXJlKFwiVGFibGVTZWFyY2hcIilcblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVyc1NhdmVTZWFyY2hNb2RhbCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7dH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnRhYmxlLmZpbHRlcnMuc2F2ZV9zZWFyY2hfbW9kYWxcIn0pXG5cbiAgICB0aGlzLnQgPSB0XG4gICAgdGhpcy51c2VTdGF0ZXMoe2Zvcm06IG51bGx9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjdXJyZW50RmlsdGVycywgY3VycmVudFVzZXIsIG9uUmVxdWVzdENsb3NlLCBzZWFyY2gsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgTW9kYWwgPSBhcGlNYWtlckNvbmZpZy5nZXRNb2RhbCgpXG5cbiAgICByZXR1cm4gKFxuICAgICAgPE1vZGFsIG9uUmVxdWVzdENsb3NlPXtvblJlcXVlc3RDbG9zZX0gey4uLnJlc3RQcm9wc30+XG4gICAgICAgIDxGb3JtIG9uU3VibWl0PXt0aGlzLnR0Lm9uU2F2ZVNlYXJjaFN1Ym1pdH0gc2V0Rm9ybT17dGhpcy5zZXRTdGF0ZXMuZm9ybX0+XG4gICAgICAgICAgPElucHV0XG4gICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3NlYXJjaC5uYW1lKCl9XG4gICAgICAgICAgICBpZD1cInRhYmxlX3NlYXJjaF9uYW1lXCJcbiAgICAgICAgICAgIGxhYmVsPXt0aGlzLnQoXCIuc2VhcmNoX25hbWVcIiwge2RlZmF1bHRWYWx1ZTogXCJTZWFyY2ggbmFtZVwifSl9XG4gICAgICAgICAgICBuYW1lPVwidGFibGVfc2VhcmNoW25hbWVdXCJcbiAgICAgICAgICAvPlxuICAgICAgICAgIDxDaGVja2JveFxuICAgICAgICAgICAgZGVmYXVsdENoZWNrZWQ9e3NlYXJjaC5wdWJsaWMoKX1cbiAgICAgICAgICAgIGlkPVwidGFibGVfc2VhcmNoX3B1YmxpY1wiXG4gICAgICAgICAgICBsYWJlbD17dGhpcy50KFwiLnB1YmxpY1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlB1YmxpY1wifSl9XG4gICAgICAgICAgICBuYW1lPVwidGFibGVfc2VhcmNoW3B1YmxpY11cIlxuICAgICAgICAgIC8+XG4gICAgICAgICAgPGJ1dHRvbiBjbGFzc05hbWU9XCJzYXZlLXNlYXJjaC1zdWJtaXQtYnV0dG9uXCI+XG4gICAgICAgICAgICB7dGhpcy50KFwiLnNhdmVfc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiU2F2ZSBzZWFyY2hcIn0pfVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L0Zvcm0+XG4gICAgICA8L01vZGFsPlxuICAgIClcbiAgfVxuXG4gIG9uU2F2ZVNlYXJjaFN1Ym1pdCA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBmb3JtRGF0YSA9IHRoaXMucy5mb3JtLmFzT2JqZWN0KClcbiAgICBjb25zdCB7Y3VycmVudEZpbHRlcnMsIGN1cnJlbnRVc2VyLCBvblJlcXVlc3RDbG9zZSwgc2VhcmNofSA9IHRoaXMucFxuICAgIGNvbnN0IGhhc1VzZXJUeXBlQ29sdW1uID0gQm9vbGVhbihUYWJsZVNlYXJjaC5hdHRyaWJ1dGVzKCkuZmluZCgoYXR0cmlidXRlKSA9PiBhdHRyaWJ1dGUubmFtZSgpID09IFwidXNlcl90eXBlXCIpKVxuXG4gICAgaWYgKHNlYXJjaC5pc05ld1JlY29yZCgpKSB7XG4gICAgICBmb3JtRGF0YS50YWJsZV9zZWFyY2gucXVlcnlfcGFyYW1zID0gSlNPTi5zdHJpbmdpZnkoY3VycmVudEZpbHRlcnMoKSlcbiAgICB9XG5cbiAgICBpZiAoaGFzVXNlclR5cGVDb2x1bW4pIHtcbiAgICAgIGZvcm1EYXRhLnRhYmxlX3NlYXJjaC51c2VyX3R5cGUgPSBkaWdnKGN1cnJlbnRVc2VyLm1vZGVsQ2xhc3NEYXRhKCksIFwiY2xhc3NOYW1lXCIpXG4gICAgfVxuXG4gICAgZm9ybURhdGEudGFibGVfc2VhcmNoLnVzZXJfaWQgPSBjdXJyZW50VXNlci5pZCgpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgc2VhcmNoLnNhdmVSYXcoZm9ybURhdGEpXG4gICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuc3VjY2Vzcyh0aGlzLnQoXCIuXCIsIHtkZWZhdWx0VmFsdWU6IFwiVGhlIHNlYXJjaCB3YXMgc2F2ZWQuXCJ9KSlcbiAgICAgIG9uUmVxdWVzdENsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmVycm9yUmVzcG9uc2UoZXJyb3IpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
@@ -0,0 +1,55 @@
1
+ /** Shared websocket request client for ApiMaker command/service execution. */
2
+ export default class ApiMakerWebsocketRequestClient {
3
+ /** @returns {ApiMakerWebsocketRequestClient} */
4
+ static current(): ApiMakerWebsocketRequestClient;
5
+ currentRequestId: number;
6
+ pendingRequests: {};
7
+ pendingRequestsByFingerprint: {};
8
+ responseCache: {};
9
+ subscriptionState: string;
10
+ /**
11
+ * @param {object} args
12
+ * @param {boolean} [args.cacheResponse]
13
+ * @param {Record<string, any>} [args.global]
14
+ * @param {(value: string) => void} [args.onLog]
15
+ * @param {(value: Record<string, any>) => void} [args.onProgress]
16
+ * @param {(value: Record<string, any>) => void} [args.onReceived]
17
+ * @param {Record<string, any>} args.request
18
+ * @returns {Promise<Record<string, any>>}
19
+ */
20
+ perform({ cacheResponse, global, onLog, onProgress, onReceived, request }: {
21
+ cacheResponse?: boolean;
22
+ global?: Record<string, any>;
23
+ onLog?: (value: string) => void;
24
+ onProgress?: (value: Record<string, any>) => void;
25
+ onReceived?: (value: Record<string, any>) => void;
26
+ request: Record<string, any>;
27
+ }): Promise<Record<string, any>>;
28
+ /** @returns {any} */
29
+ ensureSubscription(): any;
30
+ subscription: any;
31
+ /** @returns {Promise<void>} */
32
+ waitForSubscription(): Promise<void>;
33
+ /** @returns {void} */
34
+ resetSubscriptionReadyPromise(): void;
35
+ subscriptionReadyPromise: Promise<any>;
36
+ resolveSubscriptionReadyPromise: (value: any) => void;
37
+ rejectSubscriptionReadyPromise: (reason?: any) => void;
38
+ /** @returns {void} */
39
+ onConnected: () => void;
40
+ /** @returns {void} */
41
+ onDisconnected: () => void;
42
+ /** @returns {void} */
43
+ onRejected: () => void;
44
+ /**
45
+ * @param {Record<string, any>} data
46
+ * @returns {void}
47
+ */
48
+ onReceived: (data: Record<string, any>) => void;
49
+ /**
50
+ * @param {Error} error
51
+ * @returns {void}
52
+ */
53
+ rejectPendingRequests(error: Error): void;
54
+ }
55
+ //# sourceMappingURL=websocket-request-client.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"websocket-request-client.d.ts","sourceRoot":"/src/","sources":["websocket-request-client.js"],"names":[],"mappings":"AAOA,8EAA8E;AAC9E;IACE,gDAAgD;IAChD,kBADc,8BAA8B,CAO3C;IAIC,yBAAyB;IACzB,oBAAyB;IACzB,iCAAsC;IACtC,kBAAuB;IACvB,0BAA8B;IAGhC;;;;;;;;;OASG;IACH,2EARG;QAAuB,aAAa,GAA5B,OAAO;QACoB,MAAM,GAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;QACY,KAAK,GAApC,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI;QACqB,UAAU,GAAtD,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;QACQ,UAAU,GAAtD,CAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,IAAI;QACV,OAAO,EAAjC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;KAC3B,GAAU,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,CAyDxC;IAED,qBAAqB;IACrB,sBADc,GAAG,CAmBhB;IAZG,kBAQC;IAML,+BAA+B;IAC/B,uBADc,OAAO,CAAC,IAAI,CAAC,CAa1B;IAED,sBAAsB;IACtB,iCADc,IAAI,CAMjB;IAJC,uCAGE;IAFA,sDAA8C;IAC9C,uDAA4C;IAIhD,sBAAsB;IACtB,mBADc,IAAI,CAKjB;IAED,sBAAsB;IACtB,sBADc,IAAI,CAOjB;IAED,sBAAsB;IACtB,kBADc,IAAI,CAUjB;IAED;;;OAGG;IACH,aAAc,MAHH,MAAM,CAAC,MAAM,EAAE,GAAG,CAGX,KAFL,IAAI,CAqChB;IAED;;;OAGG;IACH,6BAHW,KAAK,GACH,IAAI,CAWhB;CACF"}