@kaspernj/api-maker 1.0.2087 → 1.0.2089

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.
@@ -15,9 +15,17 @@ export default memo(shapeComponent(class EditAttributeContent extends BaseCompon
15
15
  });
16
16
  setup() {
17
17
  this.form = useForm();
18
+ const rawValue = this.rawValue();
19
+ this.initialValue = rawValue === null || rawValue === undefined ? "" : rawValue;
20
+ this.hasInitialValue = rawValue !== null && rawValue !== undefined;
18
21
  this.useStates({
19
- value: () => this.defaultValue()
22
+ value: this.initialValue
20
23
  });
24
+ useMemo(() => {
25
+ if (this.form && this.hasInitialValue) {
26
+ this.form.setValue(this.p.name, this.initialValue);
27
+ }
28
+ }, []);
21
29
  }
22
30
  render() {
23
31
  const { attribute, id, model } = this.props;
@@ -25,9 +33,10 @@ export default memo(shapeComponent(class EditAttributeContent extends BaseCompon
25
33
  throw new Error(`${attribute.attribute} isn't set on the resource ${model.modelClassData().name}`);
26
34
  }
27
35
  const contentArgs = useMemo(() => ({
36
+ defaultValue: this.initialValue,
28
37
  inputProps: {
29
38
  attribute: attribute.attribute,
30
- defaultValue: this.defaultValue(),
39
+ defaultValue: this.initialValue,
31
40
  id,
32
41
  model
33
42
  },
@@ -36,15 +45,16 @@ export default memo(shapeComponent(class EditAttributeContent extends BaseCompon
36
45
  }), [attribute.attribute, id, model, this.s.value]);
37
46
  return attribute.content(contentArgs);
38
47
  }
39
- defaultValue = () => {
48
+ defaultValue = () => this.initialValue;
49
+ rawValue = () => {
40
50
  if (!(this.p.attribute.attribute in this.p.model)) {
41
51
  throw new Error(`No attribute called ${this.p.attribute.attribute} in model ${this.p.model.modelClassData().name}`);
42
52
  }
43
- return this.p.model[this.p.attribute.attribute]() || "";
53
+ return this.p.model[this.p.attribute.attribute]();
44
54
  };
45
55
  onChangeValue = (newValue) => {
46
56
  this.setState({ value: newValue });
47
57
  this.tt.form.setValue(this.p.name, newValue);
48
58
  };
49
59
  }));
50
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdHRyaWJ1dGUtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic3VwZXItYWRtaW4vZWRpdC1wYWdlL2VkaXQtYXR0cmlidXRlLWNvbnRlbnQuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUU3QixlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxvQkFBcUIsU0FBUSxhQUFhO0lBQ2pGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDdEMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUMvQixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7S0FDbEMsQ0FBQyxDQUFBO0lBRUYsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLENBQUE7UUFDckIsSUFBSSxDQUFDLFNBQVMsQ0FBQztZQUNiLEtBQUssRUFBRSxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFO1NBQ2pDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxFQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUV6QyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxTQUFTLDhCQUE4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNwRyxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDakMsVUFBVSxFQUFFO2dCQUNWLFNBQVMsRUFBRSxTQUFTLENBQUMsU0FBUztnQkFDOUIsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7Z0JBQ2pDLEVBQUU7Z0JBQ0YsS0FBSzthQUNOO1lBQ0QsYUFBYSxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYTtZQUNwQyxLQUFLLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLO1NBQ3BCLENBQUMsRUFBRSxDQUFDLFNBQVMsQ0FBQyxTQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUE7UUFFbkQsT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFBO0lBQ3ZDLENBQUM7SUFFRCxZQUFZLEdBQUcsR0FBRyxFQUFFO1FBQ2xCLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDbEQsTUFBTSxJQUFJLEtBQUssQ0FBQyx1QkFBdUIsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxhQUFhLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQWMsRUFBRSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7UUFDckgsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsSUFBSSxFQUFFLENBQUE7SUFDekQsQ0FBQyxDQUFBO0lBRUQsYUFBYSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi4vLi4vZm9ybVwiXG5pbXBvcnQge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgRWRpdEF0dHJpYnV0ZUNvbnRlbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy5mb3JtID0gdXNlRm9ybSgpXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgdmFsdWU6ICgpID0+IHRoaXMuZGVmYXVsdFZhbHVlKClcbiAgICB9KVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHthdHRyaWJ1dGUsIGlkLCBtb2RlbH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAoIShhdHRyaWJ1dGUuYXR0cmlidXRlIGluIG1vZGVsKSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGAke2F0dHJpYnV0ZS5hdHRyaWJ1dGV9IGlzbid0IHNldCBvbiB0aGUgcmVzb3VyY2UgJHttb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9YClcbiAgICB9XG5cbiAgICBjb25zdCBjb250ZW50QXJncyA9IHVzZU1lbW8oKCkgPT4gKHtcbiAgICAgIGlucHV0UHJvcHM6IHtcbiAgICAgICAgYXR0cmlidXRlOiBhdHRyaWJ1dGUuYXR0cmlidXRlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMuZGVmYXVsdFZhbHVlKCksXG4gICAgICAgIGlkLFxuICAgICAgICBtb2RlbFxuICAgICAgfSxcbiAgICAgIG9uQ2hhbmdlVmFsdWU6IHRoaXMudHQub25DaGFuZ2VWYWx1ZSxcbiAgICAgIHZhbHVlOiB0aGlzLnMudmFsdWVcbiAgICB9KSwgW2F0dHJpYnV0ZS5hdHRyaWJ1dGUsIGlkLCBtb2RlbCwgdGhpcy5zLnZhbHVlXSlcblxuICAgIHJldHVybiBhdHRyaWJ1dGUuY29udGVudChjb250ZW50QXJncylcbiAgfVxuXG4gIGRlZmF1bHRWYWx1ZSA9ICgpID0+IHtcbiAgICBpZiAoISh0aGlzLnAuYXR0cmlidXRlLmF0dHJpYnV0ZSBpbiB0aGlzLnAubW9kZWwpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYE5vIGF0dHJpYnV0ZSBjYWxsZWQgJHt0aGlzLnAuYXR0cmlidXRlLmF0dHJpYnV0ZX0gaW4gbW9kZWwgJHt0aGlzLnAubW9kZWwubW9kZWxDbGFzc0RhdGEoKS5uYW1lfWApXG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMucC5tb2RlbFt0aGlzLnAuYXR0cmlidXRlLmF0dHJpYnV0ZV0oKSB8fCBcIlwiXG4gIH1cblxuICBvbkNoYW5nZVZhbHVlID0gKG5ld1ZhbHVlKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7dmFsdWU6IG5ld1ZhbHVlfSlcbiAgICB0aGlzLnR0LmZvcm0uc2V0VmFsdWUodGhpcy5wLm5hbWUsIG5ld1ZhbHVlKVxuICB9XG59KSlcbiJdfQ==
60
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRpdC1hdHRyaWJ1dGUtY29udGVudC5qcyIsInNvdXJjZVJvb3QiOiIvc3JjLyIsInNvdXJjZXMiOlsic3VwZXItYWRtaW4vZWRpdC1wYWdlL2VkaXQtYXR0cmlidXRlLWNvbnRlbnQuanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlDQUFpQztBQUNqQyxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sRUFBQyxPQUFPLEVBQUMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUU3QixlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxvQkFBcUIsU0FBUSxhQUFhO0lBQ2pGLE1BQU0sQ0FBQyxTQUFTLEdBQUcsY0FBYyxDQUFDO1FBQ2hDLFNBQVMsRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7UUFDdEMsRUFBRSxFQUFFLFNBQVMsQ0FBQyxNQUFNLENBQUMsVUFBVTtRQUMvQixLQUFLLEVBQUUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxVQUFVO1FBQ2xDLElBQUksRUFBRSxTQUFTLENBQUMsTUFBTSxDQUFDLFVBQVU7S0FDbEMsQ0FBQyxDQUFBO0lBRUYsS0FBSztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxFQUFFLENBQUE7UUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsRUFBRSxDQUFBO1FBQ2hDLElBQUksQ0FBQyxZQUFZLEdBQUcsUUFBUSxLQUFLLElBQUksSUFBSSxRQUFRLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQTtRQUMvRSxJQUFJLENBQUMsZUFBZSxHQUFHLFFBQVEsS0FBSyxJQUFJLElBQUksUUFBUSxLQUFLLFNBQVMsQ0FBQTtRQUNsRSxJQUFJLENBQUMsU0FBUyxDQUFDO1lBQ2IsS0FBSyxFQUFFLElBQUksQ0FBQyxZQUFZO1NBQ3pCLENBQUMsQ0FBQTtRQUVGLE9BQU8sQ0FBQyxHQUFHLEVBQUU7WUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO2dCQUN0QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUE7WUFDcEQsQ0FBQztRQUNILENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQTtJQUNSLENBQUM7SUFFRCxNQUFNO1FBQ0osTUFBTSxFQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUV6QyxJQUFJLENBQUMsQ0FBQyxTQUFTLENBQUMsU0FBUyxJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDcEMsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLFNBQVMsQ0FBQyxTQUFTLDhCQUE4QixLQUFLLENBQUMsY0FBYyxFQUFFLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtRQUNwRyxDQUFDO1FBRUQsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxDQUFDLENBQUM7WUFDakMsWUFBWSxFQUFFLElBQUksQ0FBQyxZQUFZO1lBQy9CLFVBQVUsRUFBRTtnQkFDVixTQUFTLEVBQUUsU0FBUyxDQUFDLFNBQVM7Z0JBQzlCLFlBQVksRUFBRSxJQUFJLENBQUMsWUFBWTtnQkFDL0IsRUFBRTtnQkFDRixLQUFLO2FBQ047WUFDRCxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhO1lBQ3BDLEtBQUssRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUs7U0FDcEIsQ0FBQyxFQUFFLENBQUMsU0FBUyxDQUFDLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUVuRCxPQUFPLFNBQVMsQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDdkMsQ0FBQztJQUVELFlBQVksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFBO0lBRXRDLFFBQVEsR0FBRyxHQUFHLEVBQUU7UUFDZCxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2xELE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsYUFBYSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFBO1FBQ3JILENBQUM7UUFFRCxPQUFPLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxFQUFFLENBQUE7SUFDbkQsQ0FBQyxDQUFBO0lBRUQsYUFBYSxHQUFHLENBQUMsUUFBUSxFQUFFLEVBQUU7UUFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLEtBQUssRUFBRSxRQUFRLEVBQUMsQ0FBQyxDQUFBO1FBQ2hDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxRQUFRLENBQUMsQ0FBQTtJQUM5QyxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IHByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IHt1c2VGb3JtfSBmcm9tIFwiLi4vLi4vZm9ybVwiXG5pbXBvcnQge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgRWRpdEF0dHJpYnV0ZUNvbnRlbnQgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IHByb3BUeXBlc0V4YWN0KHtcbiAgICBhdHRyaWJ1dGU6IFByb3BUeXBlcy5vYmplY3QuaXNSZXF1aXJlZCxcbiAgICBpZDogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkLFxuICAgIG1vZGVsOiBQcm9wVHlwZXMub2JqZWN0LmlzUmVxdWlyZWQsXG4gICAgbmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgdGhpcy5mb3JtID0gdXNlRm9ybSgpXG4gICAgY29uc3QgcmF3VmFsdWUgPSB0aGlzLnJhd1ZhbHVlKClcbiAgICB0aGlzLmluaXRpYWxWYWx1ZSA9IHJhd1ZhbHVlID09PSBudWxsIHx8IHJhd1ZhbHVlID09PSB1bmRlZmluZWQgPyBcIlwiIDogcmF3VmFsdWVcbiAgICB0aGlzLmhhc0luaXRpYWxWYWx1ZSA9IHJhd1ZhbHVlICE9PSBudWxsICYmIHJhd1ZhbHVlICE9PSB1bmRlZmluZWRcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICB2YWx1ZTogdGhpcy5pbml0aWFsVmFsdWVcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICBpZiAodGhpcy5mb3JtICYmIHRoaXMuaGFzSW5pdGlhbFZhbHVlKSB7XG4gICAgICAgIHRoaXMuZm9ybS5zZXRWYWx1ZSh0aGlzLnAubmFtZSwgdGhpcy5pbml0aWFsVmFsdWUpXG4gICAgICB9XG4gICAgfSwgW10pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgaWQsIG1vZGVsfSA9IHRoaXMucHJvcHNcblxuICAgIGlmICghKGF0dHJpYnV0ZS5hdHRyaWJ1dGUgaW4gbW9kZWwpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYCR7YXR0cmlidXRlLmF0dHJpYnV0ZX0gaXNuJ3Qgc2V0IG9uIHRoZSByZXNvdXJjZSAke21vZGVsLm1vZGVsQ2xhc3NEYXRhKCkubmFtZX1gKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRlbnRBcmdzID0gdXNlTWVtbygoKSA9PiAoe1xuICAgICAgZGVmYXVsdFZhbHVlOiB0aGlzLmluaXRpYWxWYWx1ZSxcbiAgICAgIGlucHV0UHJvcHM6IHtcbiAgICAgICAgYXR0cmlidXRlOiBhdHRyaWJ1dGUuYXR0cmlidXRlLFxuICAgICAgICBkZWZhdWx0VmFsdWU6IHRoaXMuaW5pdGlhbFZhbHVlLFxuICAgICAgICBpZCxcbiAgICAgICAgbW9kZWxcbiAgICAgIH0sXG4gICAgICBvbkNoYW5nZVZhbHVlOiB0aGlzLnR0Lm9uQ2hhbmdlVmFsdWUsXG4gICAgICB2YWx1ZTogdGhpcy5zLnZhbHVlXG4gICAgfSksIFthdHRyaWJ1dGUuYXR0cmlidXRlLCBpZCwgbW9kZWwsIHRoaXMucy52YWx1ZV0pXG5cbiAgICByZXR1cm4gYXR0cmlidXRlLmNvbnRlbnQoY29udGVudEFyZ3MpXG4gIH1cblxuICBkZWZhdWx0VmFsdWUgPSAoKSA9PiB0aGlzLmluaXRpYWxWYWx1ZVxuXG4gIHJhd1ZhbHVlID0gKCkgPT4ge1xuICAgIGlmICghKHRoaXMucC5hdHRyaWJ1dGUuYXR0cmlidXRlIGluIHRoaXMucC5tb2RlbCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gYXR0cmlidXRlIGNhbGxlZCAke3RoaXMucC5hdHRyaWJ1dGUuYXR0cmlidXRlfSBpbiBtb2RlbCAke3RoaXMucC5tb2RlbC5tb2RlbENsYXNzRGF0YSgpLm5hbWV9YClcbiAgICB9XG5cbiAgICByZXR1cm4gdGhpcy5wLm1vZGVsW3RoaXMucC5hdHRyaWJ1dGUuYXR0cmlidXRlXSgpXG4gIH1cblxuICBvbkNoYW5nZVZhbHVlID0gKG5ld1ZhbHVlKSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7dmFsdWU6IG5ld1ZhbHVlfSlcbiAgICB0aGlzLnR0LmZvcm0uc2V0VmFsdWUodGhpcy5wLm5hbWUsIG5ld1ZhbHVlKVxuICB9XG59KSlcbiJdfQ==
@@ -10,8 +10,8 @@ import PropTypesExact from "prop-types-exact";
10
10
  import { shapeComponent } from "set-state-compare/build/shape-component.js";
11
11
  import Text from "../../../utils/text";
12
12
  import { Pressable, View } from "react-native";
13
- import useBreakpoint from "../../../use-breakpoint.js";
14
- import useEventListener from "../../../use-event-listener.js";
13
+ import { useBreakpoint } from "responsive-breakpoints";
14
+ import useEventListener from "ya-use-event-listener";
15
15
  const dataSets = {};
16
16
  // Hook for consistent action button styling across breakpoints
17
17
  export const useHeaderActionButtonStyle = () => {
@@ -129,4 +129,4 @@ export default memo(shapeComponent(class ApiMakerSuperAdminLayoutHeader extends
129
129
  }
130
130
  };
131
131
  }));
132
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9oZWFkZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpSEFBaUg7QUFDakgsMkVBQTJFO0FBQzNFLE9BQU8sS0FBSyxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNoRCxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sYUFBYSxNQUFNLDRCQUE0QixDQUFBO0FBQ3RELE9BQU8sZ0JBQWdCLE1BQU0sZ0NBQWdDLENBQUE7QUFFN0QsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO0FBRW5CLCtEQUErRDtBQUMvRCxNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxHQUFHLEVBQUU7SUFDN0MsTUFBTSxFQUFDLElBQUksRUFBQyxHQUFHLGFBQWEsRUFBRSxDQUFBO0lBRTlCLE9BQU8sV0FBVyxDQUFDLENBQUMsRUFBQyxZQUFZLEdBQUcsQ0FBQyxFQUFDLEdBQUcsRUFBRSxFQUFFLEVBQUU7UUFDN0MsTUFBTSxJQUFJLEdBQUcsSUFBSTtZQUNmLENBQUMsQ0FBQztnQkFDRSxTQUFTLEVBQUUsWUFBWTtnQkFDdkIsZUFBZSxFQUFFLENBQUM7Z0JBQ2xCLGlCQUFpQixFQUFFLEVBQUU7Z0JBQ3JCLFdBQVcsRUFBRSxD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QUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGluZGVudCwgbm8tcmV0dXJuLWFzc2lnbiwgcmVhY3QvanN4LWNsb3NpbmctYnJhY2tldC1sb2NhdGlvbiwgcmVhY3QvanN4LWNsb3NpbmctdGFnLWxvY2F0aW9uICovXG4vKiBlc2xpbnQtZGlzYWJsZSByZWFjdC9qc3gtaW5kZW50LCByZWFjdC9qc3gtaW5kZW50LXByb3BzLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZUNhbGxiYWNrLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEljb24gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2ljb25cIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQge1ByZXNzYWJsZSwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgdXNlQnJlYWtwb2ludCBmcm9tIFwiLi4vLi4vLi4vdXNlLWJyZWFrcG9pbnQuanNcIlxuaW1wb3J0IHVzZUV2ZW50TGlzdGVuZXIgZnJvbSBcIi4uLy4uLy4uL3VzZS1ldmVudC1saXN0ZW5lci5qc1wiXG5cbmNvbnN0IGRhdGFTZXRzID0ge31cblxuLy8gSG9vayBmb3IgY29uc2lzdGVudCBhY3Rpb24gYnV0dG9uIHN0eWxpbmcgYWNyb3NzIGJyZWFrcG9pbnRzXG5leHBvcnQgY29uc3QgdXNlSGVhZGVyQWN0aW9uQnV0dG9uU3R5bGUgPSAoKSA9PiB7XG4gIGNvbnN0IHttZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gIHJldHVybiB1c2VDYWxsYmFjaygoe3N0YWNrZWRJbmRleCA9IDB9ID0ge30pID0+IHtcbiAgICBjb25zdCBiYXNlID0gbWRVcFxuICAgICAgPyB7XG4gICAgICAgICAgYWxpZ25TZWxmOiBcImZsZXgtc3RhcnRcIixcbiAgICAgICAgICBwYWRkaW5nVmVydGljYWw6IDcsXG4gICAgICAgICAgcGFkZGluZ0hvcml6b250YWw6IDEwLFxuICAgICAgICAgIGJvcmRlcldpZHRoOiAxLFxuICAgICAgICAgIGJvcmRlckNvbG9yOiBcIiNjYmQ1ZTFcIixcbiAgICAgICAgICBtYXJnaW5SaWdodDogNCxcbiAgICAgICAgICBtYXJnaW5Cb3R0b206IDQsXG4gICAgICAgICAgYm9yZGVyUmFkaXVzOiA1LFxuICAgICAgICAgIGZvbnRTaXplOiAxM1xuICAgICAgICB9XG4gICAgICA6IHtcbiAgICAgICAgICBhbGlnblNlbGY6IFwic3RyZXRjaFwiLFxuICAgICAgICAgIHBhZGRpbmc6IDExXG4gICAgICAgIH1cblxuICAgIGlmICghbWRVcCAmJiBzdGFja2VkSW5kZXggPiAwKSB7XG4gICAgICBiYXNlLmJvcmRlclRvcFdpZHRoID0gMVxuICAgICAgYmFzZS5ib3JkZXJUb3BDb2xvciA9IFwiI2M5YzljOVwiXG4gICAgfVxuXG4gICAgcmV0dXJuIGJhc2VcbiAgfSwgW21kVXBdKVxufVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pbkxheW91dEhlYWRlciBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3QoeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5ldy1jYXBcbiAgICBhY3Rpb25zOiBQcm9wVHlwZXMuYW55LFxuICAgIG9uVHJpZ2dlck1lbnU6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7bmFtZTogYnJlYWtwb2ludCwgbWRVcH0gPSB1c2VCcmVha3BvaW50KClcblxuICAgIHRoaXMuaGVhZGVyQWN0aW9uc1JlZiA9IHVzZVJlZigpXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7YnJlYWtwb2ludCwgbWRVcH0pXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgaGVhZGVyQWN0aW9uc0FjdGl2ZTogZmFsc2VcbiAgICB9KVxuXG4gICAgdXNlRXZlbnRMaXN0ZW5lcih3aW5kb3csIFwibW91c2V1cFwiLCB0aGlzLnR0Lm9uV2luZG93TW91c2VVcClcbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7YnJlYWtwb2ludCwgbWRVcH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2FjdGlvbnMsIG9uVHJpZ2dlck1lbnUsIHRpdGxlfSA9IHRoaXMucHJvcHNcblxuICAgIGNvbnN0IGhlYWRlclN0eWxlID0ge1xuICAgICAgZGlzcGxheTogXCJmbGV4XCIsXG4gICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgIHpJbmRleDogOSxcbiAgICAgIGhlaWdodDogMTAwLFxuICAgICAgcGFkZGluZ1JpZ2h0OiAzMCxcbiAgICAgIHBhZGRpbmdMZWZ0OiAzMCxcbiAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZmZmXCJcbiAgICB9XG5cbiAgICBjb25zdCBoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUgPSB7fVxuICAgIGNvbnN0IGhlYWRlckFjdGlvbnNTdHlsZSA9IHtcbiAgICAgIGZsZXhEaXJlY3Rpb246IG1kVXAgPyBcInJvd1wiIDogXCJjb2x1bW5cIixcbiAgICAgIGFsaWduSXRlbXM6IG1kVXAgPyBcImZsZXgtc3RhcnRcIiA6IFwic3RyZXRjaFwiLFxuICAgICAgZ2FwOiBtZFVwID8gOCA6IDBcbiAgICB9XG5cbiAgICBpZiAoYnJlYWtwb2ludCA9PSBcInhzXCIgfHwgYnJlYWtwb2ludCA9PSBcInNtXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJhYnNvbHV0ZVwiXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiMTAwJVwiXG5cbiAgICAgIE9iamVjdC5hc3NpZ24oaGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlLCB7XG4gICAgICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgICAgIHRvcDogMCxcbiAgICAgICAgbGVmdDogMCxcblxuICAgICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgICAgd2lkdGg6IFwiMTAwdndcIixcbiAgICAgICAgaGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuXG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogXCJyZ2JhKDAsIDAsIDAsIDAuOClcIlxuICAgICAgfSlcblxuICAgICAgaWYgKCF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSkge1xuICAgICAgICBoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUuZGlzcGxheSA9IFwibm9uZVwiXG4gICAgICB9XG5cbiAgICAgIE9iamVjdC5hc3NpZ24oaGVhZGVyQWN0aW9uc1N0eWxlLCB7XG4gICAgICAgIG1pbldpZHRoOiBcIjgwdndcIixcbiAgICAgICAgbWF4V2lkdGg6IFwiMTAwdndcIixcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIlxuICAgICAgfSlcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQgPT0gXCJtZFwiKSB7XG4gICAgICBoZWFkZXJTdHlsZS5wb3NpdGlvbiA9IFwiZml4ZWRcIlxuICAgICAgaGVhZGVyU3R5bGUubGVmdCA9IDI1MFxuICAgICAgaGVhZGVyU3R5bGUud2lkdGggPSBcImNhbGMoMTAwJSAtIDI1MHB4KVwiXG4gICAgfSBlbHNlIGlmIChicmVha3BvaW50ID09IFwibGdcIiB8fCBicmVha3BvaW50ID09IFwieGxcIiB8fCBicmVha3BvaW50ID09IFwieHhsXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiXG4gICAgICBoZWFkZXJTdHlsZS5sZWZ0ID0gMjkwXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiY2FsYygxMDAlIC0gMjkwcHgpXCJcbiAgICB9XG5cbiAgICBpZiAoYnJlYWtwb2ludCA9PSBcIm1kXCIgfHwgYnJlYWtwb2ludCA9PSBcImxnXCIgfHwgYnJlYWtwb2ludCA9PSBcInhsXCIgfHwgYnJlYWtwb2ludCA9PSBcInh4bFwiKSB7XG4gICAgICBoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUubWFyZ2luTGVmdCA9IFwiYXV0b1wiXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJyb290Vmlld0RhdGFTZXRcIiwge2NvbXBvbmVudDogXCJzdXBlci1hZG1pbi0tbGF5b3V0LS1oZWFkZXJcIn0pfSBzdHlsZT17aGVhZGVyU3R5bGV9PlxuICAgICAgICA8VmlldyBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiaGVhZGVyVGl0bGVWaWV3RGF0YVNldFwiLCB7Y2xhc3M6IFwiaGVhZGVyLXRpdGxlLWNvbnRhaW5lclwifSl9PlxuICAgICAgICAgIDxUZXh0IHN0eWxlPXt0aGlzLmNhY2hlKFwiaGVhZGVyVGl0bGVUZXh0U3R5bGVcIiwge2NvbG9yOiBcIiMyODJhMzNcIiwgZm9udFNpemU6IDIyfSl9PlxuICAgICAgICAgICAge3RpdGxlfVxuICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgPC9WaWV3PlxuICAgICAgICB7YWN0aW9ucyAmJlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0c1tgaGVhZGVyQWN0aW9uc0NvbnRhaW5lci0ke3RoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlfWBdIHx8PSB7XG4gICAgICAgICAgICAgIGFjdGl2ZTogdGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUsXG4gICAgICAgICAgICAgIGNsYXNzOiBcImhlYWRlci1hY3Rpb25zLWNvbnRhaW5lclwiXG4gICAgICAgICAgICB9fVxuICAgICAgICAgICAgc3R5bGU9e2hlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImhlYWRlckFjdGlvbnNWaWV3RGF0YVNldFwiLCB7Y2xhc3M6IFwiaGVhZGVyLWFjdGlvbnNcIn0pfVxuICAgICAgICAgICAgcmVmPXt0aGlzLnR0LmhlYWRlckFjdGlvbnNSZWZ9XG4gICAgICAgICAgICBzdHlsZT17aGVhZGVyQWN0aW9uc1N0eWxlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHthY3Rpb25zfVxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgICAgeyFtZFVwICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJidXJnZXJNZW51Q29udGFpbmVyRGF0YVNldFwiLCB7Y2xhc3M6IFwiYnVyZ2VyLW1lbnUtY29udGFpbmVyXCJ9KX1cbiAgICAgICAgICAgIHN0eWxlPXt0aGlzLmNhY2hlKFwiYnVyZ2VyTWVudUNvbnRhaW5lclN0eWxlXCIsIHtcbiAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgICAgICAgICAgbWFyZ2luTGVmdDogXCJhdXRvXCJcbiAgICAgICAgICAgIH0pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgICAgIDxQcmVzc2FibGVcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiYWN0aW9uc0xpbmtEYXRhU2V0XCIsIHtjbGFzczogXCJhY3Rpb25zLWxpbmtcIn0pfVxuICAgICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMudHQub25HZWFyc0NsaWNrZWR9XG4gICAgICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJhY3Rpb25zTGlua1N0eWxlXCIsIHttYXJnaW5SaWdodDogOCwgZm9udFNpemU6IDIyfSl9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiZ2VhclwiIHNpemU9ezIwfSAvPlxuICAgICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDxQcmVzc2FibGUgZGF0YVNldD17dGhpcy5jYWNoZShcImJ1cmdlck1lbnVMaW5rRGF0YVNldFwiLCB7Y2xhc3M6IFwiYnVyZ2VyLW1lbnUtbGlua1wifSl9IG9uUHJlc3M9e29uVHJpZ2dlck1lbnV9PlxuICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwiYmFyc1wiIHNpemU9ezIwfSAvPlxuICAgICAgICAgICAgPC9QcmVzc2FibGU+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICB9XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25HZWFyc0NsaWNrZWQgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHtoZWFkZXJBY3Rpb25zQWN0aXZlOiAhdGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmV9KVxuXG4gIG9uV2luZG93TW91c2VVcCA9IChlKSA9PiB7XG4gICAgLy8gQ2xvc2UgdGhlIGhlYWRlciBhY3Rpb25zIG1lbnUgaWYgY2xpY2tlZCBoYXBwZW5lZCBvdXRzaWRlXG4gICAgaWYgKHRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlICYmIHRoaXMudHQuaGVhZGVyQWN0aW9uc1JlZi5jdXJyZW50ICYmICF0aGlzLnR0LmhlYWRlckFjdGlvbnNSZWYuY3VycmVudC5jb250YWlucyhlLnRhcmdldCkpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoe2hlYWRlckFjdGlvbnNBY3RpdmU6IGZhbHNlfSlcbiAgICB9XG4gIH1cbn0pKVxuIl19
132
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9oZWFkZXIvaW5kZXguanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxpSEFBaUg7QUFDakgsMkVBQTJFO0FBQzNFLE9BQU8sS0FBSyxFQUFFLEVBQUMsV0FBVyxFQUFFLE1BQU0sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNoRCxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQ3RDLE9BQU8sRUFBQyxTQUFTLEVBQUUsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLGdCQUFnQixNQUFNLHVCQUF1QixDQUFBO0FBRXBELE1BQU0sUUFBUSxHQUFHLEVBQUUsQ0FBQTtBQUVuQiwrREFBK0Q7QUFDL0QsTUFBTSxDQUFDLE1BQU0sMEJBQTBCLEdBQUcsR0FBRyxFQUFFO0lBQzdDLE1BQU0sRUFBQyxJQUFJLEVBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQTtJQUU5QixPQUFPLFdBQVcsQ0FBQyxDQUFDLEVBQUMsWUFBWSxHQUFHLENBQUMsRUFBQyxHQUFHLEVBQUUsRUFBRSxFQUFFO1FBQzdDLE1BQU0sSUFBSSxHQUFHLElBQUk7WUFDZixDQUFDLENBQUM7Z0JBQ0UsU0FBUyxFQUFFLFlBQVk7Z0JBQ3ZCLGVBQWUsRUFBRSxDQUFDO2dCQUNsQixpQkFBaUIsRUFBRSxFQUFFO2dCQUNyQixXQUFXLEVBQUUsQ0FBQztnQkFDZCxXQUFXLEVBQUUsU0FBUztnQkFDdEIsV0FBVyxFQUFFLENBQUM7Z0JBQ2QsWUFBWSxFQUFFLENBQUM7Z0JBQ2YsWUFBWSxFQUFFLENBQUM7Z0JBQ2YsUUFBUSxFQUFFLEVBQUU7YUFDYjtZQUNILENBQUMsQ0FBQztnQkFDRSxTQUFTLEVBQUUsU0FBUztnQkFDcEIsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFBO1FBRUwsSUFBSSxDQUFDLElBQUksSUFBSSxZQUFZLEdBQUcsQ0FBQyxFQUFFLENBQUM7WUFDOUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxDQUFDLENBQUE7WUFDdkIsSUFBSSxDQUFDLGNBQWMsR0FBRyxTQUFTLENBQUE7UUFDakMsQ0FBQztRQUVELE9BQU8sSUFBSSxDQUFBO0lBQ2IsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQTtBQUNaLENBQUMsQ0FBQTtBQUVELGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLDhCQUErQixTQUFRLGFBQWE7SUFDM0YsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3RCLGFBQWEsRUFBRSxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQVU7UUFDeEMsS0FBSyxFQUFFLFNBQVMsQ0FBQyxNQUFNO0tBQ3hCLENBQUMsQ0FBQTtJQUVGLEtBQUs7UUFDSCxNQUFNLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQTtRQUVoRCxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsTUFBTSxFQUFFLENBQUE7UUFDaEMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxFQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUMsQ0FBQyxDQUFBO1FBQ3BDLElBQUksQ0FBQyxTQUFTLENBQUM7WUFDYixtQkFBbUIsRUFBRSxLQUFLO1NBQzNCLENBQUMsQ0FBQTtRQUVGLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxlQUFlLENBQUMsQ0FBQTtJQUM5RCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUNsQyxNQUFNLEVBQUMsT0FBTyxFQUFFLGFBQWEsRUFBRSxLQUFLLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBRWxELE1BQU0sV0FBVyxHQUFHO1lBQ2xCLE9BQU8sRUFBRSxNQUFNO1lBQ2YsYUFBYSxFQUFFLEtBQUs7WUFDcEIsVUFBVSxFQUFFLFFBQVE7WUFDcEIsTUFBTSxFQUFFLENBQUM7WUFDVCxNQUFNLEVBQUUsR0FBRztZQUNYLFlBQVksRUFBRSxFQUFFO1lBQ2hCLFdBQVcsRUFBRSxFQUFFO1lBQ2YsZUFBZSxFQUFFLE1BQU07U0FDeEIsQ0FBQTtRQUVELE1BQU0sMkJBQTJCLEdBQUcsRUFBRSxDQUFBO1FBQ3RDLE1BQU0sa0JBQWtCLEdBQUc7WUFDekIsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxRQUFRO1lBQ3RDLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsU0FBUztZQUMzQyxHQUFHLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7U0FDbEIsQ0FBQTtRQUVELElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksSUFBSSxFQUFFLENBQUM7WUFDN0MsV0FBVyxDQUFDLFFBQVEsR0FBRyxVQUFVLENBQUE7WUFDakMsV0FBVyxDQUFDLEtBQUssR0FBRyxNQUFNLENBQUE7WUFFMUIsTUFBTSxDQUFDLE1BQU0sQ0FBQywyQkFBMkIsRUFBRTtnQkFDekMsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLEdBQUcsRUFBRSxDQUFDO2dCQUNOLElBQUksRUFBRSxDQUFDO2dCQUVQLE9BQU8sRUFBRSxNQUFNO2dCQUNmLEtBQUssRUFBRSxPQUFPO2dCQUNkLE1BQU0sRUFBRSxPQUFPO2dCQUNmLFVBQVUsRUFBRSxRQUFRO2dCQUNwQixjQUFjLEVBQUUsUUFBUTtnQkFFeEIsZUFBZSxFQUFFLG9CQUFvQjthQUN0QyxDQUFDLENBQUE7WUFFRixJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2dCQUNoQywyQkFBMkIsQ0FBQyxPQUFPLEdBQUcsTUFBTSxDQUFBO1lBQzlDLENBQUM7WUFFRCxNQUFNLENBQUMsTUFBTSxDQUFDLGtCQUFrQixFQUFFO2dCQUNoQyxRQUFRLEVBQUUsTUFBTTtnQkFDaEIsUUFBUSxFQUFFLE9BQU87Z0JBQ2pCLGVBQWUsRUFBRSxNQUFNO2FBQ3hCLENBQUMsQ0FBQTtRQUNKLENBQUM7YUFBTSxJQUFJLFVBQVUsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUM5QixXQUFXLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQTtZQUM5QixXQUFXLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQTtZQUN0QixXQUFXLENBQUMsS0FBSyxHQUFHLG9CQUFvQixDQUFBO1FBQzFDLENBQUM7YUFBTSxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksS0FBSyxFQUFFLENBQUM7WUFDM0UsV0FBVyxDQUFDLFFBQVEsR0FBRyxPQUFPLENBQUE7WUFDOUIsV0FBVyxDQUFDLElBQUksR0FBRyxHQUFHLENBQUE7WUFDdEIsV0FBVyxDQUFDLEtBQUssR0FBRyxvQkFBb0IsQ0FBQTtRQUMxQyxDQUFDO1FBRUQsSUFBSSxVQUFVLElBQUksSUFBSSxJQUFJLFVBQVUsSUFBSSxJQUFJLElBQUksVUFBVSxJQUFJLElBQUksSUFBSSxVQUFVLElBQUksS0FBSyxFQUFFLENBQUM7WUFDMUYsMkJBQTJCLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQTtRQUNqRCxDQUFDO1FBRUQsT0FBTyxDQUNMLE1BQUMsSUFBSSxJQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLGlCQUFpQixFQUFFLEVBQUMsU0FBUyxFQUFFLDZCQUE2QixFQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsV0FBVyxhQUMxRyxLQUFDLElBQUksSUFBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyx3QkFBd0IsRUFBRSxFQUFDLEtBQUssRUFBRSx3QkFBd0IsRUFBQyxDQUFDLFlBQ3BGLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLHNCQUFzQixFQUFFLEVBQUMsS0FBSyxFQUFFLFNBQVMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFDLENBQUMsWUFDOUUsS0FBSyxHQUNELEdBQ0YsRUFDTixPQUFPO29CQUNOLEtBQUMsSUFBSSxJQUNILE9BQU8sRUFBRSxRQUFRLENBQUMsMEJBQTBCLElBQUksQ0FBQyxDQUFDLENBQUMsbUJBQW1CLEVBQUUsQ0FBQyxLQUFLOzRCQUM1RSxNQUFNLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUI7NEJBQ2xDLEtBQUssRUFBRSwwQkFBMEI7eUJBQ2xDLEVBQ0QsS0FBSyxFQUFFLDJCQUEyQixZQUVsQyxLQUFDLElBQUksSUFDTCxPQUFPLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQywwQkFBMEIsRUFBRSxFQUFDLEtBQUssRUFBRSxnQkFBZ0IsRUFBQyxDQUFDLEVBQzFFLEdBQUcsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixFQUM3QixLQUFLLEVBQUUsa0JBQWtCLFlBRXhCLE9BQU8sR0FDSCxHQUNBLEVBRVIsQ0FBQyxJQUFJO29CQUNKLE1BQUMsSUFBSSxJQUNILE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLDRCQUE0QixFQUFFLEVBQUMsS0FBSyxFQUFFLHVCQUF1QixFQUFDLENBQUMsRUFDbkYsS0FBSyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsMEJBQTBCLEVBQUU7NEJBQzVDLGFBQWEsRUFBRSxLQUFLOzRCQUNwQixVQUFVLEVBQUUsTUFBTTt5QkFDbkIsQ0FBQyxhQUVELE9BQU87Z0NBQ04sS0FBQyxTQUFTLElBQ1IsT0FBTyxFQUFFLElBQUksQ0FBQyxLQUFLLENBQUMsb0JBQW9CLEVBQUUsRUFBQyxLQUFLLEVBQUUsY0FBYyxFQUFDLENBQUMsRUFDbEUsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLENBQUMsY0FBYyxFQUMvQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxrQkFBa0IsRUFBRSxFQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBQyxDQUFDLFlBRXJFLEtBQUMsSUFBSSxJQUFDLElBQUksRUFBQyxNQUFNLEVBQUMsSUFBSSxFQUFFLEVBQUUsR0FBSSxHQUNwQixFQUVkLEtBQUMsU0FBUyxJQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsS0FBSyxDQUFDLHVCQUF1QixFQUFFLEVBQUMsS0FBSyxFQUFFLGtCQUFrQixFQUFDLENBQUMsRUFBRSxPQUFPLEVBQUUsYUFBYSxZQUMxRyxLQUFDLElBQUksSUFBQyxJQUFJLEVBQUMsTUFBTSxFQUFDLElBQUksRUFBRSxFQUFFLEdBQUksR0FDcEIsSUFDUCxJQUVKLENBQ1IsQ0FBQTtJQUNILENBQUM7SUFFRCxjQUFjLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLG1CQUFtQixFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsRUFBQyxDQUFDLENBQUE7SUFFeEYsZUFBZSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDdEIsNERBQTREO1FBQzVELElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxtQkFBbUIsSUFBSSxJQUFJLENBQUMsRUFBRSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUMzSCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsbUJBQW1CLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUM3QyxDQUFDO0lBQ0gsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBpbmRlbnQsIG5vLXJldHVybi1hc3NpZ24sIHJlYWN0L2pzeC1jbG9zaW5nLWJyYWNrZXQtbG9jYXRpb24sIHJlYWN0L2pzeC1jbG9zaW5nLXRhZy1sb2NhdGlvbiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LWluZGVudCwgcmVhY3QvanN4LWluZGVudC1wcm9wcywgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VDYWxsYmFjaywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi8uLi91dGlscy9pY29uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCB7c2hhcGVDb21wb25lbnR9IGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9zaGFwZS1jb21wb25lbnQuanNcIlxuaW1wb3J0IFRleHQgZnJvbSBcIi4uLy4uLy4uL3V0aWxzL3RleHRcIlxuaW1wb3J0IHtQcmVzc2FibGUsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IHt1c2VCcmVha3BvaW50fSBmcm9tIFwicmVzcG9uc2l2ZS1icmVha3BvaW50c1wiXG5pbXBvcnQgdXNlRXZlbnRMaXN0ZW5lciBmcm9tIFwieWEtdXNlLWV2ZW50LWxpc3RlbmVyXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG4vLyBIb29rIGZvciBjb25zaXN0ZW50IGFjdGlvbiBidXR0b24gc3R5bGluZyBhY3Jvc3MgYnJlYWtwb2ludHNcbmV4cG9ydCBjb25zdCB1c2VIZWFkZXJBY3Rpb25CdXR0b25TdHlsZSA9ICgpID0+IHtcbiAgY29uc3Qge21kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG5cbiAgcmV0dXJuIHVzZUNhbGxiYWNrKCh7c3RhY2tlZEluZGV4ID0gMH0gPSB7fSkgPT4ge1xuICAgIGNvbnN0IGJhc2UgPSBtZFVwXG4gICAgICA/IHtcbiAgICAgICAgICBhbGlnblNlbGY6IFwiZmxleC1zdGFydFwiLFxuICAgICAgICAgIHBhZGRpbmdWZXJ0aWNhbDogNyxcbiAgICAgICAgICBwYWRkaW5nSG9yaXpvbnRhbDogMTAsXG4gICAgICAgICAgYm9yZGVyV2lkdGg6IDEsXG4gICAgICAgICAgYm9yZGVyQ29sb3I6IFwiI2NiZDVlMVwiLFxuICAgICAgICAgIG1hcmdpblJpZ2h0OiA0LFxuICAgICAgICAgIG1hcmdpbkJvdHRvbTogNCxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6IDUsXG4gICAgICAgICAgZm9udFNpemU6IDEzXG4gICAgICAgIH1cbiAgICAgIDoge1xuICAgICAgICAgIGFsaWduU2VsZjogXCJzdHJldGNoXCIsXG4gICAgICAgICAgcGFkZGluZzogMTFcbiAgICAgICAgfVxuXG4gICAgaWYgKCFtZFVwICYmIHN0YWNrZWRJbmRleCA+IDApIHtcbiAgICAgIGJhc2UuYm9yZGVyVG9wV2lkdGggPSAxXG4gICAgICBiYXNlLmJvcmRlclRvcENvbG9yID0gXCIjYzljOWM5XCJcbiAgICB9XG5cbiAgICByZXR1cm4gYmFzZVxuICB9LCBbbWRVcF0pXG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0SGVhZGVyIGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgIGFjdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gICAgb25UcmlnZ2VyTWVudTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0aXRsZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtuYW1lOiBicmVha3BvaW50LCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gICAgdGhpcy5oZWFkZXJBY3Rpb25zUmVmID0gdXNlUmVmKClcbiAgICB0aGlzLnNldEluc3RhbmNlKHticmVha3BvaW50LCBtZFVwfSlcbiAgICB0aGlzLnVzZVN0YXRlcyh7XG4gICAgICBoZWFkZXJBY3Rpb25zQWN0aXZlOiBmYWxzZVxuICAgIH0pXG5cbiAgICB1c2VFdmVudExpc3RlbmVyKHdpbmRvdywgXCJtb3VzZXVwXCIsIHRoaXMudHQub25XaW5kb3dNb3VzZVVwKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHticmVha3BvaW50LCBtZFVwfSA9IHRoaXMudHRcbiAgICBjb25zdCB7YWN0aW9ucywgb25UcmlnZ2VyTWVudSwgdGl0bGV9ID0gdGhpcy5wcm9wc1xuXG4gICAgY29uc3QgaGVhZGVyU3R5bGUgPSB7XG4gICAgICBkaXNwbGF5OiBcImZsZXhcIixcbiAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgekluZGV4OiA5LFxuICAgICAgaGVpZ2h0OiAxMDAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0xlZnQ6IDMwLFxuICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIlxuICAgIH1cblxuICAgIGNvbnN0IGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZSA9IHt9XG4gICAgY29uc3QgaGVhZGVyQWN0aW9uc1N0eWxlID0ge1xuICAgICAgZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwiLFxuICAgICAgYWxpZ25JdGVtczogbWRVcCA/IFwiZmxleC1zdGFydFwiIDogXCJzdHJldGNoXCIsXG4gICAgICBnYXA6IG1kVXAgPyA4IDogMFxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwieHNcIiB8fCBicmVha3BvaW50ID09IFwic21cIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImFic29sdXRlXCJcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCIxMDAlXCJcblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zQ29udGFpbmVyU3R5bGUsIHtcbiAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgdG9wOiAwLFxuICAgICAgICBsZWZ0OiAwLFxuXG4gICAgICAgIGRpc3BsYXk6IFwiZmxleFwiLFxuICAgICAgICB3aWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBoZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG5cbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcInJnYmEoMCwgMCwgMCwgMC44KVwiXG4gICAgICB9KVxuXG4gICAgICBpZiAoIXRoaXMucy5oZWFkZXJBY3Rpb25zQWN0aXZlKSB7XG4gICAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5kaXNwbGF5ID0gXCJub25lXCJcbiAgICAgIH1cblxuICAgICAgT2JqZWN0LmFzc2lnbihoZWFkZXJBY3Rpb25zU3R5bGUsIHtcbiAgICAgICAgbWluV2lkdGg6IFwiODB2d1wiLFxuICAgICAgICBtYXhXaWR0aDogXCIxMDB2d1wiLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiXG4gICAgICB9KVxuICAgIH0gZWxzZSBpZiAoYnJlYWtwb2ludCA9PSBcIm1kXCIpIHtcbiAgICAgIGhlYWRlclN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiXG4gICAgICBoZWFkZXJTdHlsZS5sZWZ0ID0gMjUwXG4gICAgICBoZWFkZXJTdHlsZS53aWR0aCA9IFwiY2FsYygxMDAlIC0gMjUwcHgpXCJcbiAgICB9IGVsc2UgaWYgKGJyZWFrcG9pbnQgPT0gXCJsZ1wiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4bFwiIHx8IGJyZWFrcG9pbnQgPT0gXCJ4eGxcIikge1xuICAgICAgaGVhZGVyU3R5bGUucG9zaXRpb24gPSBcImZpeGVkXCJcbiAgICAgIGhlYWRlclN0eWxlLmxlZnQgPSAyOTBcbiAgICAgIGhlYWRlclN0eWxlLndpZHRoID0gXCJjYWxjKDEwMCUgLSAyOTBweClcIlxuICAgIH1cblxuICAgIGlmIChicmVha3BvaW50ID09IFwibWRcIiB8fCBicmVha3BvaW50ID09IFwibGdcIiB8fCBicmVha3BvaW50ID09IFwieGxcIiB8fCBicmVha3BvaW50ID09IFwieHhsXCIpIHtcbiAgICAgIGhlYWRlckFjdGlvbnNDb250YWluZXJTdHlsZS5tYXJnaW5MZWZ0ID0gXCJhdXRvXCJcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXcgZGF0YVNldD17dGhpcy5jYWNoZShcInJvb3RWaWV3RGF0YVNldFwiLCB7Y29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXQtLWhlYWRlclwifSl9IHN0eWxlPXtoZWFkZXJTdHlsZX0+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItdGl0bGUtY29udGFpbmVyXCJ9KX0+XG4gICAgICAgICAgPFRleHQgc3R5bGU9e3RoaXMuY2FjaGUoXCJoZWFkZXJUaXRsZVRleHRTdHlsZVwiLCB7Y29sb3I6IFwiIzI4MmEzM1wiLCBmb250U2l6ZTogMjJ9KX0+XG4gICAgICAgICAgICB7dGl0bGV9XG4gICAgICAgICAgPC9UZXh0PlxuICAgICAgICA8L1ZpZXc+XG4gICAgICAgIHthY3Rpb25zICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2BoZWFkZXJBY3Rpb25zQ29udGFpbmVyLSR7dGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmV9YF0gfHw9IHtcbiAgICAgICAgICAgICAgYWN0aXZlOiB0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZSxcbiAgICAgICAgICAgICAgY2xhc3M6IFwiaGVhZGVyLWFjdGlvbnMtY29udGFpbmVyXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgICBzdHlsZT17aGVhZGVyQWN0aW9uc0NvbnRhaW5lclN0eWxlfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiaGVhZGVyQWN0aW9uc1ZpZXdEYXRhU2V0XCIsIHtjbGFzczogXCJoZWFkZXItYWN0aW9uc1wifSl9XG4gICAgICAgICAgICByZWY9e3RoaXMudHQuaGVhZGVyQWN0aW9uc1JlZn1cbiAgICAgICAgICAgIHN0eWxlPXtoZWFkZXJBY3Rpb25zU3R5bGV9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnN9XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgfVxuICAgICAgICB7IW1kVXAgJiZcbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17dGhpcy5jYWNoZShcImJ1cmdlck1lbnVDb250YWluZXJEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1jb250YWluZXJcIn0pfVxuICAgICAgICAgICAgc3R5bGU9e3RoaXMuY2FjaGUoXCJidXJnZXJNZW51Q29udGFpbmVyU3R5bGVcIiwge1xuICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcInJvd1wiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIlxuICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2FjdGlvbnMgJiZcbiAgICAgICAgICAgICAgPFByZXNzYWJsZVxuICAgICAgICAgICAgICAgIGRhdGFTZXQ9e3RoaXMuY2FjaGUoXCJhY3Rpb25zTGlua0RhdGFTZXRcIiwge2NsYXNzOiBcImFjdGlvbnMtbGlua1wifSl9XG4gICAgICAgICAgICAgICAgb25QcmVzcz17dGhpcy50dC5vbkdlYXJzQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICBzdHlsZT17dGhpcy5jYWNoZShcImFjdGlvbnNMaW5rU3R5bGVcIiwge21hcmdpblJpZ2h0OiA4LCBmb250U2l6ZTogMjJ9KX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJnZWFyXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICAgIDwvUHJlc3NhYmxlPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgPFByZXNzYWJsZSBkYXRhU2V0PXt0aGlzLmNhY2hlKFwiYnVyZ2VyTWVudUxpbmtEYXRhU2V0XCIsIHtjbGFzczogXCJidXJnZXItbWVudS1saW5rXCJ9KX0gb25QcmVzcz17b25UcmlnZ2VyTWVudX0+XG4gICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJiYXJzXCIgc2l6ZT17MjB9IC8+XG4gICAgICAgICAgICA8L1ByZXNzYWJsZT5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvbkdlYXJzQ2xpY2tlZCA9ICgpID0+IHRoaXMuc2V0U3RhdGUoe2hlYWRlckFjdGlvbnNBY3RpdmU6ICF0aGlzLnMuaGVhZGVyQWN0aW9uc0FjdGl2ZX0pXG5cbiAgb25XaW5kb3dNb3VzZVVwID0gKGUpID0+IHtcbiAgICAvLyBDbG9zZSB0aGUgaGVhZGVyIGFjdGlvbnMgbWVudSBpZiBjbGlja2VkIGhhcHBlbmVkIG91dHNpZGVcbiAgICBpZiAodGhpcy5zLmhlYWRlckFjdGlvbnNBY3RpdmUgJiYgdGhpcy50dC5oZWFkZXJBY3Rpb25zUmVmLmN1cnJlbnQgJiYgIXRoaXMudHQuaGVhZGVyQWN0aW9uc1JlZi5jdXJyZW50LmNvbnRhaW5zKGUudGFyZ2V0KSkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7aGVhZGVyQWN0aW9uc0FjdGl2ZTogZmFsc2V9KVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
@@ -12,7 +12,7 @@ import PropTypes from "prop-types";
12
12
  import PropTypesExact from "prop-types-exact";
13
13
  import { shapeComponent } from "set-state-compare/build/shape-component.js";
14
14
  import Text from "../../utils/text";
15
- import useBreakpoint from "../../use-breakpoint.js";
15
+ import { useBreakpoint } from "responsive-breakpoints";
16
16
  import useCurrentUser from "../../use-current-user.js";
17
17
  import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
18
18
  const NoAccess = React.lazy(() => import("./no-access"));
@@ -107,4 +107,4 @@ export default memo(shapeComponent(class ApiMakerSuperAdminLayout extends BaseCo
107
107
  this.setState({ menuTriggered: !this.s.menuTriggered });
108
108
  };
109
109
  }));
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVGQUF1RjtBQUN2RixPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUM3QyxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLFlBQVksTUFBTSx3QkFBd0IsQ0FBQTtBQUNqRCxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQSxDQUFDLDJDQUEyQztBQUNuRixPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLElBQUksTUFBTSxjQUFjLENBQUE7QUFDL0IsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQTtBQUNuQyxPQUFPLGFBQWEsTUFBTSx5QkFBeUIsQ0FBQTtBQUNuRCxPQUFPLGNBQWMsTUFBTSwyQkFBMkIsQ0FBQTtBQUN0RCxPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUV2RCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFBO0FBRXhELE1BQU0sTUFBTSxHQUFHLFVBQVUsQ0FBQyxNQUFNLENBQUM7SUFDL0IseUJBQXlCLEVBQUU7UUFDekIsSUFBSSxFQUFFO1lBQ0osU0FBUyxFQUFFLE9BQU87WUFDbEIsZUFBZSxFQUFFLFNBQVM7U0FDM0I7UUFDRCxNQUFNLEVBQUU7WUFDTixVQUFVLEVBQUUsR0FBRztZQUNmLFlBQVksRUFBRSxFQUFFO1lBQ2hCLGFBQWEsRUFBRSxFQUFFO1NBQ2xCO1FBQ0QsSUFBSSxFQUFFO1lBQ0osVUFBVSxFQUFFLEdBQUc7WUFDZixZQUFZLEVBQUUsRUFBRTtZQUNoQixhQUFhLEVBQUUsRUFBRTtZQUNqQixXQUFXLEVBQUUsR0FBRztTQUNqQjtRQUNELElBQUksRUFBRTtZQUNKLFVBQVUsRUFBRSxHQUFHO1lBQ2YsWUFBWSxFQUFFLEVBQUU7WUFDaEIsYUFBYSxFQUFFLEVBQUU7WUFDakIsV0FBVyxFQUFFLEdBQUc7U0FDakI7S0FDRjtJQUNELElBQUksRUFBRTtRQUNKLFlBQVksRUFBRSxFQUFFO0tBQ2pCO0lBQ0QsUUFBUSxFQUFFO1FBQ1IsS0FBSyxFQUFFLE1BQU07UUFDYixTQUFTLEVBQUUsT0FBTztRQUNsQixlQUFlLEVBQUUsTUFBTTtRQUN2QixLQUFLLEVBQUUsTUFBTTtLQUNkO0NBQ0YsQ0FBQyxDQUFBO0FBRUYsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO0FBRW5CLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLHdCQUF5QixTQUFRLGFBQWE7SUFDckYsTUFBTSxDQUFDLFNBQVMsR0FBRyxjQUFjLENBQUM7UUFDaEMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxHQUFHO1FBQ3RCLE1BQU0sRUFBRSxTQUFTLENBQUMsTUFBTTtRQUN4QixRQUFRLEVBQUUsU0FBUyxDQUFDLEdBQUc7UUFDdkIsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzNCLGVBQWUsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNqQyxpQkFBaUIsRUFBRSxTQUFTLENBQUMsTUFBTTtRQUNuQyxXQUFXLEVBQUUsU0FBUyxDQUFDLE1BQU07UUFDN0IsU0FBUyxFQUFFLFNBQVMsQ0FBQyxNQUFNO1FBQzNCLFdBQVcsRUFBRSxTQUFTLENBQUMsTUFBTTtLQUM5QixDQUFDLENBQUE7SUFFRixLQUFLO1FBQ0gsTUFBTSxXQUFXLEdBQUcsY0FBYyxFQUFFLENBQUE7UUFDcEMsTUFBTSxFQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUMsR0FBRyxPQUFPLENBQUMsRUFBQyxTQUFTLEVBQUUsaUNBQWlDLEVBQUMsQ0FBQyxDQUFBO1FBQzNFLE1BQU0sRUFBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBQyxHQUFHLGFBQWEsRUFBRSxDQUFBO1FBRTVDLElBQUksQ0FBQyxTQUFTLENBQUMsRUFBQyxhQUFhLEVBQUUsS0FBSyxFQUFDLENBQUMsQ0FBQTtRQUN0QyxJQUFJLENBQUMsV0FBVyxDQUFDLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBQyxDQUFDLENBQUE7UUFFdEQsT0FBTyxDQUFDLEdBQUcsRUFBRTtZQUNYLFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsT0FBTyxDQUFBO1lBQ3pELFlBQVksQ0FBQyxPQUFPLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFBO1FBQzFELENBQUMsRUFBRSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUE7SUFDZCxDQUFDO0lBRUQsTUFBTTtRQUNKLE1BQU0sRUFBQyxXQUFXLEVBQUUsSUFBSSxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFDLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQTtRQUNwRCxNQUFNLEVBQ0osT0FBTyxFQUNQLE1BQU0sRUFDTixRQUFRLEVBQ1IsU0FBUyxFQUNULGVBQWUsRUFDZixpQkFBaUIsRUFDakIsU0FBUyxFQUNULFdBQVcsRUFDWCxJQUFJLEVBQ0osR0FBRyxTQUFTLEVBQ2IsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ2QsTUFBTSxlQUFlLEdBQUcsU0FBUyxJQUFJLFdBQVcsQ0FBQTtRQUVoRCxJQUFJLGVBQWUsRUFBRSxDQUFDO1lBQ3BCLFFBQVEsQ0FBQyxLQUFLLEdBQUcsZUFBZSxDQUFBO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sUUFBUSxDQUFDLEtBQUssR0FBRyxhQUFhLENBQUE7UUFDaEMsQ0FBQztRQUVELE1BQU0sUUFBUSxHQUFHLENBQUMsV0FBVyxDQUFBO1FBQzdCLE1BQU0sK0JBQStCLEdBQUcsQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFL0UsSUFBSSxNQUFNO1lBQUUsK0JBQStCLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyx5QkFBeUIsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN6RixJQUFJLElBQUk7WUFBRSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQyxDQUFBO1FBQ3JGLElBQUksSUFBSTtZQUFFLCtCQUErQixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMseUJBQXlCLENBQUMsSUFBSSxDQUFDLENBQUE7UUFFckYsT0FBTyxDQUNMLE1BQUMsSUFBSSxJQUNILE9BQU8sRUFBRSxRQUFRLENBQUMsUUFBUSxTQUFTLElBQUksSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxLQUFLO2dCQUNqRSxTQUFTLEVBQUUscUJBQXFCO2dCQUNoQyxLQUFLLEVBQUUsU0FBUztnQkFDaEIsYUFBYSxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsYUFBYTthQUNwQyxFQUNELEtBQUssRUFBRSxNQUFNLENBQUMsUUFBUSxLQUNsQixTQUFTLGFBQ2IsS0FBQyxJQUFJLElBQ0gsTUFBTSxFQUFFLE1BQU0sRUFDZCxRQUFRLEVBQUUsUUFBUSxFQUNsQixrQkFBa0IsRUFBRSxJQUFJLENBQUMsRUFBRSxDQUFDLGtCQUFrQixFQUM5QyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLEdBQy9CLEVBQ0YsS0FBQyxNQUFNLElBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxhQUFhLEVBQUUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsS0FBSyxFQUFFLFdBQVcsR0FBSSxFQUN0RixNQUFDLElBQUksSUFBQyxPQUFPLEVBQUUsUUFBUSxDQUFDLHlCQUF5QixLQUFLLEVBQUMsS0FBSyxFQUFFLDhCQUE4QixFQUFDLEVBQUUsS0FBSyxFQUFFLCtCQUErQixhQUNsSSxRQUFROzRCQUNQLDhCQUNFLEtBQUMsUUFBUSxLQUFHLEVBQ1gsV0FBVzt3Q0FDVixLQUFDLElBQUksSUFBQyxLQUFLLEVBQUUsTUFBTSxDQUFDLElBQUksWUFDckIsQ0FBQyxDQUFDLCtDQUErQyxFQUFFLEVBQUMsWUFBWSxFQUFFLHVDQUF1QyxFQUFDLENBQUMsR0FDdkcsRUFFUixDQUFDLFdBQVc7d0NBQ1gsOEJBQ0UsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLFlBQ3JCLENBQUMsQ0FBQyxpQkFBaUIsRUFBRSxFQUFDLFlBQVksRUFBRSxpQkFBaUIsRUFBQyxDQUFDLEdBQ25ELEVBQ04sTUFBTSxDQUFDLGFBQWEsRUFBRSxJQUN0QixJQUVKLEVBRUosQ0FBQyxRQUFRLElBQUksUUFBUSxJQUNqQixJQUNGLENBQ1IsQ0FBQTtJQUNILENBQUM7SUFFRCxrQkFBa0IsR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsYUFBYSxFQUFFLEtBQUssRUFBQyxDQUFDLENBQUE7SUFDaEUsYUFBYSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUU7UUFDcEIsQ0FBQyxDQUFDLGNBQWMsRUFBRSxDQUFBO1FBQ2xCLElBQUksQ0FBQyxRQUFRLENBQUMsRUFBQyxhQUFhLEVBQUUsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLGFBQWEsRUFBQyxDQUFDLENBQUE7SUFDdkQsQ0FBQyxDQUFBO0NBQ0YsQ0FBQyxDQUFDLENBQUEiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1yZXR1cm4tYXNzaWduLCByZWFjdC9qc3gtY2xvc2luZy1icmFja2V0LWxvY2F0aW9uLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCBSZWFjdCwge3VzZU1lbW99IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge1N0eWxlU2hlZXQsIFZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBDb21tYW5kc1Bvb2wgZnJvbSBcIi4uLy4uL2NvbW1hbmRzLXBvb2wuanNcIlxuaW1wb3J0IGNvbmZpZyBmcm9tIFwic3VwZXItYWRtaW4vY29uZmlnXCIgLy8gZXNsaW50LWRpc2FibGUtbGluZSBpbXBvcnQvbm8tdW5yZXNvbHZlZFxuaW1wb3J0IEhlYWRlciBmcm9tIFwiLi9oZWFkZXIvaW5kZXhcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IE1lbnUgZnJvbSBcIi4vbWVudS9pbmRleFwiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuLi8uLi91c2UtYnJlYWtwb2ludC5qc1wiXG5pbXBvcnQgdXNlQ3VycmVudFVzZXIgZnJvbSBcIi4uLy4uL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5cbmNvbnN0IE5vQWNjZXNzID0gUmVhY3QubGF6eSgoKSA9PiBpbXBvcnQoXCIuL25vLWFjY2Vzc1wiKSlcblxuY29uc3Qgc3R5bGVzID0gU3R5bGVTaGVldC5jcmVhdGUoe1xuICBhcHBMYXlvdXRDb250ZW50Q29udGFpbmVyOiB7XG4gICAgYmFzZToge1xuICAgICAgbWluSGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2Y3ZjdmN1wiXG4gICAgfSxcbiAgICBtZERvd246IHtcbiAgICAgIHBhZGRpbmdUb3A6IDEzMCxcbiAgICAgIHBhZGRpbmdSaWdodDogMzAsXG4gICAgICBwYWRkaW5nQm90dG9tOiAzMFxuICAgIH0sXG4gICAgbWRVcDoge1xuICAgICAgcGFkZGluZ1RvcDogMTMwLFxuICAgICAgcGFkZGluZ1JpZ2h0OiAzMCxcbiAgICAgIHBhZGRpbmdCb3R0b206IDMwLFxuICAgICAgcGFkZGluZ0xlZnQ6IDI4MFxuICAgIH0sXG4gICAgbGdVcDoge1xuICAgICAgcGFkZGluZ1RvcDogMTMwLFxuICAgICAgcGFkZGluZ1JpZ2h0OiAzMCxcbiAgICAgIHBhZGRpbmdCb3R0b206IDMwLFxuICAgICAgcGFkZGluZ0xlZnQ6IDMyMFxuICAgIH1cbiAgfSxcbiAgbWIxNToge1xuICAgIG1hcmdpbkJvdHRvbTogMTVcbiAgfSxcbiAgcm9vdFZpZXc6IHtcbiAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgbWluSGVpZ2h0OiBcIjEwMHZoXCIsXG4gICAgYmFja2dyb3VuZENvbG9yOiBcIiNmZmZcIixcbiAgICBjb2xvcjogXCIjMDAwXCJcbiAgfVxufSlcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyU3VwZXJBZG1pbkxheW91dCBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3QoeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5ldy1jYXBcbiAgICBhY3Rpb25zOiBQcm9wVHlwZXMuYW55LFxuICAgIGFjdGl2ZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjaGlsZHJlbjogUHJvcFR5cGVzLmFueSxcbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY3VycmVudEN1c3RvbWVyOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGN1cnJlbnRDdXN0b21lcklkOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGN1cnJlbnRVc2VyOiBQcm9wVHlwZXMub2JqZWN0LFxuICAgIGhlYWRUaXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBoZWFkZXJUaXRsZTogUHJvcFR5cGVzLnN0cmluZ1xuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IGN1cnJlbnRVc2VyID0gdXNlQ3VycmVudFVzZXIoKVxuICAgIGNvbnN0IHtsb2NhbGUsIHR9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5zdXBlcl9hZG1pbi5sYXlvdXRcIn0pXG4gICAgY29uc3Qge2xnVXAsIG1kVXAsIG1kRG93bn0gPSB1c2VCcmVha3BvaW50KClcblxuICAgIHRoaXMudXNlU3RhdGVzKHttZW51VHJpZ2dlcmVkOiBmYWxzZX0pXG4gICAgdGhpcy5zZXRJbnN0YW5jZSh7Y3VycmVudFVzZXIsIGxnVXAsIG1kVXAsIG1kRG93biwgdH0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIENvbW1hbmRzUG9vbC5jdXJyZW50KCkuZ2xvYmFsUmVxdWVzdERhdGEubGF5b3V0ID0gXCJhZG1pblwiXG4gICAgICBDb21tYW5kc1Bvb2wuY3VycmVudCgpLmdsb2JhbFJlcXVlc3REYXRhLmxvY2FsZSA9IGxvY2FsZVxuICAgIH0sIFtsb2NhbGVdKVxuICB9XG5cbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtjdXJyZW50VXNlciwgbGdVcCwgbWRVcCwgbWREb3duLCB0fSA9IHRoaXMudHRcbiAgICBjb25zdCB7XG4gICAgICBhY3Rpb25zLFxuICAgICAgYWN0aXZlLFxuICAgICAgY2hpbGRyZW4sXG4gICAgICBjbGFzc05hbWUsXG4gICAgICBjdXJyZW50Q3VzdG9tZXIsXG4gICAgICBjdXJyZW50Q3VzdG9tZXJJZCxcbiAgICAgIGhlYWRUaXRsZSxcbiAgICAgIGhlYWRlclRpdGxlLFxuICAgICAgbWVudSxcbiAgICAgIC4uLnJlc3RQcm9wc1xuICAgIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgYWN0dWFsSGVhZFRpdGxlID0gaGVhZFRpdGxlIHx8IGhlYWRlclRpdGxlXG5cbiAgICBpZiAoYWN0dWFsSGVhZFRpdGxlKSB7XG4gICAgICBkb2N1bWVudC50aXRsZSA9IGFjdHVhbEhlYWRUaXRsZVxuICAgIH0gZWxzZSB7XG4gICAgICBkb2N1bWVudC50aXRsZSA9IFwiU3VwZXIgQWRtaW5cIlxuICAgIH1cblxuICAgIGNvbnN0IG5vQWNjZXNzID0gIWN1cnJlbnRVc2VyXG4gICAgY29uc3QgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcyA9IFtzdHlsZXMuYXBwTGF5b3V0Q29udGVudENvbnRhaW5lci5iYXNlXVxuXG4gICAgaWYgKG1kRG93bikgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcy5wdXNoKHN0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLm1kRG93bilcbiAgICBpZiAobWRVcCkgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcy5wdXNoKHN0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLm1kVXApXG4gICAgaWYgKGxnVXApIGFwcExheW91dENvbnRlbnRDb250YWluZXJTdHlsZXMucHVzaChzdHlsZXMuYXBwTGF5b3V0Q29udGVudENvbnRhaW5lci5sZ1VwKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2Byb290LSR7Y2xhc3NOYW1lfS0ke3RoaXMucy5tZW51VHJpZ2dlcmVkfWBdIHx8PSB7XG4gICAgICAgICAgY29tcG9uZW50OiBcInN1cGVyLWFkbWluLS1sYXlvdXRcIixcbiAgICAgICAgICBjbGFzczogY2xhc3NOYW1lLFxuICAgICAgICAgIG1lbnVUcmlnZ2VyZWQ6IHRoaXMucy5tZW51VHJpZ2dlcmVkXG4gICAgICAgIH19XG4gICAgICAgIHN0eWxlPXtzdHlsZXMucm9vdFZpZXd9XG4gICAgICAgIHsuLi5yZXN0UHJvcHN9PlxuICAgICAgICA8TWVudVxuICAgICAgICAgIGFjdGl2ZT17YWN0aXZlfVxuICAgICAgICAgIG5vQWNjZXNzPXtub0FjY2Vzc31cbiAgICAgICAgICBvblJlcXVlc3RNZW51Q2xvc2U9e3RoaXMudHQub25SZXF1ZXN0TWVudUNsb3NlfVxuICAgICAgICAgIHRyaWdnZXJlZD17dGhpcy5zLm1lbnVUcmlnZ2VyZWR9XG4gICAgICAgIC8+XG4gICAgICAgIDxIZWFkZXIgYWN0aW9ucz17YWN0aW9uc30gb25UcmlnZ2VyTWVudT17dGhpcy50dC5vblRyaWdnZXJNZW51fSB0aXRsZT17aGVhZGVyVGl0bGV9IC8+XG4gICAgICAgIDxWaWV3IGRhdGFTZXQ9e2RhdGFTZXRzLmFwcExheW91dENvbnRlbnRDb250YWluZXIgfHw9IHtjbGFzczogXCJhcHAtbGF5b3V0LWNvbnRlbnQtY29udGFpbmVyXCJ9fSBzdHlsZT17YXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlc30+XG4gICAgICAgICAge25vQWNjZXNzICYmXG4gICAgICAgICAgICA8PlxuICAgICAgICAgICAgICA8Tm9BY2Nlc3MgLz5cbiAgICAgICAgICAgICAge2N1cnJlbnRVc2VyICYmXG4gICAgICAgICAgICAgICAgPFRleHQgc3R5bGU9e3N0eWxlcy5tYjE1fT5cbiAgICAgICAgICAgICAgICAgIHt0KFwiLnRyeV9zaWduaW5nX291dF9hbmRfaW5fd2l0aF9hX2RpZmZlcmVudF91c2VyXCIsIHtkZWZhdWx0VmFsdWU6IFwiVHJ5IHNpZ25pbmcgaW4gd2l0aCBhIGRpZmZlcmVudCB1c2VyLlwifSl9XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHshY3VycmVudFVzZXIgJiZcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgPFRleHQgc3R5bGU9e3N0eWxlcy5tYjE1fT5cbiAgICAgICAgICAgICAgICAgICAge3QoXCIudHJ5X3NpZ25pbmdfaW5cIiwge2RlZmF1bHRWYWx1ZTogXCJUcnkgc2lnbmluZyBpbi5cIn0pfVxuICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgICAge2NvbmZpZy5zaWduSW5Db250ZW50KCl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIDwvPlxuICAgICAgICAgIH1cbiAgICAgICAgICB7IW5vQWNjZXNzICYmIGNoaWxkcmVufVxuICAgICAgICA8L1ZpZXc+XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25SZXF1ZXN0TWVudUNsb3NlID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSh7bWVudVRyaWdnZXJlZDogZmFsc2V9KVxuICBvblRyaWdnZXJNZW51ID0gKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICB0aGlzLnNldFN0YXRlKHttZW51VHJpZ2dlcmVkOiAhdGhpcy5zLm1lbnVUcmlnZ2VyZWR9KVxuICB9XG59KSlcbiJdfQ==
110
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9pbmRleC5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHVGQUF1RjtBQUN2RixPQUFPLEtBQUssRUFBRSxFQUFDLE9BQU8sRUFBQyxNQUFNLE9BQU8sQ0FBQTtBQUNwQyxPQUFPLEVBQUMsVUFBVSxFQUFFLElBQUksRUFBQyxNQUFNLGNBQWMsQ0FBQTtBQUM3QyxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLFlBQVksTUFBTSx3QkFBd0IsQ0FBQTtBQUNqRCxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQSxDQUFDLDJDQUEyQztBQUNuRixPQUFPLE1BQU0sTUFBTSxnQkFBZ0IsQ0FBQTtBQUNuQyxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLElBQUksTUFBTSxjQUFjLENBQUE7QUFDL0IsT0FBTyxTQUFTLE1BQU0sWUFBWSxDQUFBO0FBQ2xDLE9BQU8sY0FBYyxNQUFNLGtCQUFrQixDQUFBO0FBQzdDLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQTtBQUNuQyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxjQUFjLE1BQU0sMkJBQTJCLENBQUE7QUFDdEQsT0FBTyxPQUFPLE1BQU0sbUNBQW1DLENBQUE7QUFFdkQsTUFBTSxRQUFRLEdBQUcsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLEVBQUUsQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQTtBQUV4RCxNQUFNLE1BQU0sR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQy9CLHlCQUF5QixFQUFFO1FBQ3pCLElBQUksRUFBRTtZQUNKLFNBQVMsRUFBRSxPQUFPO1lBQ2xCLGVBQWUsRUFBRSxTQUFTO1NBQzNCO1FB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Q0FBQyx5QkFBeUIsS0FBSyxFQUFDLEtBQUssRUFBRSw4QkFBOEIsRUFBQyxFQUFFLEtBQUssRUFBRSwrQkFBK0IsYUFDbEksUUFBUTs0QkFDUCw4QkFDRSxLQUFDLFFBQVEsS0FBRyxFQUNYLFdBQVc7d0NBQ1YsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLFlBQ3JCLENBQUMsQ0FBQywrQ0FBK0MsRUFBRSxFQUFDLFlBQVksRUFBRSx1Q0FBdUMsRUFBQyxDQUFDLEdBQ3ZHLEVBRVIsQ0FBQyxXQUFXO3dDQUNYLDhCQUNFLEtBQUMsSUFBSSxJQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxZQUNyQixDQUFDLENBQUMsaUJBQWlCLEVBQUUsRUFBQyxZQUFZLEVBQUUsaUJBQWlCLEVBQUMsQ0FBQyxHQUNuRCxFQUNOLE1BQU0sQ0FBQyxhQUFhLEVBQUUsSUFDdEIsSUFFSixFQUVKLENBQUMsUUFBUSxJQUFJLFFBQVEsSUFDakIsSUFDRixDQUNSLENBQUE7SUFDSCxDQUFDO0lBRUQsa0JBQWtCLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxFQUFDLGFBQWEsRUFBRSxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBQ2hFLGFBQWEsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFO1FBQ3BCLENBQUMsQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUNsQixJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUMsYUFBYSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxhQUFhLEVBQUMsQ0FBQyxDQUFBO0lBQ3ZELENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcmV0dXJuLWFzc2lnbiwgcmVhY3QvanN4LWNsb3NpbmctYnJhY2tldC1sb2NhdGlvbiwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtTdHlsZVNoZWV0LCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgQ29tbWFuZHNQb29sIGZyb20gXCIuLi8uLi9jb21tYW5kcy1wb29sLmpzXCJcbmltcG9ydCBjb25maWcgZnJvbSBcInN1cGVyLWFkbWluL2NvbmZpZ1wiIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgaW1wb3J0L25vLXVucmVzb2x2ZWRcbmltcG9ydCBIZWFkZXIgZnJvbSBcIi4vaGVhZGVyL2luZGV4XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBNZW51IGZyb20gXCIuL21lbnUvaW5kZXhcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcbmltcG9ydCB1c2VDdXJyZW50VXNlciBmcm9tIFwiLi4vLi4vdXNlLWN1cnJlbnQtdXNlci5qc1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcblxuY29uc3QgTm9BY2Nlc3MgPSBSZWFjdC5sYXp5KCgpID0+IGltcG9ydChcIi4vbm8tYWNjZXNzXCIpKVxuXG5jb25zdCBzdHlsZXMgPSBTdHlsZVNoZWV0LmNyZWF0ZSh7XG4gIGFwcExheW91dENvbnRlbnRDb250YWluZXI6IHtcbiAgICBiYXNlOiB7XG4gICAgICBtaW5IZWlnaHQ6IFwiMTAwdmhcIixcbiAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjZjdmN2Y3XCJcbiAgICB9LFxuICAgIG1kRG93bjoge1xuICAgICAgcGFkZGluZ1RvcDogMTMwLFxuICAgICAgcGFkZGluZ1JpZ2h0OiAzMCxcbiAgICAgIHBhZGRpbmdCb3R0b206IDMwXG4gICAgfSxcbiAgICBtZFVwOiB7XG4gICAgICBwYWRkaW5nVG9wOiAxMzAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0JvdHRvbTogMzAsXG4gICAgICBwYWRkaW5nTGVmdDogMjgwXG4gICAgfSxcbiAgICBsZ1VwOiB7XG4gICAgICBwYWRkaW5nVG9wOiAxMzAsXG4gICAgICBwYWRkaW5nUmlnaHQ6IDMwLFxuICAgICAgcGFkZGluZ0JvdHRvbTogMzAsXG4gICAgICBwYWRkaW5nTGVmdDogMzIwXG4gICAgfVxuICB9LFxuICBtYjE1OiB7XG4gICAgbWFyZ2luQm90dG9tOiAxNVxuICB9LFxuICByb290Vmlldzoge1xuICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICBtaW5IZWlnaHQ6IFwiMTAwdmhcIixcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiI2ZmZlwiLFxuICAgIGNvbG9yOiBcIiMwMDBcIlxuICB9XG59KVxuXG5jb25zdCBkYXRhU2V0cyA9IHt9XG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgQXBpTWFrZXJTdXBlckFkbWluTGF5b3V0IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7IC8vIGVzbGludC1kaXNhYmxlLWxpbmUgbmV3LWNhcFxuICAgIGFjdGlvbnM6IFByb3BUeXBlcy5hbnksXG4gICAgYWN0aXZlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMuYW55LFxuICAgIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICBjdXJyZW50Q3VzdG9tZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgY3VycmVudEN1c3RvbWVySWQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgY3VycmVudFVzZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgaGVhZFRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIGhlYWRlclRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB1c2VDdXJyZW50VXNlcigpXG4gICAgY29uc3Qge2xvY2FsZSwgdH0gPSB1c2VJMThuKHtuYW1lc3BhY2U6IFwianMuYXBpX21ha2VyLnN1cGVyX2FkbWluLmxheW91dFwifSlcbiAgICBjb25zdCB7bGdVcCwgbWRVcCwgbWREb3dufSA9IHVzZUJyZWFrcG9pbnQoKVxuXG4gICAgdGhpcy51c2VTdGF0ZXMoe21lbnVUcmlnZ2VyZWQ6IGZhbHNlfSlcbiAgICB0aGlzLnNldEluc3RhbmNlKHtjdXJyZW50VXNlciwgbGdVcCwgbWRVcCwgbWREb3duLCB0fSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgQ29tbWFuZHNQb29sLmN1cnJlbnQoKS5nbG9iYWxSZXF1ZXN0RGF0YS5sYXlvdXQgPSBcImFkbWluXCJcbiAgICAgIENvbW1hbmRzUG9vbC5jdXJyZW50KCkuZ2xvYmFsUmVxdWVzdERhdGEubG9jYWxlID0gbG9jYWxlXG4gICAgfSwgW2xvY2FsZV0pXG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2N1cnJlbnRVc2VyLCBsZ1VwLCBtZFVwLCBtZERvd24sIHR9ID0gdGhpcy50dFxuICAgIGNvbnN0IHtcbiAgICAgIGFjdGlvbnMsXG4gICAgICBhY3RpdmUsXG4gICAgICBjaGlsZHJlbixcbiAgICAgIGNsYXNzTmFtZSxcbiAgICAgIGN1cnJlbnRDdXN0b21lcixcbiAgICAgIGN1cnJlbnRDdXN0b21lcklkLFxuICAgICAgaGVhZFRpdGxlLFxuICAgICAgaGVhZGVyVGl0bGUsXG4gICAgICBtZW51LFxuICAgICAgLi4ucmVzdFByb3BzXG4gICAgfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCBhY3R1YWxIZWFkVGl0bGUgPSBoZWFkVGl0bGUgfHwgaGVhZGVyVGl0bGVcblxuICAgIGlmIChhY3R1YWxIZWFkVGl0bGUpIHtcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gYWN0dWFsSGVhZFRpdGxlXG4gICAgfSBlbHNlIHtcbiAgICAgIGRvY3VtZW50LnRpdGxlID0gXCJTdXBlciBBZG1pblwiXG4gICAgfVxuXG4gICAgY29uc3Qgbm9BY2Nlc3MgPSAhY3VycmVudFVzZXJcbiAgICBjb25zdCBhcHBMYXlvdXRDb250ZW50Q29udGFpbmVyU3R5bGVzID0gW3N0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLmJhc2VdXG5cbiAgICBpZiAobWREb3duKSBhcHBMYXlvdXRDb250ZW50Q29udGFpbmVyU3R5bGVzLnB1c2goc3R5bGVzLmFwcExheW91dENvbnRlbnRDb250YWluZXIubWREb3duKVxuICAgIGlmIChtZFVwKSBhcHBMYXlvdXRDb250ZW50Q29udGFpbmVyU3R5bGVzLnB1c2goc3R5bGVzLmFwcExheW91dENvbnRlbnRDb250YWluZXIubWRVcClcbiAgICBpZiAobGdVcCkgYXBwTGF5b3V0Q29udGVudENvbnRhaW5lclN0eWxlcy5wdXNoKHN0eWxlcy5hcHBMYXlvdXRDb250ZW50Q29udGFpbmVyLmxnVXApXG5cbiAgICByZXR1cm4gKFxuICAgICAgPFZpZXdcbiAgICAgICAgZGF0YVNldD17ZGF0YVNldHNbYHJvb3QtJHtjbGFzc05hbWV9LSR7dGhpcy5zLm1lbnVUcmlnZ2VyZWR9YF0gfHw9IHtcbiAgICAgICAgICBjb21wb25lbnQ6IFwic3VwZXItYWRtaW4tLWxheW91dFwiLFxuICAgICAgICAgIGNsYXNzOiBjbGFzc05hbWUsXG4gICAgICAgICAgbWVudVRyaWdnZXJlZDogdGhpcy5zLm1lbnVUcmlnZ2VyZWRcbiAgICAgICAgfX1cbiAgICAgICAgc3R5bGU9e3N0eWxlcy5yb290Vmlld31cbiAgICAgICAgey4uLnJlc3RQcm9wc30+XG4gICAgICAgIDxNZW51XG4gICAgICAgICAgYWN0aXZlPXthY3RpdmV9XG4gICAgICAgICAgbm9BY2Nlc3M9e25vQWNjZXNzfVxuICAgICAgICAgIG9uUmVxdWVzdE1lbnVDbG9zZT17dGhpcy50dC5vblJlcXVlc3RNZW51Q2xvc2V9XG4gICAgICAgICAgdHJpZ2dlcmVkPXt0aGlzLnMubWVudVRyaWdnZXJlZH1cbiAgICAgICAgLz5cbiAgICAgICAgPEhlYWRlciBhY3Rpb25zPXthY3Rpb25zfSBvblRyaWdnZXJNZW51PXt0aGlzLnR0Lm9uVHJpZ2dlck1lbnV9IHRpdGxlPXtoZWFkZXJUaXRsZX0gLz5cbiAgICAgICAgPFZpZXcgZGF0YVNldD17ZGF0YVNldHMuYXBwTGF5b3V0Q29udGVudENvbnRhaW5lciB8fD0ge2NsYXNzOiBcImFwcC1sYXlvdXQtY29udGVudC1jb250YWluZXJcIn19IHN0eWxlPXthcHBMYXlvdXRDb250ZW50Q29udGFpbmVyU3R5bGVzfT5cbiAgICAgICAgICB7bm9BY2Nlc3MgJiZcbiAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgIDxOb0FjY2VzcyAvPlxuICAgICAgICAgICAgICB7Y3VycmVudFVzZXIgJiZcbiAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLm1iMTV9PlxuICAgICAgICAgICAgICAgICAge3QoXCIudHJ5X3NpZ25pbmdfb3V0X2FuZF9pbl93aXRoX2FfZGlmZmVyZW50X3VzZXJcIiwge2RlZmF1bHRWYWx1ZTogXCJUcnkgc2lnbmluZyBpbiB3aXRoIGEgZGlmZmVyZW50IHVzZXIuXCJ9KX1cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgeyFjdXJyZW50VXNlciAmJlxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLm1iMTV9PlxuICAgICAgICAgICAgICAgICAgICB7dChcIi50cnlfc2lnbmluZ19pblwiLCB7ZGVmYXVsdFZhbHVlOiBcIlRyeSBzaWduaW5nIGluLlwifSl9XG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICB7Y29uZmlnLnNpZ25JbkNvbnRlbnQoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgPC8+XG4gICAgICAgICAgfVxuICAgICAgICAgIHshbm9BY2Nlc3MgJiYgY2hpbGRyZW59XG4gICAgICAgIDwvVmlldz5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvblJlcXVlc3RNZW51Q2xvc2UgPSAoKSA9PiB0aGlzLnNldFN0YXRlKHttZW51VHJpZ2dlcmVkOiBmYWxzZX0pXG4gIG9uVHJpZ2dlck1lbnUgPSAoZSkgPT4ge1xuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHRoaXMuc2V0U3RhdGUoe21lbnVUcmlnZ2VyZWQ6ICF0aGlzLnMubWVudVRyaWdnZXJlZH0pXG4gIH1cbn0pKVxuIl19
@@ -15,7 +15,7 @@ import PropTypesExact from "prop-types-exact";
15
15
  import React from "react";
16
16
  import { shapeComponent } from "set-state-compare/build/shape-component.js";
17
17
  import Text from "../../../utils/text";
18
- import useBreakpoint from "../../../use-breakpoint.js";
18
+ import { useBreakpoint } from "responsive-breakpoints";
19
19
  import useCurrentUser from "../../../use-current-user.js";
20
20
  import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
21
21
  import { WithDefaultStyle } from "../../../utils/default-style";
@@ -93,4 +93,4 @@ export default memo(shapeComponent(class ComponentsAdminLayoutMenu extends BaseC
93
93
  }
94
94
  };
95
95
  }));
96
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9tZW51L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUhBQXlIO0FBQ3pILE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxhQUFhLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFDdkMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxJQUFJLE1BQU0scUJBQXFCLENBQUE7QUFDdEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFBO0FBQ2hDLE9BQU8sV0FBVyxNQUFNLGdCQUFnQixDQUFBO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLGFBQWEsTUFBTSw0QkFBNEIsQ0FBQTtBQUN0RCxPQUFPLGNBQWMsTUFBTSw4QkFBOEIsQ0FBQTtBQUN6RCxPQUFPLE9BQU8sTUFBTSxtQ0FBbUMsQ0FBQTtBQUN2RCxPQUFPLEVBQUMsZ0JBQWdCLEVBQUMsTUFBTSw4QkFBOEIsQ0FBQTtBQUU3RCxNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUE7QUFDbkIsTUFBTSxNQUFNLEdBQUcsRUFBRSxDQUFBO0FBRWpCLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLHlCQUEw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QUFDLElBQUksQ0FBQyxDQUFDLENBQUMsMkJBQTJCLEVBQUUsRUFBQyxZQUFZLEVBQUUsMEJBQTBCLEVBQUMsQ0FBQyxDQUFDLENBQUE7UUFDN0csQ0FBQztRQUFDLE9BQU8sS0FBSyxFQUFFLENBQUM7WUFDZixrQkFBa0IsQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDekMsQ0FBQztJQUNILENBQUMsQ0FBQTtDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbmV3LWNhcCwgbm8tZXh0cmEtcGFyZW5zLCBuby1yZXR1cm4tYXNzaWduLCByZWFjdC9qc3gtbWF4LWRlcHRoLCByZWFjdC9qc3gtbm8tbGl0ZXJhbHMsIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IHtWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi8uLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgRGV2aXNlIGZyb20gXCIuLi8uLi8uLi9kZXZpc2UuanNcIlxuaW1wb3J0IHtGbGFzaE5vdGlmaWNhdGlvbnN9IGZyb20gXCJmbGFzaC1ub3RpZmljYXRpb25zXCJcbmltcG9ydCBJY29uIGZyb20gXCIuLi8uLi8uLi91dGlscy9pY29uXCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBMaW5rIGZyb20gXCIuLi8uLi8uLi9saW5rXCJcbmltcG9ydCBNZW51Q29udGVudCBmcm9tIFwiLi9tZW51LWNvbnRlbnRcIlxuaW1wb3J0IE1lbnVJdGVtIGZyb20gXCIuL21lbnUtaXRlbVwiXG5pbXBvcnQgUGFyYW1zIGZyb20gXCIuLi8uLi8uLi9wYXJhbXMuanNcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgUHJvcFR5cGVzRXhhY3QgZnJvbSBcInByb3AtdHlwZXMtZXhhY3RcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi8uLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuLi8uLi8uLi91c2UtYnJlYWtwb2ludC5qc1wiXG5pbXBvcnQgdXNlQ3VycmVudFVzZXIgZnJvbSBcIi4uLy4uLy4uL3VzZS1jdXJyZW50LXVzZXIuanNcIlxuaW1wb3J0IHVzZUkxOG4gZnJvbSBcImkxOG4tb24tc3Rlcm9pZHMvc3JjL3VzZS1pMThuLm1qc1wiXG5pbXBvcnQge1dpdGhEZWZhdWx0U3R5bGV9IGZyb20gXCIuLi8uLi8uLi91dGlscy9kZWZhdWx0LXN0eWxlXCJcblxuY29uc3QgZGF0YVNldHMgPSB7fVxuY29uc3Qgc3R5bGVzID0ge31cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBDb21wb25lbnRzQWRtaW5MYXlvdXRNZW51IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSBQcm9wVHlwZXNFeGFjdCh7XG4gICAgYWN0aXZlOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG5vQWNjZXNzOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICAgIG9uUmVxdWVzdE1lbnVDbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICB0cmlnZ2VyZWQ6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWRcbiAgfSlcblxuICBzZXR1cCgpIHtcbiAgICBjb25zdCB7bGdVcCwgbWREb3duLCBtZFVwfSA9IHVzZUJyZWFrcG9pbnQoKVxuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIuc3VwZXJfYWRtaW4ubGF5b3V0Lm1lbnVcIn0pXG4gICAgY29uc3QgY3VycmVudFVzZXIgPSB1c2VDdXJyZW50VXNlcigpXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtjdXJyZW50VXNlciwgbGdVcCwgbWREb3duLCBtZFVwLCB0fSlcbiAgfVxuXG4gIHJlbmRlcigpIHsgLy8gZXNsaW50LWRpc2FibGUtbGluZSBjb21wbGV4aXR5XG4gICAgY29uc3Qge2N1cnJlbnRVc2VyLCBsZ1VwLCBtZERvd24sIG1kVXAsIHR9ID0gdGhpcy50dFxuICAgIGNvbnN0IHthY3RpdmUsIG5vQWNjZXNzLCB0cmlnZ2VyZWR9ID0gdGhpcy5wcm9wc1xuXG4gICAgaWYgKG1kRG93biAmJiAhdHJpZ2dlcmVkKSB7XG4gICAgICByZXR1cm4gbnVsbFxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Vmlld1xuICAgICAgICBkYXRhU2V0PXtkYXRhU2V0c1tgcm9vdFZpZXctJHt0cmlnZ2VyZWR9YF0gfHw9IHtjb21wb25lbnQ6IFwic3VwZXItYWRtaW4tLWxheW91dC0tbWVudVwiLCB0cmlnZ2VyZWR9fVxuICAgICAgICBzdHlsZT17c3R5bGVzW2Byb290LSR7bWREb3dufS0ke21kVXB9LSR7bGdVcH1gXSB8fD0ge1xuICAgICAgICAgIHBvc2l0aW9uOiBcImZpeGVkXCIsXG4gICAgICAgICAgekluZGV4OiA5LFxuICAgICAgICAgIG92ZXJmbG93WTogXCJhdXRvXCIsXG4gICAgICAgICAgb3ZlcmZsb3dYOiBcImhpZGRlblwiLFxuICAgICAgICAgIHRvcDogMCxcbiAgICAgICAgICBsZWZ0OiAwLFxuICAgICAgICAgIGhlaWdodDogXCIxMDAlXCIsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogXCJjb2x1bW5cIixcbiAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IFwiIzFiMWMxZVwiLFxuICAgICAgICAgIHdpZHRoOiAobGdVcCAmJiAyOTApIHx8IChtZFVwICYmIDI1MCkgfHwgKG1kRG93biAmJiBcIjEwMCVcIikgfHwgdW5kZWZpbmVkLFxuICAgICAgICAgIG1heFdpZHRoOiBtZERvd24gPyAyNTAgOiB1bmRlZmluZWQsXG4gICAgICAgICAgbWF4SGVpZ2h0OiBtZERvd24gPyBcIjEwMHZoXCIgOiB1bmRlZmluZWRcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFdpdGhEZWZhdWx0U3R5bGUgc3R5bGU9e3N0eWxlcy53aXRoRGVmYXVsdFN0eWxlIHx8PSB7VGV4dDoge2NvbG9yOiBcIiNmZmZcIn19fT5cbiAgICAgICAgICA8Vmlld1xuICAgICAgICAgICAgZGF0YVNldD17ZGF0YVNldHMubWVudUxvZ29WaWV3IHx8PSB7Y2xhc3M6IFwibWVudS1sb2dvXCJ9fVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5tZW51TG9nb1ZpZXcgfHw9IHtcbiAgICAgICAgICAgICAgb3ZlcmZsb3c6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgICAgIG1hcmdpblRvcDogMjUsXG4gICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiBcImF1dG9cIixcbiAgICAgICAgICAgICAgbWFyZ2luTGVmdDogXCJhdXRvXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPExpbmsgZGF0YVNldD17ZGF0YVNldHMubWVudUxvZ29MaW5rIHx8PSB7Y2xhc3M6IFwibWVudS1sb2dvLWxpbmtcIn19IHRvPXtQYXJhbXMud2l0aFBhcmFtcyh7fSl9PlxuICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMubWVudUxvZ29MaW5rVGV4dCB8fD0ge1xuICAgICAgICAgICAgICAgICAgY29sb3I6IFwiI2RlZGVkZlwiLFxuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb25MaW5lOiBcIm5vbmVcIixcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiA0MixcbiAgICAgICAgICAgICAgICAgIHRleHRPdmVyZmxvdzogXCJlbGxpcHNpc1wiLFxuICAgICAgICAgICAgICAgICAgd2hpdGVTcGFjZTogXCJub3dyYXBcIlxuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICBBZG1pblxuICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICA8L0xpbms+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5tZW51SXRlbXNDZW50ZXIgfHw9IHtjbGFzczogXCJtZW51LWl0ZW1zLWNlbnRlclwifX1cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMubWVudUl0ZW1zQ2VudGVyIHx8PSB7bWFyZ2luVG9wOiAyNX19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgeyFub0FjY2VzcyAmJlxuICAgICAgICAgICAgICA8TWVudUNvbnRlbnQgYWN0aXZlPXthY3RpdmV9IC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5tZW51SXRlbXNCb3R0b20gfHw9IHtjbGFzczogXCJtZW51LWl0ZW1zLWJvdHRvbVwifX1cbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMubWVudUl0ZW1zQm90dG9tIHx8PSB7bWFyZ2luVG9wOiBcImF1dG9cIiwgbWFyZ2luQm90dG9tOiAyNX19XG4gICAgICAgICAgPlxuICAgICAgICAgICAge2N1cnJlbnRVc2VyICYmXG4gICAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICAgICAgZGF0YVNldD17ZGF0YVNldHMubWVudVVzZXJTZWN0aW9uIHx8PSB7Y2xhc3M6IFwibWVudS11c2VyLXNlY3Rpb25cIn19XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5tZW51VXNlclNlY3Rpb24gfHw9IHtcbiAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IFwicm93XCIsXG4gICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IDI1LFxuICAgICAgICAgICAgICAgICAgbWFyZ2luQm90dG9tOiAyNSxcbiAgICAgICAgICAgICAgICAgIG1hcmdpbkxlZnQ6IDI1XG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5tZW51VXNlckljb24gfHw9IHtjbGFzczogXCJtZW51LXVzZXItaWNvblwifX1cbiAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMubWVudVVzZXJJY29uIHx8PSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NCxcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0NCxcbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjYWJiY2QwXCIsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogXCI1MCVcIlxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8SWNvbiBuYW1lPVwidXNlclwiIHNpemU9ezEyfSAvPlxuICAgICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgICA8VmlldyBjbGFzc05hbWU9XCJtZW51LXVzZXItbmFtZVwiIHN0eWxlPXtzdHlsZXMudXNlck5hbWUgfHw9IHtmbGV4U2hyaW5rOiAxLCBtYXJnaW5MZWZ0OiA4fX0+XG4gICAgICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5tZW51VXNlck5hbWVDb250YWluZXIgfHw9IHtjbGFzczogXCJtZW51LXVzZXItbmFtZS1jb250YWluZXJcIn19XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMudXNlck5hbWVDb250YWluZXIgfHw9IHtvdmVyZmxvdzogXCJoaWRkZW5cIiwgbWF4V2lkdGg6IDE0MH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtjdXJyZW50VXNlci5uYW1lKCl9XG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB7Y3VycmVudFVzZXIgJiZcbiAgICAgICAgICAgICAgPE1lbnVJdGVtXG4gICAgICAgICAgICAgICAgYWN0aXZlXG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwic2lnbi1vdXQtbWVudS1pdGVtXCJcbiAgICAgICAgICAgICAgICBpY29uPVwic2lnbi1vdXQtYWx0XCJcbiAgICAgICAgICAgICAgICBsYWJlbD17dChcIi5zaWduX291dFwiLCB7ZGVmYXVsdFZhbHVlOiBcIlNpZ24gb3V0XCJ9KX1cbiAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uU2lnbk91dENsaWNrZWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICB9XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICA8L1dpdGhEZWZhdWx0U3R5bGU+XG4gICAgICA8L1ZpZXc+XG4gICAgKVxuICB9XG5cbiAgb25TaWduT3V0Q2xpY2tlZCA9IGFzeW5jIChlKSA9PiB7XG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgRGV2aXNlLnNpZ25PdXQoKVxuICAgICAgRmxhc2hOb3RpZmljYXRpb25zLnN1Y2Nlc3ModGhpcy50KFwiLnlvdV9oYXZlX2JlZW5fc2lnbmVkX291dFwiLCB7ZGVmYXVsdFZhbHVlOiBcIllvdSBoYXZlIGJlZW4gc2lnbmVkIG91dFwifSkpXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIEZsYXNoTm90aWZpY2F0aW9ucy5lcnJvclJlc3BvbnNlKGVycm9yKVxuICAgIH1cbiAgfVxufSkpXG4iXX0=
96
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInN1cGVyLWFkbWluL2xheW91dC9tZW51L2luZGV4LmpzeCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEseUhBQXlIO0FBQ3pILE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDakMsT0FBTyxhQUFhLE1BQU0seUJBQXlCLENBQUE7QUFDbkQsT0FBTyxNQUFNLE1BQU0sb0JBQW9CLENBQUE7QUFDdkMsT0FBTyxFQUFDLGtCQUFrQixFQUFDLE1BQU0scUJBQXFCLENBQUE7QUFDdEQsT0FBTyxJQUFJLE1BQU0scUJBQXFCLENBQUE7QUFDdEMsT0FBTyxJQUFJLE1BQU0saUNBQWlDLENBQUE7QUFDbEQsT0FBTyxJQUFJLE1BQU0sZUFBZSxDQUFBO0FBQ2hDLE9BQU8sV0FBVyxNQUFNLGdCQUFnQixDQUFBO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLGFBQWEsQ0FBQTtBQUNsQyxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLFNBQVMsTUFBTSxZQUFZLENBQUE7QUFDbEMsT0FBTyxjQUFjLE1BQU0sa0JBQWtCLENBQUE7QUFDN0MsT0FBTyxLQUFLLE1BQU0sT0FBTyxDQUFBO0FBQ3pCLE9BQU8sRUFBQyxjQUFjLEVBQUMsTUFBTSw0Q0FBNEMsQ0FBQTtBQUN6RSxPQUFPLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUN0QyxPQUFPLEVBQUMsYUFBYSxFQUFDLE1BQU0sd0JBQXdCLENBQUE7QUFDcEQsT0FBTyxjQUFjLE1BQU0sOEJBQThCLENBQUE7QUFDekQsT0FBTyxPQUFPLE1BQU0sbUNBQW1DLENBQUE7QUFDdkQsT0FBTyxFQUFDLGdCQUFnQixFQUFDLE1BQU0sOEJBQThCLENBQUE7QUFFN0QsTUFBTSxRQUFRLEdBQUcsRUFBRSxDQUFBO0FBQ25CLE1BQU0sTUFBTSxHQUFHLEVBQUUsQ0FBQTtBQUVqQixlQUFlLElBQUksQ0FBQyxjQUFjLENBQUMs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QUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLDJCQUEyQixFQUFFLEVBQUMsWUFBWSxFQUFFLDBCQUEwQixFQUFDLENBQUMsQ0FBQyxDQUFBO1FBQzdHLENBQUM7UUFBQyxPQUFPLEtBQUssRUFBRSxDQUFDO1lBQ2Ysa0JBQWtCLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQ3pDLENBQUM7SUFDSCxDQUFDLENBQUE7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5ldy1jYXAsIG5vLWV4dHJhLXBhcmVucywgbm8tcmV0dXJuLWFzc2lnbiwgcmVhY3QvanN4LW1heC1kZXB0aCwgcmVhY3QvanN4LW5vLWxpdGVyYWxzLCBzb3J0LWltcG9ydHMgKi9cbmltcG9ydCB7Vmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IERldmlzZSBmcm9tIFwiLi4vLi4vLi4vZGV2aXNlLmpzXCJcbmltcG9ydCB7Rmxhc2hOb3RpZmljYXRpb25zfSBmcm9tIFwiZmxhc2gtbm90aWZpY2F0aW9uc1wiXG5pbXBvcnQgSWNvbiBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvaWNvblwiXG5pbXBvcnQgbWVtbyBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvbWVtby5qc1wiXG5pbXBvcnQgTGluayBmcm9tIFwiLi4vLi4vLi4vbGlua1wiXG5pbXBvcnQgTWVudUNvbnRlbnQgZnJvbSBcIi4vbWVudS1jb250ZW50XCJcbmltcG9ydCBNZW51SXRlbSBmcm9tIFwiLi9tZW51LWl0ZW1cIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vLi4vcGFyYW1zLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcbmltcG9ydCB1c2VDdXJyZW50VXNlciBmcm9tIFwiLi4vLi4vLi4vdXNlLWN1cnJlbnQtdXNlci5qc1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcbmltcG9ydCB7V2l0aERlZmF1bHRTdHlsZX0gZnJvbSBcIi4uLy4uLy4uL3V0aWxzL2RlZmF1bHQtc3R5bGVcIlxuXG5jb25zdCBkYXRhU2V0cyA9IHt9XG5jb25zdCBzdHlsZXMgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIENvbXBvbmVudHNBZG1pbkxheW91dE1lbnUgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBhY3RpdmU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgbm9BY2Nlc3M6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gICAgb25SZXF1ZXN0TWVudUNsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHRyaWdnZXJlZDogUHJvcFR5cGVzLmJvb2wuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHtsZ1VwLCBtZERvd24sIG1kVXB9ID0gdXNlQnJlYWtwb2ludCgpXG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci5zdXBlcl9hZG1pbi5sYXlvdXQubWVudVwifSlcbiAgICBjb25zdCBjdXJyZW50VXNlciA9IHVzZUN1cnJlbnRVc2VyKClcblxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe2N1cnJlbnRVc2VyLCBsZ1VwLCBtZERvd24sIG1kVXAsIHR9KVxuICB9XG5cbiAgcmVuZGVyKCkgeyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIGNvbXBsZXhpdHlcbiAgICBjb25zdCB7Y3VycmVudFVzZXIsIGxnVXAsIG1kRG93biwgbWRVcCwgdH0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2FjdGl2ZSwgbm9BY2Nlc3MsIHRyaWdnZXJlZH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAobWREb3duICYmICF0cmlnZ2VyZWQpIHtcbiAgICAgIHJldHVybiBudWxsXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3XG4gICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzW2Byb290Vmlldy0ke3RyaWdnZXJlZH1gXSB8fD0ge2NvbXBvbmVudDogXCJzdXBlci1hZG1pbi0tbGF5b3V0LS1tZW51XCIsIHRyaWdnZXJlZH19XG4gICAgICAgIHN0eWxlPXtzdHlsZXNbYHJvb3QtJHttZERvd259LSR7bWRVcH0tJHtsZ1VwfWBdIHx8PSB7XG4gICAgICAgICAgcG9zaXRpb246IFwiZml4ZWRcIixcbiAgICAgICAgICB6SW5kZXg6IDksXG4gICAgICAgICAgb3ZlcmZsb3dZOiBcImF1dG9cIixcbiAgICAgICAgICBvdmVyZmxvd1g6IFwiaGlkZGVuXCIsXG4gICAgICAgICAgdG9wOiAwLFxuICAgICAgICAgIGxlZnQ6IDAsXG4gICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIixcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBcImNvbHVtblwiLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogXCIjMWIxYzFlXCIsXG4gICAgICAgICAgd2lkdGg6IChsZ1VwICYmIDI5MCkgfHwgKG1kVXAgJiYgMjUwKSB8fCAobWREb3duICYmIFwiMTAwJVwiKSB8fCB1bmRlZmluZWQsXG4gICAgICAgICAgbWF4V2lkdGg6IG1kRG93biA/IDI1MCA6IHVuZGVmaW5lZCxcbiAgICAgICAgICBtYXhIZWlnaHQ6IG1kRG93biA/IFwiMTAwdmhcIiA6IHVuZGVmaW5lZFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8V2l0aERlZmF1bHRTdHlsZSBzdHlsZT17c3R5bGVzLndpdGhEZWZhdWx0U3R5bGUgfHw9IHtUZXh0OiB7Y29sb3I6IFwiI2ZmZlwifX19PlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5tZW51TG9nb1ZpZXcgfHw9IHtjbGFzczogXCJtZW51LWxvZ29cIn19XG4gICAgICAgICAgICBzdHlsZT17c3R5bGVzLm1lbnVMb2dvVmlldyB8fD0ge1xuICAgICAgICAgICAgICBvdmVyZmxvdzogXCJoaWRkZW5cIixcbiAgICAgICAgICAgICAgbWFyZ2luVG9wOiAyNSxcbiAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IFwiYXV0b1wiLFxuICAgICAgICAgICAgICBtYXJnaW5MZWZ0OiBcImF1dG9cIlxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TGluayBkYXRhU2V0PXtkYXRhU2V0cy5tZW51TG9nb0xpbmsgfHw9IHtjbGFzczogXCJtZW51LWxvZ28tbGlua1wifX0gdG89e1BhcmFtcy53aXRoUGFyYW1zKHt9KX0+XG4gICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5tZW51TG9nb0xpbmtUZXh0IHx8PSB7XG4gICAgICAgICAgICAgICAgICBjb2xvcjogXCIjZGVkZWRmXCIsXG4gICAgICAgICAgICAgICAgICB0ZXh0RGVjb3JhdGlvbkxpbmU6IFwibm9uZVwiLFxuICAgICAgICAgICAgICAgICAgZm9udFNpemU6IDQyLFxuICAgICAgICAgICAgICAgICAgdGV4dE92ZXJmbG93OiBcImVsbGlwc2lzXCIsXG4gICAgICAgICAgICAgICAgICB3aGl0ZVNwYWNlOiBcIm5vd3JhcFwiXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIEFkbWluXG4gICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgIDwvTGluaz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzLm1lbnVJdGVtc0NlbnRlciB8fD0ge2NsYXNzOiBcIm1lbnUtaXRlbXMtY2VudGVyXCJ9fVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5tZW51SXRlbXNDZW50ZXIgfHw9IHttYXJnaW5Ub3A6IDI1fX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7IW5vQWNjZXNzICYmXG4gICAgICAgICAgICAgIDxNZW51Q29udGVudCBhY3RpdmU9e2FjdGl2ZX0gLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzLm1lbnVJdGVtc0JvdHRvbSB8fD0ge2NsYXNzOiBcIm1lbnUtaXRlbXMtYm90dG9tXCJ9fVxuICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5tZW51SXRlbXNCb3R0b20gfHw9IHttYXJnaW5Ub3A6IFwiYXV0b1wiLCBtYXJnaW5Cb3R0b206IDI1fX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7Y3VycmVudFVzZXIgJiZcbiAgICAgICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgICAgICBkYXRhU2V0PXtkYXRhU2V0cy5tZW51VXNlclNlY3Rpb24gfHw9IHtjbGFzczogXCJtZW51LXVzZXItc2VjdGlvblwifX1cbiAgICAgICAgICAgICAgICBzdHlsZT17c3R5bGVzLm1lbnVVc2VyU2VjdGlvbiB8fD0ge1xuICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogXCJyb3dcIixcbiAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgICAgICBtYXJnaW5SaWdodDogMjUsXG4gICAgICAgICAgICAgICAgICBtYXJnaW5Cb3R0b206IDI1LFxuICAgICAgICAgICAgICAgICAgbWFyZ2luTGVmdDogMjVcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzLm1lbnVVc2VySWNvbiB8fD0ge2NsYXNzOiBcIm1lbnUtdXNlci1pY29uXCJ9fVxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy5tZW51VXNlckljb24gfHw9IHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDQ0LFxuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ0LFxuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBcIiNhYmJjZDBcIixcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiBcIjUwJVwiXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxJY29uIG5hbWU9XCJ1c2VyXCIgc2l6ZT17MTJ9IC8+XG4gICAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgICAgIDxWaWV3IGNsYXNzTmFtZT1cIm1lbnUtdXNlci1uYW1lXCIgc3R5bGU9e3N0eWxlcy51c2VyTmFtZSB8fD0ge2ZsZXhTaHJpbms6IDEsIG1hcmdpbkxlZnQ6IDh9fT5cbiAgICAgICAgICAgICAgICAgIDxUZXh0XG4gICAgICAgICAgICAgICAgICAgIGRhdGFTZXQ9e2RhdGFTZXRzLm1lbnVVc2VyTmFtZUNvbnRhaW5lciB8fD0ge2NsYXNzOiBcIm1lbnUtdXNlci1uYW1lLWNvbnRhaW5lclwifX1cbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3N0eWxlcy51c2VyTmFtZUNvbnRhaW5lciB8fD0ge292ZXJmbG93OiBcImhpZGRlblwiLCBtYXhXaWR0aDogMTQwfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2N1cnJlbnRVc2VyLm5hbWUoKX1cbiAgICAgICAgICAgICAgICAgIDwvVGV4dD5cbiAgICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHtjdXJyZW50VXNlciAmJlxuICAgICAgICAgICAgICA8TWVudUl0ZW1cbiAgICAgICAgICAgICAgICBhY3RpdmVcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJzaWduLW91dC1tZW51LWl0ZW1cIlxuICAgICAgICAgICAgICAgIGljb249XCJzaWduLW91dC1hbHRcIlxuICAgICAgICAgICAgICAgIGxhYmVsPXt0KFwiLnNpZ25fb3V0XCIsIHtkZWZhdWx0VmFsdWU6IFwiU2lnbiBvdXRcIn0pfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudHQub25TaWduT3V0Q2xpY2tlZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIDwvV2l0aERlZmF1bHRTdHlsZT5cbiAgICAgIDwvVmlldz5cbiAgICApXG4gIH1cblxuICBvblNpZ25PdXRDbGlja2VkID0gYXN5bmMgKGUpID0+IHtcbiAgICBlLnByZXZlbnREZWZhdWx0KClcblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBEZXZpc2Uuc2lnbk91dCgpXG4gICAgICBGbGFzaE5vdGlmaWNhdGlvbnMuc3VjY2Vzcyh0aGlzLnQoXCIueW91X2hhdmVfYmVlbl9zaWduZWRfb3V0XCIsIHtkZWZhdWx0VmFsdWU6IFwiWW91IGhhdmUgYmVlbiBzaWduZWQgb3V0XCJ9KSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgRmxhc2hOb3RpZmljYXRpb25zLmVycm9yUmVzcG9uc2UoZXJyb3IpXG4gICAgfVxuICB9XG59KSlcbiJdfQ==
@@ -4,7 +4,7 @@ import BaseComponent from "../../base-component";
4
4
  import memo from "set-state-compare/build/memo.js";
5
5
  import React from "react";
6
6
  import { shapeComponent } from "set-state-compare/build/shape-component.js";
7
- import useBreakpoint from "../../use-breakpoint.js";
7
+ import { useBreakpoint } from "responsive-breakpoints";
8
8
  import { View } from "react-native";
9
9
  export default memo(shapeComponent(class SharedTableRow extends BaseComponent {
10
10
  render() {
@@ -17,4 +17,4 @@ export default memo(shapeComponent(class SharedTableRow extends BaseComponent {
17
17
  return (_jsx(View, { style: actualStyle, ...restProps }));
18
18
  }
19
19
  }));
20
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS9jb21wb25lbnRzL3Jvdy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sYUFBYSxNQUFNLHlCQUF5QixDQUFBO0FBQ25ELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFFakMsZUFBZSxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sY0FBZSxTQUFRLGFBQWE7SUFDM0UsTUFBTTtRQUNKLE1BQU0sRUFBQyxLQUFLLEVBQUUsR0FBRyxTQUFTLEVBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFBO1FBQ3hDLE1BQU0sRUFBQyxJQUFJLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxHQUFHLGFBQWEsRUFBRSxDQUFBO1FBQ2xELE1BQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQyxNQUFNLENBQUUsMkNBQTJDO1FBQzVFO1lBQ0UsYUFBYSxFQUFFLFVBQVUsSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEtBQUs7U0FDL0QsRUFDRCxLQUFLLENBQ04sQ0FBQTtRQUVELE9BQU8sQ0FDTCxLQUFDLElBQUksSUFBQyxLQUFLLEVBQUUsV0FBVyxLQUFNLFNBQVMsR0FBSSxDQUM1QyxDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFJlYWN0IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuLi8uLi91c2UtYnJlYWtwb2ludC5qc1wiXG5pbXBvcnQge1ZpZXd9IGZyb20gXCJyZWFjdC1uYXRpdmVcIlxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIFNoYXJlZFRhYmxlUm93IGV4dGVuZHMgQmFzZUNvbXBvbmVudCB7XG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7c3R5bGUsIC4uLnJlc3RQcm9wc30gPSB0aGlzLnByb3BzXG4gICAgY29uc3Qge25hbWU6IGJyZWFrcG9pbnQsIHNtRG93bn0gPSB1c2VCcmVha3BvaW50KClcbiAgICBjb25zdCBhY3R1YWxTdHlsZSA9IE9iamVjdC5hc3NpZ24oIC8vIGVzbGludC1kaXNhYmxlLWxpbmUgcHJlZmVyLW9iamVjdC1zcHJlYWRcbiAgICAgIHtcbiAgICAgICAgZmxleERpcmVjdGlvbjogYnJlYWtwb2ludCA9PSBcInNtXCIgfHwgc21Eb3duID8gXCJjb2x1bW5cIiA6IFwicm93XCJcbiAgICAgIH0sXG4gICAgICBzdHlsZVxuICAgIClcblxuICAgIHJldHVybiAoXG4gICAgICA8VmlldyBzdHlsZT17YWN0dWFsU3R5bGV9IHsuLi5yZXN0UHJvcHN9IC8+XG4gICAgKVxuICB9XG59KSlcbiJdfQ==
20
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicm93LmpzIiwic291cmNlUm9vdCI6Ii9zcmMvIiwic291cmNlcyI6WyJ0YWJsZS9jb21wb25lbnRzL3Jvdy5qc3giXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLGlDQUFpQztBQUNqQyxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLElBQUksTUFBTSxpQ0FBaUMsQ0FBQTtBQUNsRCxPQUFPLEtBQUssTUFBTSxPQUFPLENBQUE7QUFDekIsT0FBTyxFQUFDLGNBQWMsRUFBQyxNQUFNLDRDQUE0QyxDQUFBO0FBQ3pFLE9BQU8sRUFBQyxhQUFhLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQTtBQUNwRCxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sY0FBYyxDQUFBO0FBRWpDLGVBQWUsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLGNBQWUsU0FBUSxhQUFhO0lBQzNFLE1BQU07UUFDSixNQUFNLEVBQUMsS0FBSyxFQUFFLEdBQUcsU0FBUyxFQUFDLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQTtRQUN4QyxNQUFNLEVBQUMsSUFBSSxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUMsR0FBRyxhQUFhLEVBQUUsQ0FBQTtRQUNsRCxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFFLDJDQUEyQztRQUM1RTtZQUNFLGFBQWEsRUFBRSxVQUFVLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxLQUFLO1NBQy9ELEVBQ0QsS0FBSyxDQUNOLENBQUE7UUFFRCxPQUFPLENBQ0wsS0FBQyxJQUFJLElBQUMsS0FBSyxFQUFFLFdBQVcsS0FBTSxTQUFTLEdBQUksQ0FDNUMsQ0FBQTtJQUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IEJhc2VDb21wb25lbnQgZnJvbSBcIi4uLy4uL2Jhc2UtY29tcG9uZW50XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcbmltcG9ydCB7Vmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5cbmV4cG9ydCBkZWZhdWx0IG1lbW8oc2hhcGVDb21wb25lbnQoY2xhc3MgU2hhcmVkVGFibGVSb3cgZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgcmVuZGVyKCkge1xuICAgIGNvbnN0IHtzdHlsZSwgLi4ucmVzdFByb3BzfSA9IHRoaXMucHJvcHNcbiAgICBjb25zdCB7bmFtZTogYnJlYWtwb2ludCwgc21Eb3dufSA9IHVzZUJyZWFrcG9pbnQoKVxuICAgIGNvbnN0IGFjdHVhbFN0eWxlID0gT2JqZWN0LmFzc2lnbiggLy8gZXNsaW50LWRpc2FibGUtbGluZSBwcmVmZXItb2JqZWN0LXNwcmVhZFxuICAgICAge1xuICAgICAgICBmbGV4RGlyZWN0aW9uOiBicmVha3BvaW50ID09IFwic21cIiB8fCBzbURvd24gPyBcImNvbHVtblwiIDogXCJyb3dcIlxuICAgICAgfSxcbiAgICAgIHN0eWxlXG4gICAgKVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxWaWV3IHN0eWxlPXthY3R1YWxTdHlsZX0gey4uLnJlc3RQcm9wc30gLz5cbiAgICApXG4gIH1cbn0pKVxuIl19
@@ -24,7 +24,7 @@ import Select from "../../inputs/select";
24
24
  import Services from "../../services.js";
25
25
  import { shapeComponent } from "set-state-compare/build/shape-component.js";
26
26
  import Text from "../../utils/text";
27
- import useBreakpoint from "../../use-breakpoint.js";
27
+ import { useBreakpoint } from "responsive-breakpoints";
28
28
  import useI18n from "i18n-on-steroids/src/use-i18n.mjs";
29
29
  const styles = {};
30
30
  export default memo(shapeComponent(class ApiMakerTableFiltersFilterForm extends BaseComponent {
@@ -291,4 +291,4 @@ export default memo(shapeComponent(class ApiMakerTableFiltersFilterForm extends
291
291
  .localeCompare(digg(b, "humanName").toLowerCase()));
292
292
  }
293
293
  }));
294
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZvcm0uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvZmlsdGVyLWZvcm0uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1RkFBdUY7QUFDdkYsdUhBQXVIO0FBQ3ZILCtFQUErRTtBQUMvRSxpRkFBaUY7QUFDakYsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDcEQsT0FBTyxnQkFBZ0IsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQy9CLE9BQU8sTUFBTSxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLG9CQUFvQixDQUFBO0FBQ3RDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLGlCQUFpQixNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFBO0FBQzFDLE9BQU8sTUFBTSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBQyxj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QUNGLENBQUMsQ0FBQyxDQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgY29tbWEtZGFuZ2xlLCBpbXBsaWNpdC1hcnJvdy1saW5lYnJlYWssIGltcG9ydC9uby1uYW1lZC1hcy1kZWZhdWx0ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBjb21wbGV4aXR5LCBuZXctY2FwLCBuZXdsaW5lLXBlci1jaGFpbmVkLWNhbGwsIG5vLWF3YWl0LWluLWxvb3AsIG5vLWV4dHJhLXBhcmVucywgbm8tcmV0dXJuLWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW51c2VkLXZhcnMsIHJlYWN0L2pzeC1tYXgtZGVwdGgsIHJlYWN0L2pzeC1uby1saXRlcmFscyAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvanN4LXNvcnQtcHJvcHMsIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSwgc29ydC1pbXBvcnRzICovXG5pbXBvcnQgUmVhY3QsIHt1c2VNZW1vLCB1c2VSZWZ9IGZyb20gXCJyZWFjdFwiXG5pbXBvcnQge0FjdGl2aXR5SW5kaWNhdG9yLCBWaWV3fSBmcm9tIFwicmVhY3QtbmF0aXZlXCJcbmltcG9ydCBBdHRyaWJ1dGVFbGVtZW50IGZyb20gXCIuL2F0dHJpYnV0ZS1lbGVtZW50XCJcbmltcG9ydCBCYXNlQ29tcG9uZW50IGZyb20gXCIuLi8uLi9iYXNlLWNvbXBvbmVudFwiXG5pbXBvcnQgQnV0dG9uIGZyb20gXCIuLi8uLi91dGlscy9idXR0b25cIlxuaW1wb3J0IENhcmQgZnJvbSBcIi4uLy4uL3V0aWxzL2NhcmRcIlxuaW1wb3J0IHtkaWdnLCBkaWdzfSBmcm9tIFwiZGlnZ2VyaXplXCJcbmltcG9ydCAqIGFzIGluZmxlY3Rpb24gZnJvbSBcImluZmxlY3Rpb25cIlxuaW1wb3J0IHtGb3JtfSBmcm9tIFwiLi4vLi4vZm9ybVwiXG5pbXBvcnQgSGVhZGVyIGZyb20gXCIuLi8uLi91dGlscy9oZWFkZXJcIlxuaW1wb3J0IElucHV0IGZyb20gXCIuLi8uLi9pbnB1dHMvaW5wdXRcIlxuaW1wb3J0IG1lbW8gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL21lbW8uanNcIlxuaW1wb3J0IFBhcmFtcyBmcm9tIFwiLi4vLi4vcGFyYW1zLmpzXCJcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSBcInByb3AtdHlwZXNcIlxuaW1wb3J0IFByb3BUeXBlc0V4YWN0IGZyb20gXCJwcm9wLXR5cGVzLWV4YWN0XCJcbmltcG9ydCBSZWZsZWN0aW9uRWxlbWVudCBmcm9tIFwiLi9yZWZsZWN0aW9uLWVsZW1lbnRcIlxuaW1wb3J0IFNjb3BlRWxlbWVudCBmcm9tIFwiLi9zY29wZS1lbGVtZW50XCJcbmltcG9ydCBTZWxlY3QgZnJvbSBcIi4uLy4uL2lucHV0cy9zZWxlY3RcIlxuaW1wb3J0IFNlcnZpY2VzIGZyb20gXCIuLi8uLi9zZXJ2aWNlcy5qc1wiXG5pbXBvcnQge3NoYXBlQ29tcG9uZW50fSBmcm9tIFwic2V0LXN0YXRlLWNvbXBhcmUvYnVpbGQvc2hhcGUtY29tcG9uZW50LmpzXCJcbmltcG9ydCBUZXh0IGZyb20gXCIuLi8uLi91dGlscy90ZXh0XCJcbmltcG9ydCB1c2VCcmVha3BvaW50IGZyb20gXCIuLi8uLi91c2UtYnJlYWtwb2ludC5qc1wiXG5pbXBvcnQgdXNlSTE4biBmcm9tIFwiaTE4bi1vbi1zdGVyb2lkcy9zcmMvdXNlLWkxOG4ubWpzXCJcblxuY29uc3Qgc3R5bGVzID0ge31cblxuZXhwb3J0IGRlZmF1bHQgbWVtbyhzaGFwZUNvbXBvbmVudChjbGFzcyBBcGlNYWtlclRhYmxlRmlsdGVyc0ZpbHRlckZvcm0gZXh0ZW5kcyBCYXNlQ29tcG9uZW50IHtcbiAgc3RhdGljIHByb3BUeXBlcyA9IFByb3BUeXBlc0V4YWN0KHtcbiAgICBmaWx0ZXI6IFByb3BUeXBlcy5vYmplY3QsXG4gICAgbW9kZWxDbGFzczogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvbkFwcGx5Q2xpY2tlZDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBvblJlcXVlc3RDbG9zZTogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcbiAgICBxdWVyeVNlYXJjaE5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KVxuXG4gIHNldHVwKCkge1xuICAgIGNvbnN0IHt0fSA9IHVzZUkxOG4oe25hbWVzcGFjZTogXCJqcy5hcGlfbWFrZXIudGFibGUuZmlsdGVycy5maWx0ZXJfZm9ybVwifSlcblxuICAgIHRoaXMudXNlU3RhdGVzKHtcbiAgICAgIGFzc29jaWF0aW9uczogbnVsbCxcbiAgICAgIGF0dHJpYnV0ZTogdW5kZWZpbmVkLFxuICAgICAgYWN0dWFsQ3VycmVudE1vZGVsQ2xhc3M6ICgpID0+ICh7bW9kZWxDbGFzczogdGhpcy5wLm1vZGVsQ2xhc3N9KSxcbiAgICAgIGxvYWRpbmc6IDAsXG4gICAgICBtb2RlbENsYXNzTmFtZTogZGlnZyh0aGlzLnAubW9kZWxDbGFzcy5tb2RlbENsYXNzRGF0YSgpLCBcImNsYXNzTmFtZVwiKSxcbiAgICAgIHBhdGg6IFtdLFxuICAgICAgcHJlZGljYXRlOiB1bmRlZmluZWQsXG4gICAgICBwcmVkaWNhdGVzOiB1bmRlZmluZWQsXG4gICAgICByYW5zYWNrYWJsZUF0dHJpYnV0ZXM6IHVuZGVmaW5lZCxcbiAgICAgIHJhbnNhY2thYmxlU2NvcGVzOiB1bmRlZmluZWQsXG4gICAgICBzY29wZTogdGhpcy5wcm9wcy5maWx0ZXIuc2MsXG4gICAgICB2YWx1ZTogdGhpcy5wcm9wcy5maWx0ZXIudlxuICAgIH0pXG5cbiAgICB0aGlzLnNldEluc3RhbmNlKHtcbiAgICAgIGJyZWFrcG9pbnQ6IHVzZUJyZWFrcG9pbnQoKSxcbiAgICAgIHQsXG4gICAgICB2YWx1ZUlucHV0UmVmOiB1c2VSZWYoKSxcbiAgICB9KVxuXG4gICAgdXNlTWVtbygoKSA9PiB7XG4gICAgICB0aGlzLmxvYWRSYW5zYWNrUHJlZGljYXRlcygpXG5cbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbHRlci52KSB7XG4gICAgICAgIHRoaXMubG9hZEluaXRpYWxWYWx1ZXNXaXRoTG9hZGluZ0luZGljYXRvcigpXG4gICAgICB9XG4gICAgfSwgW10pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZEFzc29jaWF0aW9ucygpXG4gICAgfSwgW3RoaXMucy5tb2RlbENsYXNzTmFtZV0pXG4gIH1cblxuICBjdXJyZW50TW9kZWxDbGFzcyA9ICgpID0+IGRpZ2codGhpcy5zLmFjdHVhbEN1cnJlbnRNb2RlbENsYXNzLCBcIm1vZGVsQ2xhc3NcIilcblxuICBwYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpIHtcbiAgICBjb25zdCBhc3NvY2lhdGlvbnMgPSByZXN1bHQuYXNzb2NpYXRpb25zLm1hcCgoe2h1bWFuX25hbWUsIG1vZGVsX2NsYXNzX25hbWUsIHJlZmxlY3Rpb25fbmFtZSwgcmVzb3VyY2V9KSA9PiAoe1xuICAgICAgaHVtYW5OYW1lOiBodW1hbl9uYW1lLFxuICAgICAgbW9kZWxDbGFzc05hbWU6IG1vZGVsX2NsYXNzX25hbWUsXG4gICAgICByZWZsZWN0aW9uTmFtZTogaW5mbGVjdGlvbi5jYW1lbGl6ZShyZWZsZWN0aW9uX25hbWUsIHRydWUpLFxuICAgICAgcmVzb3VyY2VcbiAgICB9KSlcbiAgICBjb25zdCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMgPSBkaWdnKHJlc3VsdCwgXCJyYW5zYWNrYWJsZV9hdHRyaWJ1dGVzXCIpLm1hcCgoe2F0dHJpYnV0ZV9uYW1lOiBhdHRyaWJ1dGVOYW1lLCBodW1hbl9uYW1lOiBodW1hbk5hbWV9KSA9PiAoe1xuICAgICAgYXR0cmlidXRlTmFtZSwgaHVtYW5OYW1lXG4gICAgfSkpXG4gICAgY29uc3QgcmFuc2Fja2FibGVTY29wZXMgPSBkaWdnKHJlc3VsdCwgXCJyYW5zYWNrYWJsZV9zY29wZXNcIilcblxuICAgIHJldHVybiB7YXNzb2NpYXRpb25zLCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMsIHJhbnNhY2thYmxlU2NvcGVzfVxuICB9XG5cbiAgYXN5bmMgbG9hZEFzc29jaWF0aW9ucygpIHtcbiAgICB0aGlzLmluY3JlYXNlTG9hZGluZygpXG5cbiAgICB0cnkge1xuICAgICAgaWYgKCF0aGlzLnMubW9kZWxDbGFzc05hbWUpIHRocm93IG5ldyBFcnJvcihcIidtb2RlbENsYXNzTmFtZScgbm90IHNldCBpbiBzdGF0ZVwiKVxuXG4gICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJNb2RlbHM6OkFzc29jaWF0aW9uc1wiLCB7bW9kZWxfY2xhc3NfbmFtZTogdGhpcy5zLm1vZGVsQ2xhc3NOYW1lfSlcbiAgICAgIGNvbnN0IHthc3NvY2lhdGlvbnMsIHJhbnNhY2thYmxlQXR0cmlidXRlcywgcmFuc2Fja2FibGVTY29wZXN9ID0gdGhpcy5wYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpXG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe2Fzc29jaWF0aW9ucywgcmFuc2Fja2FibGVBdHRyaWJ1dGVzLCByYW5zYWNrYWJsZVNjb3Blc30pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZGVjcmVhc2VMb2FkaW5nKClcbiAgICB9XG4gIH1cblxuICBkZWNyZWFzZUxvYWRpbmcgPSAoKSA9PiB0aGlzLnNldFN0YXRlKChwcmV2U3RhdGUpID0+ICh7bG9hZGluZzogcHJldlN0YXRlLmxvYWRpbmcgLSAxfSkpXG4gIGluY3JlYXNlTG9hZGluZyA9ICgpID0+IHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4gKHtsb2FkaW5nOiBwcmV2U3RhdGUubG9hZGluZyArIDF9KSlcblxuICBhc3luYyBsb2FkSW5pdGlhbFZhbHVlc1dpdGhMb2FkaW5nSW5kaWNhdG9yKCkge1xuICAgIHRyeSB7XG4gICAgICB0aGlzLmluY3JlYXNlTG9hZGluZygpXG4gICAgICBhd2FpdCB0aGlzLmxvYWRJbml0aWFsVmFsdWVzKClcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGxvYWRJbml0aWFsVmFsdWVzKCkge1xuICAgIGlmICghdGhpcy5zLm1vZGVsQ2xhc3NOYW1lKSB0aHJvdyBuZXcgRXJyb3IoXCInbW9kZWxDbGFzc05hbWUnIG5vdCBzZXQgaW4gc3RhdGVcIilcblxuICAgIGxldCByZXN1bHQgPSBhd2FpdCBTZXJ2aWNlcy5jdXJyZW50KCkuc2VuZFJlcXVlc3QoXCJNb2RlbHM6OkFzc29jaWF0aW9uc1wiLCB7bW9kZWxfY2xhc3NfbmFtZTogdGhpcy5zLm1vZGVsQ2xhc3NOYW1lfSlcbiAgICBsZXQgZGF0YSA9IHRoaXMucGFyc2VBc3NvY2lhdGlvbkRhdGEocmVzdWx0KVxuICAgIGxldCBtb2RlbENsYXNzTmFtZSA9IHRoaXMucy5tb2RlbENsYXNzTmFtZVxuICAgIGNvbnN0IHBhdGggPSBbXVxuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiB0aGlzLnByb3BzLmZpbHRlci5wKSB7XG4gICAgICBjb25zdCByZWZsZWN0aW9uID0gZGF0YS5hc3NvY2lhdGlvbnMuZmluZCgoYXNzb2NpYXRpb24pID0+IGRpZ2coYXNzb2NpYXRpb24sIFwicmVmbGVjdGlvbk5hbWVcIikgPT0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwYXRoUGFydCwgdHJ1ZSkpXG5cbiAgICAgIGlmICghcmVmbGVjdGlvbikgdGhyb3cgbmV3IEVycm9yKGBDb3VsZG4ndCBmaW5kIGFzc29jaWF0aW9uIGJ5IHRoYXQgbmFtZSAke3RoaXMucy5tb2RlbENsYXNzTmFtZX0jJHtwYXRoUGFydH1gKVxuXG4gICAgICBtb2RlbENsYXNzTmFtZSA9IGRpZ2cocmVmbGVjdGlvbiwgXCJtb2RlbENsYXNzTmFtZVwiKVxuXG4gICAgICBpZiAoIW1vZGVsQ2xhc3NOYW1lKSB7XG4gICAgICAgIGNvbnN0IHBhdGhOYW1lcyA9IHBhdGgubWFwKChwYXRoUGFydCkgPT4gcGF0aFBhcnQubmFtZSgpKS5qb2luKFwiLlwiKVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgTm8gbW9kZWwgY2xhc3MgbmFtZSBmcm9tICR7cGF0aE5hbWVzfS4ke3JlZmxlY3Rpb24ubmFtZSgpfWApXG4gICAgICB9XG5cbiAgICAgIHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIk1vZGVsczo6QXNzb2NpYXRpb25zXCIsIHttb2RlbF9jbGFzc19uYW1lOiBtb2RlbENsYXNzTmFtZX0pXG4gICAgICBkYXRhID0gdGhpcy5wYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpXG5cbiAgICAgIHBhdGgucHVzaChyZWZsZWN0aW9uKVxuICAgIH1cblxuICAgIGNvbnN0IHtyYW5zYWNrYWJsZUF0dHJpYnV0ZXN9ID0gZGF0YVxuICAgIGNvbnN0IGF0dHJpYnV0ZSA9IHRoaXMucC5maWx0ZXIuYVxuICAgIGNvbnN0IHJhbnNhY2thYmxlQXR0cmlidXRlID0gcmFuc2Fja2FibGVBdHRyaWJ1dGVzLmZpbmQoKHJhbnNhY2thYmxlQXR0cmlidXRlKSA9PiBkaWdnKHJhbnNhY2thYmxlQXR0cmlidXRlLCBcImF0dHJpYnV0ZU5hbWVcIikgPT0gYXR0cmlidXRlKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7YXR0cmlidXRlOiByYW5zYWNrYWJsZUF0dHJpYnV0ZSwgbW9kZWxDbGFzc05hbWUsIHBhdGh9KVxuICB9XG5cbiAgYXN5bmMgbG9hZFJhbnNhY2tQcmVkaWNhdGVzKCkge1xuICAgIHRoaXMuaW5jcmVhc2VMb2FkaW5nKClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIlJhbnNhY2s6OlByZWRpY2F0ZXNcIilcbiAgICAgIGNvbnN0IHByZWRpY2F0ZXMgPSBkaWdnKHJlc3BvbnNlLCBcInByZWRpY2F0ZXNcIilcbiAgICAgIGxldCBjdXJyZW50UHJlZGljYXRlXG5cbiAgICAgIGlmICh0aGlzLnByb3BzLmZpbHRlci5wcmUpIHtcbiAgICAgICAgY3VycmVudFByZWRpY2F0ZSA9IHByZWRpY2F0ZXMuZmluZCgocHJlZGljYXRlKSA9PiBwcmVkaWNhdGUubmFtZSA9PSB0aGlzLnByb3BzLmZpbHRlci5wcmUpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICBwcmVkaWNhdGU6IGN1cnJlbnRQcmVkaWNhdGUsXG4gICAgICAgIHByZWRpY2F0ZXNcbiAgICAgIH0pXG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIHRoaXMuZGVjcmVhc2VMb2FkaW5nKClcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgY29uc3Qge2JyZWFrcG9pbnQsIHQsIHZhbHVlSW5wdXRSZWZ9ID0gdGhpcy50dFxuICAgIGNvbnN0IHthdHRyaWJ1dGUsIHBhdGgsIHByZWRpY2F0ZSwgcHJlZGljYXRlcywgc2NvcGUsIHZhbHVlfSA9IHRoaXMuc1xuICAgIGNvbnN0IHttZFVwfSA9IGJyZWFrcG9pbnRcbiAgICBsZXQgc3VibWl0RW5hYmxlZCA9IGZhbHNlXG5cbiAgICBpZiAoYXR0cmlidXRlICYmIHByZWRpY2F0ZSkge1xuICAgICAgc3VibWl0RW5hYmxlZCA9IHRydWVcbiAgICB9IGVsc2UgaWYgKHNjb3BlKSB7XG4gICAgICBzdWJtaXRFbmFibGVkID0gdHJ1ZVxuICAgIH1cblxuICAgIHJldHVybiAoXG4gICAgICA8Q2FyZFxuICAgICAgICB0ZXN0SUQ9XCJhcGktbWFrZXIvdGFibGUvZmlsdGVycy9maWx0ZXItZm9ybVwiXG4gICAgICAgIHN0eWxlPXtzdHlsZXNbYGNhcmQtJHttZFVwfWBdIHx8PSB7XG4gICAgICAgICAgd2lkdGg6IG1kVXAgPyB1bmRlZmluZWQgOiBcIjEwMCVcIixcbiAgICAgICAgICBtaW5XaWR0aDogNTAsXG4gICAgICAgICAgbWluSGVpZ2h0OiA1MFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8Rm9ybSBvblN1Ym1pdD17dGhpcy50dC5vblN1Ym1pdH0+XG4gICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5wYXRoUm93IHx8PSB7ZmxleERpcmVjdGlvbjogXCJyb3dcIn19PlxuICAgICAgICAgICAge3BhdGgubWFwKCh7aHVtYW5OYW1lLCByZWZsZWN0aW9uTmFtZX0sIHBhdGhQYXJ0SW5kZXgpID0+XG4gICAgICAgICAgICAgIDxWaWV3IGtleT17YCR7cGF0aFBhcnRJbmRleH0tJHtyZWZsZWN0aW9uTmFtZX1gfSBzdHlsZT17c3R5bGVzLnBhdGhJdGVtUm93IHx8PSB7ZmxleERpcmVjdGlvbjogXCJyb3dcIn19PlxuICAgICAgICAgICAgICAgIHtwYXRoUGFydEluZGV4ID4gMCAmJlxuICAgICAgICAgICAgICAgICAgPFRleHQgc3R5bGU9e3N0eWxlcy5wYXRoU2VwYXJhdG9yIHx8PSB7bWFyZ2luUmlnaHQ6IDUsIG1hcmdpbkxlZnQ6IDV9fT5cbiAgICAgICAgICAgICAgICAgICAgLVxuICAgICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICA8VGV4dD5cbiAgICAgICAgICAgICAgICAgIHtodW1hbk5hbWV9XG4gICAgICAgICAgICAgICAgPC9UZXh0PlxuICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2BmaWx0ZXJzUm93LSR7bWRVcH1gXSB8fD0ge2ZsZXhEaXJlY3Rpb246IG1kVXAgPyBcInJvd1wiIDogXCJjb2x1bW5cIn19PlxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlc1tgcmVsYXRpb25zaGlwc0NvbHVtbi0ke21kVXB9YF0gfHw9IHttYXJnaW5Ub3A6IG1kVXAgPyB1bmRlZmluZWQgOiAyNX19PlxuICAgICAgICAgICAgICA8SGVhZGVyPlxuICAgICAgICAgICAgICAgIHt0KFwiLnJlbGF0aW9uc2hpcHNcIiwge2RlZmF1bHRWYWx1ZTogXCJSZWxhdGlvbnNoaXBzXCJ9KX1cbiAgICAgICAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgICAgICAgIHt0aGlzLnMuYXNzb2NpYXRpb25zICYmIHRoaXMuc29ydGVkUmVmbGVjdGlvbnNCeU5hbWUodGhpcy5zLmFzc29jaWF0aW9ucykubWFwKChyZWZsZWN0aW9uKSA9PlxuICAgICAgICAgICAgICAgIDxSZWZsZWN0aW9uRWxlbWVudFxuICAgICAgICAgICAgICAgICAga2V5PXtyZWZsZWN0aW9uLnJlZmxlY3Rpb25OYW1lfVxuICAgICAgICAgICAgICAgICAgbW9kZWxDbGFzc05hbWU9e3RoaXMucy5tb2RlbENsYXNzTmFtZX1cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e3RoaXMudHQub25SZWZsZWN0aW9uQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICAgIHJlZmxlY3Rpb249e3JlZmxlY3Rpb259XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXNbYGF0dHJpYnV0ZXNDb2x1bW4tJHttZFVwfWBdIHx8PSB7bWFyZ2luVG9wOiBtZFVwID8gdW5kZWZpbmVkIDogMjV9fT5cbiAgICAgICAgICAgICAgPEhlYWRlcj5cbiAgICAgICAgICAgICAgICB7dChcIi5hdHRyaWJ1dGVzXCIsIHtkZWZhdWx0VmFsdWU6IFwiQXR0cmlidXRlc1wifSl9XG4gICAgICAgICAgICAgIDwvSGVhZGVyPlxuICAgICAgICAgICAgICB7dGhpcy5zLnJhbnNhY2thYmxlQXR0cmlidXRlcyAmJiB0aGlzLnNvcnRlZEF0dHJpYnV0ZXNCeU5hbWUodGhpcy5zLnJhbnNhY2thYmxlQXR0cmlidXRlcyk/Lm1hcCgoYXR0cmlidXRlKSA9PlxuICAgICAgICAgICAgICAgIDxBdHRyaWJ1dGVFbGVtZW50XG4gICAgICAgICAgICAgICAgICBhY3RpdmU9e2F0dHJpYnV0ZS5hdHRyaWJ1dGVOYW1lID09IHRoaXMucy5hdHRyaWJ1dGU/LmF0dHJpYnV0ZU5hbWV9XG4gICAgICAgICAgICAgICAgICBhdHRyaWJ1dGU9e2F0dHJpYnV0ZX1cbiAgICAgICAgICAgICAgICAgIGtleT17YXR0cmlidXRlLmF0dHJpYnV0ZU5hbWV9XG4gICAgICAgICAgICAgICAgICBtb2RlbENsYXNzTmFtZT17dGhpcy5zLm1vZGVsQ2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy50dC5vbkF0dHJpYnV0ZUNsaWNrZWR9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge3RoaXMucy5yYW5zYWNrYWJsZVNjb3Blcz8ubWFwKChzY29wZSkgPT5cbiAgICAgICAgICAgICAgICA8U2NvcGVFbGVtZW50XG4gICAgICAgICAgICAgICAgICBhY3RpdmU9e3Njb3BlID09IHRoaXMucy5zY29wZX1cbiAgICAgICAgICAgICAgICAgIGtleT17c2NvcGV9XG4gICAgICAgICAgICAgICAgICBzY29wZT17c2NvcGV9XG4gICAgICAgICAgICAgICAgICBvblNjb3BlQ2xpY2tlZD17dGhpcy50dC5vblNjb3BlQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlc1tgc2VhcmNoQ29sdW1uLSR7bWRVcH1gXSB8fD0ge21hcmdpblRvcDogbWRVcCA/IHVuZGVmaW5lZCA6IDI1fX0+XG4gICAgICAgICAgICAgIDxIZWFkZXI+XG4gICAgICAgICAgICAgICAge3QoXCIuc2VhcmNoXCIsIHtkZWZhdWx0VmFsdWU6IFwiU2VhcmNoXCJ9KX1cbiAgICAgICAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgICAgICAgIDxWaWV3PlxuICAgICAgICAgICAgICAgIHtwcmVkaWNhdGVzICYmICF0aGlzLnMuc2NvcGUgJiZcbiAgICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPVwicHJlZGljYXRlLXNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgIGRlZmF1bHRWYWx1ZT17cHJlZGljYXRlPy5uYW1lfVxuICAgICAgICAgICAgICAgICAgICBpbmNsdWRlQmxhbmtcbiAgICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMudHQub25QcmVkaWNhdGVDaGFuZ2VkfVxuICAgICAgICAgICAgICAgICAgICBvcHRpb25zPXtwcmVkaWNhdGVzLm1hcCgocHJlZGljYXRlKSA9PiBkaWdnKHByZWRpY2F0ZSwgXCJuYW1lXCIpKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXMuc2VhcmNoSW5wdXRDb250YWluZXIgfHw9IHttYXJnaW5Ub3A6IDEwfX0+XG4gICAgICAgICAgICAgICAgeygoYXR0cmlidXRlICYmIHByZWRpY2F0ZSkgfHwgc2NvcGUpICYmXG4gICAgICAgICAgICAgICAgICA8SW5wdXQgY2xhc3NOYW1lPVwidmFsdWUtaW5wdXRcIiBkZWZhdWx0VmFsdWU9e3ZhbHVlfSBpbnB1dFJlZj17dmFsdWVJbnB1dFJlZn0gLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5hY3Rpb25zUm93IHx8PSB7ZmxleERpcmVjdGlvbjogXCJyb3dcIiwganVzdGlmeUNvbnRlbnQ6IFwiZW5kXCIsIG1hcmdpblRvcDogMTB9fT5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgZGFuZ2VyXG4gICAgICAgICAgICAgIGljb249XCJyZW1vdmVcIlxuICAgICAgICAgICAgICBsYWJlbD17dChcIi5jYW5jZWxcIiwge2RlZmF1bHRWYWx1ZTogXCJDYW5jZWxcIn0pfVxuICAgICAgICAgICAgICBvblByZXNzPXt0aGlzLnAub25SZXF1ZXN0Q2xvc2V9XG4gICAgICAgICAgICAgIHByZXNzYWJsZVByb3BzPXt0aGlzLmNhY2hlKFwiY2FuY2VsQnV0dG9uUHJlc3NhYmxlUHJvcHNcIiwge1xuICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiA1XG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgLz5cbiAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgZGlzYWJsZWQ9eyFzdWJtaXRFbmFibGVkfVxuICAgICAgICAgICAgICBpY29uPVwiY2hlY2tcIlxuICAgICAgICAgICAgICBsYWJlbD17dChcIi5hcHBseVwiLCB7ZGVmYXVsdFZhbHVlOiBcIkFwcGx5XCJ9KX1cbiAgICAgICAgICAgICAgcHJlc3NhYmxlUHJvcHM9e3RoaXMuY2FjaGUoXCJhcHBsZUJ1dHRvblByZXNzYWJsZVByb3BzXCIsIHtcbiAgICAgICAgICAgICAgICBzdHlsZToge21hcmdpbkxlZnQ6IDV9LFxuICAgICAgICAgICAgICAgIHRlc3RJRDogXCJhcHBseS1maWx0ZXItYnV0dG9uXCJcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIHN1Ym1pdFxuICAgICAgICAgICAgLz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIDwvRm9ybT5cbiAgICAgICAge3RoaXMucy5sb2FkaW5nID4gMCAmJlxuICAgICAgICAgIDxWaWV3XG4gICAgICAgICAgICBzdHlsZT17c3R5bGVzLmxvYWRpbmdPdmVybGF5IHx8PSB7XG4gICAgICAgICAgICAgIGFsaWduSXRlbXM6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBcImNlbnRlclwiLFxuICAgICAgICAgICAgICBwb3NpdGlvbjogXCJhYnNvbHV0ZVwiLFxuICAgICAgICAgICAgICB3aWR0aDogXCIxMDAlXCIsXG4gICAgICAgICAgICAgIGhlaWdodDogXCIxMDAlXCJcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEFjdGl2aXR5SW5kaWNhdG9yIHNpemU9XCJsYXJnZVwiIC8+XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICB9XG4gICAgICA8L0NhcmQ+XG4gICAgKVxuICB9XG5cbiAgY3VycmVudE1vZGVsQ2xhc3NGcm9tUGF0aChwYXRoKSB7XG4gICAgY29uc3Qge21vZGVsQ2xhc3N9ID0gdGhpcy5wXG4gICAgbGV0IGN1cnJlbnRNb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuXG4gICAgZm9yIChjb25zdCBwYXRoUGFydCBvZiBwYXRoKSB7XG4gICAgICBjb25zdCBjYW1lbGl6ZWRQYXRoUGFydCA9IGluZmxlY3Rpb24uY2FtZWxpemUocGF0aFBhcnQsIHRydWUpXG4gICAgICBjb25zdCBhc3NvY2lhdGlvbiA9IGN1cnJlbnRNb2RlbENsYXNzLnJhbnNhY2thYmxlQXNzb2NpYXRpb25zKCkuZmluZCgocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5uYW1lKCkgPT0gY2FtZWxpemVkUGF0aFBhcnQpXG5cbiAgICAgIGlmICghYXNzb2NpYXRpb24pIHtcbiAgICAgICAgY29uc3QgcmFuc2Fja2FibGVBc3NvY2lhdGlvbk5hbWVzID0gY3VycmVudE1vZGVsQ2xhc3MucmFuc2Fja2FibGVBc3NvY2lhdGlvbnMoKS5tYXAoKHJlZmxlY3Rpb24pID0+IHJlZmxlY3Rpb24ubmFtZSgpKS5qb2luKFwiLCBcIilcblxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYENvdWxkIG5vdCBmaW5kIGEgUmFuc2Fja2FibGUgYXNzb2NpYXRpb24gYnkgdGhhdCBuYW1lOiAke2NhbWVsaXplZFBhdGhQYXJ0fSBpbiAke3JhbnNhY2thYmxlQXNzb2NpYXRpb25OYW1lc31gKVxuICAgICAgfVxuXG4gICAgICBjdXJyZW50TW9kZWxDbGFzcyA9IGFzc29jaWF0aW9uLm1vZGVsQ2xhc3MoKVxuICAgIH1cblxuICAgIHJldHVybiBjdXJyZW50TW9kZWxDbGFzc1xuICB9XG5cbiAgY3VycmVudFBhdGhQYXJ0cygpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnBcbiAgICBjb25zdCB7cGF0aH0gPSB0aGlzLnNcbiAgICBjb25zdCByZXN1bHQgPSBbXVxuICAgIGxldCBjdXJyZW50TW9kZWxDbGFzcyA9IG1vZGVsQ2xhc3NcblxuICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgIG1vZGVsQ2xhc3MsXG4gICAgICB0cmFuc2xhdGlvbjogbW9kZWxDbGFzcy5tb2RlbE5hbWUoKS5odW1hbih7Y291bnQ6IDJ9KVxuICAgIH0pXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHBhdGgpIHtcbiAgICAgIGNvbnN0IGNhbWVsaXplZFBhdGhQYXJ0ID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwYXRoUGFydCwgdHJ1ZSlcbiAgICAgIGNvbnN0IHBhdGhQYXJ0VHJhbnNsYXRpb24gPSBjdXJyZW50TW9kZWxDbGFzcy5odW1hbkF0dHJpYnV0ZU5hbWUoY2FtZWxpemVkUGF0aFBhcnQpXG5cbiAgICAgIGN1cnJlbnRNb2RlbENsYXNzID0gY3VycmVudE1vZGVsQ2xhc3MucmFuc2Fja2FibGVBc3NvY2lhdGlvbnMoKS5maW5kKChyZWZsZWN0aW9uKSA9PiByZWZsZWN0aW9uLm5hbWUoKSA9PSBjYW1lbGl6ZWRQYXRoUGFydCkubW9kZWxDbGFzcygpXG5cbiAgICAgIHJlc3VsdC5wdXNoKHtcbiAgICAgICAgbW9kZWxDbGFzczogY3VycmVudE1vZGVsQ2xhc3MsXG4gICAgICAgIHRyYW5zbGF0aW9uOiBwYXRoUGFydFRyYW5zbGF0aW9uXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIG9uQXR0cmlidXRlQ2xpY2tlZCA9ICh7YXR0cmlidXRlfSkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXR0cmlidXRlLFxuICAgICAgc2NvcGU6IHVuZGVmaW5lZFxuICAgIH0pXG4gIH1cblxuICBvblByZWRpY2F0ZUNoYW5nZWQgPSAoZSkgPT4ge1xuICAgIGNvbnN0IGNob3NlblByZWRpY2F0ZU5hbWUgPSBkaWdnKGUsIFwidGFyZ2V0XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBwcmVkaWNhdGUgPSB0aGlzLnMucHJlZGljYXRlcy5maW5kKChwcmVkaWNhdGUpID0+IHByZWRpY2F0ZS5uYW1lID09IGNob3NlblByZWRpY2F0ZU5hbWUpXG5cbiAgICB0aGlzLnNldFN0YXRlKHtwcmVkaWNhdGV9KVxuICB9XG5cbiAgb25SZWZsZWN0aW9uQ2xpY2tlZCA9ICh7cmVmbGVjdGlvbn0pID0+IHtcbiAgICBjb25zdCBuZXdQYXRoID0gdGhpcy5zLnBhdGguY29uY2F0KFtyZWZsZWN0aW9uXSlcblxuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXNzb2NpYXRpb25zOiBudWxsLFxuICAgICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgICBhY3R1YWxDdXJyZW50TW9kZWxDbGFzczoge21vZGVsQ2xhc3M6IGRpZ2cocmVmbGVjdGlvbiwgXCJyZXNvdXJjZVwiKX0sXG4gICAgICBtb2RlbENsYXNzTmFtZTogZGlnZyhyZWZsZWN0aW9uLCBcIm1vZGVsQ2xhc3NOYW1lXCIpLFxuICAgICAgcGF0aDogbmV3UGF0aCxcbiAgICAgIHByZWRpY2F0ZTogdW5kZWZpbmVkXG4gICAgfSlcbiAgfVxuXG4gIG9uU2NvcGVDbGlja2VkID0gKHtzY29wZX0pID0+IHtcbiAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgIGF0dHJpYnV0ZTogdW5kZWZpbmVkLFxuICAgICAgcHJlZGljYXRlOiB1bmRlZmluZWQsXG4gICAgICBzY29wZVxuICAgIH0pXG4gIH1cblxuICBvblN1Ym1pdCA9ICgpID0+IHtcbiAgICBjb25zdCB7ZmlsdGVyLCBxdWVyeVNlYXJjaE5hbWV9ID0gdGhpcy5wXG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgcGF0aCwgcHJlZGljYXRlLCBzY29wZX0gPSB0aGlzLnNcbiAgICBjb25zdCB7ZmlsdGVySW5kZXh9ID0gZGlncyhmaWx0ZXIsIFwiZmlsdGVySW5kZXhcIilcbiAgICBjb25zdCBzZWFyY2hQYXJhbXMgPSBQYXJhbXMucGFyc2UoKVtxdWVyeVNlYXJjaE5hbWVdIHx8IHt9XG4gICAgY29uc3QgdmFsdWUgPSBkaWdnKHRoaXMudHQudmFsdWVJbnB1dFJlZiwgXCJjdXJyZW50XCIsIFwidmFsdWVcIilcbiAgICBjb25zdCBwID0gcGF0aC5tYXAoKHJlZmxlY3Rpb24pID0+IGluZmxlY3Rpb24udW5kZXJzY29yZShyZWZsZWN0aW9uLnJlZmxlY3Rpb25OYW1lKSlcbiAgICBjb25zdCBuZXdTZWFyY2hQYXJhbXMgPSB7XG4gICAgICBwLFxuICAgICAgdjogdmFsdWVcbiAgICB9XG5cbiAgICBpZiAoYXR0cmlidXRlKSB7XG4gICAgICBuZXdTZWFyY2hQYXJhbXMuYSA9IGRpZ2coYXR0cmlidXRlLCBcImF0dHJpYnV0ZU5hbWVcIilcbiAgICAgIG5ld1NlYXJjaFBhcmFtcy5wcmUgPSBkaWdnKHByZWRpY2F0ZSwgXCJuYW1lXCIpXG4gICAgfSBlbHNlIGlmIChzY29wZSkge1xuICAgICAgbmV3U2VhcmNoUGFyYW1zLnNjID0gc2NvcGVcbiAgICB9IGVsc2Uge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiRG9udCBrbm93IGlmIHNob3VsZCBzZWFyY2ggZm9yIGF0dHJpYnV0ZSBvciBzY29wZT9cIilcbiAgICB9XG5cbiAgICBzZWFyY2hQYXJhbXNbZmlsdGVySW5kZXhdID0gSlNPTi5zdHJpbmdpZnkobmV3U2VhcmNoUGFyYW1zKVxuXG4gICAgY29uc3QgbmV3UGFyYW1zID0ge31cblxuICAgIG5ld1BhcmFtc1txdWVyeVNlYXJjaE5hbWVdID0gc2VhcmNoUGFyYW1zXG5cbiAgICBQYXJhbXMuY2hhbmdlUGFyYW1zKG5ld1BhcmFtcylcblxuICAgIHRoaXMucHJvcHMub25BcHBseUNsaWNrZWQoKVxuICB9XG5cbiAgcmVmbGVjdGlvbnNXaXRoTW9kZWxDbGFzcyhyZWZsZWN0aW9ucykge1xuICAgIHJldHVybiByZWZsZWN0aW9ucy5maWx0ZXIoKHJlZmxlY3Rpb24pID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIHJlZmxlY3Rpb24ubW9kZWxDbGFzcygpXG5cbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIHJldHVybiBmYWxzZVxuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBzb3J0ZWRBdHRyaWJ1dGVzQnlOYW1lKGF0dHJpYnV0ZXMpIHtcbiAgICByZXR1cm4gYXR0cmlidXRlcy5zb3J0KChhLCBiKSA9PlxuICAgICAgZGlnZyhhLCBcImh1bWFuTmFtZVwiKVxuICAgICAgICAudG9Mb3dlckNhc2UoKVxuICAgICAgICAubG9jYWxlQ29tcGFyZShcbiAgICAgICAgICBkaWdnKGIsIFwiaHVtYW5OYW1lXCIpLnRvTG93ZXJDYXNlKClcbiAgICAgICAgKVxuICAgIClcbiAgfVxuXG4gIHNvcnRlZFJlZmxlY3Rpb25zQnlOYW1lKHJlZmxlY3Rpb25zKSB7XG4gICAgcmV0dXJuIHJlZmxlY3Rpb25zLnNvcnQoKGEsIGIpID0+XG4gICAgICBkaWdnKGEsIFwiaHVtYW5OYW1lXCIpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5sb2NhbGVDb21wYXJlKFxuICAgICAgICAgIGRpZ2coYiwgXCJodW1hbk5hbWVcIikudG9Mb3dlckNhc2UoKVxuICAgICAgICApXG4gICAgKVxuICB9XG59KSlcbiJdfQ==
294
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmlsdGVyLWZvcm0uanMiLCJzb3VyY2VSb290IjoiL3NyYy8iLCJzb3VyY2VzIjpbInRhYmxlL2ZpbHRlcnMvZmlsdGVyLWZvcm0uanN4Il0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSx1RkFBdUY7QUFDdkYsdUhBQXVIO0FBQ3ZILCtFQUErRTtBQUMvRSxpRkFBaUY7QUFDakYsT0FBTyxLQUFLLEVBQUUsRUFBQyxPQUFPLEVBQUUsTUFBTSxFQUFDLE1BQU0sT0FBTyxDQUFBO0FBQzVDLE9BQU8sRUFBQyxpQkFBaUIsRUFBRSxJQUFJLEVBQUMsTUFBTSxjQUFjLENBQUE7QUFDcEQsT0FBTyxnQkFBZ0IsTUFBTSxxQkFBcUIsQ0FBQTtBQUNsRCxPQUFPLGFBQWEsTUFBTSxzQkFBc0IsQ0FBQTtBQUNoRCxPQUFPLE1BQU0sTUFBTSxvQkFBb0IsQ0FBQTtBQUN2QyxPQUFPLElBQUksTUFBTSxrQkFBa0IsQ0FBQTtBQUNuQyxPQUFPLEVBQUMsSUFBSSxFQUFFLElBQUksRUFBQyxNQUFNLFdBQVcsQ0FBQTtBQUNwQyxPQUFPLEtBQUssVUFBVSxNQUFNLFlBQVksQ0FBQTtBQUN4QyxPQUFPLEVBQUMsSUFBSSxFQUFDLE1BQU0sWUFBWSxDQUFBO0FBQy9CLE9BQU8sTUFBTSxNQUFNLG9CQUFvQixDQUFBO0FBQ3ZDLE9BQU8sS0FBSyxNQUFNLG9CQUFvQixDQUFBO0FBQ3RDLE9BQU8sSUFBSSxNQUFNLGlDQUFpQyxDQUFBO0FBQ2xELE9BQU8sTUFBTSxNQUFNLGlCQUFpQixDQUFBO0FBQ3BDLE9BQU8sU0FBUyxNQUFNLFlBQVksQ0FBQTtBQUNsQyxPQUFPLGNBQWMsTUFBTSxrQkFBa0IsQ0FBQTtBQUM3QyxPQUFPLGlCQUFpQixNQUFNLHNCQUFzQixDQUFBO0FBQ3BELE9BQU8sWUFBWSxNQUFNLGlCQUFpQixDQUFBO0FBQzFDLE9BQU8sTUFBTSxNQUFNLHFCQUFxQixDQUFBO0FBQ3hDLE9BQU8sUUFBUSxNQUFNLG1CQUFtQixDQUFBO0FBQ3hDLE9BQU8sRUFBQyxj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QUNILENBQUM7Q0FDRixDQUFDLENBQUMsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGNvbW1hLWRhbmdsZSwgaW1wbGljaXQtYXJyb3ctbGluZWJyZWFrLCBpbXBvcnQvbm8tbmFtZWQtYXMtZGVmYXVsdCAqL1xuLyogZXNsaW50LWRpc2FibGUgY29tcGxleGl0eSwgbmV3LWNhcCwgbmV3bGluZS1wZXItY2hhaW5lZC1jYWxsLCBuby1hd2FpdC1pbi1sb29wLCBuby1leHRyYS1wYXJlbnMsIG5vLXJldHVybi1hc3NpZ24gKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzLCByZWFjdC9qc3gtbWF4LWRlcHRoLCByZWFjdC9qc3gtbm8tbGl0ZXJhbHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2pzeC1zb3J0LXByb3BzLCByZWFjdC9uby1hcnJheS1pbmRleC1rZXksIHNvcnQtaW1wb3J0cyAqL1xuaW1wb3J0IFJlYWN0LCB7dXNlTWVtbywgdXNlUmVmfSBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IHtBY3Rpdml0eUluZGljYXRvciwgVmlld30gZnJvbSBcInJlYWN0LW5hdGl2ZVwiXG5pbXBvcnQgQXR0cmlidXRlRWxlbWVudCBmcm9tIFwiLi9hdHRyaWJ1dGUtZWxlbWVudFwiXG5pbXBvcnQgQmFzZUNvbXBvbmVudCBmcm9tIFwiLi4vLi4vYmFzZS1jb21wb25lbnRcIlxuaW1wb3J0IEJ1dHRvbiBmcm9tIFwiLi4vLi4vdXRpbHMvYnV0dG9uXCJcbmltcG9ydCBDYXJkIGZyb20gXCIuLi8uLi91dGlscy9jYXJkXCJcbmltcG9ydCB7ZGlnZywgZGlnc30gZnJvbSBcImRpZ2dlcml6ZVwiXG5pbXBvcnQgKiBhcyBpbmZsZWN0aW9uIGZyb20gXCJpbmZsZWN0aW9uXCJcbmltcG9ydCB7Rm9ybX0gZnJvbSBcIi4uLy4uL2Zvcm1cIlxuaW1wb3J0IEhlYWRlciBmcm9tIFwiLi4vLi4vdXRpbHMvaGVhZGVyXCJcbmltcG9ydCBJbnB1dCBmcm9tIFwiLi4vLi4vaW5wdXRzL2lucHV0XCJcbmltcG9ydCBtZW1vIGZyb20gXCJzZXQtc3RhdGUtY29tcGFyZS9idWlsZC9tZW1vLmpzXCJcbmltcG9ydCBQYXJhbXMgZnJvbSBcIi4uLy4uL3BhcmFtcy5qc1wiXG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gXCJwcm9wLXR5cGVzXCJcbmltcG9ydCBQcm9wVHlwZXNFeGFjdCBmcm9tIFwicHJvcC10eXBlcy1leGFjdFwiXG5pbXBvcnQgUmVmbGVjdGlvbkVsZW1lbnQgZnJvbSBcIi4vcmVmbGVjdGlvbi1lbGVtZW50XCJcbmltcG9ydCBTY29wZUVsZW1lbnQgZnJvbSBcIi4vc2NvcGUtZWxlbWVudFwiXG5pbXBvcnQgU2VsZWN0IGZyb20gXCIuLi8uLi9pbnB1dHMvc2VsZWN0XCJcbmltcG9ydCBTZXJ2aWNlcyBmcm9tIFwiLi4vLi4vc2VydmljZXMuanNcIlxuaW1wb3J0IHtzaGFwZUNvbXBvbmVudH0gZnJvbSBcInNldC1zdGF0ZS1jb21wYXJlL2J1aWxkL3NoYXBlLWNvbXBvbmVudC5qc1wiXG5pbXBvcnQgVGV4dCBmcm9tIFwiLi4vLi4vdXRpbHMvdGV4dFwiXG5pbXBvcnQge3VzZUJyZWFrcG9pbnR9IGZyb20gXCJyZXNwb25zaXZlLWJyZWFrcG9pbnRzXCJcbmltcG9ydCB1c2VJMThuIGZyb20gXCJpMThuLW9uLXN0ZXJvaWRzL3NyYy91c2UtaTE4bi5tanNcIlxuXG5jb25zdCBzdHlsZXMgPSB7fVxuXG5leHBvcnQgZGVmYXVsdCBtZW1vKHNoYXBlQ29tcG9uZW50KGNsYXNzIEFwaU1ha2VyVGFibGVGaWx0ZXJzRmlsdGVyRm9ybSBleHRlbmRzIEJhc2VDb21wb25lbnQge1xuICBzdGF0aWMgcHJvcFR5cGVzID0gUHJvcFR5cGVzRXhhY3Qoe1xuICAgIGZpbHRlcjogUHJvcFR5cGVzLm9iamVjdCxcbiAgICBtb2RlbENsYXNzOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uQXBwbHlDbGlja2VkOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIG9uUmVxdWVzdENsb3NlOiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICAgIHF1ZXJ5U2VhcmNoTmFtZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pXG5cbiAgc2V0dXAoKSB7XG4gICAgY29uc3Qge3R9ID0gdXNlSTE4bih7bmFtZXNwYWNlOiBcImpzLmFwaV9tYWtlci50YWJsZS5maWx0ZXJzLmZpbHRlcl9mb3JtXCJ9KVxuXG4gICAgdGhpcy51c2VTdGF0ZXMoe1xuICAgICAgYXNzb2NpYXRpb25zOiBudWxsLFxuICAgICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgICBhY3R1YWxDdXJyZW50TW9kZWxDbGFzczogKCkgPT4gKHttb2RlbENsYXNzOiB0aGlzLnAubW9kZWxDbGFzc30pLFxuICAgICAgbG9hZGluZzogMCxcbiAgICAgIG1vZGVsQ2xhc3NOYW1lOiBkaWdnKHRoaXMucC5tb2RlbENsYXNzLm1vZGVsQ2xhc3NEYXRhKCksIFwiY2xhc3NOYW1lXCIpLFxuICAgICAgcGF0aDogW10sXG4gICAgICBwcmVkaWNhdGU6IHVuZGVmaW5lZCxcbiAgICAgIHByZWRpY2F0ZXM6IHVuZGVmaW5lZCxcbiAgICAgIHJhbnNhY2thYmxlQXR0cmlidXRlczogdW5kZWZpbmVkLFxuICAgICAgcmFuc2Fja2FibGVTY29wZXM6IHVuZGVmaW5lZCxcbiAgICAgIHNjb3BlOiB0aGlzLnByb3BzLmZpbHRlci5zYyxcbiAgICAgIHZhbHVlOiB0aGlzLnByb3BzLmZpbHRlci52XG4gICAgfSlcblxuICAgIHRoaXMuc2V0SW5zdGFuY2Uoe1xuICAgICAgYnJlYWtwb2ludDogdXNlQnJlYWtwb2ludCgpLFxuICAgICAgdCxcbiAgICAgIHZhbHVlSW5wdXRSZWY6IHVzZVJlZigpLFxuICAgIH0pXG5cbiAgICB1c2VNZW1vKCgpID0+IHtcbiAgICAgIHRoaXMubG9hZFJhbnNhY2tQcmVkaWNhdGVzKClcblxuICAgICAgaWYgKHRoaXMucHJvcHMuZmlsdGVyLnYpIHtcbiAgICAgICAgdGhpcy5sb2FkSW5pdGlhbFZhbHVlc1dpdGhMb2FkaW5nSW5kaWNhdG9yKClcbiAgICAgIH1cbiAgICB9LCBbXSlcblxuICAgIHVzZU1lbW8oKCkgPT4ge1xuICAgICAgdGhpcy5sb2FkQXNzb2NpYXRpb25zKClcbiAgICB9LCBbdGhpcy5zLm1vZGVsQ2xhc3NOYW1lXSlcbiAgfVxuXG4gIGN1cnJlbnRNb2RlbENsYXNzID0gKCkgPT4gZGlnZyh0aGlzLnMuYWN0dWFsQ3VycmVudE1vZGVsQ2xhc3MsIFwibW9kZWxDbGFzc1wiKVxuXG4gIHBhcnNlQXNzb2NpYXRpb25EYXRhKHJlc3VsdCkge1xuICAgIGNvbnN0IGFzc29jaWF0aW9ucyA9IHJlc3VsdC5hc3NvY2lhdGlvbnMubWFwKCh7aHVtYW5fbmFtZSwgbW9kZWxfY2xhc3NfbmFtZSwgcmVmbGVjdGlvbl9uYW1lLCByZXNvdXJjZX0pID0+ICh7XG4gICAgICBodW1hbk5hbWU6IGh1bWFuX25hbWUsXG4gICAgICBtb2RlbENsYXNzTmFtZTogbW9kZWxfY2xhc3NfbmFtZSxcbiAgICAgIHJlZmxlY3Rpb25OYW1lOiBpbmZsZWN0aW9uLmNhbWVsaXplKHJlZmxlY3Rpb25fbmFtZSwgdHJ1ZSksXG4gICAgICByZXNvdXJjZVxuICAgIH0pKVxuICAgIGNvbnN0IHJhbnNhY2thYmxlQXR0cmlidXRlcyA9IGRpZ2cocmVzdWx0LCBcInJhbnNhY2thYmxlX2F0dHJpYnV0ZXNcIikubWFwKCh7YXR0cmlidXRlX25hbWU6IGF0dHJpYnV0ZU5hbWUsIGh1bWFuX25hbWU6IGh1bWFuTmFtZX0pID0+ICh7XG4gICAgICBhdHRyaWJ1dGVOYW1lLCBodW1hbk5hbWVcbiAgICB9KSlcbiAgICBjb25zdCByYW5zYWNrYWJsZVNjb3BlcyA9IGRpZ2cocmVzdWx0LCBcInJhbnNhY2thYmxlX3Njb3Blc1wiKVxuXG4gICAgcmV0dXJuIHthc3NvY2lhdGlvbnMsIHJhbnNhY2thYmxlQXR0cmlidXRlcywgcmFuc2Fja2FibGVTY29wZXN9XG4gIH1cblxuICBhc3luYyBsb2FkQXNzb2NpYXRpb25zKCkge1xuICAgIHRoaXMuaW5jcmVhc2VMb2FkaW5nKClcblxuICAgIHRyeSB7XG4gICAgICBpZiAoIXRoaXMucy5tb2RlbENsYXNzTmFtZSkgdGhyb3cgbmV3IEVycm9yKFwiJ21vZGVsQ2xhc3NOYW1lJyBub3Qgc2V0IGluIHN0YXRlXCIpXG5cbiAgICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIk1vZGVsczo6QXNzb2NpYXRpb25zXCIsIHttb2RlbF9jbGFzc19uYW1lOiB0aGlzLnMubW9kZWxDbGFzc05hbWV9KVxuICAgICAgY29uc3Qge2Fzc29jaWF0aW9ucywgcmFuc2Fja2FibGVBdHRyaWJ1dGVzLCByYW5zYWNrYWJsZVNjb3Blc30gPSB0aGlzLnBhcnNlQXNzb2NpYXRpb25EYXRhKHJlc3VsdClcblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7YXNzb2NpYXRpb25zLCByYW5zYWNrYWJsZUF0dHJpYnV0ZXMsIHJhbnNhY2thYmxlU2NvcGVzfSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIGRlY3JlYXNlTG9hZGluZyA9ICgpID0+IHRoaXMuc2V0U3RhdGUoKHByZXZTdGF0ZSkgPT4gKHtsb2FkaW5nOiBwcmV2U3RhdGUubG9hZGluZyAtIDF9KSlcbiAgaW5jcmVhc2VMb2FkaW5nID0gKCkgPT4gdGhpcy5zZXRTdGF0ZSgocHJldlN0YXRlKSA9PiAoe2xvYWRpbmc6IHByZXZTdGF0ZS5sb2FkaW5nICsgMX0pKVxuXG4gIGFzeW5jIGxvYWRJbml0aWFsVmFsdWVzV2l0aExvYWRpbmdJbmRpY2F0b3IoKSB7XG4gICAgdHJ5IHtcbiAgICAgIHRoaXMuaW5jcmVhc2VMb2FkaW5nKClcbiAgICAgIGF3YWl0IHRoaXMubG9hZEluaXRpYWxWYWx1ZXMoKVxuICAgIH0gZmluYWxseSB7XG4gICAgICB0aGlzLmRlY3JlYXNlTG9hZGluZygpXG4gICAgfVxuICB9XG5cbiAgYXN5bmMgbG9hZEluaXRpYWxWYWx1ZXMoKSB7XG4gICAgaWYgKCF0aGlzLnMubW9kZWxDbGFzc05hbWUpIHRocm93IG5ldyBFcnJvcihcIidtb2RlbENsYXNzTmFtZScgbm90IHNldCBpbiBzdGF0ZVwiKVxuXG4gICAgbGV0IHJlc3VsdCA9IGF3YWl0IFNlcnZpY2VzLmN1cnJlbnQoKS5zZW5kUmVxdWVzdChcIk1vZGVsczo6QXNzb2NpYXRpb25zXCIsIHttb2RlbF9jbGFzc19uYW1lOiB0aGlzLnMubW9kZWxDbGFzc05hbWV9KVxuICAgIGxldCBkYXRhID0gdGhpcy5wYXJzZUFzc29jaWF0aW9uRGF0YShyZXN1bHQpXG4gICAgbGV0IG1vZGVsQ2xhc3NOYW1lID0gdGhpcy5zLm1vZGVsQ2xhc3NOYW1lXG4gICAgY29uc3QgcGF0aCA9IFtdXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHRoaXMucHJvcHMuZmlsdGVyLnApIHtcbiAgICAgIGNvbnN0IHJlZmxlY3Rpb24gPSBkYXRhLmFzc29jaWF0aW9ucy5maW5kKChhc3NvY2lhdGlvbikgPT4gZGlnZyhhc3NvY2lhdGlvbiwgXCJyZWZsZWN0aW9uTmFtZVwiKSA9PSBpbmZsZWN0aW9uLmNhbWVsaXplKHBhdGhQYXJ0LCB0cnVlKSlcblxuICAgICAgaWYgKCFyZWZsZWN0aW9uKSB0aHJvdyBuZXcgRXJyb3IoYENvdWxkbid0IGZpbmQgYXNzb2NpYXRpb24gYnkgdGhhdCBuYW1lICR7dGhpcy5zLm1vZGVsQ2xhc3NOYW1lfSMke3BhdGhQYXJ0fWApXG5cbiAgICAgIG1vZGVsQ2xhc3NOYW1lID0gZGlnZyhyZWZsZWN0aW9uLCBcIm1vZGVsQ2xhc3NOYW1lXCIpXG5cbiAgICAgIGlmICghbW9kZWxDbGFzc05hbWUpIHtcbiAgICAgICAgY29uc3QgcGF0aE5hbWVzID0gcGF0aC5tYXAoKHBhdGhQYXJ0KSA9PiBwYXRoUGFydC5uYW1lKCkpLmpvaW4oXCIuXCIpXG5cbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBObyBtb2RlbCBjbGFzcyBuYW1lIGZyb20gJHtwYXRoTmFtZXN9LiR7cmVmbGVjdGlvbi5uYW1lKCl9YClcbiAgICAgIH1cblxuICAgICAgcmVzdWx0ID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiTW9kZWxzOjpBc3NvY2lhdGlvbnNcIiwge21vZGVsX2NsYXNzX25hbWU6IG1vZGVsQ2xhc3NOYW1lfSlcbiAgICAgIGRhdGEgPSB0aGlzLnBhcnNlQXNzb2NpYXRpb25EYXRhKHJlc3VsdClcblxuICAgICAgcGF0aC5wdXNoKHJlZmxlY3Rpb24pXG4gICAgfVxuXG4gICAgY29uc3Qge3JhbnNhY2thYmxlQXR0cmlidXRlc30gPSBkYXRhXG4gICAgY29uc3QgYXR0cmlidXRlID0gdGhpcy5wLmZpbHRlci5hXG4gICAgY29uc3QgcmFuc2Fja2FibGVBdHRyaWJ1dGUgPSByYW5zYWNrYWJsZUF0dHJpYnV0ZXMuZmluZCgocmFuc2Fja2FibGVBdHRyaWJ1dGUpID0+IGRpZ2cocmFuc2Fja2FibGVBdHRyaWJ1dGUsIFwiYXR0cmlidXRlTmFtZVwiKSA9PSBhdHRyaWJ1dGUpXG5cbiAgICB0aGlzLnNldFN0YXRlKHthdHRyaWJ1dGU6IHJhbnNhY2thYmxlQXR0cmlidXRlLCBtb2RlbENsYXNzTmFtZSwgcGF0aH0pXG4gIH1cblxuICBhc3luYyBsb2FkUmFuc2Fja1ByZWRpY2F0ZXMoKSB7XG4gICAgdGhpcy5pbmNyZWFzZUxvYWRpbmcoKVxuXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgU2VydmljZXMuY3VycmVudCgpLnNlbmRSZXF1ZXN0KFwiUmFuc2Fjazo6UHJlZGljYXRlc1wiKVxuICAgICAgY29uc3QgcHJlZGljYXRlcyA9IGRpZ2cocmVzcG9uc2UsIFwicHJlZGljYXRlc1wiKVxuICAgICAgbGV0IGN1cnJlbnRQcmVkaWNhdGVcblxuICAgICAgaWYgKHRoaXMucHJvcHMuZmlsdGVyLnByZSkge1xuICAgICAgICBjdXJyZW50UHJlZGljYXRlID0gcHJlZGljYXRlcy5maW5kKChwcmVkaWNhdGUpID0+IHByZWRpY2F0ZS5uYW1lID09IHRoaXMucHJvcHMuZmlsdGVyLnByZSlcbiAgICAgIH1cblxuICAgICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICAgIHByZWRpY2F0ZTogY3VycmVudFByZWRpY2F0ZSxcbiAgICAgICAgcHJlZGljYXRlc1xuICAgICAgfSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgdGhpcy5kZWNyZWFzZUxvYWRpbmcoKVxuICAgIH1cbiAgfVxuXG4gIHJlbmRlcigpIHtcbiAgICBjb25zdCB7YnJlYWtwb2ludCwgdCwgdmFsdWVJbnB1dFJlZn0gPSB0aGlzLnR0XG4gICAgY29uc3Qge2F0dHJpYnV0ZSwgcGF0aCwgcHJlZGljYXRlLCBwcmVkaWNhdGVzLCBzY29wZSwgdmFsdWV9ID0gdGhpcy5zXG4gICAgY29uc3Qge21kVXB9ID0gYnJlYWtwb2ludFxuICAgIGxldCBzdWJtaXRFbmFibGVkID0gZmFsc2VcblxuICAgIGlmIChhdHRyaWJ1dGUgJiYgcHJlZGljYXRlKSB7XG4gICAgICBzdWJtaXRFbmFibGVkID0gdHJ1ZVxuICAgIH0gZWxzZSBpZiAoc2NvcGUpIHtcbiAgICAgIHN1Ym1pdEVuYWJsZWQgPSB0cnVlXG4gICAgfVxuXG4gICAgcmV0dXJuIChcbiAgICAgIDxDYXJkXG4gICAgICAgIHRlc3RJRD1cImFwaS1tYWtlci90YWJsZS9maWx0ZXJzL2ZpbHRlci1mb3JtXCJcbiAgICAgICAgc3R5bGU9e3N0eWxlc1tgY2FyZC0ke21kVXB9YF0gfHw9IHtcbiAgICAgICAgICB3aWR0aDogbWRVcCA/IHVuZGVmaW5lZCA6IFwiMTAwJVwiLFxuICAgICAgICAgIG1pbldpZHRoOiA1MCxcbiAgICAgICAgICBtaW5IZWlnaHQ6IDUwXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIDxGb3JtIG9uU3VibWl0PXt0aGlzLnR0Lm9uU3VibWl0fT5cbiAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzLnBhdGhSb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wifX0+XG4gICAgICAgICAgICB7cGF0aC5tYXAoKHtodW1hbk5hbWUsIHJlZmxlY3Rpb25OYW1lfSwgcGF0aFBhcnRJbmRleCkgPT5cbiAgICAgICAgICAgICAgPFZpZXcga2V5PXtgJHtwYXRoUGFydEluZGV4fS0ke3JlZmxlY3Rpb25OYW1lfWB9IHN0eWxlPXtzdHlsZXMucGF0aEl0ZW1Sb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wifX0+XG4gICAgICAgICAgICAgICAge3BhdGhQYXJ0SW5kZXggPiAwICYmXG4gICAgICAgICAgICAgICAgICA8VGV4dCBzdHlsZT17c3R5bGVzLnBhdGhTZXBhcmF0b3IgfHw9IHttYXJnaW5SaWdodDogNSwgbWFyZ2luTGVmdDogNX19PlxuICAgICAgICAgICAgICAgICAgICAtXG4gICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIDxUZXh0PlxuICAgICAgICAgICAgICAgICAge2h1bWFuTmFtZX1cbiAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDxWaWV3IHN0eWxlPXtzdHlsZXNbYGZpbHRlcnNSb3ctJHttZFVwfWBdIHx8PSB7ZmxleERpcmVjdGlvbjogbWRVcCA/IFwicm93XCIgOiBcImNvbHVtblwifX0+XG4gICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2ByZWxhdGlvbnNoaXBzQ29sdW1uLSR7bWRVcH1gXSB8fD0ge21hcmdpblRvcDogbWRVcCA/IHVuZGVmaW5lZCA6IDI1fX0+XG4gICAgICAgICAgICAgIDxIZWFkZXI+XG4gICAgICAgICAgICAgICAge3QoXCIucmVsYXRpb25zaGlwc1wiLCB7ZGVmYXVsdFZhbHVlOiBcIlJlbGF0aW9uc2hpcHNcIn0pfVxuICAgICAgICAgICAgICA8L0hlYWRlcj5cbiAgICAgICAgICAgICAge3RoaXMucy5hc3NvY2lhdGlvbnMgJiYgdGhpcy5zb3J0ZWRSZWZsZWN0aW9uc0J5TmFtZSh0aGlzLnMuYXNzb2NpYXRpb25zKS5tYXAoKHJlZmxlY3Rpb24pID0+XG4gICAgICAgICAgICAgICAgPFJlZmxlY3Rpb25FbGVtZW50XG4gICAgICAgICAgICAgICAgICBrZXk9e3JlZmxlY3Rpb24ucmVmbGVjdGlvbk5hbWV9XG4gICAgICAgICAgICAgICAgICBtb2RlbENsYXNzTmFtZT17dGhpcy5zLm1vZGVsQ2xhc3NOYW1lfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17dGhpcy50dC5vblJlZmxlY3Rpb25DbGlja2VkfVxuICAgICAgICAgICAgICAgICAgcmVmbGVjdGlvbj17cmVmbGVjdGlvbn1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlc1tgYXR0cmlidXRlc0NvbHVtbi0ke21kVXB9YF0gfHw9IHttYXJnaW5Ub3A6IG1kVXAgPyB1bmRlZmluZWQgOiAyNX19PlxuICAgICAgICAgICAgICA8SGVhZGVyPlxuICAgICAgICAgICAgICAgIHt0KFwiLmF0dHJpYnV0ZXNcIiwge2RlZmF1bHRWYWx1ZTogXCJBdHRyaWJ1dGVzXCJ9KX1cbiAgICAgICAgICAgICAgPC9IZWFkZXI+XG4gICAgICAgICAgICAgIHt0aGlzLnMucmFuc2Fja2FibGVBdHRyaWJ1dGVzICYmIHRoaXMuc29ydGVkQXR0cmlidXRlc0J5TmFtZSh0aGlzLnMucmFuc2Fja2FibGVBdHRyaWJ1dGVzKT8ubWFwKChhdHRyaWJ1dGUpID0+XG4gICAgICAgICAgICAgICAgPEF0dHJpYnV0ZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17YXR0cmlidXRlLmF0dHJpYnV0ZU5hbWUgPT0gdGhpcy5zLmF0dHJpYnV0ZT8uYXR0cmlidXRlTmFtZX1cbiAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZT17YXR0cmlidXRlfVxuICAgICAgICAgICAgICAgICAga2V5PXthdHRyaWJ1dGUuYXR0cmlidXRlTmFtZX1cbiAgICAgICAgICAgICAgICAgIG1vZGVsQ2xhc3NOYW1lPXt0aGlzLnMubW9kZWxDbGFzc05hbWV9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXt0aGlzLnR0Lm9uQXR0cmlidXRlQ2xpY2tlZH1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICB7dGhpcy5zLnJhbnNhY2thYmxlU2NvcGVzPy5tYXAoKHNjb3BlKSA9PlxuICAgICAgICAgICAgICAgIDxTY29wZUVsZW1lbnRcbiAgICAgICAgICAgICAgICAgIGFjdGl2ZT17c2NvcGUgPT0gdGhpcy5zLnNjb3BlfVxuICAgICAgICAgICAgICAgICAga2V5PXtzY29wZX1cbiAgICAgICAgICAgICAgICAgIHNjb3BlPXtzY29wZX1cbiAgICAgICAgICAgICAgICAgIG9uU2NvcGVDbGlja2VkPXt0aGlzLnR0Lm9uU2NvcGVDbGlja2VkfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICl9XG4gICAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzW2BzZWFyY2hDb2x1bW4tJHttZFVwfWBdIHx8PSB7bWFyZ2luVG9wOiBtZFVwID8gdW5kZWZpbmVkIDogMjV9fT5cbiAgICAgICAgICAgICAgPEhlYWRlcj5cbiAgICAgICAgICAgICAgICB7dChcIi5zZWFyY2hcIiwge2RlZmF1bHRWYWx1ZTogXCJTZWFyY2hcIn0pfVxuICAgICAgICAgICAgICA8L0hlYWRlcj5cbiAgICAgICAgICAgICAgPFZpZXc+XG4gICAgICAgICAgICAgICAge3ByZWRpY2F0ZXMgJiYgIXRoaXMucy5zY29wZSAmJlxuICAgICAgICAgICAgICAgICAgPFNlbGVjdFxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJwcmVkaWNhdGUtc2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgICAgZGVmYXVsdFZhbHVlPXtwcmVkaWNhdGU/Lm5hbWV9XG4gICAgICAgICAgICAgICAgICAgIGluY2x1ZGVCbGFua1xuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17dGhpcy50dC5vblByZWRpY2F0ZUNoYW5nZWR9XG4gICAgICAgICAgICAgICAgICAgIG9wdGlvbnM9e3ByZWRpY2F0ZXMubWFwKChwcmVkaWNhdGUpID0+IGRpZ2cocHJlZGljYXRlLCBcIm5hbWVcIikpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICAgICAgPFZpZXcgc3R5bGU9e3N0eWxlcy5zZWFyY2hJbnB1dENvbnRhaW5lciB8fD0ge21hcmdpblRvcDogMTB9fT5cbiAgICAgICAgICAgICAgICB7KChhdHRyaWJ1dGUgJiYgcHJlZGljYXRlKSB8fCBzY29wZSkgJiZcbiAgICAgICAgICAgICAgICAgIDxJbnB1dCBjbGFzc05hbWU9XCJ2YWx1ZS1pbnB1dFwiIGRlZmF1bHRWYWx1ZT17dmFsdWV9IGlucHV0UmVmPXt2YWx1ZUlucHV0UmVmfSAvPlxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgICAgPC9WaWV3PlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgICA8VmlldyBzdHlsZT17c3R5bGVzLmFjdGlvbnNSb3cgfHw9IHtmbGV4RGlyZWN0aW9uOiBcInJvd1wiLCBqdXN0aWZ5Q29udGVudDogXCJlbmRcIiwgbWFyZ2luVG9wOiAxMH19PlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBkYW5nZXJcbiAgICAgICAgICAgICAgaWNvbj1cInJlbW92ZVwiXG4gICAgICAgICAgICAgIGxhYmVsPXt0KFwiLmNhbmNlbFwiLCB7ZGVmYXVsdFZhbHVlOiBcIkNhbmNlbFwifSl9XG4gICAgICAgICAgICAgIG9uUHJlc3M9e3RoaXMucC5vblJlcXVlc3RDbG9zZX1cbiAgICAgICAgICAgICAgcHJlc3NhYmxlUHJvcHM9e3RoaXMuY2FjaGUoXCJjYW5jZWxCdXR0b25QcmVzc2FibGVQcm9wc1wiLCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luUmlnaHQ6IDVcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICBkaXNhYmxlZD17IXN1Ym1pdEVuYWJsZWR9XG4gICAgICAgICAgICAgIGljb249XCJjaGVja1wiXG4gICAgICAgICAgICAgIGxhYmVsPXt0KFwiLmFwcGx5XCIsIHtkZWZhdWx0VmFsdWU6IFwiQXBwbHlcIn0pfVxuICAgICAgICAgICAgICBwcmVzc2FibGVQcm9wcz17dGhpcy5jYWNoZShcImFwcGxlQnV0dG9uUHJlc3NhYmxlUHJvcHNcIiwge1xuICAgICAgICAgICAgICAgIHN0eWxlOiB7bWFyZ2luTGVmdDogNX0sXG4gICAgICAgICAgICAgICAgdGVzdElEOiBcImFwcGx5LWZpbHRlci1idXR0b25cIlxuICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgc3VibWl0XG4gICAgICAgICAgICAvPlxuICAgICAgICAgIDwvVmlldz5cbiAgICAgICAgPC9Gb3JtPlxuICAgICAgICB7dGhpcy5zLmxvYWRpbmcgPiAwICYmXG4gICAgICAgICAgPFZpZXdcbiAgICAgICAgICAgIHN0eWxlPXtzdHlsZXMubG9hZGluZ092ZXJsYXkgfHw9IHtcbiAgICAgICAgICAgICAgYWxpZ25JdGVtczogXCJjZW50ZXJcIixcbiAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6IFwiY2VudGVyXCIsXG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBcImFic29sdXRlXCIsXG4gICAgICAgICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgICAgICAgaGVpZ2h0OiBcIjEwMCVcIlxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8QWN0aXZpdHlJbmRpY2F0b3Igc2l6ZT1cImxhcmdlXCIgLz5cbiAgICAgICAgICA8L1ZpZXc+XG4gICAgICAgIH1cbiAgICAgIDwvQ2FyZD5cbiAgICApXG4gIH1cblxuICBjdXJyZW50TW9kZWxDbGFzc0Zyb21QYXRoKHBhdGgpIHtcbiAgICBjb25zdCB7bW9kZWxDbGFzc30gPSB0aGlzLnBcbiAgICBsZXQgY3VycmVudE1vZGVsQ2xhc3MgPSBtb2RlbENsYXNzXG5cbiAgICBmb3IgKGNvbnN0IHBhdGhQYXJ0IG9mIHBhdGgpIHtcbiAgICAgIGNvbnN0IGNhbWVsaXplZFBhdGhQYXJ0ID0gaW5mbGVjdGlvbi5jYW1lbGl6ZShwYXRoUGFydCwgdHJ1ZSlcbiAgICAgIGNvbnN0IGFzc29jaWF0aW9uID0gY3VycmVudE1vZGVsQ2xhc3MucmFuc2Fja2FibGVBc3NvY2lhdGlvbnMoKS5maW5kKChyZWZsZWN0aW9uKSA9PiByZWZsZWN0aW9uLm5hbWUoKSA9PSBjYW1lbGl6ZWRQYXRoUGFydClcblxuICAgICAgaWYgKCFhc3NvY2lhdGlvbikge1xuICAgICAgICBjb25zdCByYW5zYWNrYWJsZUFzc29jaWF0aW9uTmFtZXMgPSBjdXJyZW50TW9kZWxDbGFzcy5yYW5zYWNrYWJsZUFzc29jaWF0aW9ucygpLm1hcCgocmVmbGVjdGlvbikgPT4gcmVmbGVjdGlvbi5uYW1lKCkpLmpvaW4oXCIsIFwiKVxuXG4gICAgICAgIHRocm93IG5ldyBFcnJvcihgQ291bGQgbm90IGZpbmQgYSBSYW5zYWNrYWJsZSBhc3NvY2lhdGlvbiBieSB0aGF0IG5hbWU6ICR7Y2FtZWxpemVkUGF0aFBhcnR9IGluICR7cmFuc2Fja2FibGVBc3NvY2lhdGlvbk5hbWVzfWApXG4gICAgICB9XG5cbiAgICAgIGN1cnJlbnRNb2RlbENsYXNzID0gYXNzb2NpYXRpb24ubW9kZWxDbGFzcygpXG4gICAgfVxuXG4gICAgcmV0dXJuIGN1cnJlbnRNb2RlbENsYXNzXG4gIH1cblxuICBjdXJyZW50UGF0aFBhcnRzKCkge1xuICAgIGNvbnN0IHttb2RlbENsYXNzfSA9IHRoaXMucFxuICAgIGNvbnN0IHtwYXRofSA9IHRoaXMuc1xuICAgIGNvbnN0IHJlc3VsdCA9IFtdXG4gICAgbGV0IGN1cnJlbnRNb2RlbENsYXNzID0gbW9kZWxDbGFzc1xuXG4gICAgcmVzdWx0LnB1c2goe1xuICAgICAgbW9kZWxDbGFzcyxcbiAgICAgIHRyYW5zbGF0aW9uOiBtb2RlbENsYXNzLm1vZGVsTmFtZSgpLmh1bWFuKHtjb3VudDogMn0pXG4gICAgfSlcblxuICAgIGZvciAoY29uc3QgcGF0aFBhcnQgb2YgcGF0aCkge1xuICAgICAgY29uc3QgY2FtZWxpemVkUGF0aFBhcnQgPSBpbmZsZWN0aW9uLmNhbWVsaXplKHBhdGhQYXJ0LCB0cnVlKVxuICAgICAgY29uc3QgcGF0aFBhcnRUcmFuc2xhdGlvbiA9IGN1cnJlbnRNb2RlbENsYXNzLmh1bWFuQXR0cmlidXRlTmFtZShjYW1lbGl6ZWRQYXRoUGFydClcblxuICAgICAgY3VycmVudE1vZGVsQ2xhc3MgPSBjdXJyZW50TW9kZWxDbGFzcy5yYW5zYWNrYWJsZUFzc29jaWF0aW9ucygpLmZpbmQoKHJlZmxlY3Rpb24pID0+IHJlZmxlY3Rpb24ubmFtZSgpID09IGNhbWVsaXplZFBhdGhQYXJ0KS5tb2RlbENsYXNzKClcblxuICAgICAgcmVzdWx0LnB1c2goe1xuICAgICAgICBtb2RlbENsYXNzOiBjdXJyZW50TW9kZWxDbGFzcyxcbiAgICAgICAgdHJhbnNsYXRpb246IHBhdGhQYXJ0VHJhbnNsYXRpb25cbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgb25BdHRyaWJ1dGVDbGlja2VkID0gKHthdHRyaWJ1dGV9KSA9PiB7XG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhdHRyaWJ1dGUsXG4gICAgICBzY29wZTogdW5kZWZpbmVkXG4gICAgfSlcbiAgfVxuXG4gIG9uUHJlZGljYXRlQ2hhbmdlZCA9IChlKSA9PiB7XG4gICAgY29uc3QgY2hvc2VuUHJlZGljYXRlTmFtZSA9IGRpZ2coZSwgXCJ0YXJnZXRcIiwgXCJ2YWx1ZVwiKVxuICAgIGNvbnN0IHByZWRpY2F0ZSA9IHRoaXMucy5wcmVkaWNhdGVzLmZpbmQoKHByZWRpY2F0ZSkgPT4gcHJlZGljYXRlLm5hbWUgPT0gY2hvc2VuUHJlZGljYXRlTmFtZSlcblxuICAgIHRoaXMuc2V0U3RhdGUoe3ByZWRpY2F0ZX0pXG4gIH1cblxuICBvblJlZmxlY3Rpb25DbGlja2VkID0gKHtyZWZsZWN0aW9ufSkgPT4ge1xuICAgIGNvbnN0IG5ld1BhdGggPSB0aGlzLnMucGF0aC5jb25jYXQoW3JlZmxlY3Rpb25dKVxuXG4gICAgdGhpcy5zZXRTdGF0ZSh7XG4gICAgICBhc3NvY2lhdGlvbnM6IG51bGwsXG4gICAgICBhdHRyaWJ1dGU6IHVuZGVmaW5lZCxcbiAgICAgIGFjdHVhbEN1cnJlbnRNb2RlbENsYXNzOiB7bW9kZWxDbGFzczogZGlnZyhyZWZsZWN0aW9uLCBcInJlc291cmNlXCIpfSxcbiAgICAgIG1vZGVsQ2xhc3NOYW1lOiBkaWdnKHJlZmxlY3Rpb24sIFwibW9kZWxDbGFzc05hbWVcIiksXG4gICAgICBwYXRoOiBuZXdQYXRoLFxuICAgICAgcHJlZGljYXRlOiB1bmRlZmluZWRcbiAgICB9KVxuICB9XG5cbiAgb25TY29wZUNsaWNrZWQgPSAoe3Njb3BlfSkgPT4ge1xuICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgYXR0cmlidXRlOiB1bmRlZmluZWQsXG4gICAgICBwcmVkaWNhdGU6IHVuZGVmaW5lZCxcbiAgICAgIHNjb3BlXG4gICAgfSlcbiAgfVxuXG4gIG9uU3VibWl0ID0gKCkgPT4ge1xuICAgIGNvbnN0IHtmaWx0ZXIsIHF1ZXJ5U2VhcmNoTmFtZX0gPSB0aGlzLnBcbiAgICBjb25zdCB7YXR0cmlidXRlLCBwYXRoLCBwcmVkaWNhdGUsIHNjb3BlfSA9IHRoaXMuc1xuICAgIGNvbnN0IHtmaWx0ZXJJbmRleH0gPSBkaWdzKGZpbHRlciwgXCJmaWx0ZXJJbmRleFwiKVxuICAgIGNvbnN0IHNlYXJjaFBhcmFtcyA9IFBhcmFtcy5wYXJzZSgpW3F1ZXJ5U2VhcmNoTmFtZV0gfHwge31cbiAgICBjb25zdCB2YWx1ZSA9IGRpZ2codGhpcy50dC52YWx1ZUlucHV0UmVmLCBcImN1cnJlbnRcIiwgXCJ2YWx1ZVwiKVxuICAgIGNvbnN0IHAgPSBwYXRoLm1hcCgocmVmbGVjdGlvbikgPT4gaW5mbGVjdGlvbi51bmRlcnNjb3JlKHJlZmxlY3Rpb24ucmVmbGVjdGlvbk5hbWUpKVxuICAgIGNvbnN0IG5ld1NlYXJjaFBhcmFtcyA9IHtcbiAgICAgIHAsXG4gICAgICB2OiB2YWx1ZVxuICAgIH1cblxuICAgIGlmIChhdHRyaWJ1dGUpIHtcbiAgICAgIG5ld1NlYXJjaFBhcmFtcy5hID0gZGlnZyhhdHRyaWJ1dGUsIFwiYXR0cmlidXRlTmFtZVwiKVxuICAgICAgbmV3U2VhcmNoUGFyYW1zLnByZSA9IGRpZ2cocHJlZGljYXRlLCBcIm5hbWVcIilcbiAgICB9IGVsc2UgaWYgKHNjb3BlKSB7XG4gICAgICBuZXdTZWFyY2hQYXJhbXMuc2MgPSBzY29wZVxuICAgIH0gZWxzZSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJEb250IGtub3cgaWYgc2hvdWxkIHNlYXJjaCBmb3IgYXR0cmlidXRlIG9yIHNjb3BlP1wiKVxuICAgIH1cblxuICAgIHNlYXJjaFBhcmFtc1tmaWx0ZXJJbmRleF0gPSBKU09OLnN0cmluZ2lmeShuZXdTZWFyY2hQYXJhbXMpXG5cbiAgICBjb25zdCBuZXdQYXJhbXMgPSB7fVxuXG4gICAgbmV3UGFyYW1zW3F1ZXJ5U2VhcmNoTmFtZV0gPSBzZWFyY2hQYXJhbXNcblxuICAgIFBhcmFtcy5jaGFuZ2VQYXJhbXMobmV3UGFyYW1zKVxuXG4gICAgdGhpcy5wcm9wcy5vbkFwcGx5Q2xpY2tlZCgpXG4gIH1cblxuICByZWZsZWN0aW9uc1dpdGhNb2RlbENsYXNzKHJlZmxlY3Rpb25zKSB7XG4gICAgcmV0dXJuIHJlZmxlY3Rpb25zLmZpbHRlcigocmVmbGVjdGlvbikgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgcmVmbGVjdGlvbi5tb2RlbENsYXNzKClcblxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgcmV0dXJuIGZhbHNlXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHNvcnRlZEF0dHJpYnV0ZXNCeU5hbWUoYXR0cmlidXRlcykge1xuICAgIHJldHVybiBhdHRyaWJ1dGVzLnNvcnQoKGEsIGIpID0+XG4gICAgICBkaWdnKGEsIFwiaHVtYW5OYW1lXCIpXG4gICAgICAgIC50b0xvd2VyQ2FzZSgpXG4gICAgICAgIC5sb2NhbGVDb21wYXJlKFxuICAgICAgICAgIGRpZ2coYiwgXCJodW1hbk5hbWVcIikudG9Mb3dlckNhc2UoKVxuICAgICAgICApXG4gICAgKVxuICB9XG5cbiAgc29ydGVkUmVmbGVjdGlvbnNCeU5hbWUocmVmbGVjdGlvbnMpIHtcbiAgICByZXR1cm4gcmVmbGVjdGlvbnMuc29ydCgoYSwgYikgPT5cbiAgICAgIGRpZ2coYSwgXCJodW1hbk5hbWVcIilcbiAgICAgICAgLnRvTG93ZXJDYXNlKClcbiAgICAgICAgLmxvY2FsZUNvbXBhcmUoXG4gICAgICAgICAgZGlnZyhiLCBcImh1bWFuTmFtZVwiKS50b0xvd2VyQ2FzZSgpXG4gICAgICAgIClcbiAgICApXG4gIH1cbn0pKVxuIl19