@sapui5/sap.fe.macros 1.126.1 → 1.126.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sapui5/sap.fe.macros",
3
- "version": "1.126.1",
3
+ "version": "1.126.2",
4
4
  "description": "SAPUI5 Library sap.fe.macros",
5
5
  "keywords": [
6
6
  "sapui5",
@@ -6,7 +6,7 @@
6
6
  SAP UI development toolkit for HTML5 (SAPUI5)
7
7
  (c) Copyright 2009-2021 SAP SE. All rights reserved
8
8
  </copyright>
9
- <version>1.126.1</version>
9
+ <version>1.126.2</version>
10
10
 
11
11
  <documentation>UI5 library: sap.fe.macros</documentation>
12
12
 
@@ -77,7 +77,7 @@ sap.ui.define(["sap/base/util/merge", "sap/base/util/uid", "sap/fe/base/ClassSup
77
77
  UIArea.rerenderControl(this.content);
78
78
  };
79
79
  _proto.getController = function getController() {
80
- return this.getModel("$view").getObject("").getController();
80
+ return this.getModel("$view").getObject("/").getController();
81
81
  }
82
82
 
83
83
  /**
@@ -153,4 +153,4 @@ sap.ui.define(["sap/base/util/merge", "sap/base/util/uid", "sap/fe/base/ClassSup
153
153
  })), _class2)) || _class);
154
154
  return MacroAPI;
155
155
  }, false);
156
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYWNyb0FQSSIsImRlZmluZVVJNUNsYXNzIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwiYWdncmVnYXRpb24iLCJ0eXBlIiwibXVsdGlwbGUiLCJpc0RlZmF1bHQiLCJwcm9wZXJ0eSIsIm1TZXR0aW5ncyIsIm90aGVycyIsInBhcmVudENvbnRleHRUb0JpbmQiLCJhcHBseVNldHRpbmdzIiwib1Njb3BlIiwiZXZlbnRzS2V5cyIsIk9iamVjdCIsImtleXMiLCJnZXRNZXRhZGF0YSIsImdldEV2ZW50cyIsImV2ZW50c0tleSIsInVuZGVmaW5lZCIsImluaXQiLCJnZXRNb2RlbCIsIm9QYWdlTW9kZWwiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsInNldE1vZGVsIiwicmVyZW5kZXIiLCJVSUFyZWEiLCJyZXJlbmRlckNvbnRyb2wiLCJjb250ZW50IiwiZ2V0Q29udHJvbGxlciIsImdldE9iamVjdCIsInNldFBhcmVudEJpbmRpbmdDb250ZXh0IiwibW9kZWxOYW1lIiwicGF0aCIsInNldFBhcmVudCIsImFyZ3MiLCJmb3JFYWNoIiwiZ2V0UGFyZW50IiwiYmluZE9iamVjdCIsIm1vZGVsIiwiZXZlbnRzIiwiY2hhbmdlIiwib0JvdW5kQ29udGV4dCIsImdldEJvdW5kQ29udGV4dCIsInNldFByb3BlcnR5IiwiQnVpbGRpbmdCbG9ja0Jhc2UiLCJuYW1lc3BhY2UiLCJtYWNyb05hbWUiLCJmcmFnbWVudCIsImhhc1ZhbGlkYXRpb24iLCJnZXRDb252ZXJ0ZXJDb250ZXh0Iiwib0RhdGFNb2RlbFBhdGgiLCJjb250ZXh0UGF0aCIsIm9BcHBDb21wb25lbnQiLCJhcHBDb21wb25lbnQiLCJ2aWV3RGF0YSIsIm1vZGVscyIsImdldERhdGEiLCJDb252ZXJ0ZXJDb250ZXh0IiwiY3JlYXRlQ29udmVydGVyQ29udGV4dEZvck1hY3JvIiwic3RhcnRpbmdFbnRpdHlTZXQiLCJuYW1lIiwibWV0YU1vZGVsIiwiZ2V0RGlhZ25vc3RpY3MiLCJtZXJnZSIsImNvbnRleHRMb2NhdGlvbiIsImNyZWF0ZUJpbmRpbmdDb250ZXh0Iiwib0RhdGEiLCJzQ29udGV4dFBhdGgiLCJ1aWQiLCJjb252ZXJ0ZXJDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNYWNyb0FQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWVyZ2UgZnJvbSBcInNhcC9iYXNlL3V0aWwvbWVyZ2VcIjtcbmltcG9ydCB1aWQgZnJvbSBcInNhcC9iYXNlL3V0aWwvdWlkXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVVSTVDbGFzcywgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tCYXNlIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrQmFzZVwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRlUHJvY2Vzc29yXCI7XG5pbXBvcnQgQ29udmVydGVyQ29udGV4dCBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9Db252ZXJ0ZXJDb250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsTW9kZWxDb250ZXh0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgJE1hbmFnZWRPYmplY3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgVUlBcmVhIGZyb20gXCJzYXAvdWkvY29yZS9VSUFyZWFcIjtcbmltcG9ydCB0eXBlIHsgSUZvcm1Db250ZW50IH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIENsaWVudENvbnRleHRCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvQ2xpZW50Q29udGV4dEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5cbi8qKlxuICogQmFzZSBBUEkgY29udHJvbCBmb3IgYnVpbGRpbmcgYmxvY2tzLlxuICpcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBuYW1lIHNhcC5mZS5tYWNyb3MuTWFjcm9BUElcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5NYWNyb0FQSVwiKVxuY2xhc3MgTWFjcm9BUEkgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrQmFzZSBpbXBsZW1lbnRzIElGb3JtQ29udGVudCB7XG5cdEBpbXBsZW1lbnRJbnRlcmZhY2UoXCJzYXAudWkuY29yZS5JRm9ybUNvbnRlbnRcIilcblx0X19pbXBsZW1lbnRzX19zYXBfdWlfY29yZV9JRm9ybUNvbnRlbnQgPSB0cnVlO1xuXG5cdHN0YXRpYyBuYW1lc3BhY2UgPSBcInNhcC5mZS5tYWNyb3NcIjtcblxuXHRzdGF0aWMgbWFjcm9OYW1lID0gXCJNYWNyb1wiO1xuXG5cdHN0YXRpYyBmcmFnbWVudCA9IFwic2FwLmZlLm1hY3Jvcy5NYWNyb1wiO1xuXG5cdHN0YXRpYyBoYXNWYWxpZGF0aW9uID0gdHJ1ZTtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IGZhbHNlLCBpc0RlZmF1bHQ6IHRydWUgfSlcblx0Y29udGVudCE6IENvbnRyb2w7XG5cblx0Y29uc3RydWN0b3IobVNldHRpbmdzPzogJENvbnRyb2xTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxNYWNyb0FQST4sIG90aGVycz86ICRDb250cm9sU2V0dGluZ3MpIHtcblx0XHRzdXBlcihtU2V0dGluZ3MsIG90aGVycyk7XG5cdH1cblxuXHRhcHBseVNldHRpbmdzKG1TZXR0aW5nczogJE1hbmFnZWRPYmplY3RTZXR0aW5ncywgb1Njb3BlPzogb2JqZWN0KTogdGhpcyB7XG5cdFx0Ly8gQ2xlYW51cCBldmVudHNcblx0XHRpZiAobVNldHRpbmdzKSB7XG5cdFx0XHRjb25zdCBldmVudHNLZXlzID0gT2JqZWN0LmtleXModGhpcy5nZXRNZXRhZGF0YSgpLmdldEV2ZW50cygpKTtcblx0XHRcdGZvciAoY29uc3QgZXZlbnRzS2V5IG9mIGV2ZW50c0tleXMpIHtcblx0XHRcdFx0aWYgKG1TZXR0aW5nc1tldmVudHNLZXkgYXMga2V5b2YgJE1hbmFnZWRPYmplY3RTZXR0aW5nc10gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGRlbGV0ZSBtU2V0dGluZ3NbZXZlbnRzS2V5IGFzIGtleW9mICRNYW5hZ2VkT2JqZWN0U2V0dGluZ3NdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN1cGVyLmFwcGx5U2V0dGluZ3MobVNldHRpbmdzLCBvU2NvcGUpO1xuXHR9XG5cblx0aW5pdCgpIHtcblx0XHRzdXBlci5pbml0KCk7XG5cdFx0aWYgKCF0aGlzLmdldE1vZGVsKFwiX3BhZ2VNb2RlbFwiKSkge1xuXHRcdFx0Y29uc3Qgb1BhZ2VNb2RlbCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcih0aGlzKT8uZ2V0TW9kZWwoXCJfcGFnZU1vZGVsXCIpO1xuXHRcdFx0aWYgKG9QYWdlTW9kZWwpIHtcblx0XHRcdFx0dGhpcy5zZXRNb2RlbChvUGFnZU1vZGVsLCBcIl9wYWdlTW9kZWxcIik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIHBhdGggb2YgdGhlIGNvbnRleHQgdXNlZCBpbiB0aGUgY3VycmVudCBwYWdlIG9yIGJsb2NrLlxuXHQgKiBUaGlzIHNldHRpbmcgaXMgZGVmaW5lZCBieSB0aGUgZnJhbWV3b3JrLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGNvbnRleHRQYXRoITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSByZWxhdGl2ZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgbWV0YW1vZGVsLCBiYXNlZCBvbiB0aGUgY3VycmVudCBjb250ZXh0UGF0aC5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRtZXRhUGF0aCE6IHN0cmluZztcblxuXHRyZXJlbmRlcigpIHtcblx0XHQoVUlBcmVhIGFzIHVua25vd24gYXMgeyByZXJlbmRlckNvbnRyb2woY29udHJvbDogQ29udHJvbCk6IHZvaWQgfSkucmVyZW5kZXJDb250cm9sKHRoaXMuY29udGVudCk7XG5cdH1cblxuXHRnZXRDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRyZXR1cm4gKHRoaXMuZ2V0TW9kZWwoXCIkdmlld1wiKSBhcyBKU09OTW9kZWwpLmdldE9iamVjdChcIlwiKS5nZXRDb250cm9sbGVyKCkgYXMgUGFnZUNvbnRyb2xsZXI7XG5cdH1cblxuXHQvKipcblx0ICogUmV0cmlldmUgYSBDb252ZXJ0ZXIgQ29udGV4dC5cblx0ICpcblx0ICogQHBhcmFtIG9EYXRhTW9kZWxQYXRoXG5cdCAqIEBwYXJhbSBjb250ZXh0UGF0aFxuXHQgKiBAcGFyYW0gbVNldHRpbmdzXG5cdCAqIEByZXR1cm5zIEEgQ29udmVydGVyIENvbnRleHRcblx0ICovXG5cdHN0YXRpYyBnZXRDb252ZXJ0ZXJDb250ZXh0ID0gZnVuY3Rpb24gKFxuXHRcdG9EYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPHVua25vd24+LFxuXHRcdGNvbnRleHRQYXRoOiBzdHJpbmcsXG5cdFx0bVNldHRpbmdzOiBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzXG5cdCk6IENvbnZlcnRlckNvbnRleHQge1xuXHRcdGNvbnN0IG9BcHBDb21wb25lbnQgPSBtU2V0dGluZ3MuYXBwQ29tcG9uZW50O1xuXHRcdGNvbnN0IHZpZXdEYXRhID0gbVNldHRpbmdzLm1vZGVscy52aWV3RGF0YSAmJiBtU2V0dGluZ3MubW9kZWxzLnZpZXdEYXRhLmdldERhdGEoKTtcblx0XHRyZXR1cm4gQ29udmVydGVyQ29udGV4dC5jcmVhdGVDb252ZXJ0ZXJDb250ZXh0Rm9yTWFjcm8oXG5cdFx0XHRvRGF0YU1vZGVsUGF0aC5zdGFydGluZ0VudGl0eVNldC5uYW1lLFxuXHRcdFx0bVNldHRpbmdzLm1vZGVscy5tZXRhTW9kZWwsXG5cdFx0XHRvQXBwQ29tcG9uZW50ICYmIG9BcHBDb21wb25lbnQuZ2V0RGlhZ25vc3RpY3MoKSxcblx0XHRcdG1lcmdlLFxuXHRcdFx0b0RhdGFNb2RlbFBhdGguY29udGV4dExvY2F0aW9uLFxuXHRcdFx0dmlld0RhdGFcblx0XHQpO1xuXHR9O1xuXG5cdC8qKlxuXHQgKiBDcmVhdGUgYSBCaW5kaW5nIENvbnRleHQuXG5cdCAqXG5cdCAqIEBwYXJhbSBvRGF0YVxuXHQgKiBAcGFyYW0gbVNldHRpbmdzXG5cdCAqIEByZXR1cm5zIFRoZSBiaW5kaW5nIGNvbnRleHRcblx0ICovXG5cdHN0YXRpYyBjcmVhdGVCaW5kaW5nQ29udGV4dCA9IGZ1bmN0aW9uIChvRGF0YTogb2JqZWN0LCBtU2V0dGluZ3M6IGFueSkge1xuXHRcdGNvbnN0IHNDb250ZXh0UGF0aCA9IGAvdWlkLS0ke3VpZCgpfWA7XG5cdFx0bVNldHRpbmdzLm1vZGVscy5jb252ZXJ0ZXJDb250ZXh0LnNldFByb3BlcnR5KHNDb250ZXh0UGF0aCwgb0RhdGEpO1xuXHRcdHJldHVybiBtU2V0dGluZ3MubW9kZWxzLmNvbnZlcnRlckNvbnRleHQuY3JlYXRlQmluZGluZ0NvbnRleHQoc0NvbnRleHRQYXRoKTtcblx0fTtcblxuXHRwYXJlbnRDb250ZXh0VG9CaW5kOiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+ID0ge307XG5cblx0LyoqXG5cdCAqIEtlZXAgdHJhY2sgb2YgYSBiaW5kaW5nIGNvbnRleHQgdGhhdCBzaG91bGQgYmUgYXNzaWduZWQgdG8gdGhlIHBhcmVudCBvZiB0aGF0IGNvbnRyb2wuXG5cdCAqXG5cdCAqIEBwYXJhbSBtb2RlbE5hbWUgVGhlIG1vZGVsIG5hbWUgdGhhdCB0aGUgY29udGV4dCB3aWxsIHJlbGF0ZSB0b1xuXHQgKiBAcGFyYW0gcGF0aCBUaGUgcGF0aCBvZiB0aGUgYmluZGluZyBjb250ZXh0XG5cdCAqL1xuXHRzZXRQYXJlbnRCaW5kaW5nQ29udGV4dChtb2RlbE5hbWU6IHN0cmluZywgcGF0aDogc3RyaW5nKSB7XG5cdFx0dGhpcy5wYXJlbnRDb250ZXh0VG9CaW5kW21vZGVsTmFtZV0gPSBwYXRoO1xuXHR9XG5cblx0c2V0UGFyZW50KC4uLmFyZ3M6IGFueVtdKSB7XG5cdFx0Ly8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9iYW4tdHMtY29tbWVudFxuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRzdXBlci5zZXRQYXJlbnQoLi4uYXJncyk7XG5cdFx0T2JqZWN0LmtleXModGhpcy5wYXJlbnRDb250ZXh0VG9CaW5kKS5mb3JFYWNoKChtb2RlbE5hbWUpID0+IHtcblx0XHRcdHRoaXMuZ2V0UGFyZW50KCkhLmJpbmRPYmplY3Qoe1xuXHRcdFx0XHRwYXRoOiB0aGlzLnBhcmVudENvbnRleHRUb0JpbmRbbW9kZWxOYW1lXSxcblx0XHRcdFx0bW9kZWw6IG1vZGVsTmFtZSxcblx0XHRcdFx0ZXZlbnRzOiB7XG5cdFx0XHRcdFx0Y2hhbmdlOiBmdW5jdGlvbiAodGhpczogQ2xpZW50Q29udGV4dEJpbmRpbmcpIHtcblx0XHRcdFx0XHRcdGNvbnN0IG9Cb3VuZENvbnRleHQgPSB0aGlzLmdldEJvdW5kQ29udGV4dCgpIGFzIEludGVybmFsTW9kZWxDb250ZXh0O1xuXHRcdFx0XHRcdFx0aWYgKG9Cb3VuZENvbnRleHQgJiYgIW9Cb3VuZENvbnRleHQuZ2V0T2JqZWN0KCkpIHtcblx0XHRcdFx0XHRcdFx0b0JvdW5kQ29udGV4dC5zZXRQcm9wZXJ0eShcIlwiLCB7fSk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9KTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBNYWNyb0FQSTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7Ozs7Ozs7Ozs7O0VBbUJBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBTkEsSUFRTUEsUUFBUSxXQURiQyxjQUFjLENBQUMsd0JBQXdCLENBQUMsVUFFdkNDLGtCQUFrQixDQUFDLDBCQUEwQixDQUFDLFVBVzlDQyxXQUFXLENBQUM7SUFBRUMsSUFBSSxFQUFFLHFCQUFxQjtJQUFFQyxRQUFRLEVBQUUsS0FBSztJQUFFQyxTQUFTLEVBQUU7RUFBSyxDQUFDLENBQUMsVUFxQzlFQyxRQUFRLENBQUM7SUFBRUgsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLFVBUTVCRyxRQUFRLENBQUM7SUFBRUgsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDO0lBQUE7SUExQzdCLGtCQUFZSSxTQUFxRCxFQUFFQyxNQUF5QixFQUFFO01BQUE7TUFDN0Ysc0NBQU1ELFNBQVMsRUFBRUMsTUFBTSxD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
156
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNYWNyb0FQSSIsImRlZmluZVVJNUNsYXNzIiwiaW1wbGVtZW50SW50ZXJmYWNlIiwiYWdncmVnYXRpb24iLCJ0eXBlIiwibXVsdGlwbGUiLCJpc0RlZmF1bHQiLCJwcm9wZXJ0eSIsIm1TZXR0aW5ncyIsIm90aGVycyIsInBhcmVudENvbnRleHRUb0JpbmQiLCJhcHBseVNldHRpbmdzIiwib1Njb3BlIiwiZXZlbnRzS2V5cyIsIk9iamVjdCIsImtleXMiLCJnZXRNZXRhZGF0YSIsImdldEV2ZW50cyIsImV2ZW50c0tleSIsInVuZGVmaW5lZCIsImluaXQiLCJnZXRNb2RlbCIsIm9QYWdlTW9kZWwiLCJDb21wb25lbnQiLCJnZXRPd25lckNvbXBvbmVudEZvciIsInNldE1vZGVsIiwicmVyZW5kZXIiLCJVSUFyZWEiLCJyZXJlbmRlckNvbnRyb2wiLCJjb250ZW50IiwiZ2V0Q29udHJvbGxlciIsImdldE9iamVjdCIsInNldFBhcmVudEJpbmRpbmdDb250ZXh0IiwibW9kZWxOYW1lIiwicGF0aCIsInNldFBhcmVudCIsImFyZ3MiLCJmb3JFYWNoIiwiZ2V0UGFyZW50IiwiYmluZE9iamVjdCIsIm1vZGVsIiwiZXZlbnRzIiwiY2hhbmdlIiwib0JvdW5kQ29udGV4dCIsImdldEJvdW5kQ29udGV4dCIsInNldFByb3BlcnR5IiwiQnVpbGRpbmdCbG9ja0Jhc2UiLCJuYW1lc3BhY2UiLCJtYWNyb05hbWUiLCJmcmFnbWVudCIsImhhc1ZhbGlkYXRpb24iLCJnZXRDb252ZXJ0ZXJDb250ZXh0Iiwib0RhdGFNb2RlbFBhdGgiLCJjb250ZXh0UGF0aCIsIm9BcHBDb21wb25lbnQiLCJhcHBDb21wb25lbnQiLCJ2aWV3RGF0YSIsIm1vZGVscyIsImdldERhdGEiLCJDb252ZXJ0ZXJDb250ZXh0IiwiY3JlYXRlQ29udmVydGVyQ29udGV4dEZvck1hY3JvIiwic3RhcnRpbmdFbnRpdHlTZXQiLCJuYW1lIiwibWV0YU1vZGVsIiwiZ2V0RGlhZ25vc3RpY3MiLCJtZXJnZSIsImNvbnRleHRMb2NhdGlvbiIsImNyZWF0ZUJpbmRpbmdDb250ZXh0Iiwib0RhdGEiLCJzQ29udGV4dFBhdGgiLCJ1aWQiLCJjb252ZXJ0ZXJDb250ZXh0Il0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJNYWNyb0FQSS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWVyZ2UgZnJvbSBcInNhcC9iYXNlL3V0aWwvbWVyZ2VcIjtcbmltcG9ydCB1aWQgZnJvbSBcInNhcC9iYXNlL3V0aWwvdWlkXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGFnZ3JlZ2F0aW9uLCBkZWZpbmVVSTVDbGFzcywgaW1wbGVtZW50SW50ZXJmYWNlLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIFBhZ2VDb250cm9sbGVyIGZyb20gXCJzYXAvZmUvY29yZS9QYWdlQ29udHJvbGxlclwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tCYXNlIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy9CdWlsZGluZ0Jsb2NrQmFzZVwiO1xuaW1wb3J0IHR5cGUgeyBUZW1wbGF0ZVByb2Nlc3NvclNldHRpbmdzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRlUHJvY2Vzc29yXCI7XG5pbXBvcnQgQ29udmVydGVyQ29udGV4dCBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9Db252ZXJ0ZXJDb250ZXh0XCI7XG5pbXBvcnQgdHlwZSB7IEludGVybmFsTW9kZWxDb250ZXh0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB0eXBlIHsgJE1hbmFnZWRPYmplY3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCB0eXBlIHsgJENvbnRyb2xTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgVUlBcmVhIGZyb20gXCJzYXAvdWkvY29yZS9VSUFyZWFcIjtcbmltcG9ydCB0eXBlIHsgSUZvcm1Db250ZW50IH0gZnJvbSBcInNhcC91aS9jb3JlL2xpYnJhcnlcIjtcbmltcG9ydCB0eXBlIENsaWVudENvbnRleHRCaW5kaW5nIGZyb20gXCJzYXAvdWkvbW9kZWwvQ2xpZW50Q29udGV4dEJpbmRpbmdcIjtcbmltcG9ydCB0eXBlIEpTT05Nb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL2pzb24vSlNPTk1vZGVsXCI7XG5cbi8qKlxuICogQmFzZSBBUEkgY29udHJvbCBmb3IgYnVpbGRpbmcgYmxvY2tzLlxuICpcbiAqIEBoaWRlY29uc3RydWN0b3JcbiAqIEBuYW1lIHNhcC5mZS5tYWNyb3MuTWFjcm9BUElcbiAqIEBwdWJsaWNcbiAqL1xuQGRlZmluZVVJNUNsYXNzKFwic2FwLmZlLm1hY3Jvcy5NYWNyb0FQSVwiKVxuY2xhc3MgTWFjcm9BUEkgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrQmFzZSBpbXBsZW1lbnRzIElGb3JtQ29udGVudCB7XG5cdEBpbXBsZW1lbnRJbnRlcmZhY2UoXCJzYXAudWkuY29yZS5JRm9ybUNvbnRlbnRcIilcblx0X19pbXBsZW1lbnRzX19zYXBfdWlfY29yZV9JRm9ybUNvbnRlbnQgPSB0cnVlO1xuXG5cdHN0YXRpYyBuYW1lc3BhY2UgPSBcInNhcC5mZS5tYWNyb3NcIjtcblxuXHRzdGF0aWMgbWFjcm9OYW1lID0gXCJNYWNyb1wiO1xuXG5cdHN0YXRpYyBmcmFnbWVudCA9IFwic2FwLmZlLm1hY3Jvcy5NYWNyb1wiO1xuXG5cdHN0YXRpYyBoYXNWYWxpZGF0aW9uID0gdHJ1ZTtcblxuXHRAYWdncmVnYXRpb24oeyB0eXBlOiBcInNhcC51aS5jb3JlLkNvbnRyb2xcIiwgbXVsdGlwbGU6IGZhbHNlLCBpc0RlZmF1bHQ6IHRydWUgfSlcblx0Y29udGVudCE6IENvbnRyb2w7XG5cblx0Y29uc3RydWN0b3IobVNldHRpbmdzPzogJENvbnRyb2xTZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxNYWNyb0FQST4sIG90aGVycz86ICRDb250cm9sU2V0dGluZ3MpIHtcblx0XHRzdXBlcihtU2V0dGluZ3MsIG90aGVycyk7XG5cdH1cblxuXHRhcHBseVNldHRpbmdzKG1TZXR0aW5nczogJE1hbmFnZWRPYmplY3RTZXR0aW5ncywgb1Njb3BlPzogb2JqZWN0KTogdGhpcyB7XG5cdFx0Ly8gQ2xlYW51cCBldmVudHNcblx0XHRpZiAobVNldHRpbmdzKSB7XG5cdFx0XHRjb25zdCBldmVudHNLZXlzID0gT2JqZWN0LmtleXModGhpcy5nZXRNZXRhZGF0YSgpLmdldEV2ZW50cygpKTtcblx0XHRcdGZvciAoY29uc3QgZXZlbnRzS2V5IG9mIGV2ZW50c0tleXMpIHtcblx0XHRcdFx0aWYgKG1TZXR0aW5nc1tldmVudHNLZXkgYXMga2V5b2YgJE1hbmFnZWRPYmplY3RTZXR0aW5nc10gPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdGRlbGV0ZSBtU2V0dGluZ3NbZXZlbnRzS2V5IGFzIGtleW9mICRNYW5hZ2VkT2JqZWN0U2V0dGluZ3NdO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0cmV0dXJuIHN1cGVyLmFwcGx5U2V0dGluZ3MobVNldHRpbmdzLCBvU2NvcGUpO1xuXHR9XG5cblx0aW5pdCgpIHtcblx0XHRzdXBlci5pbml0KCk7XG5cdFx0aWYgKCF0aGlzLmdldE1vZGVsKFwiX3BhZ2VNb2RlbFwiKSkge1xuXHRcdFx0Y29uc3Qgb1BhZ2VNb2RlbCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcih0aGlzKT8uZ2V0TW9kZWwoXCJfcGFnZU1vZGVsXCIpO1xuXHRcdFx0aWYgKG9QYWdlTW9kZWwpIHtcblx0XHRcdFx0dGhpcy5zZXRNb2RlbChvUGFnZU1vZGVsLCBcIl9wYWdlTW9kZWxcIik7XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIHBhdGggb2YgdGhlIGNvbnRleHQgdXNlZCBpbiB0aGUgY3VycmVudCBwYWdlIG9yIGJsb2NrLlxuXHQgKiBUaGlzIHNldHRpbmcgaXMgZGVmaW5lZCBieSB0aGUgZnJhbWV3b3JrLlxuXHQgKlxuXHQgKiBAcHVibGljXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGNvbnRleHRQYXRoITogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBEZWZpbmVzIHRoZSByZWxhdGl2ZSBwYXRoIG9mIHRoZSBwcm9wZXJ0eSBpbiB0aGUgbWV0YW1vZGVsLCBiYXNlZCBvbiB0aGUgY3VycmVudCBjb250ZXh0UGF0aC5cblx0ICpcblx0ICogQHB1YmxpY1xuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRtZXRhUGF0aCE6IHN0cmluZztcblxuXHRyZXJlbmRlcigpIHtcblx0XHQoVUlBcmVhIGFzIHVua25vd24gYXMgeyByZXJlbmRlckNvbnRyb2woY29udHJvbDogQ29udHJvbCk6IHZvaWQgfSkucmVyZW5kZXJDb250cm9sKHRoaXMuY29udGVudCk7XG5cdH1cblxuXHRnZXRDb250cm9sbGVyKCk6IFBhZ2VDb250cm9sbGVyIHtcblx0XHRyZXR1cm4gKHRoaXMuZ2V0TW9kZWwoXCIkdmlld1wiKSBhcyBKU09OTW9kZWwpLmdldE9iamVjdChcIi9cIikuZ2V0Q29udHJvbGxlcigpIGFzIFBhZ2VDb250cm9sbGVyO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHJpZXZlIGEgQ29udmVydGVyIENvbnRleHQuXG5cdCAqXG5cdCAqIEBwYXJhbSBvRGF0YU1vZGVsUGF0aFxuXHQgKiBAcGFyYW0gY29udGV4dFBhdGhcblx0ICogQHBhcmFtIG1TZXR0aW5nc1xuXHQgKiBAcmV0dXJucyBBIENvbnZlcnRlciBDb250ZXh0XG5cdCAqL1xuXHRzdGF0aWMgZ2V0Q29udmVydGVyQ29udGV4dCA9IGZ1bmN0aW9uIChcblx0XHRvRGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDx1bmtub3duPixcblx0XHRjb250ZXh0UGF0aDogc3RyaW5nLFxuXHRcdG1TZXR0aW5nczogVGVtcGxhdGVQcm9jZXNzb3JTZXR0aW5nc1xuXHQpOiBDb252ZXJ0ZXJDb250ZXh0IHtcblx0XHRjb25zdCBvQXBwQ29tcG9uZW50ID0gbVNldHRpbmdzLmFwcENvbXBvbmVudDtcblx0XHRjb25zdCB2aWV3RGF0YSA9IG1TZXR0aW5ncy5tb2RlbHMudmlld0RhdGEgJiYgbVNldHRpbmdzLm1vZGVscy52aWV3RGF0YS5nZXREYXRhKCk7XG5cdFx0cmV0dXJuIENvbnZlcnRlckNvbnRleHQuY3JlYXRlQ29udmVydGVyQ29udGV4dEZvck1hY3JvKFxuXHRcdFx0b0RhdGFNb2RlbFBhdGguc3RhcnRpbmdFbnRpdHlTZXQubmFtZSxcblx0XHRcdG1TZXR0aW5ncy5tb2RlbHMubWV0YU1vZGVsLFxuXHRcdFx0b0FwcENvbXBvbmVudCAmJiBvQXBwQ29tcG9uZW50LmdldERpYWdub3N0aWNzKCksXG5cdFx0XHRtZXJnZSxcblx0XHRcdG9EYXRhTW9kZWxQYXRoLmNvbnRleHRMb2NhdGlvbixcblx0XHRcdHZpZXdEYXRhXG5cdFx0KTtcblx0fTtcblxuXHQvKipcblx0ICogQ3JlYXRlIGEgQmluZGluZyBDb250ZXh0LlxuXHQgKlxuXHQgKiBAcGFyYW0gb0RhdGFcblx0ICogQHBhcmFtIG1TZXR0aW5nc1xuXHQgKiBAcmV0dXJucyBUaGUgYmluZGluZyBjb250ZXh0XG5cdCAqL1xuXHRzdGF0aWMgY3JlYXRlQmluZGluZ0NvbnRleHQgPSBmdW5jdGlvbiAob0RhdGE6IG9iamVjdCwgbVNldHRpbmdzOiBhbnkpIHtcblx0XHRjb25zdCBzQ29udGV4dFBhdGggPSBgL3VpZC0tJHt1aWQoKX1gO1xuXHRcdG1TZXR0aW5ncy5tb2RlbHMuY29udmVydGVyQ29udGV4dC5zZXRQcm9wZXJ0eShzQ29udGV4dFBhdGgsIG9EYXRhKTtcblx0XHRyZXR1cm4gbVNldHRpbmdzLm1vZGVscy5jb252ZXJ0ZXJDb250ZXh0LmNyZWF0ZUJpbmRpbmdDb250ZXh0KHNDb250ZXh0UGF0aCk7XG5cdH07XG5cblx0cGFyZW50Q29udGV4dFRvQmluZDogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHt9O1xuXG5cdC8qKlxuXHQgKiBLZWVwIHRyYWNrIG9mIGEgYmluZGluZyBjb250ZXh0IHRoYXQgc2hvdWxkIGJlIGFzc2lnbmVkIHRvIHRoZSBwYXJlbnQgb2YgdGhhdCBjb250cm9sLlxuXHQgKlxuXHQgKiBAcGFyYW0gbW9kZWxOYW1lIFRoZSBtb2RlbCBuYW1lIHRoYXQgdGhlIGNvbnRleHQgd2lsbCByZWxhdGUgdG9cblx0ICogQHBhcmFtIHBhdGggVGhlIHBhdGggb2YgdGhlIGJpbmRpbmcgY29udGV4dFxuXHQgKi9cblx0c2V0UGFyZW50QmluZGluZ0NvbnRleHQobW9kZWxOYW1lOiBzdHJpbmcsIHBhdGg6IHN0cmluZykge1xuXHRcdHRoaXMucGFyZW50Q29udGV4dFRvQmluZFttb2RlbE5hbWVdID0gcGF0aDtcblx0fVxuXG5cdHNldFBhcmVudCguLi5hcmdzOiBhbnlbXSkge1xuXHRcdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvYmFuLXRzLWNvbW1lbnRcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0c3VwZXIuc2V0UGFyZW50KC4uLmFyZ3MpO1xuXHRcdE9iamVjdC5rZXlzKHRoaXMucGFyZW50Q29udGV4dFRvQmluZCkuZm9yRWFjaCgobW9kZWxOYW1lKSA9PiB7XG5cdFx0XHR0aGlzLmdldFBhcmVudCgpIS5iaW5kT2JqZWN0KHtcblx0XHRcdFx0cGF0aDogdGhpcy5wYXJlbnRDb250ZXh0VG9CaW5kW21vZGVsTmFtZV0sXG5cdFx0XHRcdG1vZGVsOiBtb2RlbE5hbWUsXG5cdFx0XHRcdGV2ZW50czoge1xuXHRcdFx0XHRcdGNoYW5nZTogZnVuY3Rpb24gKHRoaXM6IENsaWVudENvbnRleHRCaW5kaW5nKSB7XG5cdFx0XHRcdFx0XHRjb25zdCBvQm91bmRDb250ZXh0ID0gdGhpcy5nZXRCb3VuZENvbnRleHQoKSBhcyBJbnRlcm5hbE1vZGVsQ29udGV4dDtcblx0XHRcdFx0XHRcdGlmIChvQm91bmRDb250ZXh0ICYmICFvQm91bmRDb250ZXh0LmdldE9iamVjdCgpKSB7XG5cdFx0XHRcdFx0XHRcdG9Cb3VuZENvbnRleHQuc2V0UHJvcGVydHkoXCJcIiwge30pO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fSk7XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgTWFjcm9BUEk7XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7OztFQW1CQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQU5BLElBUU1BLFFBQVEsV0FEYkMsY0FBYyxDQUFDLHdCQUF3QixDQUFDLFVBRXZDQyxrQkFBa0IsQ0FBQywwQkFBMEIsQ0FBQyxVQVc5Q0MsV0FBVyxDQUFDO0lBQUVDLElBQUksRUFBRSxxQkFBcUI7SUFBRUMsUUFBUSxFQUFFLEtBQUs7SUFBRUMsU0FBUyxFQUFFO0VBQUssQ0FBQyxDQUFDLFVBcUM5RUMsUUFBUSxDQUFDO0lBQUVILElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxVQVE1QkcsUUFBUSxDQUFDO0lBQUVILElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQztJQUFBO0lBMUM3QixrQkFBWUksU0FBcUQsRUFBRUMsTUFBeUIsRUFBRTtNQUFBO01BQzdGLHNDQUFNRCxTQUFTLEVBQUVDLE1BQU0s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
@@ -90,7 +90,7 @@ class MacroAPI extends BuildingBlockBase implements IFormContent {
90
90
  }
91
91
 
92
92
  getController(): PageController {
93
- return (this.getModel("$view") as JSONModel).getObject("").getController() as PageController;
93
+ return (this.getModel("$view") as JSONModel).getObject("/").getController() as PageController;
94
94
  }
95
95
 
96
96
  /**
@@ -5,7 +5,7 @@
5
5
  sap.ui.define(["sap/base/Log", "sap/fe/core/TemplateModel", "sap/fe/core/buildingBlocks/templating/BuildingBlockSupport", "sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor", "sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/converters/controls/Common/DataVisualization", "sap/fe/core/converters/controls/ListReport/FilterBar", "sap/fe/core/helpers/MetaModelFunction", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/StableIdHelper", "sap/fe/macros/CommonHelper", "sap/fe/macros/designtime/Designtime.helper", "sap/fe/macros/filter/FilterUtils", "sap/fe/macros/filterBar/FilterHelper", "sap/ui/base/DesignTime"], function (Log, TemplateModel, BuildingBlockSupport, BuildingBlockTemplateProcessor, BuildingBlockTemplatingBase, MetaModelConverter, DataVisualization, FilterBar, MetaModelFunction, ModelHelper, StableIdHelper, CommonHelper, Designtime_helper, FilterUtils, FilterHelper, DesignTime) {
6
6
  "use strict";
7
7
 
8
- var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _dec27, _dec28, _dec29, _dec30, _dec31, _dec32, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29, _descriptor30, _descriptor31;
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _dec13, _dec14, _dec15, _dec16, _dec17, _dec18, _dec19, _dec20, _dec21, _dec22, _dec23, _dec24, _dec25, _dec26, _dec27, _dec28, _dec29, _dec30, _dec31, _dec32, _dec33, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11, _descriptor12, _descriptor13, _descriptor14, _descriptor15, _descriptor16, _descriptor17, _descriptor18, _descriptor19, _descriptor20, _descriptor21, _descriptor22, _descriptor23, _descriptor24, _descriptor25, _descriptor26, _descriptor27, _descriptor28, _descriptor29, _descriptor30, _descriptor31, _descriptor32;
9
9
  var _exports = {};
10
10
  var isDesignModeEnabled = DesignTime.isDesignModeEnabled;
11
11
  var getFilterConditions = FilterHelper.getFilterConditions;
@@ -117,7 +117,10 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/TemplateModel", "sap/fe/core/buildin
117
117
  type: "boolean"
118
118
  }), _dec25 = blockAttribute({
119
119
  type: "boolean"
120
- }), _dec26 = blockEvent(), _dec27 = blockEvent(), _dec28 = blockEvent(), _dec29 = blockEvent(), _dec30 = blockEvent(), _dec31 = blockEvent(), _dec32 = blockAggregation({
120
+ }), _dec26 = blockAttribute({
121
+ type: "boolean",
122
+ isPublic: true
123
+ }), _dec27 = blockEvent(), _dec28 = blockEvent(), _dec29 = blockEvent(), _dec30 = blockEvent(), _dec31 = blockEvent(), _dec32 = blockEvent(), _dec33 = blockAggregation({
121
124
  type: "sap.fe.macros.filterBar.FilterField",
122
125
  isPublic: true,
123
126
  hasVirtualNode: true,
@@ -186,6 +189,10 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/TemplateModel", "sap/fe/core/buildin
186
189
  * Handles the visibility of the 'Clear' button on the FilterBar.
187
190
  */
188
191
 
192
+ /**
193
+ * For OVP having Valuehelp as BBv4 is not supported, we add this parameter to use the old value help in this case
194
+ */
195
+
189
196
  /**
190
197
  * Event handler to react to the search event of the FilterBar
191
198
  */
@@ -238,13 +245,14 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/TemplateModel", "sap/fe/core/buildin
238
245
  _initializerDefineProperty(_this, "showClearButton", _descriptor22, _assertThisInitialized(_this));
239
246
  _initializerDefineProperty(_this, "_applyIdToContent", _descriptor23, _assertThisInitialized(_this));
240
247
  _initializerDefineProperty(_this, "disableDraftEditStateFilter", _descriptor24, _assertThisInitialized(_this));
241
- _initializerDefineProperty(_this, "search", _descriptor25, _assertThisInitialized(_this));
242
- _initializerDefineProperty(_this, "filterChanged", _descriptor26, _assertThisInitialized(_this));
243
- _initializerDefineProperty(_this, "stateChange", _descriptor27, _assertThisInitialized(_this));
244
- _initializerDefineProperty(_this, "internalFilterChanged", _descriptor28, _assertThisInitialized(_this));
245
- _initializerDefineProperty(_this, "internalSearch", _descriptor29, _assertThisInitialized(_this));
246
- _initializerDefineProperty(_this, "afterClear", _descriptor30, _assertThisInitialized(_this));
247
- _initializerDefineProperty(_this, "filterFields", _descriptor31, _assertThisInitialized(_this));
248
+ _initializerDefineProperty(_this, "useOldVH", _descriptor25, _assertThisInitialized(_this));
249
+ _initializerDefineProperty(_this, "search", _descriptor26, _assertThisInitialized(_this));
250
+ _initializerDefineProperty(_this, "filterChanged", _descriptor27, _assertThisInitialized(_this));
251
+ _initializerDefineProperty(_this, "stateChange", _descriptor28, _assertThisInitialized(_this));
252
+ _initializerDefineProperty(_this, "internalFilterChanged", _descriptor29, _assertThisInitialized(_this));
253
+ _initializerDefineProperty(_this, "internalSearch", _descriptor30, _assertThisInitialized(_this));
254
+ _initializerDefineProperty(_this, "afterClear", _descriptor31, _assertThisInitialized(_this));
255
+ _initializerDefineProperty(_this, "filterFields", _descriptor32, _assertThisInitialized(_this));
248
256
  _this.showDraftEditState = false;
249
257
  _this.checkIfEditingFilterIsDisabled = targetEntitySet => {
250
258
  var _targetEntitySet$anno, _targetEntitySet$anno2, _targetEntitySet$anno3, _targetEntitySet$anno4;
@@ -323,8 +331,19 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/TemplateModel", "sap/fe/core/buildin
323
331
  />`);
324
332
  }
325
333
  if (Array.isArray(_this._valueHelps)) {
326
- var _this$_valueHelps2;
327
- (_this$_valueHelps2 = _this._valueHelps) === null || _this$_valueHelps2 === void 0 ? void 0 : _this$_valueHelps2.push(xml`<macro:ValueHelp
334
+ if (_this.useOldVH) {
335
+ var _this$_valueHelps2;
336
+ (_this$_valueHelps2 = _this._valueHelps) === null || _this$_valueHelps2 === void 0 ? void 0 : _this$_valueHelps2.push(xml`<valueHelp:ValueHelp xmlns:valueHelp="sap.fe.macros.valuehelp"
337
+ idPrefix="${generate([_this.id, "FilterFieldValueHelp"])}"
338
+ conditionModel="$filters"
339
+ metaPath="${selectionField.annotationPath}"
340
+ contextPath="${_this._getContextPathForFilterField(selectionField, _this._internalContextPath)}"
341
+ filterFieldValueHelp="true"
342
+ useSemanticDateRange="${_this.useSemanticDateRange}"
343
+ />`);
344
+ } else {
345
+ var _this$_valueHelps3;
346
+ (_this$_valueHelps3 = _this._valueHelps) === null || _this$_valueHelps3 === void 0 ? void 0 : _this$_valueHelps3.push(xml`<macro:ValueHelp
328
347
  idPrefix="${generate([_this.id, "FilterFieldValueHelp"])}"
329
348
  conditionModel="$filters"
330
349
  metaPath="${selectionField.annotationPath}"
@@ -332,6 +351,7 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/TemplateModel", "sap/fe/core/buildin
332
351
  filterFieldValueHelp="true"
333
352
  useSemanticDateRange="${_this.useSemanticDateRange}"
334
353
  />`);
354
+ }
335
355
  }
336
356
  };
337
357
  if (!_this.metaPath) {
@@ -655,37 +675,44 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/TemplateModel", "sap/fe/core/buildin
655
675
  initializer: function () {
656
676
  return false;
657
677
  }
658
- }), _descriptor25 = _applyDecoratedDescriptor(_class2.prototype, "search", [_dec26], {
678
+ }), _descriptor25 = _applyDecoratedDescriptor(_class2.prototype, "useOldVH", [_dec26], {
679
+ configurable: true,
680
+ enumerable: true,
681
+ writable: true,
682
+ initializer: function () {
683
+ return false;
684
+ }
685
+ }), _descriptor26 = _applyDecoratedDescriptor(_class2.prototype, "search", [_dec27], {
659
686
  configurable: true,
660
687
  enumerable: true,
661
688
  writable: true,
662
689
  initializer: null
663
- }), _descriptor26 = _applyDecoratedDescriptor(_class2.prototype, "filterChanged", [_dec27], {
690
+ }), _descriptor27 = _applyDecoratedDescriptor(_class2.prototype, "filterChanged", [_dec28], {
664
691
  configurable: true,
665
692
  enumerable: true,
666
693
  writable: true,
667
694
  initializer: null
668
- }), _descriptor27 = _applyDecoratedDescriptor(_class2.prototype, "stateChange", [_dec28], {
695
+ }), _descriptor28 = _applyDecoratedDescriptor(_class2.prototype, "stateChange", [_dec29], {
669
696
  configurable: true,
670
697
  enumerable: true,
671
698
  writable: true,
672
699
  initializer: null
673
- }), _descriptor28 = _applyDecoratedDescriptor(_class2.prototype, "internalFilterChanged", [_dec29], {
700
+ }), _descriptor29 = _applyDecoratedDescriptor(_class2.prototype, "internalFilterChanged", [_dec30], {
674
701
  configurable: true,
675
702
  enumerable: true,
676
703
  writable: true,
677
704
  initializer: null
678
- }), _descriptor29 = _applyDecoratedDescriptor(_class2.prototype, "internalSearch", [_dec30], {
705
+ }), _descriptor30 = _applyDecoratedDescriptor(_class2.prototype, "internalSearch", [_dec31], {
679
706
  configurable: true,
680
707
  enumerable: true,
681
708
  writable: true,
682
709
  initializer: null
683
- }), _descriptor30 = _applyDecoratedDescriptor(_class2.prototype, "afterClear", [_dec31], {
710
+ }), _descriptor31 = _applyDecoratedDescriptor(_class2.prototype, "afterClear", [_dec32], {
684
711
  configurable: true,
685
712
  enumerable: true,
686
713
  writable: true,
687
714
  initializer: null
688
- }), _descriptor31 = _applyDecoratedDescriptor(_class2.prototype, "filterFields", [_dec32], {
715
+ }), _descriptor32 = _applyDecoratedDescriptor(_class2.prototype, "filterFields", [_dec33], {
689
716
  configurable: true,
690
717
  enumerable: true,
691
718
  writable: true,
@@ -694,4 +721,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/core/TemplateModel", "sap/fe/core/buildin
694
721
  _exports = FilterBarBlock;
695
722
  return _exports;
696
723
  }, false);
697
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXRDdXN0b21GaWx0ZXJGaWVsZFByb3BlcnRpZXMiLCJjaGlsZEZpbHRlckZpZWxkIiwiYWdncmVnYXRpb25PYmplY3QiLCJzbG90TmFtZSIsImtleSIsInJlcGxhY2UiLCJsYWJlbCIsImdldEF0dHJpYnV0ZSIsInJlcXVpcmVkIiwidGVtcGxhdGUiLCJGaWx0ZXJCYXJCbG9jayIsImRlZmluZUJ1aWxkaW5nQmxvY2siLCJuYW1lIiwibmFtZXNwYWNlIiwicHVibGljTmFtZXNwYWNlIiwicmV0dXJuVHlwZXMiLCJibG9ja0F0dHJpYnV0ZSIsInR5cGUiLCJpc1B1YmxpYyIsImJsb2NrRXZlbnQiLCJibG9ja0FnZ3JlZ2F0aW9uIiwiaGFzVmlydHVhbE5vZGUiLCJwcm9jZXNzQWdncmVnYXRpb25zIiwicHJvcHMiLCJjb25maWd1cmF0aW9uIiwibVNldHRpbmdzIiwic2hvd0RyYWZ0RWRpdFN0YXRlIiwiY2hlY2tJZkVkaXRpbmdGaWx0ZXJJc0Rpc2FibGVkIiwidGFyZ2V0RW50aXR5U2V0IiwiYW5ub3RhdGlvbnMiLCJDYXBhYmlsaXRpZXMiLCJOYXZpZ2F0aW9uUmVzdHJpY3Rpb25zIiwiUmVzdHJpY3RlZFByb3BlcnRpZXMiLCJzb21lIiwiciIsIk5hdmlnYXRpb25Qcm9wZXJ0eSIsInZhbHVlIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiRmlsdGVyYWJsZSIsImNoZWNrSWZDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQiLCJvTWV0YU1vZGVsIiwiTW9kZWxIZWxwZXIiLCJpc0NvbGxhYm9yYXRpb25EcmFmdFN1cHBvcnRlZCIsImlzRHJhZnRDb2xsYWJvcmF0aXZlIiwiZ2V0RW50aXR5VHlwZVBhdGgiLCJtZXRhUGF0aFBhcnRzIiwiZW5kc1dpdGgiLCJnZXRTZWFyY2giLCJoaWRlQmFzaWNTZWFyY2giLCJ4bWwiLCJnZW5lcmF0ZSIsImlkIiwicHJvY2Vzc1NlbGVjdGlvbkZpZWxkcyIsImRyYWZ0RWRpdFN0YXRlIiwiX3ZhbHVlSGVscHMiLCJfZmlsdGVyRmllbGRzIiwicHVzaCIsIkFycmF5IiwiaXNBcnJheSIsInNlbGVjdGlvbkZpZWxkcyIsImdldE9iamVjdCIsImZvckVhY2giLCJzZWxlY3Rpb25GaWVsZCIsInNlbGVjdGlvbkZpZWxkSWR4IiwiYXZhaWxhYmlsaXR5Iiwic2V0RmlsdGVyRmllbGRzQW5kVmFsdWVIZWxwcyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInB1c2hGaWx0ZXJGaWVsZHNBbmRWYWx1ZUhlbHBzIiwiQ29tbW9uSGVscGVyIiwiZ2V0TmF2aWdhdGlvblBhdGgiLCJhbm5vdGF0aW9uUGF0aCIsIl9nZXRDb250ZXh0UGF0aEZvckZpbHRlckZpZWxkIiwiX2ludGVybmFsQ29udGV4dFBhdGgiLCJ1c2VTZW1hbnRpY0RhdGVSYW5nZSIsInN0cmluZ2lmeUN1c3RvbURhdGEiLCJzZXR0aW5ncyIsInZpc3VhbEZpbHRlciIsImNvbmRpdGlvblBhdGgiLCJtZXRhUGF0aCIsIkxvZyIsImVycm9yIiwic01ldGFQYXRoIiwiZ2V0UGF0aCIsImVudGl0eVR5cGVQYXRoIiwic3BsaXQiLCJzRW50aXR5U2V0UGF0aCIsImdldEVudGl0eVNldFBhdGgiLCJjb250ZXh0UGF0aCIsImdldE1vZGVsIiwiY3JlYXRlQmluZGluZ0NvbnRleHQiLCJzT2JqZWN0UGF0aCIsIm9FeHRyYVBhcmFtcyIsImZpbHRlckZpZWxkcyIsIm9WaXN1YWxpemF0aW9uT2JqZWN0UGF0aCIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsIm9Db252ZXJ0ZXJDb250ZXh0IiwiZ2V0Q29udmVydGVyQ29udGV4dCIsInByb3BlcnR5SW5mbyIsImdldFNlbGVjdGlvbkZpZWxkcyIsInNQcm9wZXJ0eUluZm8iLCJDb21tb24iLCJEcmFmdFJvb3QiLCJkaXNhYmxlRHJhZnRFZGl0U3RhdGVGaWx0ZXIiLCJvU2VsZWN0aW9uRmllbGRzIiwiVGVtcGxhdGVNb2RlbCIsIm9FbnRpdHlUeXBlIiwiZ2V0RW50aXR5VHlwZSIsIm9TZWxlY3Rpb25WYXJpYW50IiwiZ2V0U2VsZWN0aW9uVmFyaWFudCIsIm9FbnRpdHlTZXRDb250ZXh0IiwiZ2V0Q29udGV4dCIsIm9GaWx0ZXJDb25kaXRpb25zIiwiZ2V0RmlsdGVyQ29uZGl0aW9ucyIsInNlbGVjdGlvblZhcmlhbnQiLCJmaWx0ZXJDb25kaXRpb25zIiwiX3Byb2Nlc3NQcm9wZXJ0eUluZm9zIiwiX2FwcGx5SWRUb0NvbnRlbnQiLCJfYXBpSWQiLCJfY29udGVudElkIiwiZ2V0Q29udGVudElkIiwib1NlYXJjaFJlc3RyaWN0aW9uQW5ub3RhdGlvbiIsImdldFNlYXJjaFJlc3RyaWN0aW9ucyIsIkJvb2xlYW4iLCJTZWFyY2hhYmxlIiwiZGVzaWdudGltZSIsImdldERlc2lnbnRpbWUiLCJhcHBDb21wb25lbnQiLCJhUGFyYW1ldGVyRmllbGRzIiwic0ZldGNoZWRQcm9wZXJ0aWVzIiwiYUZldGNoZWRQcm9wZXJ0aWVzIiwiSlNPTiIsInBhcnNlIiwiZWRpdFN0YXRlTGFiZWwiLCJnZXRUcmFuc2xhdGVkVGV4dCIsInByb3BJbmZvIiwiaXNQYXJhbWV0ZXIiLCJwYXRoIiwic3RyaW5naWZ5IiwiX3BhcmFtZXRlcnMiLCJmaWx0ZXJCYXJDb250ZXh0UGF0aCIsImFubm9QYXRoIiwic3Vic3RyaW5nIiwibGFzdEluZGV4T2YiLCJpc0Rlc2lnbk1vZGVFbmFibGVkIiwiaXNGaW9yaVRvb2xzUnRhTW9kZSIsImdldFRlbXBsYXRlIiwiaW50ZXJuYWxDb250ZXh0UGF0aCIsImZpbHRlckRlbGVnYXRlIiwiZmlsdGVyQmFyRGVsZWdhdGUiLCJfcHJvcGVydHlJbmZvQ29udHJvbCIsIkZpbHRlclV0aWxzIiwiZm9ybWF0UHJvcGVydHlJbmZvIiwic2VhcmNoIiwiZmlsdGVyQ2hhbmdlZCIsImFmdGVyQ2xlYXIiLCJpbnRlcm5hbFNlYXJjaCIsImludGVybmFsRmlsdGVyQ2hhbmdlZCIsInN0YXRlQ2hhbmdlIiwibGl2ZU1vZGUiLCJ2YXJpYW50QmFja3JlZmVyZW5jZSIsInNob3dBZGFwdEZpbHRlcnNCdXR0b24iLCJzaG93Q2xlYXJCdXR0b24iLCJwMTNuTW9kZSIsInN1c3BlbmRTZWxlY3Rpb24iLCJzaG93TWVzc2FnZXMiLCJ0b2dnbGVDb250cm9sSWQiLCJpbml0aWFsTGF5b3V0IiwidmlzaWJsZSIsIkJ1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZSJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiRmlsdGVyQmFyLmJsb2NrLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5U2V0IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IFNlbGVjdGlvbkZpZWxkcyB9IGZyb20gXCJAc2FwLXV4L3ZvY2FidWxhcmllcy10eXBlcy92b2NhYnVsYXJpZXMvVUlcIjtcbmltcG9ydCBMb2cgZnJvbSBcInNhcC9iYXNlL0xvZ1wiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSBBcHBDb21wb25lbnQgZnJvbSBcInNhcC9mZS9jb3JlL0FwcENvbXBvbmVudFwiO1xuaW1wb3J0IFRlbXBsYXRlTW9kZWwgZnJvbSBcInNhcC9mZS9jb3JlL1RlbXBsYXRlTW9kZWxcIjtcbmltcG9ydCB7XG5cdGJsb2NrQWdncmVnYXRpb24sXG5cdGJsb2NrQXR0cmlidXRlLFxuXHRibG9ja0V2ZW50LFxuXHRkZWZpbmVCdWlsZGluZ0Jsb2NrXG59IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tTdXBwb3J0XCI7XG5pbXBvcnQgeyB4bWwgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2UgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRpbmdCYXNlXCI7XG5pbXBvcnQgeyBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB7IGdldFNlbGVjdGlvblZhcmlhbnQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9jb250cm9scy9Db21tb24vRGF0YVZpc3VhbGl6YXRpb25cIjtcbmltcG9ydCB7IGdldFNlbGVjdGlvbkZpZWxkcyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0xpc3RSZXBvcnQvRmlsdGVyQmFyXCI7XG5pbXBvcnQgeyBnZXRTZWFyY2hSZXN0cmljdGlvbnMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9NZXRhTW9kZWxGdW5jdGlvblwiO1xuaW1wb3J0IE1vZGVsSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01vZGVsSGVscGVyXCI7XG5pbXBvcnQgeyBnZW5lcmF0ZSB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL1N0YWJsZUlkSGVscGVyXCI7XG5pbXBvcnQgQ29tbW9uSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL0NvbW1vbkhlbHBlclwiO1xuaW1wb3J0IHsgaXNGaW9yaVRvb2xzUnRhTW9kZSB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2Rlc2lnbnRpbWUvRGVzaWdudGltZS5oZWxwZXJcIjtcbmltcG9ydCBGaWx0ZXJVdGlscyBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXIvRmlsdGVyVXRpbHNcIjtcbmltcG9ydCB0eXBlIEZpbHRlckZpZWxkIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9GaWx0ZXJGaWVsZFwiO1xuaW1wb3J0IHsgZ2V0RmlsdGVyQ29uZGl0aW9ucyB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9GaWx0ZXJIZWxwZXJcIjtcbmltcG9ydCB7IGlzRGVzaWduTW9kZUVuYWJsZWQgfSBmcm9tIFwic2FwL3VpL2Jhc2UvRGVzaWduVGltZVwiO1xuaW1wb3J0IHR5cGUgeyBJQ29udGV4dCB9IGZyb20gXCJzYXAvdWkvY29yZS91dGlsL1hNTFByZXByb2Nlc3NvclwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcbmltcG9ydCB0eXBlIE9EYXRhVjRDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFNZXRhTW9kZWwgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9PRGF0YU1ldGFNb2RlbFwiO1xuaW1wb3J0IHR5cGUgeyBQcm9wZXJ0eUluZm8gfSBmcm9tIFwiLi4vRGVsZWdhdGVVdGlsXCI7XG5cbmNvbnN0IHNldEN1c3RvbUZpbHRlckZpZWxkUHJvcGVydGllcyA9IGZ1bmN0aW9uIChjaGlsZEZpbHRlckZpZWxkOiBFbGVtZW50LCBhZ2dyZWdhdGlvbk9iamVjdDogYW55KTogRmlsdGVyRmllbGQge1xuXHRhZ2dyZWdhdGlvbk9iamVjdC5zbG90TmFtZSA9IGFnZ3JlZ2F0aW9uT2JqZWN0LmtleTtcblx0YWdncmVnYXRpb25PYmplY3Qua2V5ID0gYWdncmVnYXRpb25PYmplY3Qua2V5LnJlcGxhY2UoXCJJbmxpbmVYTUxfXCIsIFwiXCIpO1xuXHRhZ2dyZWdhdGlvbk9iamVjdC5sYWJlbCA9IGNoaWxkRmlsdGVyRmllbGQuZ2V0QXR0cmlidXRlKFwibGFiZWxcIik7XG5cdGFnZ3JlZ2F0aW9uT2JqZWN0LnJlcXVpcmVkID0gY2hpbGRGaWx0ZXJGaWVsZC5nZXRBdHRyaWJ1dGUoXCJyZXF1aXJlZFwiKSA9PT0gXCJ0cnVlXCI7XG5cdGFnZ3JlZ2F0aW9uT2JqZWN0LnRlbXBsYXRlID0gY2hpbGRGaWx0ZXJGaWVsZC5nZXRBdHRyaWJ1dGUoXCJ0ZW1wbGF0ZVwiKTtcblx0cmV0dXJuIGFnZ3JlZ2F0aW9uT2JqZWN0O1xufTtcblxuLyoqXG4gKiBCdWlsZGluZyBibG9jayBmb3IgY3JlYXRpbmcgYSBGaWx0ZXJCYXIgYmFzZWQgb24gdGhlIG1ldGFkYXRhIHByb3ZpZGVkIGJ5IE9EYXRhIFY0LlxuICpcbiAqXG4gKiBVc2FnZSBleGFtcGxlOlxuICogPHByZT5cbiAqICZsdDttYWNyb3M6RmlsdGVyQmFyXG4gKiAgIGlkPVwiU29tZUlEXCJcbiAqICAgc2hvd0FkYXB0RmlsdGVyc0J1dHRvbj1cInRydWVcIlxuICogICBwMTNuTW9kZT1bXCJJdGVtXCIsXCJWYWx1ZVwiXVxuICogICBsaXN0QmluZGluZ05hbWVzID0gXCJzYXAuZmUudGFibGVCaW5kaW5nXCJcbiAqICAgbGl2ZU1vZGU9XCJ0cnVlXCJcbiAqICAgc2VhcmNoPVwiLmhhbmRsZXJzLm9uU2VhcmNoXCJcbiAqICAgZmlsdGVyQ2hhbmdlZD1cIi5oYW5kbGVycy5vbkZpbHRlcnNDaGFuZ2VkXCJcbiAqIC8mZ3Q7XG4gKiA8L3ByZT5cbiAqXG4gKiBCdWlsZGluZyBibG9jayBmb3IgY3JlYXRpbmcgYSBGaWx0ZXJCYXIgYmFzZWQgb24gdGhlIG1ldGFkYXRhIHByb3ZpZGVkIGJ5IE9EYXRhIFY0LlxuICpcbiAqIEBzaW5jZSAxLjk0LjBcbiAqL1xuQGRlZmluZUJ1aWxkaW5nQmxvY2soe1xuXHRuYW1lOiBcIkZpbHRlckJhclwiLFxuXHRuYW1lc3BhY2U6IFwic2FwLmZlLm1hY3Jvcy5pbnRlcm5hbFwiLFxuXHRwdWJsaWNOYW1lc3BhY2U6IFwic2FwLmZlLm1hY3Jvc1wiLFxuXHRyZXR1cm5UeXBlczogW1wic2FwLmZlLm1hY3Jvcy5maWx0ZXJCYXIuRmlsdGVyQmFyQVBJXCJdXG59KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgRmlsdGVyQmFyQmxvY2sgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2Uge1xuXHQvKipcblx0ICogSUQgb2YgdGhlIEZpbHRlckJhclxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdGlkPzogc3RyaW5nO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0dmlzaWJsZT86IHN0cmluZztcblxuXHQvKipcblx0ICogc2VsZWN0aW9uRmllbGRzIHRvIGJlIGRpc3BsYXllZFxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInNhcC51aS5tb2RlbC5Db250ZXh0XCJcblx0fSlcblx0c2VsZWN0aW9uRmllbGRzPzogU2VsZWN0aW9uRmllbGRzIHwgQ29udGV4dDtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGZpbHRlckJhckRlbGVnYXRlPzogc3RyaW5nO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzYXAudWkubW9kZWwuQ29udGV4dFwiLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdG1ldGFQYXRoPzogQ29udGV4dDtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIixcblx0XHRpc1B1YmxpYzogdHJ1ZVxuXHR9KVxuXHRjb250ZXh0UGF0aD86IENvbnRleHQ7XG5cblx0LyoqXG5cdCAqIERpc3BsYXlzIHBvc3NpYmxlIGVycm9ycyBkdXJpbmcgdGhlIHNlYXJjaCBpbiBhIG1lc3NhZ2UgYm94XG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdHNob3dNZXNzYWdlcyA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBJRCBvZiB0aGUgYXNzaWduZWQgdmFyaWFudCBtYW5hZ2VtZW50XG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCJcblx0fSlcblx0dmFyaWFudEJhY2tyZWZlcmVuY2U/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIERvbid0IHNob3cgdGhlIGJhc2ljIHNlYXJjaCBmaWVsZFxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcImJvb2xlYW5cIlxuXHR9KVxuXHRoaWRlQmFzaWNTZWFyY2g/OiBib29sZWFuO1xuXG5cdC8qKlxuXHQgKiBFbmFibGVzIHRoZSBmYWxsYmFjayB0byBzaG93IGFsbCBmaWVsZHMgb2YgdGhlIEVudGl0eVR5cGUgYXMgZmlsdGVyIGZpZWxkcyBpZiBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5TZWxlY3Rpb25GaWVsZHMgYXJlIG5vdCBwcmVzZW50XG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdGVuYWJsZUZhbGxiYWNrID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEhhbmRsZXMgdmlzaWJpbGl0eSBvZiB0aGUgJ0FkYXB0IEZpbHRlcnMnIGJ1dHRvbiBvbiB0aGUgRmlsdGVyQmFyXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdHNob3dBZGFwdEZpbHRlcnNCdXR0b24gPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIHBlcnNvbmFsaXphdGlvbiBvcHRpb25zIGZvciB0aGUgZmlsdGVyIGJhci5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzdHJpbmdbXVwiXG5cdH0pXG5cdHAxM25Nb2RlID0gXCJJdGVtLFZhbHVlXCI7XG5cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdH0pXG5cdHByb3BlcnR5SW5mbz86IHN0cmluZztcblxuXHQvKipcblx0ICogU3BlY2lmaWVzIHRoZSBTZW1hdGljIERhdGUgUmFuZ2Ugb3B0aW9uIGZvciB0aGUgZmlsdGVyIGJhci5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCJcblx0fSlcblx0dXNlU2VtYW50aWNEYXRlUmFuZ2UgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIG5hdmlnYXRpb24gcHJvcGVydGllcyBvcHRpb24gZm9yIHRoZSBmaWx0ZXIgYmFyLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1tdXCJcblx0fSlcblx0bmF2aWdhdGlvblByb3BlcnRpZXM/OiBzdHJpbmdbXTtcblxuXHQvKipcblx0ICogSWYgc2V0LCB0aGUgc2VhcmNoIGlzIGF1dG9tYXRpY2FsbHkgdHJpZ2dlcmVkIHdoZW4gYSBmaWx0ZXIgdmFsdWUgaXMgY2hhbmdlZC5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0bGl2ZU1vZGUgPSBmYWxzZTtcblxuXHQvKipcblx0ICogRmlsdGVyIGNvbmRpdGlvbnMgdG8gYmUgYXBwbGllZCB0byB0aGUgZmlsdGVyIGJhclxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1wiLFxuXHRcdHJlcXVpcmVkOiBmYWxzZVxuXHR9KVxuXHRmaWx0ZXJDb25kaXRpb25zPzogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBJZiBzZXQgdG8gPGNvZGU+dHJ1ZTwvY29kZT4sIGFsbCBzZWFyY2ggcmVxdWVzdHMgYXJlIGlnbm9yZWQuIE9uY2UgaXQgaGFzIGJlZW4gc2V0IHRvIDxjb2RlPmZhbHNlPC9jb2RlPixcblx0ICogYSBzZWFyY2ggaXMgdHJpZ2dlcmVkIGltbWVkaWF0ZWx5IGlmIG9uZSBvciBtb3JlIHNlYXJjaCByZXF1ZXN0cyBoYXZlIGJlZW4gdHJpZ2dlcmVkIGluIHRoZSBtZWFudGltZVxuXHQgKiBidXQgd2VyZSBpZ25vcmVkIGJhc2VkIG9uIHRoZSBzZXR0aW5nLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcImJvb2xlYW5cIlxuXHR9KVxuXHRzdXNwZW5kU2VsZWN0aW9uID0gZmFsc2U7XG5cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcImJvb2xlYW5cIlxuXHR9KVxuXHRpc0RyYWZ0Q29sbGFib3JhdGl2ZSA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBJZCBvZiBjb250cm9sIHRoYXQgd2lsbCBhbGxvdyBmb3Igc3dpdGNoaW5nIGJldHdlZW4gbm9ybWFsIGFuZCB2aXN1YWwgZmlsdGVyXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCJcblx0fSlcblx0dG9nZ2xlQ29udHJvbElkPzogc3RyaW5nO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIlxuXHR9KVxuXHRpbml0aWFsTGF5b3V0ID0gXCJjb21wYWN0XCI7XG5cblx0LyoqXG5cdCAqIEhhbmRsZXMgdGhlIHZpc2liaWxpdHkgb2YgdGhlICdDbGVhcicgYnV0dG9uIG9uIHRoZSBGaWx0ZXJCYXIuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdHNob3dDbGVhckJ1dHRvbiA9IGZhbHNlO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCJcblx0fSlcblx0X2FwcGx5SWRUb0NvbnRlbnQgPSBmYWxzZTtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdGRpc2FibGVEcmFmdEVkaXRTdGF0ZUZpbHRlciA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBUZW1wb3Jhcnkgd29ya2Fyb3VuZCBvbmx5XG5cdCAqIHBhdGggdG8gY29udGV4dFBhdGggdG8gYmUgdXNlZCBieSBjaGlsZCBmaWx0ZXJmaWVsZHNcblx0ICovXG5cdF9pbnRlcm5hbENvbnRleHRQYXRoITogQ29udGV4dDtcblxuXHRfcGFyYW1ldGVyczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIHJlYWN0IHRvIHRoZSBzZWFyY2ggZXZlbnQgb2YgdGhlIEZpbHRlckJhclxuXHQgKi9cblx0QGJsb2NrRXZlbnQoKVxuXHRzZWFyY2g/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEV2ZW50IGhhbmRsZXIgdG8gcmVhY3QgdG8gdGhlIGZpbHRlckNoYW5nZSBldmVudCBvZiB0aGUgRmlsdGVyQmFyXG5cdCAqL1xuXHRAYmxvY2tFdmVudCgpXG5cdGZpbHRlckNoYW5nZWQ/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEV2ZW50IGhhbmRsZXIgdG8gcmVhY3QgdG8gdGhlIHN0YXRlQ2hhbmdlIGV2ZW50IG9mIHRoZSBGaWx0ZXJCYXIuXG5cdCAqL1xuXHRAYmxvY2tFdmVudCgpXG5cdHN0YXRlQ2hhbmdlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIHJlYWN0IHRvIHRoZSBmaWx0ZXJDaGFuZ2VkIGV2ZW50IG9mIHRoZSBGaWx0ZXJCYXIuIEV4cG9zZXMgcGFyYW1ldGVycyBmcm9tIHRoZSBNREMgZmlsdGVyIGJhclxuXHQgKi9cblx0QGJsb2NrRXZlbnQoKVxuXHRpbnRlcm5hbEZpbHRlckNoYW5nZWQ/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEV2ZW50IGhhbmRsZXIgdG8gcmVhY3QgdG8gdGhlIHNlYXJjaCBldmVudCBvZiB0aGUgRmlsdGVyQmFyLiBFeHBvc2VzIHBhcmFtZXRlcmVzIGZyb20gdGhlIE1EQyBmaWx0ZXIgYmFyXG5cdCAqL1xuXHRAYmxvY2tFdmVudCgpXG5cdGludGVybmFsU2VhcmNoPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIHJlYWN0IHRvIHRoZSBhZnRlckNsZWFyIGV2ZW50IG9mIHRoZSBGaWx0ZXJCYXJcblx0ICovXG5cdEBibG9ja0V2ZW50KClcblx0YWZ0ZXJDbGVhcj86IHN0cmluZztcblxuXHRAYmxvY2tBZ2dyZWdhdGlvbih7XG5cdFx0dHlwZTogXCJzYXAuZmUubWFjcm9zLmZpbHRlckJhci5GaWx0ZXJGaWVsZFwiLFxuXHRcdGlzUHVibGljOiB0cnVlLFxuXHRcdGhhc1ZpcnR1YWxOb2RlOiB0cnVlLFxuXHRcdHByb2Nlc3NBZ2dyZWdhdGlvbnM6IHNldEN1c3RvbUZpbHRlckZpZWxkUHJvcGVydGllc1xuXHR9KVxuXHRmaWx0ZXJGaWVsZHM/OiBGaWx0ZXJGaWVsZDtcblxuXHRfYXBpSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHRfY29udGVudElkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0X3ZhbHVlSGVscHM6IEFycmF5PHN0cmluZz4gfCBcIlwiIHwgdW5kZWZpbmVkO1xuXG5cdF9maWx0ZXJGaWVsZHM6IEFycmF5PHN0cmluZz4gfCBcIlwiIHwgdW5kZWZpbmVkO1xuXG5cdHNob3dEcmFmdEVkaXRTdGF0ZSA9IGZhbHNlO1xuXG5cdGRlc2lnbnRpbWU/OiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IocHJvcHM6IFByb3BlcnRpZXNPZjxGaWx0ZXJCYXJCbG9jaz4sIGNvbmZpZ3VyYXRpb246IGFueSwgbVNldHRpbmdzOiBhbnkpIHtcblx0XHRzdXBlcihwcm9wcywgY29uZmlndXJhdGlvbiwgbVNldHRpbmdzKTtcblx0XHRpZiAoIXRoaXMubWV0YVBhdGgpIHtcblx0XHRcdExvZy5lcnJvcihcIkNvbnRleHQgUGF0aCBub3QgYXZhaWxhYmxlIGZvciBGaWx0ZXJCYXIgTWFjcm8uXCIpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBzTWV0YVBhdGggPSB0aGlzLm1ldGFQYXRoLmdldFBhdGgoKTtcblx0XHRsZXQgZW50aXR5VHlwZVBhdGggPSBcIlwiO1xuXHRcdGNvbnN0IG1ldGFQYXRoUGFydHMgPSBzTWV0YVBhdGg/LnNwbGl0KFwiL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5TZWxlY3Rpb25GaWVsZHNcIikgfHwgW107IC8vIFswXTogZW50aXR5VHlwZVBhdGgsIFsxXTogU0YgUXVhbGlmaWVyLlxuXHRcdGlmIChtZXRhUGF0aFBhcnRzLmxlbmd0aCA+IDApIHtcblx0XHRcdGVudGl0eVR5cGVQYXRoID0gdGhpcy5nZXRFbnRpdHlUeXBlUGF0aChtZXRhUGF0aFBhcnRzKTtcblx0XHR9XG5cdFx0Y29uc3Qgc0VudGl0eVNldFBhdGggPSBNb2RlbEhlbHBlci5nZXRFbnRpdHlTZXRQYXRoKGVudGl0eVR5cGVQYXRoKTtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gdGhpcy5jb250ZXh0UGF0aD8uZ2V0TW9kZWwoKTtcblx0XHR0aGlzLl9pbnRlcm5hbENvbnRleHRQYXRoID0gb01ldGFNb2RlbD8uY3JlYXRlQmluZGluZ0NvbnRleHQoZW50aXR5VHlwZVBhdGgpIGFzIENvbnRleHQ7XG5cdFx0Y29uc3Qgc09iamVjdFBhdGggPSBcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5TZWxlY3Rpb25GaWVsZHNcIjtcblx0XHRjb25zdCBhbm5vdGF0aW9uUGF0aDogc3RyaW5nID0gXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuU2VsZWN0aW9uRmllbGRzXCIgKyAoKG1ldGFQYXRoUGFydHMubGVuZ3RoICYmIG1ldGFQYXRoUGFydHNbMV0pIHx8IFwiXCIpO1xuXHRcdGNvbnN0IG9FeHRyYVBhcmFtczogYW55ID0ge307XG5cdFx0b0V4dHJhUGFyYW1zW3NPYmplY3RQYXRoXSA9IHtcblx0XHRcdGZpbHRlckZpZWxkczogdGhpcy5maWx0ZXJGaWVsZHNcblx0XHR9O1xuXHRcdGNvbnN0IG9WaXN1YWxpemF0aW9uT2JqZWN0UGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh0aGlzLl9pbnRlcm5hbENvbnRleHRQYXRoKTtcblx0XHRjb25zdCBvQ29udmVydGVyQ29udGV4dCA9IHRoaXMuZ2V0Q29udmVydGVyQ29udGV4dChvVmlzdWFsaXphdGlvbk9iamVjdFBhdGgsIHVuZGVmaW5lZCwgbVNldHRpbmdzLCBvRXh0cmFQYXJhbXMpO1xuXHRcdGlmICghdGhpcy5wcm9wZXJ0eUluZm8pIHtcblx0XHRcdHRoaXMucHJvcGVydHlJbmZvID0gZ2V0U2VsZWN0aW9uRmllbGRzKG9Db252ZXJ0ZXJDb250ZXh0LCBbXSwgYW5ub3RhdGlvblBhdGgpLnNQcm9wZXJ0eUluZm87XG5cdFx0fVxuXG5cdFx0Y29uc3QgdGFyZ2V0RW50aXR5U2V0ID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKHRoaXMubWV0YVBhdGgsIHRoaXMuY29udGV4dFBhdGgpLnRhcmdldEVudGl0eVNldCBhcyBFbnRpdHlTZXQ7XG5cdFx0aWYgKHRhcmdldEVudGl0eVNldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRHJhZnRSb290ICYmICF0aGlzLmRpc2FibGVEcmFmdEVkaXRTdGF0ZUZpbHRlcikge1xuXHRcdFx0dGhpcy5zaG93RHJhZnRFZGl0U3RhdGUgPSB0cnVlO1xuXHRcdFx0dGhpcy5jaGVja0lmRWRpdGluZ0ZpbHRlcklzRGlzYWJsZWQodGFyZ2V0RW50aXR5U2V0KTtcblx0XHRcdHRoaXMuY2hlY2tJZkNvbGxhYm9yYXRpb25EcmFmdFN1cHBvcnRlZChvTWV0YU1vZGVsIGFzIE9EYXRhTWV0YU1vZGVsKTtcblx0XHR9XG5cblx0XHQvL0ZpbHRlciBGaWVsZHMgYW5kIHZhbHVlcyB0byB0aGUgZmllbGQgYXJlIGZpbGxlZCBiYXNlZCBvbiB0aGUgc2VsZWN0aW9uRmllbGRzIGFuZCB0aGlzIHdvdWxkIGJlIGVtcHR5IGluIGNhc2Ugb2YgbWFjcm8gb3V0c2lkZSB0aGUgRkUgdGVtcGxhdGVcblx0XHRpZiAoIXRoaXMuc2VsZWN0aW9uRmllbGRzKSB7XG5cdFx0XHRjb25zdCBvU2VsZWN0aW9uRmllbGRzID0gZ2V0U2VsZWN0aW9uRmllbGRzKG9Db252ZXJ0ZXJDb250ZXh0LCBbXSwgYW5ub3RhdGlvblBhdGgpLnNlbGVjdGlvbkZpZWxkcztcblx0XHRcdHRoaXMuc2VsZWN0aW9uRmllbGRzID0gbmV3IFRlbXBsYXRlTW9kZWwob1NlbGVjdGlvbkZpZWxkcywgb01ldGFNb2RlbCBhcyBPRGF0YU1ldGFNb2RlbCkuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpO1xuXHRcdFx0Y29uc3Qgb0VudGl0eVR5cGUgPSBvQ29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCksXG5cdFx0XHRcdG9TZWxlY3Rpb25WYXJpYW50ID0gZ2V0U2VsZWN0aW9uVmFyaWFudChvRW50aXR5VHlwZSwgb0NvbnZlcnRlckNvbnRleHQpLFxuXHRcdFx0XHRvRW50aXR5U2V0Q29udGV4dCA9IChvTWV0YU1vZGVsIGFzIE9EYXRhTWV0YU1vZGVsKS5nZXRDb250ZXh0KHNFbnRpdHlTZXRQYXRoKSBhcyBPRGF0YVY0Q29udGV4dCxcblx0XHRcdFx0b0ZpbHRlckNvbmRpdGlvbnMgPSBnZXRGaWx0ZXJDb25kaXRpb25zKFxuXHRcdFx0XHRcdG9FbnRpdHlTZXRDb250ZXh0IGFzIHVua25vd24gYXMgSUNvbnRleHQsIC8vIFdyb25nIGJ1dCBzb21laG93IHdvcmtzID8sXG5cdFx0XHRcdFx0eyBzZWxlY3Rpb25WYXJpYW50OiBvU2VsZWN0aW9uVmFyaWFudCB9LFxuXHRcdFx0XHRcdHRoaXMuc2hvd0RyYWZ0RWRpdFN0YXRlXG5cdFx0XHRcdCk7XG5cdFx0XHR0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSBvRmlsdGVyQ29uZGl0aW9ucztcblx0XHR9XG5cdFx0dGhpcy5fcHJvY2Vzc1Byb3BlcnR5SW5mb3ModGhpcy5wcm9wZXJ0eUluZm8pO1xuXG5cdFx0aWYgKHRoaXMuX2FwcGx5SWRUb0NvbnRlbnQpIHtcblx0XHRcdHRoaXMuX2FwaUlkID0gdGhpcy5pZCArIFwiOjpGaWx0ZXJCYXJcIjtcblx0XHRcdHRoaXMuX2NvbnRlbnRJZCA9IHRoaXMuaWQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2FwaUlkID0gdGhpcy5pZDtcblx0XHRcdHRoaXMuX2NvbnRlbnRJZCA9IHRoaXMuZ2V0Q29udGVudElkKHRoaXMuaWQgKyBcIlwiKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5oaWRlQmFzaWNTZWFyY2ggIT09IHRydWUpIHtcblx0XHRcdGNvbnN0IG9TZWFyY2hSZXN0cmljdGlvbkFubm90YXRpb24gPSBnZXRTZWFyY2hSZXN0cmljdGlvbnMoc0VudGl0eVNldFBhdGgsIG9NZXRhTW9kZWwgYXMgT0RhdGFNZXRhTW9kZWwpO1xuXHRcdFx0dGhpcy5oaWRlQmFzaWNTZWFyY2ggPSBCb29sZWFuKG9TZWFyY2hSZXN0cmljdGlvbkFubm90YXRpb24gJiYgIW9TZWFyY2hSZXN0cmljdGlvbkFubm90YXRpb24uU2VhcmNoYWJsZSk7XG5cdFx0fVxuXHRcdHRoaXMucHJvY2Vzc1NlbGVjdGlvbkZpZWxkcygpO1xuXG5cdFx0dGhpcy5kZXNpZ250aW1lID0gdGhpcy5nZXREZXNpZ250aW1lKG1TZXR0aW5ncy5hcHBDb21wb25lbnQpO1xuXHR9XG5cblx0X3Byb2Nlc3NQcm9wZXJ0eUluZm9zKHByb3BlcnR5SW5mbzogc3RyaW5nKSB7XG5cdFx0Y29uc3QgYVBhcmFtZXRlckZpZWxkczogc3RyaW5nW10gPSBbXTtcblx0XHRpZiAocHJvcGVydHlJbmZvKSB7XG5cdFx0XHRjb25zdCBzRmV0Y2hlZFByb3BlcnRpZXMgPSBwcm9wZXJ0eUluZm8ucmVwbGFjZSgvXFxcXHsvZywgXCJ7XCIpLnJlcGxhY2UoL1xcXFx9L2csIFwifVwiKTtcblx0XHRcdGNvbnN0IGFGZXRjaGVkUHJvcGVydGllcyA9IEpTT04ucGFyc2Uoc0ZldGNoZWRQcm9wZXJ0aWVzKTtcblx0XHRcdGNvbnN0IGVkaXRTdGF0ZUxhYmVsID0gdGhpcy5nZXRUcmFuc2xhdGVkVGV4dChcIkZJTFRFUkJBUl9FRElUSU5HX1NUQVRVU1wiKTtcblx0XHRcdGFGZXRjaGVkUHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wSW5mbzogUHJvcGVydHlJbmZvKSB7XG5cdFx0XHRcdHByb3BJbmZvLmtleSA9IHByb3BJbmZvLm5hbWU7XG5cdFx0XHRcdGlmIChwcm9wSW5mby5pc1BhcmFtZXRlcikge1xuXHRcdFx0XHRcdGFQYXJhbWV0ZXJGaWVsZHMucHVzaChwcm9wSW5mby5uYW1lKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAocHJvcEluZm8ucGF0aCA9PT0gXCIkZWRpdFN0YXRlXCIpIHtcblx0XHRcdFx0XHRwcm9wSW5mby5sYWJlbCA9IGVkaXRTdGF0ZUxhYmVsO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdFx0dGhpcy5wcm9wZXJ0eUluZm8gPSBKU09OLnN0cmluZ2lmeShhRmV0Y2hlZFByb3BlcnRpZXMpLnJlcGxhY2UoL1xcey9nLCBcIlxcXFx7XCIpLnJlcGxhY2UoL1xcfS9nLCBcIlxcXFx9XCIpO1xuXHRcdH1cblx0XHR0aGlzLl9wYXJhbWV0ZXJzID0gSlNPTi5zdHJpbmdpZnkoYVBhcmFtZXRlckZpZWxkcyk7XG5cdH1cblxuXHRjaGVja0lmRWRpdGluZ0ZpbHRlcklzRGlzYWJsZWQgPSAodGFyZ2V0RW50aXR5U2V0OiBFbnRpdHlTZXQpOiB2b2lkID0+IHtcblx0XHRpZiAoXG5cdFx0XHR0YXJnZXRFbnRpdHlTZXQuYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uTmF2aWdhdGlvblJlc3RyaWN0aW9ucz8uUmVzdHJpY3RlZFByb3BlcnRpZXM/LnNvbWUoXG5cdFx0XHRcdChyKSA9PiByLk5hdmlnYXRpb25Qcm9wZXJ0eT8udmFsdWUgPT09IFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGFcIiAmJiByLkZpbHRlclJlc3RyaWN0aW9ucz8uRmlsdGVyYWJsZSA9PT0gZmFsc2Vcblx0XHRcdCkgPT09IHRydWVcblx0XHQpIHtcblx0XHRcdHRoaXMuc2hvd0RyYWZ0RWRpdFN0YXRlID0gZmFsc2U7XG5cdFx0fVxuXHR9O1xuXG5cdGNoZWNrSWZDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQgPSAob01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwgfCB1bmRlZmluZWQpID0+IHtcblx0XHRpZiAoTW9kZWxIZWxwZXIuaXNDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQob01ldGFNb2RlbCkpIHtcblx0XHRcdHRoaXMuaXNEcmFmdENvbGxhYm9yYXRpdmUgPSB0cnVlO1xuXHRcdH1cblx0fTtcblxuXHRnZXRFbnRpdHlUeXBlUGF0aCA9IChtZXRhUGF0aFBhcnRzOiBzdHJpbmdbXSkgPT4ge1xuXHRcdHJldHVybiBtZXRhUGF0aFBhcnRzWzBdLmVuZHNXaXRoKFwiL1wiKSA/IG1ldGFQYXRoUGFydHNbMF0gOiBtZXRhUGF0aFBhcnRzWzBdICsgXCIvXCI7XG5cdH07XG5cblx0Z2V0U2VhcmNoID0gKCkgPT4ge1xuXHRcdGlmICghdGhpcy5oaWRlQmFzaWNTZWFyY2gpIHtcblx0XHRcdHJldHVybiB4bWxgPGNvbnRyb2w6YmFzaWNTZWFyY2hGaWVsZD5cblx0XHRcdDxtZGM6RmlsdGVyRmllbGRcblx0XHRcdFx0aWQ9XCIke2dlbmVyYXRlKFt0aGlzLmlkLCBcIkJhc2ljU2VhcmNoRmllbGRcIl0pfVwiXG5cdFx0XHRcdHBsYWNlaG9sZGVyPVwie3NhcC5mZS5pMThuPk1fRklMVEVSQkFSX1NFQVJDSH1cIlxuXHRcdFx0XHRwcm9wZXJ0eUtleT1cIiRzZWFyY2hcIlxuXHRcdFx0XHRjb25kaXRpb25zPVwieyRmaWx0ZXJzPi9jb25kaXRpb25zLyRzZWFyY2h9XCJcblx0XHRcdFx0ZGF0YVR5cGU9XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TdHJpbmdcIlxuXHRcdFx0XHRtYXhDb25kaXRpb25zPVwiMVwiXG5cdFx0XHQvPlxuXHRcdDwvY29udHJvbDpiYXNpY1NlYXJjaEZpZWxkPmA7XG5cdFx0fVxuXHRcdHJldHVybiBcIlwiO1xuXHR9O1xuXG5cdHByb2Nlc3NTZWxlY3Rpb25GaWVsZHMgPSAoKSA9PiB7XG5cdFx0bGV0IGRyYWZ0RWRpdFN0YXRlID0gXCJcIjtcblx0XHRpZiAodGhpcy5zaG93RHJhZnRFZGl0U3RhdGUpIHtcblx0XHRcdGRyYWZ0RWRpdFN0YXRlID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmlsdGVyQmFyLkRyYWZ0RWRpdFN0YXRlXCIgdHlwZT1cIlhNTFwiIC8+YDtcblx0XHR9XG5cdFx0dGhpcy5fdmFsdWVIZWxwcyA9IFtdO1xuXHRcdHRoaXMuX2ZpbHRlckZpZWxkcyA9IFtdO1xuXHRcdHRoaXMuX2ZpbHRlckZpZWxkcz8ucHVzaChkcmFmdEVkaXRTdGF0ZSk7XG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0aW9uRmllbGRzKSkge1xuXHRcdFx0dGhpcy5zZWxlY3Rpb25GaWVsZHMgPSB0aGlzLnNlbGVjdGlvbkZpZWxkcyEuZ2V0T2JqZWN0KCkgYXMgU2VsZWN0aW9uRmllbGRzO1xuXHRcdH1cblx0XHR0aGlzLnNlbGVjdGlvbkZpZWxkcz8uZm9yRWFjaCgoc2VsZWN0aW9uRmllbGQ6IGFueSwgc2VsZWN0aW9uRmllbGRJZHgpID0+IHtcblx0XHRcdGlmIChzZWxlY3Rpb25GaWVsZC5hdmFpbGFiaWxpdHkgPT09IFwiRGVmYXVsdFwiKSB7XG5cdFx0XHRcdHRoaXMuc2V0RmlsdGVyRmllbGRzQW5kVmFsdWVIZWxwcyhzZWxlY3Rpb25GaWVsZCwgc2VsZWN0aW9uRmllbGRJZHgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHRoaXMuX2ZpbHRlckZpZWxkcyA9IHRoaXMuX2ZpbHRlckZpZWxkcz8ubGVuZ3RoID4gMCA/IHRoaXMuX2ZpbHRlckZpZWxkcyA6IFwiXCI7XG5cdFx0dGhpcy5fdmFsdWVIZWxwcyA9IHRoaXMuX3ZhbHVlSGVscHM/Lmxlbmd0aCA+IDAgPyB0aGlzLl92YWx1ZUhlbHBzIDogXCJcIjtcblx0fTtcblxuXHRzZXRGaWx0ZXJGaWVsZHNBbmRWYWx1ZUhlbHBzID0gKHNlbGVjdGlvbkZpZWxkOiBhbnksIHNlbGVjdGlvbkZpZWxkSWR4OiBudW1iZXIpID0+IHtcblx0XHRpZiAoc2VsZWN0aW9uRmllbGQudGVtcGxhdGUgPT09IHVuZGVmaW5lZCAmJiBzZWxlY3Rpb25GaWVsZC50eXBlICE9PSBcIlNsb3RcIikge1xuXHRcdFx0dGhpcy5wdXNoRmlsdGVyRmllbGRzQW5kVmFsdWVIZWxwcyhzZWxlY3Rpb25GaWVsZCk7XG5cdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2ZpbHRlckZpZWxkcykpIHtcblx0XHRcdHRoaXMuX2ZpbHRlckZpZWxkcz8ucHVzaChcblx0XHRcdFx0eG1sYDx0ZW1wbGF0ZTp3aXRoIHBhdGg9XCJzZWxlY3Rpb25GaWVsZHM+JHtzZWxlY3Rpb25GaWVsZElkeH1cIiB2YXI9XCJpdGVtXCI+XG5cdFx0XHRcdFx0PGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy5maWx0ZXIuQ3VzdG9tRmlsdGVyXCIgdHlwZT1cIlhNTFwiIC8+XG5cdFx0XHRcdDwvdGVtcGxhdGU6d2l0aD5gXG5cdFx0XHQpO1xuXHRcdH1cblx0fTtcblxuXHRfZ2V0Q29udGV4dFBhdGhGb3JGaWx0ZXJGaWVsZChzZWxlY3Rpb25GaWVsZDogYW55LCBmaWx0ZXJCYXJDb250ZXh0UGF0aDogQ29udGV4dCk6IHN0cmluZyB8IENvbnRleHQge1xuXHRcdGxldCBjb250ZXh0UGF0aDogc3RyaW5nIHwgQ29udGV4dCA9IGZpbHRlckJhckNvbnRleHRQYXRoO1xuXHRcdGlmIChzZWxlY3Rpb25GaWVsZC5pc1BhcmFtZXRlcikge1xuXHRcdFx0Ly8gRXhhbXBsZTpcblx0XHRcdC8vIEZpbHRlckJhckNvbnRleHRQYXRoOiAvQ3VzdG9tZXIvU2V0XG5cdFx0XHQvLyBQYXJhbWV0ZXJQcm9wZXJ0eVBhdGg6IC9DdXN0b21lci9QX0NDXG5cdFx0XHQvLyBDb250ZXh0UGF0aEZvckZpbHRlckZpZWxkOiAvQ3VzdG9tZXJcblx0XHRcdGNvbnN0IGFubm9QYXRoID0gc2VsZWN0aW9uRmllbGQuYW5ub3RhdGlvblBhdGg7XG5cdFx0XHRjb250ZXh0UGF0aCA9IGFubm9QYXRoLnN1YnN0cmluZygwLCBhbm5vUGF0aC5sYXN0SW5kZXhPZihcIi9cIikgKyAxKTtcblx0XHR9XG5cdFx0cmV0dXJuIGNvbnRleHRQYXRoO1xuXHR9XG5cblx0cHVzaEZpbHRlckZpZWxkc0FuZFZhbHVlSGVscHMgPSAoc2VsZWN0aW9uRmllbGQ6IGFueSkgPT4ge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2ZpbHRlckZpZWxkcykpIHtcblx0XHRcdHRoaXMuX2ZpbHRlckZpZWxkcz8ucHVzaChcblx0XHRcdFx0eG1sYDxpbnRlcm5hbE1hY3JvOkZpbHRlckZpZWxkXG5cdFx0XHRpZFByZWZpeD1cIiR7Z2VuZXJhdGUoW3RoaXMuaWQsIFwiRmlsdGVyRmllbGRcIiwgQ29tbW9uSGVscGVyLmdldE5hdmlnYXRpb25QYXRoKHNlbGVjdGlvbkZpZWxkLmFubm90YXRpb25QYXRoKV0pfVwiXG5cdFx0XHR2aElkUHJlZml4PVwiJHtnZW5lcmF0ZShbdGhpcy5pZCwgXCJGaWx0ZXJGaWVsZFZhbHVlSGVscFwiXSl9XCJcblx0XHRcdHByb3BlcnR5PVwiJHtzZWxlY3Rpb25GaWVsZC5hbm5vdGF0aW9uUGF0aH1cIlxuXHRcdFx0Y29udGV4dFBhdGg9XCIke3RoaXMuX2dldENvbnRleHRQYXRoRm9yRmlsdGVyRmllbGQoc2VsZWN0aW9uRmllbGQsIHRoaXMuX2ludGVybmFsQ29udGV4dFBhdGgpfVwiXG5cdFx0XHR1c2VTZW1hbnRpY0RhdGVSYW5nZT1cIiR7dGhpcy51c2VTZW1hbnRpY0RhdGVSYW5nZX1cIlxuXHRcdFx0c2V0dGluZ3M9XCIke0NvbW1vbkhlbHBlci5zdHJpbmdpZnlDdXN0b21EYXRhKHNlbGVjdGlvbkZpZWxkLnNldHRpbmdzKX1cIlxuXHRcdFx0dmlzdWFsRmlsdGVyPVwiJHtzZWxlY3Rpb25GaWVsZC52aXN1YWxGaWx0ZXJ9XCJcblx0XHRcdGVkaXRNb2RlPVwie2ludGVybmFsPi8ke3RoaXMuaWR9L2ZpbHRlckZpZWxkcy8ke3NlbGVjdGlvbkZpZWxkLmNvbmRpdGlvblBhdGh9L2VkaXRNb2RlfVwiXG5cdFx0XHQvPmBcblx0XHRcdCk7XG5cdFx0fVxuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMuX3ZhbHVlSGVscHMpKSB7XG5cdFx0XHR0aGlzLl92YWx1ZUhlbHBzPy5wdXNoKFxuXHRcdFx0XHR4bWxgPG1hY3JvOlZhbHVlSGVscFxuXHRcdFx0aWRQcmVmaXg9XCIke2dlbmVyYXRlKFt0aGlzLmlkLCBcIkZpbHRlckZpZWxkVmFsdWVIZWxwXCJdKX1cIlxuXHRcdFx0Y29uZGl0aW9uTW9kZWw9XCIkZmlsdGVyc1wiXG5cdFx0XHRtZXRhUGF0aD1cIiR7c2VsZWN0aW9uRmllbGQuYW5ub3RhdGlvblBhdGh9XCJcblx0XHRcdGNvbnRleHRQYXRoPVwiJHt0aGlzLl9nZXRDb250ZXh0UGF0aEZvckZpbHRlckZpZWxkKHNlbGVjdGlvbkZpZWxkLCB0aGlzLl9pbnRlcm5hbENvbnRleHRQYXRoKX1cIlxuXHRcdFx0ZmlsdGVyRmllbGRWYWx1ZUhlbHA9XCJ0cnVlXCJcblx0XHRcdHVzZVNlbWFudGljRGF0ZVJhbmdlPVwiJHt0aGlzLnVzZVNlbWFudGljRGF0ZVJhbmdlfVwiXG5cdFx0Lz5gXG5cdFx0XHQpO1xuXHRcdH1cblx0fTtcblxuXHQvKipcblx0ICogRGV0ZXJtaW5lcyB0aGUgZGVzaWduIHRpbWUgZm9yIHRoZSBNREMgRmlsdGVyQmFyLlxuXHQgKlxuXHQgKiBAcGFyYW0gYXBwQ29tcG9uZW50XG5cdCAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBiZSBhc3NpZ25lZCB0byBkdDpkZXNpZ250aW1lXG5cdCAqL1xuXHRnZXREZXNpZ250aW1lKGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAoaXNEZXNpZ25Nb2RlRW5hYmxlZCgpIHx8IGlzRmlvcmlUb29sc1J0YU1vZGUoYXBwQ29tcG9uZW50KSkge1xuXHRcdFx0Ly8gRmlvcmkgdG9vbHMgKGRldmVsb3BlcnMpXG5cdFx0XHRyZXR1cm4gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9kZXNpZ250aW1lL0ZpbHRlckJhci5kZXNpZ250aW1lXCI7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIFVJIGFkYXB0YXRpb24gKGtleSB1c2Vycylcblx0XHRcdC8vcmV0dXJuIHRoaXMudmFyaWFudE1hbmFnZW1lbnQgPT09IFwiTm9uZVwiID8gXCJub3QtYWRhcHRhYmxlXCIgOiB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VGVtcGxhdGUoKTogc3RyaW5nIHtcblx0XHRjb25zdCBpbnRlcm5hbENvbnRleHRQYXRoID0gdGhpcy5faW50ZXJuYWxDb250ZXh0UGF0aD8uZ2V0UGF0aCgpO1xuXHRcdGxldCBmaWx0ZXJEZWxlZ2F0ZSA9IFwiXCI7XG5cdFx0aWYgKHRoaXMuZmlsdGVyQmFyRGVsZWdhdGUpIHtcblx0XHRcdGZpbHRlckRlbGVnYXRlID0gdGhpcy5maWx0ZXJCYXJEZWxlZ2F0ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZmlsdGVyRGVsZWdhdGUgPSBcIntuYW1lOidzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9GaWx0ZXJCYXJEZWxlZ2F0ZScsIHBheWxvYWQ6IHtlbnRpdHlUeXBlUGF0aDogJ1wiICsgaW50ZXJuYWxDb250ZXh0UGF0aCArIFwiJ319XCI7XG5cdFx0fVxuXHRcdC8vIGFmdGVyIHJlbW92aW5nIHRoZSB1bndhbnRlZCBwcm9wZXJ0aWVzIFByb3BlcnR5SW5mbyBpcyBhZGRlZCB0byB0aGUgY29udHJvbCwgYW5kIHdlIGFsc28gc2F2ZSB0aGUgZnVsbCB2ZXJzaW9uIGFzIGN1c3RvbSBkYXRhIGZvciBGRSBpbnRlcm5hbCB1c2Vcblx0XHRjb25zdCBfcHJvcGVydHlJbmZvQ29udHJvbCA9IEZpbHRlclV0aWxzLmZvcm1hdFByb3BlcnR5SW5mbyh0aGlzLnByb3BlcnR5SW5mbyBhcyBzdHJpbmcpO1xuXHRcdHJldHVybiB4bWxgPG1hY3JvRmlsdGVyQmFyOkZpbHRlckJhckFQSVxuICAgICAgICB4bWxuczp0ZW1wbGF0ZT1cImh0dHA6Ly9zY2hlbWFzLnNhcC5jb20vc2FwdWk1L2V4dGVuc2lvbi9zYXAudWkuY29yZS50ZW1wbGF0ZS8xXCJcbiAgICAgICAgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCJcbiAgICAgICAgeG1sbnM6bWRjPVwic2FwLnVpLm1kY1wiXG4gICAgICAgIHhtbG5zOmNvbnRyb2w9XCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzXCJcbiAgICAgICAgeG1sbnM6bWFjcm9GaWx0ZXJCYXI9XCJzYXAuZmUubWFjcm9zLmZpbHRlckJhclwiXG4gICAgICAgIHhtbG5zOm1hY3JvPVwic2FwLmZlLm1hY3Jvc1wiXG4gICAgICAgIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgeG1sbnM6Y3VzdG9tRGF0YT1cImh0dHA6Ly9zY2hlbWFzLnNhcC5jb20vc2FwdWk1L2V4dGVuc2lvbi9zYXAudWkuY29yZS5DdXN0b21EYXRhLzFcIlxuXHRcdHhtbG5zOmR0PVwic2FwLnVpLmR0XCJcblx0XHRpZD1cIiR7dGhpcy5fYXBpSWR9XCJcblx0XHRtZXRhUGF0aD1cIiR7dGhpcy5tZXRhUGF0aH1cIlxuXHRcdHNlYXJjaD1cIiR7dGhpcy5zZWFyY2h9XCJcblx0XHRmaWx0ZXJDaGFuZ2VkPVwiJHt0aGlzLmZpbHRlckNoYW5nZWR9XCJcblx0XHRhZnRlckNsZWFyPVwiJHt0aGlzLmFmdGVyQ2xlYXJ9XCJcblx0XHRpbnRlcm5hbFNlYXJjaD1cIiR7dGhpcy5pbnRlcm5hbFNlYXJjaH1cIlxuXHRcdGludGVybmFsRmlsdGVyQ2hhbmdlZD1cIiR7dGhpcy5pbnRlcm5hbEZpbHRlckNoYW5nZWR9XCJcblx0XHRzdGF0ZUNoYW5nZT1cIiR7dGhpcy5zdGF0ZUNoYW5nZX1cIlxuXHQ+XG5cdFx0PGNvbnRyb2w6RmlsdGVyQmFyXG5cdFx0XHRjb3JlOnJlcXVpcmU9XCJ7QVBJOiAnc2FwL2ZlL21hY3Jvcy9maWx0ZXJCYXIvRmlsdGVyQmFyQVBJJ31cIlxuXHRcdFx0aWQ9XCIke3RoaXMuX2NvbnRlbnRJZH1cIlxuXHRcdFx0bGl2ZU1vZGU9XCIke3RoaXMubGl2ZU1vZGV9XCJcblx0XHRcdGRlbGVnYXRlPVwiJHtmaWx0ZXJEZWxlZ2F0ZX1cIlxuXHRcdFx0dmFyaWFudEJhY2tyZWZlcmVuY2U9XCIke3RoaXMudmFyaWFudEJhY2tyZWZlcmVuY2V9XCJcblx0XHRcdHNob3dBZGFwdEZpbHRlcnNCdXR0b249XCIke3RoaXMuc2hvd0FkYXB0RmlsdGVyc0J1dHRvbn1cIlxuXHRcdFx0c2hvd0NsZWFyQnV0dG9uPVwiJHt0aGlzLnNob3dDbGVhckJ1dHRvbn1cIlxuXHRcdFx0cDEzbk1vZGU9XCIke3RoaXMucDEzbk1vZGV9XCJcblx0XHRcdHNlYXJjaD1cIkFQSS5oYW5kbGVTZWFyY2goJGV2ZW50KVwiXG5cdFx0XHRmaWx0ZXJzQ2hhbmdlZD1cIkFQSS5oYW5kbGVGaWx0ZXJDaGFuZ2VkKCRldmVudClcIlxuXHRcdFx0ZmlsdGVyQ29uZGl0aW9ucz1cIiR7dGhpcy5maWx0ZXJDb25kaXRpb25zfVwiXG5cdFx0XHRzdXNwZW5kU2VsZWN0aW9uPVwiJHt0aGlzLnN1c3BlbmRTZWxlY3Rpb259XCJcblx0XHRcdHNob3dNZXNzYWdlcz1cIiR7dGhpcy5zaG93TWVzc2FnZXN9XCJcblx0XHRcdHRvZ2dsZUNvbnRyb2w9XCIke3RoaXMudG9nZ2xlQ29udHJvbElkfVwiXG5cdFx0XHRpbml0aWFsTGF5b3V0PVwiJHt0aGlzLmluaXRpYWxMYXlvdXR9XCJcblx0XHRcdHByb3BlcnR5SW5mbz1cIiR7X3Byb3BlcnR5SW5mb0NvbnRyb2x9XCJcblx0XHRcdGN1c3RvbURhdGE6bG9jYWxJZD1cIiR7dGhpcy5pZH1cIlxuXHRcdFx0dmlzaWJsZT1cIiR7dGhpcy52aXNpYmxlfVwiXG5cdFx0XHRjdXN0b21EYXRhOmhpZGVCYXNpY1NlYXJjaD1cIiR7dGhpcy5oaWRlQmFzaWNTZWFyY2h9XCJcblx0XHRcdGN1c3RvbURhdGE6c2hvd0RyYWZ0RWRpdFN0YXRlPVwiJHt0aGlzLnNob3dEcmFmdEVkaXRTdGF0ZX1cIlxuXHRcdFx0Y3VzdG9tRGF0YTp1c2VTZW1hbnRpY0RhdGVSYW5nZT1cIiR7dGhpcy51c2VTZW1hbnRpY0RhdGVSYW5nZX1cIlxuXHRcdFx0Y3VzdG9tRGF0YTplbnRpdHlUeXBlPVwiJHtpbnRlcm5hbENvbnRleHRQYXRofVwiXG5cdFx0XHRjdXN0b21EYXRhOnBhcmFtZXRlcnM9XCIke3RoaXMuX3BhcmFtZXRlcnN9XCJcblx0XHRcdGN1c3RvbURhdGE6ZmVGaWx0ZXJJbmZvPVwiJHt0aGlzLnByb3BlcnR5SW5mb31cIlxuXHRcdFx0ZHQ6ZGVzaWdudGltZT1cIiR7dGhpcy5kZXNpZ250aW1lfVwiXG5cdFx0PlxuXHRcdFx0PGNvbnRyb2w6ZGVwZW5kZW50cz5cblx0XHRcdFx0JHt0aGlzLl92YWx1ZUhlbHBzfVxuXHRcdFx0PC9jb250cm9sOmRlcGVuZGVudHM+XG5cdFx0XHQke3RoaXMuZ2V0U2VhcmNoKCl9XG5cdFx0XHQ8Y29udHJvbDpmaWx0ZXJJdGVtcz5cblx0XHRcdFx0JHt0aGlzLl9maWx0ZXJGaWVsZHN9XG5cdFx0XHQ8L2NvbnRyb2w6ZmlsdGVySXRlbXM+XG5cdFx0PC9jb250cm9sOkZpbHRlckJhcj5cblx0PC9tYWNyb0ZpbHRlckJhcjpGaWx0ZXJCYXJBUEk+YDtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBZ0NBLE1BQU1BLDhCQUE4QixHQUFHLFVBQVVDLGdCQUF5QixFQUFFQyxpQkFBc0IsRUFBZTtJQUNoSEEsaUJBQWlCLENBQUNDLFFBQVEsR0FBR0QsaUJBQWlCLENBQUNFLEdBQUc7SUFDbERGLGlCQUFpQixDQUFDRSxHQUFHLEdBQUdGLGlCQUFpQixDQUFDRSxHQUFHLENBQUNDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ3ZFSCxpQkFBaUIsQ0FBQ0ksS0FBSyxHQUFHTCxnQkFBZ0IsQ0FBQ00sWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUNoRUwsaUJBQWlCLENBQUNNLFFBQVEsR0FBR1AsZ0JBQWdCLENBQUNNLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNO0lBQ2pGTCxpQkFBaUIsQ0FBQ08sUUFBUSxHQUFHUixnQkFBZ0IsQ0FBQ00sWUFBWSxDQUFDLFVBQVUs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QUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0F3QkgsS0FBSztJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BUUcsSUFBSTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BUWxCLFlBQVk7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FhQSxJQUFJO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BaUJoQixLQUFLO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BbUJHLEtBQUs7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7TUFBQSxPQUtELEtBQUs7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FhWixTQUFTO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FTUCxLQUFLO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FLSCxLQUFLO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FLSyxLQUFLO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7RUFBQTtFQUFBO0FBQUEifQ==
724
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzZXRDdXN0b21GaWx0ZXJGaWVsZFByb3BlcnRpZXMiLCJjaGlsZEZpbHRlckZpZWxkIiwiYWdncmVnYXRpb25PYmplY3QiLCJzbG90TmFtZSIsImtleSIsInJlcGxhY2UiLCJsYWJlbCIsImdldEF0dHJpYnV0ZSIsInJlcXVpcmVkIiwidGVtcGxhdGUiLCJGaWx0ZXJCYXJCbG9jayIsImRlZmluZUJ1aWxkaW5nQmxvY2siLCJuYW1lIiwibmFtZXNwYWNlIiwicHVibGljTmFtZXNwYWNlIiwicmV0dXJuVHlwZXMiLCJibG9ja0F0dHJpYnV0ZSIsInR5cGUiLCJpc1B1YmxpYyIsImJsb2NrRXZlbnQiLCJibG9ja0FnZ3JlZ2F0aW9uIiwiaGFzVmlydHVhbE5vZGUiLCJwcm9jZXNzQWdncmVnYXRpb25zIiwicHJvcHMiLCJjb25maWd1cmF0aW9uIiwibVNldHRpbmdzIiwic2hvd0RyYWZ0RWRpdFN0YXRlIiwiY2hlY2tJZkVkaXRpbmdGaWx0ZXJJc0Rpc2FibGVkIiwidGFyZ2V0RW50aXR5U2V0IiwiYW5ub3RhdGlvbnMiLCJDYXBhYmlsaXRpZXMiLCJOYXZpZ2F0aW9uUmVzdHJpY3Rpb25zIiwiUmVzdHJpY3RlZFByb3BlcnRpZXMiLCJzb21lIiwiciIsIk5hdmlnYXRpb25Qcm9wZXJ0eSIsInZhbHVlIiwiRmlsdGVyUmVzdHJpY3Rpb25zIiwiRmlsdGVyYWJsZSIsImNoZWNrSWZDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQiLCJvTWV0YU1vZGVsIiwiTW9kZWxIZWxwZXIiLCJpc0NvbGxhYm9yYXRpb25EcmFmdFN1cHBvcnRlZCIsImlzRHJhZnRDb2xsYWJvcmF0aXZlIiwiZ2V0RW50aXR5VHlwZVBhdGgiLCJtZXRhUGF0aFBhcnRzIiwiZW5kc1dpdGgiLCJnZXRTZWFyY2giLCJoaWRlQmFzaWNTZWFyY2giLCJ4bWwiLCJnZW5lcmF0ZSIsImlkIiwicHJvY2Vzc1NlbGVjdGlvbkZpZWxkcyIsImRyYWZ0RWRpdFN0YXRlIiwiX3ZhbHVlSGVscHMiLCJfZmlsdGVyRmllbGRzIiwicHVzaCIsIkFycmF5IiwiaXNBcnJheSIsInNlbGVjdGlvbkZpZWxkcyIsImdldE9iamVjdCIsImZvckVhY2giLCJzZWxlY3Rpb25GaWVsZCIsInNlbGVjdGlvbkZpZWxkSWR4IiwiYXZhaWxhYmlsaXR5Iiwic2V0RmlsdGVyRmllbGRzQW5kVmFsdWVIZWxwcyIsImxlbmd0aCIsInVuZGVmaW5lZCIsInB1c2hGaWx0ZXJGaWVsZHNBbmRWYWx1ZUhlbHBzIiwiQ29tbW9uSGVscGVyIiwiZ2V0TmF2aWdhdGlvblBhdGgiLCJhbm5vdGF0aW9uUGF0aCIsIl9nZXRDb250ZXh0UGF0aEZvckZpbHRlckZpZWxkIiwiX2ludGVybmFsQ29udGV4dFBhdGgiLCJ1c2VTZW1hbnRpY0RhdGVSYW5nZSIsInN0cmluZ2lmeUN1c3RvbURhdGEiLCJzZXR0aW5ncyIsInZpc3VhbEZpbHRlciIsImNvbmRpdGlvblBhdGgiLCJ1c2VPbGRWSCIsIm1ldGFQYXRoIiwiTG9nIiwiZXJyb3IiLCJzTWV0YVBhdGgiLCJnZXRQYXRoIiwiZW50aXR5VHlwZVBhdGgiLCJzcGxpdCIsInNFbnRpdHlTZXRQYXRoIiwiZ2V0RW50aXR5U2V0UGF0aCIsImNvbnRleHRQYXRoIiwiZ2V0TW9kZWwiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsInNPYmplY3RQYXRoIiwib0V4dHJhUGFyYW1zIiwiZmlsdGVyRmllbGRzIiwib1Zpc3VhbGl6YXRpb25PYmplY3RQYXRoIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwib0NvbnZlcnRlckNvbnRleHQiLCJnZXRDb252ZXJ0ZXJDb250ZXh0IiwicHJvcGVydHlJbmZvIiwiZ2V0U2VsZWN0aW9uRmllbGRzIiwic1Byb3BlcnR5SW5mbyIsIkNvbW1vbiIsIkRyYWZ0Um9vdCIsImRpc2FibGVEcmFmdEVkaXRTdGF0ZUZpbHRlciIsIm9TZWxlY3Rpb25GaWVsZHMiLCJUZW1wbGF0ZU1vZGVsIiwib0VudGl0eVR5cGUiLCJnZXRFbnRpdHlUeXBlIiwib1NlbGVjdGlvblZhcmlhbnQiLCJnZXRTZWxlY3Rpb25WYXJpYW50Iiwib0VudGl0eVNldENvbnRleHQiLCJnZXRDb250ZXh0Iiwib0ZpbHRlckNvbmRpdGlvbnMiLCJnZXRGaWx0ZXJDb25kaXRpb25zIiwic2VsZWN0aW9uVmFyaWFudCIsImZpbHRlckNvbmRpdGlvbnMiLCJfcHJvY2Vzc1Byb3BlcnR5SW5mb3MiLCJfYXBwbHlJZFRvQ29udGVudCIsIl9hcGlJZCIsIl9jb250ZW50SWQiLCJnZXRDb250ZW50SWQiLCJvU2VhcmNoUmVzdHJpY3Rpb25Bbm5vdGF0aW9uIiwiZ2V0U2VhcmNoUmVzdHJpY3Rpb25zIiwiQm9vbGVhbiIsIlNlYXJjaGFibGUiLCJkZXNpZ250aW1lIiwiZ2V0RGVzaWdudGltZSIsImFwcENvbXBvbmVudCIsImFQYXJhbWV0ZXJGaWVsZHMiLCJzRmV0Y2hlZFByb3BlcnRpZXMiLCJhRmV0Y2hlZFByb3BlcnRpZXMiLCJKU09OIiwicGFyc2UiLCJlZGl0U3RhdGVMYWJlbCIsImdldFRyYW5zbGF0ZWRUZXh0IiwicHJvcEluZm8iLCJpc1BhcmFtZXRlciIsInBhdGgiLCJzdHJpbmdpZnkiLCJfcGFyYW1ldGVycyIsImZpbHRlckJhckNvbnRleHRQYXRoIiwiYW5ub1BhdGgiLCJzdWJzdHJpbmciLCJsYXN0SW5kZXhPZiIsImlzRGVzaWduTW9kZUVuYWJsZWQiLCJpc0Zpb3JpVG9vbHNSdGFNb2RlIiwiZ2V0VGVtcGxhdGUiLCJpbnRlcm5hbENvbnRleHRQYXRoIiwiZmlsdGVyRGVsZWdhdGUiLCJmaWx0ZXJCYXJEZWxlZ2F0ZSIsIl9wcm9wZXJ0eUluZm9Db250cm9sIiwiRmlsdGVyVXRpbHMiLCJmb3JtYXRQcm9wZXJ0eUluZm8iLCJzZWFyY2giLCJmaWx0ZXJDaGFuZ2VkIiwiYWZ0ZXJDbGVhciIsImludGVybmFsU2VhcmNoIiwiaW50ZXJuYWxGaWx0ZXJDaGFuZ2VkIiwic3RhdGVDaGFuZ2UiLCJsaXZlTW9kZSIsInZhcmlhbnRCYWNrcmVmZXJlbmNlIiwic2hvd0FkYXB0RmlsdGVyc0J1dHRvbiIsInNob3dDbGVhckJ1dHRvbiIsInAxM25Nb2RlIiwic3VzcGVuZFNlbGVjdGlvbiIsInNob3dNZXNzYWdlcyIsInRvZ2dsZUNvbnRyb2xJZCIsImluaXRpYWxMYXlvdXQiLCJ2aXNpYmxlIiwiQnVpbGRpbmdCbG9ja1RlbXBsYXRpbmdCYXNlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJGaWx0ZXJCYXIuYmxvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBFbnRpdHlTZXQgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgU2VsZWN0aW9uRmllbGRzIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzL3ZvY2FidWxhcmllcy9VSVwiO1xuaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIEFwcENvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvQXBwQ29tcG9uZW50XCI7XG5pbXBvcnQgVGVtcGxhdGVNb2RlbCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVNb2RlbFwiO1xuaW1wb3J0IHtcblx0YmxvY2tBZ2dyZWdhdGlvbixcblx0YmxvY2tBdHRyaWJ1dGUsXG5cdGJsb2NrRXZlbnQsXG5cdGRlZmluZUJ1aWxkaW5nQmxvY2tcbn0gZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1N1cHBvcnRcIjtcbmltcG9ydCB7IHhtbCB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tUZW1wbGF0ZVByb2Nlc3NvclwiO1xuaW1wb3J0IEJ1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2VcIjtcbmltcG9ydCB7IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0U2VsZWN0aW9uVmFyaWFudCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL2NvbnRyb2xzL0NvbW1vbi9EYXRhVmlzdWFsaXphdGlvblwiO1xuaW1wb3J0IHsgZ2V0U2VsZWN0aW9uRmllbGRzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvY29udHJvbHMvTGlzdFJlcG9ydC9GaWx0ZXJCYXJcIjtcbmltcG9ydCB7IGdldFNlYXJjaFJlc3RyaWN0aW9ucyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01ldGFNb2RlbEZ1bmN0aW9uXCI7XG5pbXBvcnQgTW9kZWxIZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvTW9kZWxIZWxwZXJcIjtcbmltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbmltcG9ydCBDb21tb25IZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvQ29tbW9uSGVscGVyXCI7XG5pbXBvcnQgeyBpc0Zpb3JpVG9vbHNSdGFNb2RlIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZGVzaWdudGltZS9EZXNpZ250aW1lLmhlbHBlclwiO1xuaW1wb3J0IEZpbHRlclV0aWxzIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlci9GaWx0ZXJVdGlsc1wiO1xuaW1wb3J0IHR5cGUgRmlsdGVyRmllbGQgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyQmFyL0ZpbHRlckZpZWxkXCI7XG5pbXBvcnQgeyBnZXRGaWx0ZXJDb25kaXRpb25zIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyQmFyL0ZpbHRlckhlbHBlclwiO1xuaW1wb3J0IHsgaXNEZXNpZ25Nb2RlRW5hYmxlZCB9IGZyb20gXCJzYXAvdWkvYmFzZS9EZXNpZ25UaW1lXCI7XG5pbXBvcnQgdHlwZSB7IElDb250ZXh0IH0gZnJvbSBcInNhcC91aS9jb3JlL3V0aWwvWE1MUHJlcHJvY2Vzc29yXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuaW1wb3J0IHR5cGUgT0RhdGFWNENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnR5SW5mbyB9IGZyb20gXCIuLi9EZWxlZ2F0ZVV0aWxcIjtcblxuY29uc3Qgc2V0Q3VzdG9tRmlsdGVyRmllbGRQcm9wZXJ0aWVzID0gZnVuY3Rpb24gKGNoaWxkRmlsdGVyRmllbGQ6IEVsZW1lbnQsIGFnZ3JlZ2F0aW9uT2JqZWN0OiBhbnkpOiBGaWx0ZXJGaWVsZCB7XG5cdGFnZ3JlZ2F0aW9uT2JqZWN0LnNsb3ROYW1lID0gYWdncmVnYXRpb25PYmplY3Qua2V5O1xuXHRhZ2dyZWdhdGlvbk9iamVjdC5rZXkgPSBhZ2dyZWdhdGlvbk9iamVjdC5rZXkucmVwbGFjZShcIklubGluZVhNTF9cIiwgXCJcIik7XG5cdGFnZ3JlZ2F0aW9uT2JqZWN0LmxhYmVsID0gY2hpbGRGaWx0ZXJGaWVsZC5nZXRBdHRyaWJ1dGUoXCJsYWJlbFwiKTtcblx0YWdncmVnYXRpb25PYmplY3QucmVxdWlyZWQgPSBjaGlsZEZpbHRlckZpZWxkLmdldEF0dHJpYnV0ZShcInJlcXVpcmVkXCIpID09PSBcInRydWVcIjtcblx0YWdncmVnYXRpb25PYmplY3QudGVtcGxhdGUgPSBjaGlsZEZpbHRlckZpZWxkLmdldEF0dHJpYnV0ZShcInRlbXBsYXRlXCIpO1xuXHRyZXR1cm4gYWdncmVnYXRpb25PYmplY3Q7XG59O1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIGZvciBjcmVhdGluZyBhIEZpbHRlckJhciBiYXNlZCBvbiB0aGUgbWV0YWRhdGEgcHJvdmlkZWQgYnkgT0RhdGEgVjQuXG4gKlxuICpcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiA8cHJlPlxuICogJmx0O21hY3JvczpGaWx0ZXJCYXJcbiAqICAgaWQ9XCJTb21lSURcIlxuICogICBzaG93QWRhcHRGaWx0ZXJzQnV0dG9uPVwidHJ1ZVwiXG4gKiAgIHAxM25Nb2RlPVtcIkl0ZW1cIixcIlZhbHVlXCJdXG4gKiAgIGxpc3RCaW5kaW5nTmFtZXMgPSBcInNhcC5mZS50YWJsZUJpbmRpbmdcIlxuICogICBsaXZlTW9kZT1cInRydWVcIlxuICogICBzZWFyY2g9XCIuaGFuZGxlcnMub25TZWFyY2hcIlxuICogICBmaWx0ZXJDaGFuZ2VkPVwiLmhhbmRsZXJzLm9uRmlsdGVyc0NoYW5nZWRcIlxuICogLyZndDtcbiAqIDwvcHJlPlxuICpcbiAqIEJ1aWxkaW5nIGJsb2NrIGZvciBjcmVhdGluZyBhIEZpbHRlckJhciBiYXNlZCBvbiB0aGUgbWV0YWRhdGEgcHJvdmlkZWQgYnkgT0RhdGEgVjQuXG4gKlxuICogQHNpbmNlIDEuOTQuMFxuICovXG5AZGVmaW5lQnVpbGRpbmdCbG9jayh7XG5cdG5hbWU6IFwiRmlsdGVyQmFyXCIsXG5cdG5hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zLmludGVybmFsXCIsXG5cdHB1YmxpY05hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zXCIsXG5cdHJldHVyblR5cGVzOiBbXCJzYXAuZmUubWFjcm9zLmZpbHRlckJhci5GaWx0ZXJCYXJBUElcIl1cbn0pXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBGaWx0ZXJCYXJCbG9jayBleHRlbmRzIEJ1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZSB7XG5cdC8qKlxuXHQgKiBJRCBvZiB0aGUgRmlsdGVyQmFyXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0aWQ/OiBzdHJpbmc7XG5cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcImJvb2xlYW5cIixcblx0XHRpc1B1YmxpYzogdHJ1ZVxuXHR9KVxuXHR2aXNpYmxlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBzZWxlY3Rpb25GaWVsZHMgdG8gYmUgZGlzcGxheWVkXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIlxuXHR9KVxuXHRzZWxlY3Rpb25GaWVsZHM/OiBTZWxlY3Rpb25GaWVsZHMgfCBDb250ZXh0O1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0ZmlsdGVyQmFyRGVsZWdhdGU/OiBzdHJpbmc7XG5cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInNhcC51aS5tb2RlbC5Db250ZXh0XCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0bWV0YVBhdGg/OiBDb250ZXh0O1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzYXAudWkubW9kZWwuQ29udGV4dFwiLFxuXHRcdGlzUHVibGljOiB0cnVlXG5cdH0pXG5cdGNvbnRleHRQYXRoPzogQ29udGV4dDtcblxuXHQvKipcblx0ICogRGlzcGxheXMgcG9zc2libGUgZXJyb3JzIGR1cmluZyB0aGUgc2VhcmNoIGluIGEgbWVzc2FnZSBib3hcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0c2hvd01lc3NhZ2VzID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIElEIG9mIHRoZSBhc3NpZ25lZCB2YXJpYW50IG1hbmFnZW1lbnRcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIlxuXHR9KVxuXHR2YXJpYW50QmFja3JlZmVyZW5jZT86IHN0cmluZztcblxuXHQvKipcblx0ICogRG9uJ3Qgc2hvdyB0aGUgYmFzaWMgc2VhcmNoIGZpZWxkXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdGhpZGVCYXNpY1NlYXJjaD86IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIEVuYWJsZXMgdGhlIGZhbGxiYWNrIHRvIHNob3cgYWxsIGZpZWxkcyBvZiB0aGUgRW50aXR5VHlwZSBhcyBmaWx0ZXIgZmllbGRzIGlmIGNvbS5zYXAudm9jYWJ1bGFyaWVzLlVJLnYxLlNlbGVjdGlvbkZpZWxkcyBhcmUgbm90IHByZXNlbnRcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCJcblx0fSlcblx0ZW5hYmxlRmFsbGJhY2sgPSBmYWxzZTtcblxuXHQvKipcblx0ICogSGFuZGxlcyB2aXNpYmlsaXR5IG9mIHRoZSAnQWRhcHQgRmlsdGVycycgYnV0dG9uIG9uIHRoZSBGaWx0ZXJCYXJcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCJcblx0fSlcblx0c2hvd0FkYXB0RmlsdGVyc0J1dHRvbiA9IHRydWU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyB0aGUgcGVyc29uYWxpemF0aW9uIG9wdGlvbnMgZm9yIHRoZSBmaWx0ZXIgYmFyLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1tdXCJcblx0fSlcblx0cDEzbk1vZGUgPSBcIkl0ZW0sVmFsdWVcIjtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCJcblx0fSlcblx0cHJvcGVydHlJbmZvPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgdGhlIFNlbWF0aWMgRGF0ZSBSYW5nZSBvcHRpb24gZm9yIHRoZSBmaWx0ZXIgYmFyLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcImJvb2xlYW5cIlxuXHR9KVxuXHR1c2VTZW1hbnRpY0RhdGVSYW5nZSA9IHRydWU7XG5cblx0LyoqXG5cdCAqIFNwZWNpZmllcyB0aGUgbmF2aWdhdGlvbiBwcm9wZXJ0aWVzIG9wdGlvbiBmb3IgdGhlIGZpbHRlciBiYXIuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic3RyaW5nW11cIlxuXHR9KVxuXHRuYXZpZ2F0aW9uUHJvcGVydGllcz86IHN0cmluZ1tdO1xuXG5cdC8qKlxuXHQgKiBJZiBzZXQsIHRoZSBzZWFyY2ggaXMgYXV0b21hdGljYWxseSB0cmlnZ2VyZWQgd2hlbiBhIGZpbHRlciB2YWx1ZSBpcyBjaGFuZ2VkLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcImJvb2xlYW5cIixcblx0XHRpc1B1YmxpYzogdHJ1ZVxuXHR9KVxuXHRsaXZlTW9kZSA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBGaWx0ZXIgY29uZGl0aW9ucyB0byBiZSBhcHBsaWVkIHRvIHRoZSBmaWx0ZXIgYmFyXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwic3RyaW5nXCIsXG5cdFx0cmVxdWlyZWQ6IGZhbHNlXG5cdH0pXG5cdGZpbHRlckNvbmRpdGlvbnM/OiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0LyoqXG5cdCAqIElmIHNldCB0byA8Y29kZT50cnVlPC9jb2RlPiwgYWxsIHNlYXJjaCByZXF1ZXN0cyBhcmUgaWdub3JlZC4gT25jZSBpdCBoYXMgYmVlbiBzZXQgdG8gPGNvZGU+ZmFsc2U8L2NvZGU+LFxuXHQgKiBhIHNlYXJjaCBpcyB0cmlnZ2VyZWQgaW1tZWRpYXRlbHkgaWYgb25lIG9yIG1vcmUgc2VhcmNoIHJlcXVlc3RzIGhhdmUgYmVlbiB0cmlnZ2VyZWQgaW4gdGhlIG1lYW50aW1lXG5cdCAqIGJ1dCB3ZXJlIGlnbm9yZWQgYmFzZWQgb24gdGhlIHNldHRpbmcuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdHN1c3BlbmRTZWxlY3Rpb24gPSBmYWxzZTtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoe1xuXHRcdHR5cGU6IFwiYm9vbGVhblwiXG5cdH0pXG5cdGlzRHJhZnRDb2xsYWJvcmF0aXZlID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIElkIG9mIGNvbnRyb2wgdGhhdCB3aWxsIGFsbG93IGZvciBzd2l0Y2hpbmcgYmV0d2VlbiBub3JtYWwgYW5kIHZpc3VhbCBmaWx0ZXJcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJzdHJpbmdcIlxuXHR9KVxuXHR0b2dnbGVDb250cm9sSWQ/OiBzdHJpbmc7XG5cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcInN0cmluZ1wiXG5cdH0pXG5cdGluaXRpYWxMYXlvdXQgPSBcImNvbXBhY3RcIjtcblxuXHQvKipcblx0ICogSGFuZGxlcyB0aGUgdmlzaWJpbGl0eSBvZiB0aGUgJ0NsZWFyJyBidXR0b24gb24gdGhlIEZpbHRlckJhci5cblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCIsXG5cdFx0aXNQdWJsaWM6IHRydWVcblx0fSlcblx0c2hvd0NsZWFyQnV0dG9uID0gZmFsc2U7XG5cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcImJvb2xlYW5cIlxuXHR9KVxuXHRfYXBwbHlJZFRvQ29udGVudCA9IGZhbHNlO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7XG5cdFx0dHlwZTogXCJib29sZWFuXCJcblx0fSlcblx0ZGlzYWJsZURyYWZ0RWRpdFN0YXRlRmlsdGVyID0gZmFsc2U7XG5cblx0LyoqXG5cdCAqIEZvciBPVlAgaGF2aW5nIFZhbHVlaGVscCBhcyBCQnY0IGlzIG5vdCBzdXBwb3J0ZWQsIHdlIGFkZCB0aGlzIHBhcmFtZXRlciB0byB1c2UgdGhlIG9sZCB2YWx1ZSBoZWxwIGluIHRoaXMgY2FzZVxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHtcblx0XHR0eXBlOiBcImJvb2xlYW5cIixcblx0XHRpc1B1YmxpYzogdHJ1ZVxuXHR9KVxuXHR1c2VPbGRWSCA9IGZhbHNlO1xuXG5cdC8qKlxuXHQgKiBUZW1wb3Jhcnkgd29ya2Fyb3VuZCBvbmx5XG5cdCAqIHBhdGggdG8gY29udGV4dFBhdGggdG8gYmUgdXNlZCBieSBjaGlsZCBmaWx0ZXJmaWVsZHNcblx0ICovXG5cdF9pbnRlcm5hbENvbnRleHRQYXRoITogQ29udGV4dDtcblxuXHRfcGFyYW1ldGVyczogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIHJlYWN0IHRvIHRoZSBzZWFyY2ggZXZlbnQgb2YgdGhlIEZpbHRlckJhclxuXHQgKi9cblx0QGJsb2NrRXZlbnQoKVxuXHRzZWFyY2g/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEV2ZW50IGhhbmRsZXIgdG8gcmVhY3QgdG8gdGhlIGZpbHRlckNoYW5nZSBldmVudCBvZiB0aGUgRmlsdGVyQmFyXG5cdCAqL1xuXHRAYmxvY2tFdmVudCgpXG5cdGZpbHRlckNoYW5nZWQ/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEV2ZW50IGhhbmRsZXIgdG8gcmVhY3QgdG8gdGhlIHN0YXRlQ2hhbmdlIGV2ZW50IG9mIHRoZSBGaWx0ZXJCYXIuXG5cdCAqL1xuXHRAYmxvY2tFdmVudCgpXG5cdHN0YXRlQ2hhbmdlPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIHJlYWN0IHRvIHRoZSBmaWx0ZXJDaGFuZ2VkIGV2ZW50IG9mIHRoZSBGaWx0ZXJCYXIuIEV4cG9zZXMgcGFyYW1ldGVycyBmcm9tIHRoZSBNREMgZmlsdGVyIGJhclxuXHQgKi9cblx0QGJsb2NrRXZlbnQoKVxuXHRpbnRlcm5hbEZpbHRlckNoYW5nZWQ/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIEV2ZW50IGhhbmRsZXIgdG8gcmVhY3QgdG8gdGhlIHNlYXJjaCBldmVudCBvZiB0aGUgRmlsdGVyQmFyLiBFeHBvc2VzIHBhcmFtZXRlcmVzIGZyb20gdGhlIE1EQyBmaWx0ZXIgYmFyXG5cdCAqL1xuXHRAYmxvY2tFdmVudCgpXG5cdGludGVybmFsU2VhcmNoPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBFdmVudCBoYW5kbGVyIHRvIHJlYWN0IHRvIHRoZSBhZnRlckNsZWFyIGV2ZW50IG9mIHRoZSBGaWx0ZXJCYXJcblx0ICovXG5cdEBibG9ja0V2ZW50KClcblx0YWZ0ZXJDbGVhcj86IHN0cmluZztcblxuXHRAYmxvY2tBZ2dyZWdhdGlvbih7XG5cdFx0dHlwZTogXCJzYXAuZmUubWFjcm9zLmZpbHRlckJhci5GaWx0ZXJGaWVsZFwiLFxuXHRcdGlzUHVibGljOiB0cnVlLFxuXHRcdGhhc1ZpcnR1YWxOb2RlOiB0cnVlLFxuXHRcdHByb2Nlc3NBZ2dyZWdhdGlvbnM6IHNldEN1c3RvbUZpbHRlckZpZWxkUHJvcGVydGllc1xuXHR9KVxuXHRmaWx0ZXJGaWVsZHM/OiBGaWx0ZXJGaWVsZDtcblxuXHRfYXBpSWQ6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHRfY29udGVudElkOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0X3ZhbHVlSGVscHM6IEFycmF5PHN0cmluZz4gfCBcIlwiIHwgdW5kZWZpbmVkO1xuXG5cdF9maWx0ZXJGaWVsZHM6IEFycmF5PHN0cmluZz4gfCBcIlwiIHwgdW5kZWZpbmVkO1xuXG5cdHNob3dEcmFmdEVkaXRTdGF0ZSA9IGZhbHNlO1xuXG5cdGRlc2lnbnRpbWU/OiBzdHJpbmc7XG5cblx0Y29uc3RydWN0b3IocHJvcHM6IFByb3BlcnRpZXNPZjxGaWx0ZXJCYXJCbG9jaz4sIGNvbmZpZ3VyYXRpb246IGFueSwgbVNldHRpbmdzOiBhbnkpIHtcblx0XHRzdXBlcihwcm9wcywgY29uZmlndXJhdGlvbiwgbVNldHRpbmdzKTtcblx0XHRpZiAoIXRoaXMubWV0YVBhdGgpIHtcblx0XHRcdExvZy5lcnJvcihcIkNvbnRleHQgUGF0aCBub3QgYXZhaWxhYmxlIGZvciBGaWx0ZXJCYXIgTWFjcm8uXCIpO1xuXHRcdFx0cmV0dXJuO1xuXHRcdH1cblx0XHRjb25zdCBzTWV0YVBhdGggPSB0aGlzLm1ldGFQYXRoLmdldFBhdGgoKTtcblx0XHRsZXQgZW50aXR5VHlwZVBhdGggPSBcIlwiO1xuXHRcdGNvbnN0IG1ldGFQYXRoUGFydHMgPSBzTWV0YVBhdGg/LnNwbGl0KFwiL0Bjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5TZWxlY3Rpb25GaWVsZHNcIikgfHwgW107IC8vIFswXTogZW50aXR5VHlwZVBhdGgsIFsxXTogU0YgUXVhbGlmaWVyLlxuXHRcdGlmIChtZXRhUGF0aFBhcnRzLmxlbmd0aCA+IDApIHtcblx0XHRcdGVudGl0eVR5cGVQYXRoID0gdGhpcy5nZXRFbnRpdHlUeXBlUGF0aChtZXRhUGF0aFBhcnRzKTtcblx0XHR9XG5cdFx0Y29uc3Qgc0VudGl0eVNldFBhdGggPSBNb2RlbEhlbHBlci5nZXRFbnRpdHlTZXRQYXRoKGVudGl0eVR5cGVQYXRoKTtcblx0XHRjb25zdCBvTWV0YU1vZGVsID0gdGhpcy5jb250ZXh0UGF0aD8uZ2V0TW9kZWwoKTtcblx0XHR0aGlzLl9pbnRlcm5hbENvbnRleHRQYXRoID0gb01ldGFNb2RlbD8uY3JlYXRlQmluZGluZ0NvbnRleHQoZW50aXR5VHlwZVBhdGgpIGFzIENvbnRleHQ7XG5cdFx0Y29uc3Qgc09iamVjdFBhdGggPSBcIkBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5TZWxlY3Rpb25GaWVsZHNcIjtcblx0XHRjb25zdCBhbm5vdGF0aW9uUGF0aDogc3RyaW5nID0gXCJAY29tLnNhcC52b2NhYnVsYXJpZXMuVUkudjEuU2VsZWN0aW9uRmllbGRzXCIgKyAoKG1ldGFQYXRoUGFydHMubGVuZ3RoICYmIG1ldGFQYXRoUGFydHNbMV0pIHx8IFwiXCIpO1xuXHRcdGNvbnN0IG9FeHRyYVBhcmFtczogYW55ID0ge307XG5cdFx0b0V4dHJhUGFyYW1zW3NPYmplY3RQYXRoXSA9IHtcblx0XHRcdGZpbHRlckZpZWxkczogdGhpcy5maWx0ZXJGaWVsZHNcblx0XHR9O1xuXHRcdGNvbnN0IG9WaXN1YWxpemF0aW9uT2JqZWN0UGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyh0aGlzLl9pbnRlcm5hbENvbnRleHRQYXRoKTtcblx0XHRjb25zdCBvQ29udmVydGVyQ29udGV4dCA9IHRoaXMuZ2V0Q29udmVydGVyQ29udGV4dChvVmlzdWFsaXphdGlvbk9iamVjdFBhdGgsIHVuZGVmaW5lZCwgbVNldHRpbmdzLCBvRXh0cmFQYXJhbXMpO1xuXHRcdGlmICghdGhpcy5wcm9wZXJ0eUluZm8pIHtcblx0XHRcdHRoaXMucHJvcGVydHlJbmZvID0gZ2V0U2VsZWN0aW9uRmllbGRzKG9Db252ZXJ0ZXJDb250ZXh0LCBbXSwgYW5ub3RhdGlvblBhdGgpLnNQcm9wZXJ0eUluZm87XG5cdFx0fVxuXG5cdFx0Y29uc3QgdGFyZ2V0RW50aXR5U2V0ID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKHRoaXMubWV0YVBhdGgsIHRoaXMuY29udGV4dFBhdGgpLnRhcmdldEVudGl0eVNldCBhcyBFbnRpdHlTZXQ7XG5cdFx0aWYgKHRhcmdldEVudGl0eVNldD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uRHJhZnRSb290ICYmICF0aGlzLmRpc2FibGVEcmFmdEVkaXRTdGF0ZUZpbHRlcikge1xuXHRcdFx0dGhpcy5zaG93RHJhZnRFZGl0U3RhdGUgPSB0cnVlO1xuXHRcdFx0dGhpcy5jaGVja0lmRWRpdGluZ0ZpbHRlcklzRGlzYWJsZWQodGFyZ2V0RW50aXR5U2V0KTtcblx0XHRcdHRoaXMuY2hlY2tJZkNvbGxhYm9yYXRpb25EcmFmdFN1cHBvcnRlZChvTWV0YU1vZGVsIGFzIE9EYXRhTWV0YU1vZGVsKTtcblx0XHR9XG5cblx0XHQvL0ZpbHRlciBGaWVsZHMgYW5kIHZhbHVlcyB0byB0aGUgZmllbGQgYXJlIGZpbGxlZCBiYXNlZCBvbiB0aGUgc2VsZWN0aW9uRmllbGRzIGFuZCB0aGlzIHdvdWxkIGJlIGVtcHR5IGluIGNhc2Ugb2YgbWFjcm8gb3V0c2lkZSB0aGUgRkUgdGVtcGxhdGVcblx0XHRpZiAoIXRoaXMuc2VsZWN0aW9uRmllbGRzKSB7XG5cdFx0XHRjb25zdCBvU2VsZWN0aW9uRmllbGRzID0gZ2V0U2VsZWN0aW9uRmllbGRzKG9Db252ZXJ0ZXJDb250ZXh0LCBbXSwgYW5ub3RhdGlvblBhdGgpLnNlbGVjdGlvbkZpZWxkcztcblx0XHRcdHRoaXMuc2VsZWN0aW9uRmllbGRzID0gbmV3IFRlbXBsYXRlTW9kZWwob1NlbGVjdGlvbkZpZWxkcywgb01ldGFNb2RlbCBhcyBPRGF0YU1ldGFNb2RlbCkuY3JlYXRlQmluZGluZ0NvbnRleHQoXCIvXCIpO1xuXHRcdFx0Y29uc3Qgb0VudGl0eVR5cGUgPSBvQ29udmVydGVyQ29udGV4dC5nZXRFbnRpdHlUeXBlKCksXG5cdFx0XHRcdG9TZWxlY3Rpb25WYXJpYW50ID0gZ2V0U2VsZWN0aW9uVmFyaWFudChvRW50aXR5VHlwZSwgb0NvbnZlcnRlckNvbnRleHQpLFxuXHRcdFx0XHRvRW50aXR5U2V0Q29udGV4dCA9IChvTWV0YU1vZGVsIGFzIE9EYXRhTWV0YU1vZGVsKS5nZXRDb250ZXh0KHNFbnRpdHlTZXRQYXRoKSBhcyBPRGF0YVY0Q29udGV4dCxcblx0XHRcdFx0b0ZpbHRlckNvbmRpdGlvbnMgPSBnZXRGaWx0ZXJDb25kaXRpb25zKFxuXHRcdFx0XHRcdG9FbnRpdHlTZXRDb250ZXh0IGFzIHVua25vd24gYXMgSUNvbnRleHQsIC8vIFdyb25nIGJ1dCBzb21laG93IHdvcmtzID8sXG5cdFx0XHRcdFx0eyBzZWxlY3Rpb25WYXJpYW50OiBvU2VsZWN0aW9uVmFyaWFudCB9LFxuXHRcdFx0XHRcdHRoaXMuc2hvd0RyYWZ0RWRpdFN0YXRlXG5cdFx0XHRcdCk7XG5cdFx0XHR0aGlzLmZpbHRlckNvbmRpdGlvbnMgPSBvRmlsdGVyQ29uZGl0aW9ucztcblx0XHR9XG5cdFx0dGhpcy5fcHJvY2Vzc1Byb3BlcnR5SW5mb3ModGhpcy5wcm9wZXJ0eUluZm8pO1xuXG5cdFx0aWYgKHRoaXMuX2FwcGx5SWRUb0NvbnRlbnQpIHtcblx0XHRcdHRoaXMuX2FwaUlkID0gdGhpcy5pZCArIFwiOjpGaWx0ZXJCYXJcIjtcblx0XHRcdHRoaXMuX2NvbnRlbnRJZCA9IHRoaXMuaWQ7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuX2FwaUlkID0gdGhpcy5pZDtcblx0XHRcdHRoaXMuX2NvbnRlbnRJZCA9IHRoaXMuZ2V0Q29udGVudElkKHRoaXMuaWQgKyBcIlwiKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5oaWRlQmFzaWNTZWFyY2ggIT09IHRydWUpIHtcblx0XHRcdGNvbnN0IG9TZWFyY2hSZXN0cmljdGlvbkFubm90YXRpb24gPSBnZXRTZWFyY2hSZXN0cmljdGlvbnMoc0VudGl0eVNldFBhdGgsIG9NZXRhTW9kZWwgYXMgT0RhdGFNZXRhTW9kZWwpO1xuXHRcdFx0dGhpcy5oaWRlQmFzaWNTZWFyY2ggPSBCb29sZWFuKG9TZWFyY2hSZXN0cmljdGlvbkFubm90YXRpb24gJiYgIW9TZWFyY2hSZXN0cmljdGlvbkFubm90YXRpb24uU2VhcmNoYWJsZSk7XG5cdFx0fVxuXHRcdHRoaXMucHJvY2Vzc1NlbGVjdGlvbkZpZWxkcygpO1xuXG5cdFx0dGhpcy5kZXNpZ250aW1lID0gdGhpcy5nZXREZXNpZ250aW1lKG1TZXR0aW5ncy5hcHBDb21wb25lbnQpO1xuXHR9XG5cblx0X3Byb2Nlc3NQcm9wZXJ0eUluZm9zKHByb3BlcnR5SW5mbzogc3RyaW5nKSB7XG5cdFx0Y29uc3QgYVBhcmFtZXRlckZpZWxkczogc3RyaW5nW10gPSBbXTtcblx0XHRpZiAocHJvcGVydHlJbmZvKSB7XG5cdFx0XHRjb25zdCBzRmV0Y2hlZFByb3BlcnRpZXMgPSBwcm9wZXJ0eUluZm8ucmVwbGFjZSgvXFxcXHsvZywgXCJ7XCIpLnJlcGxhY2UoL1xcXFx9L2csIFwifVwiKTtcblx0XHRcdGNvbnN0IGFGZXRjaGVkUHJvcGVydGllcyA9IEpTT04ucGFyc2Uoc0ZldGNoZWRQcm9wZXJ0aWVzKTtcblx0XHRcdGNvbnN0IGVkaXRTdGF0ZUxhYmVsID0gdGhpcy5nZXRUcmFuc2xhdGVkVGV4dChcIkZJTFRFUkJBUl9FRElUSU5HX1NUQVRVU1wiKTtcblx0XHRcdGFGZXRjaGVkUHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChwcm9wSW5mbzogUHJvcGVydHlJbmZvKSB7XG5cdFx0XHRcdHByb3BJbmZvLmtleSA9IHByb3BJbmZvLm5hbWU7XG5cdFx0XHRcdGlmIChwcm9wSW5mby5pc1BhcmFtZXRlcikge1xuXHRcdFx0XHRcdGFQYXJhbWV0ZXJGaWVsZHMucHVzaChwcm9wSW5mby5uYW1lKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAocHJvcEluZm8ucGF0aCA9PT0gXCIkZWRpdFN0YXRlXCIpIHtcblx0XHRcdFx0XHRwcm9wSW5mby5sYWJlbCA9IGVkaXRTdGF0ZUxhYmVsO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblxuXHRcdFx0dGhpcy5wcm9wZXJ0eUluZm8gPSBKU09OLnN0cmluZ2lmeShhRmV0Y2hlZFByb3BlcnRpZXMpLnJlcGxhY2UoL1xcey9nLCBcIlxcXFx7XCIpLnJlcGxhY2UoL1xcfS9nLCBcIlxcXFx9XCIpO1xuXHRcdH1cblx0XHR0aGlzLl9wYXJhbWV0ZXJzID0gSlNPTi5zdHJpbmdpZnkoYVBhcmFtZXRlckZpZWxkcyk7XG5cdH1cblxuXHRjaGVja0lmRWRpdGluZ0ZpbHRlcklzRGlzYWJsZWQgPSAodGFyZ2V0RW50aXR5U2V0OiBFbnRpdHlTZXQpOiB2b2lkID0+IHtcblx0XHRpZiAoXG5cdFx0XHR0YXJnZXRFbnRpdHlTZXQuYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uTmF2aWdhdGlvblJlc3RyaWN0aW9ucz8uUmVzdHJpY3RlZFByb3BlcnRpZXM/LnNvbWUoXG5cdFx0XHRcdChyKSA9PiByLk5hdmlnYXRpb25Qcm9wZXJ0eT8udmFsdWUgPT09IFwiRHJhZnRBZG1pbmlzdHJhdGl2ZURhdGFcIiAmJiByLkZpbHRlclJlc3RyaWN0aW9ucz8uRmlsdGVyYWJsZSA9PT0gZmFsc2Vcblx0XHRcdCkgPT09IHRydWVcblx0XHQpIHtcblx0XHRcdHRoaXMuc2hvd0RyYWZ0RWRpdFN0YXRlID0gZmFsc2U7XG5cdFx0fVxuXHR9O1xuXG5cdGNoZWNrSWZDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQgPSAob01ldGFNb2RlbDogT0RhdGFNZXRhTW9kZWwgfCB1bmRlZmluZWQpID0+IHtcblx0XHRpZiAoTW9kZWxIZWxwZXIuaXNDb2xsYWJvcmF0aW9uRHJhZnRTdXBwb3J0ZWQob01ldGFNb2RlbCkpIHtcblx0XHRcdHRoaXMuaXNEcmFmdENvbGxhYm9yYXRpdmUgPSB0cnVlO1xuXHRcdH1cblx0fTtcblxuXHRnZXRFbnRpdHlUeXBlUGF0aCA9IChtZXRhUGF0aFBhcnRzOiBzdHJpbmdbXSkgPT4ge1xuXHRcdHJldHVybiBtZXRhUGF0aFBhcnRzWzBdLmVuZHNXaXRoKFwiL1wiKSA/IG1ldGFQYXRoUGFydHNbMF0gOiBtZXRhUGF0aFBhcnRzWzBdICsgXCIvXCI7XG5cdH07XG5cblx0Z2V0U2VhcmNoID0gKCkgPT4ge1xuXHRcdGlmICghdGhpcy5oaWRlQmFzaWNTZWFyY2gpIHtcblx0XHRcdHJldHVybiB4bWxgPGNvbnRyb2w6YmFzaWNTZWFyY2hGaWVsZD5cblx0XHRcdDxtZGM6RmlsdGVyRmllbGRcblx0XHRcdFx0aWQ9XCIke2dlbmVyYXRlKFt0aGlzLmlkLCBcIkJhc2ljU2VhcmNoRmllbGRcIl0pfVwiXG5cdFx0XHRcdHBsYWNlaG9sZGVyPVwie3NhcC5mZS5pMThuPk1fRklMVEVSQkFSX1NFQVJDSH1cIlxuXHRcdFx0XHRwcm9wZXJ0eUtleT1cIiRzZWFyY2hcIlxuXHRcdFx0XHRjb25kaXRpb25zPVwieyRmaWx0ZXJzPi9jb25kaXRpb25zLyRzZWFyY2h9XCJcblx0XHRcdFx0ZGF0YVR5cGU9XCJzYXAudWkubW9kZWwub2RhdGEudHlwZS5TdHJpbmdcIlxuXHRcdFx0XHRtYXhDb25kaXRpb25zPVwiMVwiXG5cdFx0XHQvPlxuXHRcdDwvY29udHJvbDpiYXNpY1NlYXJjaEZpZWxkPmA7XG5cdFx0fVxuXHRcdHJldHVybiBcIlwiO1xuXHR9O1xuXG5cdHByb2Nlc3NTZWxlY3Rpb25GaWVsZHMgPSAoKSA9PiB7XG5cdFx0bGV0IGRyYWZ0RWRpdFN0YXRlID0gXCJcIjtcblx0XHRpZiAodGhpcy5zaG93RHJhZnRFZGl0U3RhdGUpIHtcblx0XHRcdGRyYWZ0RWRpdFN0YXRlID0gYDxjb3JlOkZyYWdtZW50IGZyYWdtZW50TmFtZT1cInNhcC5mZS5tYWNyb3MuZmlsdGVyQmFyLkRyYWZ0RWRpdFN0YXRlXCIgdHlwZT1cIlhNTFwiIC8+YDtcblx0XHR9XG5cdFx0dGhpcy5fdmFsdWVIZWxwcyA9IFtdO1xuXHRcdHRoaXMuX2ZpbHRlckZpZWxkcyA9IFtdO1xuXHRcdHRoaXMuX2ZpbHRlckZpZWxkcz8ucHVzaChkcmFmdEVkaXRTdGF0ZSk7XG5cdFx0aWYgKCFBcnJheS5pc0FycmF5KHRoaXMuc2VsZWN0aW9uRmllbGRzKSkge1xuXHRcdFx0dGhpcy5zZWxlY3Rpb25GaWVsZHMgPSB0aGlzLnNlbGVjdGlvbkZpZWxkcyEuZ2V0T2JqZWN0KCkgYXMgU2VsZWN0aW9uRmllbGRzO1xuXHRcdH1cblx0XHR0aGlzLnNlbGVjdGlvbkZpZWxkcz8uZm9yRWFjaCgoc2VsZWN0aW9uRmllbGQ6IGFueSwgc2VsZWN0aW9uRmllbGRJZHgpID0+IHtcblx0XHRcdGlmIChzZWxlY3Rpb25GaWVsZC5hdmFpbGFiaWxpdHkgPT09IFwiRGVmYXVsdFwiKSB7XG5cdFx0XHRcdHRoaXMuc2V0RmlsdGVyRmllbGRzQW5kVmFsdWVIZWxwcyhzZWxlY3Rpb25GaWVsZCwgc2VsZWN0aW9uRmllbGRJZHgpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdHRoaXMuX2ZpbHRlckZpZWxkcyA9IHRoaXMuX2ZpbHRlckZpZWxkcz8ubGVuZ3RoID4gMCA/IHRoaXMuX2ZpbHRlckZpZWxkcyA6IFwiXCI7XG5cdFx0dGhpcy5fdmFsdWVIZWxwcyA9IHRoaXMuX3ZhbHVlSGVscHM/Lmxlbmd0aCA+IDAgPyB0aGlzLl92YWx1ZUhlbHBzIDogXCJcIjtcblx0fTtcblxuXHRzZXRGaWx0ZXJGaWVsZHNBbmRWYWx1ZUhlbHBzID0gKHNlbGVjdGlvbkZpZWxkOiBhbnksIHNlbGVjdGlvbkZpZWxkSWR4OiBudW1iZXIpID0+IHtcblx0XHRpZiAoc2VsZWN0aW9uRmllbGQudGVtcGxhdGUgPT09IHVuZGVmaW5lZCAmJiBzZWxlY3Rpb25GaWVsZC50eXBlICE9PSBcIlNsb3RcIikge1xuXHRcdFx0dGhpcy5wdXNoRmlsdGVyRmllbGRzQW5kVmFsdWVIZWxwcyhzZWxlY3Rpb25GaWVsZCk7XG5cdFx0fSBlbHNlIGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2ZpbHRlckZpZWxkcykpIHtcblx0XHRcdHRoaXMuX2ZpbHRlckZpZWxkcz8ucHVzaChcblx0XHRcdFx0eG1sYDx0ZW1wbGF0ZTp3aXRoIHBhdGg9XCJzZWxlY3Rpb25GaWVsZHM+JHtzZWxlY3Rpb25GaWVsZElkeH1cIiB2YXI9XCJpdGVtXCI+XG5cdFx0XHRcdFx0PGNvcmU6RnJhZ21lbnQgZnJhZ21lbnROYW1lPVwic2FwLmZlLm1hY3Jvcy5maWx0ZXIuQ3VzdG9tRmlsdGVyXCIgdHlwZT1cIlhNTFwiIC8+XG5cdFx0XHRcdDwvdGVtcGxhdGU6d2l0aD5gXG5cdFx0XHQpO1xuXHRcdH1cblx0fTtcblxuXHRfZ2V0Q29udGV4dFBhdGhGb3JGaWx0ZXJGaWVsZChzZWxlY3Rpb25GaWVsZDogYW55LCBmaWx0ZXJCYXJDb250ZXh0UGF0aDogQ29udGV4dCk6IHN0cmluZyB8IENvbnRleHQge1xuXHRcdGxldCBjb250ZXh0UGF0aDogc3RyaW5nIHwgQ29udGV4dCA9IGZpbHRlckJhckNvbnRleHRQYXRoO1xuXHRcdGlmIChzZWxlY3Rpb25GaWVsZC5pc1BhcmFtZXRlcikge1xuXHRcdFx0Ly8gRXhhbXBsZTpcblx0XHRcdC8vIEZpbHRlckJhckNvbnRleHRQYXRoOiAvQ3VzdG9tZXIvU2V0XG5cdFx0XHQvLyBQYXJhbWV0ZXJQcm9wZXJ0eVBhdGg6IC9DdXN0b21lci9QX0NDXG5cdFx0XHQvLyBDb250ZXh0UGF0aEZvckZpbHRlckZpZWxkOiAvQ3VzdG9tZXJcblx0XHRcdGNvbnN0IGFubm9QYXRoID0gc2VsZWN0aW9uRmllbGQuYW5ub3RhdGlvblBhdGg7XG5cdFx0XHRjb250ZXh0UGF0aCA9IGFubm9QYXRoLnN1YnN0cmluZygwLCBhbm5vUGF0aC5sYXN0SW5kZXhPZihcIi9cIikgKyAxKTtcblx0XHR9XG5cdFx0cmV0dXJuIGNvbnRleHRQYXRoO1xuXHR9XG5cblx0cHVzaEZpbHRlckZpZWxkc0FuZFZhbHVlSGVscHMgPSAoc2VsZWN0aW9uRmllbGQ6IGFueSkgPT4ge1xuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMuX2ZpbHRlckZpZWxkcykpIHtcblx0XHRcdHRoaXMuX2ZpbHRlckZpZWxkcz8ucHVzaChcblx0XHRcdFx0eG1sYDxpbnRlcm5hbE1hY3JvOkZpbHRlckZpZWxkXG5cdFx0XHRpZFByZWZpeD1cIiR7Z2VuZXJhdGUoW3RoaXMuaWQsIFwiRmlsdGVyRmllbGRcIiwgQ29tbW9uSGVscGVyLmdldE5hdmlnYXRpb25QYXRoKHNlbGVjdGlvbkZpZWxkLmFubm90YXRpb25QYXRoKV0pfVwiXG5cdFx0XHR2aElkUHJlZml4PVwiJHtnZW5lcmF0ZShbdGhpcy5pZCwgXCJGaWx0ZXJGaWVsZFZhbHVlSGVscFwiXSl9XCJcblx0XHRcdHByb3BlcnR5PVwiJHtzZWxlY3Rpb25GaWVsZC5hbm5vdGF0aW9uUGF0aH1cIlxuXHRcdFx0Y29udGV4dFBhdGg9XCIke3RoaXMuX2dldENvbnRleHRQYXRoRm9yRmlsdGVyRmllbGQoc2VsZWN0aW9uRmllbGQsIHRoaXMuX2ludGVybmFsQ29udGV4dFBhdGgpfVwiXG5cdFx0XHR1c2VTZW1hbnRpY0RhdGVSYW5nZT1cIiR7dGhpcy51c2VTZW1hbnRpY0RhdGVSYW5nZX1cIlxuXHRcdFx0c2V0dGluZ3M9XCIke0NvbW1vbkhlbHBlci5zdHJpbmdpZnlDdXN0b21EYXRhKHNlbGVjdGlvbkZpZWxkLnNldHRpbmdzKX1cIlxuXHRcdFx0dmlzdWFsRmlsdGVyPVwiJHtzZWxlY3Rpb25GaWVsZC52aXN1YWxGaWx0ZXJ9XCJcblx0XHRcdGVkaXRNb2RlPVwie2ludGVybmFsPi8ke3RoaXMuaWR9L2ZpbHRlckZpZWxkcy8ke3NlbGVjdGlvbkZpZWxkLmNvbmRpdGlvblBhdGh9L2VkaXRNb2RlfVwiXG5cdFx0XHQvPmBcblx0XHRcdCk7XG5cdFx0fVxuXHRcdGlmIChBcnJheS5pc0FycmF5KHRoaXMuX3ZhbHVlSGVscHMpKSB7XG5cdFx0XHRpZiAodGhpcy51c2VPbGRWSCkge1xuXHRcdFx0XHR0aGlzLl92YWx1ZUhlbHBzPy5wdXNoKFxuXHRcdFx0XHRcdHhtbGA8dmFsdWVIZWxwOlZhbHVlSGVscCB4bWxuczp2YWx1ZUhlbHA9XCJzYXAuZmUubWFjcm9zLnZhbHVlaGVscFwiXG5cdFx0XHRcdFx0XHRpZFByZWZpeD1cIiR7Z2VuZXJhdGUoW3RoaXMuaWQsIFwiRmlsdGVyRmllbGRWYWx1ZUhlbHBcIl0pfVwiXG5cdFx0XHRcdFx0XHRjb25kaXRpb25Nb2RlbD1cIiRmaWx0ZXJzXCJcblx0XHRcdFx0XHRcdG1ldGFQYXRoPVwiJHtzZWxlY3Rpb25GaWVsZC5hbm5vdGF0aW9uUGF0aH1cIlxuXHRcdFx0XHRcdFx0Y29udGV4dFBhdGg9XCIke3RoaXMuX2dldENvbnRleHRQYXRoRm9yRmlsdGVyRmllbGQoc2VsZWN0aW9uRmllbGQsIHRoaXMuX2ludGVybmFsQ29udGV4dFBhdGgpfVwiXG5cdFx0XHRcdFx0XHRmaWx0ZXJGaWVsZFZhbHVlSGVscD1cInRydWVcIlxuXHRcdFx0XHRcdFx0dXNlU2VtYW50aWNEYXRlUmFuZ2U9XCIke3RoaXMudXNlU2VtYW50aWNEYXRlUmFuZ2V9XCJcblx0XHRcdFx0XHQvPmBcblx0XHRcdFx0KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdHRoaXMuX3ZhbHVlSGVscHM/LnB1c2goXG5cdFx0XHRcdFx0eG1sYDxtYWNybzpWYWx1ZUhlbHBcblx0XHRcdGlkUHJlZml4PVwiJHtnZW5lcmF0ZShbdGhpcy5pZCwgXCJGaWx0ZXJGaWVsZFZhbHVlSGVscFwiXSl9XCJcblx0XHRcdGNvbmRpdGlvbk1vZGVsPVwiJGZpbHRlcnNcIlxuXHRcdFx0bWV0YVBhdGg9XCIke3NlbGVjdGlvbkZpZWxkLmFubm90YXRpb25QYXRofVwiXG5cdFx0XHRjb250ZXh0UGF0aD1cIiR7dGhpcy5fZ2V0Q29udGV4dFBhdGhGb3JGaWx0ZXJGaWVsZChzZWxlY3Rpb25GaWVsZCwgdGhpcy5faW50ZXJuYWxDb250ZXh0UGF0aCl9XCJcblx0XHRcdGZpbHRlckZpZWxkVmFsdWVIZWxwPVwidHJ1ZVwiXG5cdFx0XHR1c2VTZW1hbnRpY0RhdGVSYW5nZT1cIiR7dGhpcy51c2VTZW1hbnRpY0RhdGVSYW5nZX1cIlxuXHRcdC8+YFxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcblxuXHQvKipcblx0ICogRGV0ZXJtaW5lcyB0aGUgZGVzaWduIHRpbWUgZm9yIHRoZSBNREMgRmlsdGVyQmFyLlxuXHQgKlxuXHQgKiBAcGFyYW0gYXBwQ29tcG9uZW50XG5cdCAqIEByZXR1cm5zIFRoZSB2YWx1ZSB0byBiZSBhc3NpZ25lZCB0byBkdDpkZXNpZ250aW1lXG5cdCAqL1xuXHRnZXREZXNpZ250aW1lKGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50KTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAoaXNEZXNpZ25Nb2RlRW5hYmxlZCgpIHx8IGlzRmlvcmlUb29sc1J0YU1vZGUoYXBwQ29tcG9uZW50KSkge1xuXHRcdFx0Ly8gRmlvcmkgdG9vbHMgKGRldmVsb3BlcnMpXG5cdFx0XHRyZXR1cm4gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9kZXNpZ250aW1lL0ZpbHRlckJhci5kZXNpZ250aW1lXCI7XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIFVJIGFkYXB0YXRpb24gKGtleSB1c2Vycylcblx0XHRcdC8vcmV0dXJuIHRoaXMudmFyaWFudE1hbmFnZW1lbnQgPT09IFwiTm9uZVwiID8gXCJub3QtYWRhcHRhYmxlXCIgOiB1bmRlZmluZWQ7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VGVtcGxhdGUoKTogc3RyaW5nIHtcblx0XHRjb25zdCBpbnRlcm5hbENvbnRleHRQYXRoID0gdGhpcy5faW50ZXJuYWxDb250ZXh0UGF0aD8uZ2V0UGF0aCgpO1xuXHRcdGxldCBmaWx0ZXJEZWxlZ2F0ZSA9IFwiXCI7XG5cdFx0aWYgKHRoaXMuZmlsdGVyQmFyRGVsZWdhdGUpIHtcblx0XHRcdGZpbHRlckRlbGVnYXRlID0gdGhpcy5maWx0ZXJCYXJEZWxlZ2F0ZTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0ZmlsdGVyRGVsZWdhdGUgPSBcIntuYW1lOidzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9GaWx0ZXJCYXJEZWxlZ2F0ZScsIHBheWxvYWQ6IHtlbnRpdHlUeXBlUGF0aDogJ1wiICsgaW50ZXJuYWxDb250ZXh0UGF0aCArIFwiJ319XCI7XG5cdFx0fVxuXHRcdC8vIGFmdGVyIHJlbW92aW5nIHRoZSB1bndhbnRlZCBwcm9wZXJ0aWVzIFByb3BlcnR5SW5mbyBpcyBhZGRlZCB0byB0aGUgY29udHJvbCwgYW5kIHdlIGFsc28gc2F2ZSB0aGUgZnVsbCB2ZXJzaW9uIGFzIGN1c3RvbSBkYXRhIGZvciBGRSBpbnRlcm5hbCB1c2Vcblx0XHRjb25zdCBfcHJvcGVydHlJbmZvQ29udHJvbCA9IEZpbHRlclV0aWxzLmZvcm1hdFByb3BlcnR5SW5mbyh0aGlzLnByb3BlcnR5SW5mbyBhcyBzdHJpbmcpO1xuXHRcdHJldHVybiB4bWxgPG1hY3JvRmlsdGVyQmFyOkZpbHRlckJhckFQSVxuICAgICAgICB4bWxuczp0ZW1wbGF0ZT1cImh0dHA6Ly9zY2hlbWFzLnNhcC5jb20vc2FwdWk1L2V4dGVuc2lvbi9zYXAudWkuY29yZS50ZW1wbGF0ZS8xXCJcbiAgICAgICAgeG1sbnM6Y29yZT1cInNhcC51aS5jb3JlXCJcbiAgICAgICAgeG1sbnM6bWRjPVwic2FwLnVpLm1kY1wiXG4gICAgICAgIHhtbG5zOmNvbnRyb2w9XCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzXCJcbiAgICAgICAgeG1sbnM6bWFjcm9GaWx0ZXJCYXI9XCJzYXAuZmUubWFjcm9zLmZpbHRlckJhclwiXG4gICAgICAgIHhtbG5zOm1hY3JvPVwic2FwLmZlLm1hY3Jvc1wiXG4gICAgICAgIHhtbG5zOmludGVybmFsTWFjcm89XCJzYXAuZmUubWFjcm9zLmludGVybmFsXCJcbiAgICAgICAgeG1sbnM6Y3VzdG9tRGF0YT1cImh0dHA6Ly9zY2hlbWFzLnNhcC5jb20vc2FwdWk1L2V4dGVuc2lvbi9zYXAudWkuY29yZS5DdXN0b21EYXRhLzFcIlxuXHRcdHhtbG5zOmR0PVwic2FwLnVpLmR0XCJcblx0XHRpZD1cIiR7dGhpcy5fYXBpSWR9XCJcblx0XHRtZXRhUGF0aD1cIiR7dGhpcy5tZXRhUGF0aH1cIlxuXHRcdHNlYXJjaD1cIiR7dGhpcy5zZWFyY2h9XCJcblx0XHRmaWx0ZXJDaGFuZ2VkPVwiJHt0aGlzLmZpbHRlckNoYW5nZWR9XCJcblx0XHRhZnRlckNsZWFyPVwiJHt0aGlzLmFmdGVyQ2xlYXJ9XCJcblx0XHRpbnRlcm5hbFNlYXJjaD1cIiR7dGhpcy5pbnRlcm5hbFNlYXJjaH1cIlxuXHRcdGludGVybmFsRmlsdGVyQ2hhbmdlZD1cIiR7dGhpcy5pbnRlcm5hbEZpbHRlckNoYW5nZWR9XCJcblx0XHRzdGF0ZUNoYW5nZT1cIiR7dGhpcy5zdGF0ZUNoYW5nZX1cIlxuXHQ+XG5cdFx0PGNvbnRyb2w6RmlsdGVyQmFyXG5cdFx0XHRjb3JlOnJlcXVpcmU9XCJ7QVBJOiAnc2FwL2ZlL21hY3Jvcy9maWx0ZXJCYXIvRmlsdGVyQmFyQVBJJ31cIlxuXHRcdFx0aWQ9XCIke3RoaXMuX2NvbnRlbnRJZH1cIlxuXHRcdFx0bGl2ZU1vZGU9XCIke3RoaXMubGl2ZU1vZGV9XCJcblx0XHRcdGRlbGVnYXRlPVwiJHtmaWx0ZXJEZWxlZ2F0ZX1cIlxuXHRcdFx0dmFyaWFudEJhY2tyZWZlcmVuY2U9XCIke3RoaXMudmFyaWFudEJhY2tyZWZlcmVuY2V9XCJcblx0XHRcdHNob3dBZGFwdEZpbHRlcnNCdXR0b249XCIke3RoaXMuc2hvd0FkYXB0RmlsdGVyc0J1dHRvbn1cIlxuXHRcdFx0c2hvd0NsZWFyQnV0dG9uPVwiJHt0aGlzLnNob3dDbGVhckJ1dHRvbn1cIlxuXHRcdFx0cDEzbk1vZGU9XCIke3RoaXMucDEzbk1vZGV9XCJcblx0XHRcdHNlYXJjaD1cIkFQSS5oYW5kbGVTZWFyY2goJGV2ZW50KVwiXG5cdFx0XHRmaWx0ZXJzQ2hhbmdlZD1cIkFQSS5oYW5kbGVGaWx0ZXJDaGFuZ2VkKCRldmVudClcIlxuXHRcdFx0ZmlsdGVyQ29uZGl0aW9ucz1cIiR7dGhpcy5maWx0ZXJDb25kaXRpb25zfVwiXG5cdFx0XHRzdXNwZW5kU2VsZWN0aW9uPVwiJHt0aGlzLnN1c3BlbmRTZWxlY3Rpb259XCJcblx0XHRcdHNob3dNZXNzYWdlcz1cIiR7dGhpcy5zaG93TWVzc2FnZXN9XCJcblx0XHRcdHRvZ2dsZUNvbnRyb2w9XCIke3RoaXMudG9nZ2xlQ29udHJvbElkfVwiXG5cdFx0XHRpbml0aWFsTGF5b3V0PVwiJHt0aGlzLmluaXRpYWxMYXlvdXR9XCJcblx0XHRcdHByb3BlcnR5SW5mbz1cIiR7X3Byb3BlcnR5SW5mb0NvbnRyb2x9XCJcblx0XHRcdGN1c3RvbURhdGE6bG9jYWxJZD1cIiR7dGhpcy5pZH1cIlxuXHRcdFx0dmlzaWJsZT1cIiR7dGhpcy52aXNpYmxlfVwiXG5cdFx0XHRjdXN0b21EYXRhOmhpZGVCYXNpY1NlYXJjaD1cIiR7dGhpcy5oaWRlQmFzaWNTZWFyY2h9XCJcblx0XHRcdGN1c3RvbURhdGE6c2hvd0RyYWZ0RWRpdFN0YXRlPVwiJHt0aGlzLnNob3dEcmFmdEVkaXRTdGF0ZX1cIlxuXHRcdFx0Y3VzdG9tRGF0YTp1c2VTZW1hbnRpY0RhdGVSYW5nZT1cIiR7dGhpcy51c2VTZW1hbnRpY0RhdGVSYW5nZX1cIlxuXHRcdFx0Y3VzdG9tRGF0YTplbnRpdHlUeXBlPVwiJHtpbnRlcm5hbENvbnRleHRQYXRofVwiXG5cdFx0XHRjdXN0b21EYXRhOnBhcmFtZXRlcnM9XCIke3RoaXMuX3BhcmFtZXRlcnN9XCJcblx0XHRcdGN1c3RvbURhdGE6ZmVGaWx0ZXJJbmZvPVwiJHt0aGlzLnByb3BlcnR5SW5mb31cIlxuXHRcdFx0ZHQ6ZGVzaWdudGltZT1cIiR7dGhpcy5kZXNpZ250aW1lfVwiXG5cdFx0PlxuXHRcdFx0PGNvbnRyb2w6ZGVwZW5kZW50cz5cblx0XHRcdFx0JHt0aGlzLl92YWx1ZUhlbHBzfVxuXHRcdFx0PC9jb250cm9sOmRlcGVuZGVudHM+XG5cdFx0XHQke3RoaXMuZ2V0U2VhcmNoKCl9XG5cdFx0XHQ8Y29udHJvbDpmaWx0ZXJJdGVtcz5cblx0XHRcdFx0JHt0aGlzLl9maWx0ZXJGaWVsZHN9XG5cdFx0XHQ8L2NvbnRyb2w6ZmlsdGVySXRlbXM+XG5cdFx0PC9jb250cm9sOkZpbHRlckJhcj5cblx0PC9tYWNyb0ZpbHRlckJhcjpGaWx0ZXJCYXJBUEk+YDtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBZ0NBLE1BQU1BLDhCQUE4QixHQUFHLFVBQVVDLGdCQUF5QixFQUFFQyxpQkFBc0IsRUFBZTtJQUNoSEEsaUJBQWlCLENBQUNDLFFBQVEsR0FBR0QsaUJBQWlCLENBQUNFLEdBQUc7SUFDbERGLGlCQUFpQixDQUFDRSxHQUFHLEdBQUdGLGlCQUFpQixDQUFDRSxHQUFHLENBQUNDLE9BQU8sQ0FBQyxZQUFZLEVBQUUsRUFBRSxDQUFDO0lBQ3ZFSCxpQkFBaUIsQ0FBQ0ksS0FBSyxHQUFHTCxnQkFBZ0IsQ0FBQ00sWUFBWSxDQUFDLE9BQU8sQ0FBQztJQUNoRUwsaUJBQWlCLENBQUNNLFFBQVEsR0FBR1AsZ0JBQWdCLENBQUNNLFlBQVksQ0FBQyxVQUFVLENBQUMsS0FBSyxNQUFNO0lBQ2pGTCxpQkFBaUIsQ0FBQ08sUUFBUSxHQUFHUixnQkFBZ0IsQ0FBQ00sWUFBWSxDQUFDLFVBQVUsQ0FBQztJQUN0RSxPQUFPTCxpQkFBaUI7RUFDekIsQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFD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O0FBQ3RCO0FBQ0EsTUFBTSxJQUFJLENBQUNRLGFBQWM7QUFDekI7QUFDQTtBQUNBLGdDQUFnQztJQUMvQixDQUFDO0lBQUE7RUFBQSxFQTNoQjBDbUgsMkJBQTJCO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7TUFBQSxPQThDdkQsS0FBSztJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0F3QkgsS0FBSztJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BUUcsSUFBSTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BUWxCLFlBQVk7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FhQSxJQUFJO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BaUJoQixLQUFLO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BbUJHLEtBQUs7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7TUFBQSxPQUtELEtBQUs7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FhWixTQUFTO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FTUCxLQUFLO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FLSCxLQUFLO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FLSyxLQUFLO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO01BQUEsT0FTeEIsS0FBSztJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0VBQUE7RUFBQTtBQUFBIn0=
@@ -240,6 +240,15 @@ export default class FilterBarBlock extends BuildingBlockTemplatingBase {
240
240
  })
241
241
  disableDraftEditStateFilter = false;
242
242
 
243
+ /**
244
+ * For OVP having Valuehelp as BBv4 is not supported, we add this parameter to use the old value help in this case
245
+ */
246
+ @blockAttribute({
247
+ type: "boolean",
248
+ isPublic: true
249
+ })
250
+ useOldVH = false;
251
+
243
252
  /**
244
253
  * Temporary workaround only
245
254
  * path to contextPath to be used by child filterfields
@@ -489,8 +498,20 @@ export default class FilterBarBlock extends BuildingBlockTemplatingBase {
489
498
  );
490
499
  }
491
500
  if (Array.isArray(this._valueHelps)) {
492
- this._valueHelps?.push(
493
- xml`<macro:ValueHelp
501
+ if (this.useOldVH) {
502
+ this._valueHelps?.push(
503
+ xml`<valueHelp:ValueHelp xmlns:valueHelp="sap.fe.macros.valuehelp"
504
+ idPrefix="${generate([this.id, "FilterFieldValueHelp"])}"
505
+ conditionModel="$filters"
506
+ metaPath="${selectionField.annotationPath}"
507
+ contextPath="${this._getContextPathForFilterField(selectionField, this._internalContextPath)}"
508
+ filterFieldValueHelp="true"
509
+ useSemanticDateRange="${this.useSemanticDateRange}"
510
+ />`
511
+ );
512
+ } else {
513
+ this._valueHelps?.push(
514
+ xml`<macro:ValueHelp
494
515
  idPrefix="${generate([this.id, "FilterFieldValueHelp"])}"
495
516
  conditionModel="$filters"
496
517
  metaPath="${selectionField.annotationPath}"
@@ -498,7 +519,8 @@ export default class FilterBarBlock extends BuildingBlockTemplatingBase {
498
519
  filterFieldValueHelp="true"
499
520
  useSemanticDateRange="${this.useSemanticDateRange}"
500
521
  />`
501
- );
522
+ );
523
+ }
502
524
  }
503
525
  };
504
526
 
@@ -0,0 +1,23 @@
1
+ <core:FragmentDefinition
2
+ xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
3
+ xmlns:core="sap.ui.core"
4
+ xmlns="sap.m"
5
+ template:require="{
6
+ FIELD: 'sap/fe/macros/field/FieldHelper'
7
+ }"
8
+ >
9
+ <template:with path="metaPath>" var="originalProperty">
10
+ <template:if test="{this>filterFieldValueHelp}">
11
+ <template:then>
12
+ <template:with path="metaPath>" helper="FIELD.valueHelpPropertyForFilterField" var="metaPath">
13
+ <core:Fragment fragmentName="sap.fe.macros.internal.valuehelp.ValueHelpContent" type="XML" />
14
+ </template:with>
15
+ </template:then>
16
+ <template:else>
17
+ <template:with path="metaPath>" helper="FIELD.valueHelpProperty" var="metaPath">
18
+ <core:Fragment fragmentName="sap.fe.macros.internal.valuehelp.ValueHelpContent" type="XML" />
19
+ </template:with>
20
+ </template:else>
21
+ </template:if>
22
+ </template:with>
23
+ </core:FragmentDefinition>
@@ -0,0 +1,58 @@
1
+ <core:FragmentDefinition
2
+ xmlns:template="http://schemas.sap.com/sapui5/extension/sap.ui.core.template/1"
3
+ xmlns:core="sap.ui.core"
4
+ xmlns="sap.m"
5
+ xmlns:fl="sap.ui.fl.variants"
6
+ xmlns:customData="http://schemas.sap.com/sapui5/extension/sap.ui.core.CustomData/1"
7
+ xmlns:mdc="sap.ui.mdc"
8
+ xmlns:mdcv="sap.ui.mdc.valuehelp"
9
+ xmlns:mdcvc="sap.ui.mdc.valuehelp.content"
10
+ template:require="{
11
+ ValueHelpTemplating: 'sap/fe/macros/internal/valuehelp/ValueHelpTemplating',
12
+ Property: 'sap/fe/core/templating/PropertyFormatters',
13
+ UI: 'sap/fe/core/templating/UIFormatters',
14
+ MODEL : 'sap/ui/model/odata/v4/AnnotationHelper'
15
+ }"
16
+ >
17
+ <template:if test="{metaPath>@@Property.hasValueHelp}">
18
+ <!-- Value Help -->
19
+ <template:then>
20
+ <mdc:ValueHelp
21
+ delegate="{= ValueHelpTemplating.getDelegateConfiguration(${metaPath>@@Property.getPropertyPath},${this>conditionModel}, ${originalProperty>@@Property.getPropertyPath}, ${this>requestGroupId}, ${this>useMultiValueField}, true)}"
22
+ id="{= ValueHelpTemplating.generateID(${this>_flexId},${this>idPrefix},${originalProperty>@@Property.getRelativePropertyPath},${metaPath>@@Property.getRelativePropertyPath})}"
23
+ validateInput="{= (${this>filterFieldValueHelp} || ${this>requiresValidation}) ? true : ValueHelpTemplating.requiresValidation(${metaPath>@@Property.getProperty})}"
24
+ customData:valuelistForValidation="{metaPath>@com.sap.vocabularies.Common.v1.ValueListForValidation@@MODEL.value}"
25
+ customData:showConditionPanel="{= ${this>filterFieldValueHelp} ? ValueHelpTemplating.shouldShowConditionPanel(${metaPath>@@Property.getPropertyObjectPath}, ${contextPath>@@UI.getDataModelObjectPath}) : false}"
26
+ >
27
+ <mdc:typeahead>
28
+ <mdcv:Popover>
29
+ <mdcvc:MTable
30
+ id="{= ValueHelpTemplating.generateID(${this>_flexId},${this>idPrefix},${originalProperty>@@Property.getRelativePropertyPath},${metaPath>@@Property.getRelativePropertyPath})}::Popover::qualifier::"
31
+ caseSensitive="{= ValueHelpTemplating.useCaseSensitiveFilterRequests(${metaPath>@@Property.getPropertyObjectPath}, ${metaPath>/@Org.OData.Capabilities.V1.FilterFunctions})}"
32
+ useAsValueHelp="{= ${metaPath>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} || false}"
33
+ />
34
+ </mdcv:Popover>
35
+ </mdc:typeahead>
36
+ <template:if
37
+ test="{= ${metaPath>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} ? (${metaPath>@com.sap.vocabularies.Common.v1.ValueListWithFixedValues} === 'true') : true}"
38
+ >
39
+ <mdc:dialog>
40
+ <mdcv:Dialog />
41
+ </mdc:dialog>
42
+ </template:if>
43
+ </mdc:ValueHelp>
44
+ </template:then>
45
+ <template:elseif test="{=${this>filterFieldValueHelp}}">
46
+ <mdc:ValueHelp
47
+ id="{= ValueHelpTemplating.generateID(${this>_flexId},${this>idPrefix},${originalProperty>@@Property.getRelativePropertyPath},${metaPath>@@Property.getRelativePropertyPath})}"
48
+ customData:requestGroupId="{this>requestGroupId}"
49
+ >
50
+ <mdc:dialog>
51
+ <mdcv:Dialog title="{= ${metaPath>@@Property.getLabel} || ${metaPath>@@Property.getName}}">
52
+ <mdcvc:Conditions />
53
+ </mdcv:Dialog>
54
+ </mdc:dialog>
55
+ </mdc:ValueHelp>
56
+ </template:elseif>
57
+ </template:if>
58
+ </core:FragmentDefinition>
@@ -58,11 +58,13 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/core/helpers/StableIdHelper
58
58
  * @param originalPropertyPath The original property path
59
59
  * @param requestGroupId The requestGroupId to use for requests
60
60
  * @param useMultiValueField If true the value help is for a multi value Field
61
+ * @param toJson If true the result is returned as a string (only for ovp)
61
62
  * @returns The expression needed to configure the delegate
62
63
  */
63
64
  _exports.getValueHelpTableDisplayMode = getValueHelpTableDisplayMode;
64
65
  const getDelegateConfiguration = function (propertyPath, conditionModelName, originalPropertyPath, requestGroupId) {
65
66
  let useMultiValueField = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
67
+ let toJson = arguments.length > 5 && arguments[5] !== undefined ? arguments[5] : false;
66
68
  const isUnitValueHelp = propertyPath !== originalPropertyPath;
67
69
  const delegateConfiguration = {
68
70
  name: "sap/fe/macros/valuehelp/ValueHelpDelegate",
@@ -76,7 +78,7 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/core/helpers/StableIdHelper
76
78
  valueHelpQualifier: ""
77
79
  }
78
80
  };
79
- return delegateConfiguration; // for some reason "qualifiers: {}" is ignored here
81
+ return toJson ? JSON.stringify(delegateConfiguration) : delegateConfiguration; // for some reason "qualifiers: {}" is ignored here
80
82
  };
81
83
 
82
84
  /**
@@ -251,4 +253,4 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/core/helpers/StableIdHelper
251
253
  _exports.getValueHelpTemplate = getValueHelpTemplate;
252
254
  return _exports;
253
255
  }, false);
254
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRWYWx1ZUhlbHBUYWJsZURpc3BsYXlNb2RlIiwicHJvcGVydHlQYXRoIiwiaXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMiLCJzRGlzcGxheU1vZGUiLCJnZXREaXNwbGF5TW9kZSIsIm9UZXh0QW5ub3RhdGlvbiIsInRhcmdldE9iamVjdCIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiVGV4dCIsIm9UZXh0QXJyYW5nZW1lbnRBbm5vdGF0aW9uIiwiVUkiLCJUZXh0QXJyYW5nZW1lbnQiLCJ0b1N0cmluZyIsImlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uIiwicGF0aCIsImdldERlbGVnYXRlQ29uZmlndXJhdGlvbiIsImNvbmRpdGlvbk1vZGVsTmFtZSIsIm9yaWdpbmFsUHJvcGVydHlQYXRoIiwicmVxdWVzdEdyb3VwSWQiLCJ1c2VNdWx0aVZhbHVlRmllbGQiLCJpc1VuaXRWYWx1ZUhlbHAiLCJkZWxlZ2F0ZUNvbmZpZ3VyYXRpb24iLCJuYW1lIiwicGF5bG9hZCIsImNvbmRpdGlvbk1vZGVsIiwicXVhbGlmaWVycyIsInZhbHVlSGVscFF1YWxpZmllciIsImdldERlbGVnYXRlQ29uZmlndXJhdGlvbkZvckRlZmluZUNvbmRpdGlvbnMiLCJpc0RlZmluZUNvbmRpdGlvblZhbHVlSGVscCIsImNvbXBpbGVFeHByZXNzaW9uIiwiZ2VuZXJhdGVJRCIsInNGbGV4SWQiLCJzSWRQcmVmaXgiLCJzT3JpZ2luYWxQcm9wZXJ0eU5hbWUiLCJzUHJvcGVydHlOYW1lIiwic1Byb3BlcnR5IiwiZ2VuZXJhdGUiLCJyZXF1aXJlc1ZhbGlkYXRpb24iLCJwcm9wZXJ0eSIsImhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyIsImhhc1ZhbHVlTGlzdEZvclZhbGlkYXRpb24iLCJoYXNWYWx1ZUhlbHAiLCJpc1VuaXQiLCJpc0N1cnJlbmN5IiwiaXNHdWlkIiwidXNlQ2FzZVNlbnNpdGl2ZUZpbHRlclJlcXVlc3RzIiwib0RhdGFNb2RlbFBhdGgiLCJhRW50aXR5Q29udGFpbmVyRmlsdGVyRnVuY3Rpb25zIiwiZmlsdGVyRnVuY3Rpb25zIiwidGFyZ2V0RW50aXR5U2V0IiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyRnVuY3Rpb25zIiwiaW5jbHVkZXMiLCJpc1NlbWFudGljRGF0ZVJhbmdlIiwidGFyZ2V0UHJvcGVydHkiLCJ0YXJnZXRSZXN0cmljdGlvbnMiLCJjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMiLCJoYXNEYXRlVHlwZSIsInNob3VsZFNob3dDb25kaXRpb25QYW5lbCIsIm9Db250ZXh0UGF0aCIsImNvbnRleHRMb2NhdGlvbiIsImdldENvbHVtbkRhdGFQcm9wZXJ0eSIsInNWYWx1ZUxpc3RQcm9wZXJ0eSIsInRleHRBbm5vdGF0aW9uIiwidmFsdWVPZiIsImdldENvbHVtbkRhdGFQcm9wZXJ0eVR5cGUiLCJ2YWx1ZUxpc3RQcm9wZXJ0eVR5cGUiLCJ0ZXh0QXJyYW5nZW1lbnQiLCJnZXRDb2x1bW5IQWxpZ24iLCJwcm9wZXJ0eVR5cGUiLCJpc1Byb3BlcnR5IiwidHlwZSIsImlzU2VtYW50aWNLZXkiLCJGaWVsZEhlbHBlciIsImdldFByb3BlcnR5QWxpZ25tZW50IiwidGV4dEFsaWduTW9kZSIsImdldEdyb3dpbmdGb3JtYXR0ZXIiLCJmb3JtYXRSZXN1bHQiLCJwYXRoSW5Nb2RlbCIsImNvbnN0YW50IiwiYWRkaXRpb25hbFZhbHVlRm9ybWF0dGVyIiwiZ2V0R3Jvd2luZyIsImdldFZhbHVlSGVscFRlbXBsYXRlIiwibWV0YVBhdGgiLCJ2aENvbnRlbnQiLCJkYXRhTW9kZWxPYmplY3RQYXRoIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiY29udGV4dFBhdGgiLCJvcmlnaW5hbFByb3BlcnR5IiwiZW5oYW5jZURhdGFNb2RlbFBhdGgiLCJ2YWx1ZUhlbHBJZCIsIl9mbGV4SWQiLCJpZFByZWZpeCIsImdldFRhcmdldE9iamVjdFBhdGgiLCJkaWFsb2dUaXRsZSIsImdldExhYmVsIiwic2hvdWxkVmFsaWRhdGVJbnB1dCIsImZpbHRlckZpZWxkVmFsdWVIZWxwIiwic2hvd0NvbmRpdGlvblBhbmVsIiwiZXF1YWwiLCJ2YWx1ZUhlbHBEZWxlZ2F0ZUNvbmZpZ3VyYXRpb24iLCJzaG91bGRVc2VDYXNlU2Vuc2l0aXZlRmlsdGVyIiwibWFwIiwic3RyIiwiaXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwiaXNWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMiLCJjdXN0b21EYXRhIiwicHVzaCIsImdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiIsIlZhbHVlTGlzdEZvclZhbGlkYXRpb24iLCJ0eXBlYWhlYWQiLCJkaWFsb2ciLCJ1bmRlZmluZWQiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlZhbHVlSGVscFRlbXBsYXRpbmcudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5U2V0LCBQcm9wZXJ0eSwgUHJvcGVydHlBbm5vdGF0aW9uVmFsdWUgfSBmcm9tIFwiQHNhcC11eC92b2NhYnVsYXJpZXMtdHlwZXNcIjtcbmltcG9ydCB0eXBlIHsgQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGNvbXBpbGVFeHByZXNzaW9uLCBjb25zdGFudCwgZXF1YWwsIGZvcm1hdFJlc3VsdCwgZ2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uLCBwYXRoSW5Nb2RlbCB9IGZyb20gXCJzYXAvZmUvYmFzZS9CaW5kaW5nVG9vbGtpdFwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHsgaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24sIGlzUHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgdHlwZSB7IERhdGFNb2RlbE9iamVjdFBhdGggfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9EYXRhTW9kZWxQYXRoSGVscGVyXCI7XG5pbXBvcnQgeyBjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMsIGVuaGFuY2VEYXRhTW9kZWxQYXRoLCBnZXRUYXJnZXRPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHtcblx0Z2V0TGFiZWwsXG5cdGhhc0RhdGVUeXBlLFxuXHRoYXNWYWx1ZUhlbHAsXG5cdGhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyxcblx0aGFzVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbixcblx0aXNDdXJyZW5jeSxcblx0aXNHdWlkLFxuXHRpc1NlbWFudGljS2V5LFxuXHRpc1VuaXRcbn0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvUHJvcGVydHlIZWxwZXJcIjtcbmltcG9ydCB7IGdldERpc3BsYXlNb2RlIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvVUlGb3JtYXR0ZXJzXCI7XG5pbXBvcnQgRmllbGRIZWxwZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvZmllbGQvRmllbGRIZWxwZXJcIjtcblxuaW1wb3J0IHR5cGUgeyBTdHJpY3RQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCB0eXBlIHsgUGFnZUNvbnRleHRQYXRoVGFyZ2V0IH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvVGVtcGxhdGVDb252ZXJ0ZXJcIjtcbmltcG9ydCB0eXBlIFZhbHVlSGVscEJsb2NrIGZyb20gXCJzYXAvZmUvbWFjcm9zL1ZhbHVlSGVscFwiO1xuaW1wb3J0IGFkZGl0aW9uYWxWYWx1ZUZvcm1hdHRlciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvQWRkaXRpb25hbFZhbHVlRm9ybWF0dGVyXCI7XG5pbXBvcnQgdHlwZSB7IFZhbHVlSGVscFBheWxvYWQgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9pbnRlcm5hbC92YWx1ZWhlbHAvVmFsdWVMaXN0SGVscGVyXCI7XG5pbXBvcnQgdHlwZSBDb250cm9sIGZyb20gXCJzYXAvdWkvY29yZS9Db250cm9sXCI7XG5pbXBvcnQgQ3VzdG9tRGF0YSBmcm9tIFwic2FwL3VpL2NvcmUvQ3VzdG9tRGF0YVwiO1xuaW1wb3J0IFZhbHVlSGVscCBmcm9tIFwic2FwL3VpL21kYy9WYWx1ZUhlbHBcIjtcbmltcG9ydCBEaWFsb2cgZnJvbSBcInNhcC91aS9tZGMvdmFsdWVoZWxwL0RpYWxvZ1wiO1xuaW1wb3J0IFBvcG92ZXIgZnJvbSBcInNhcC91aS9tZGMvdmFsdWVoZWxwL1BvcG92ZXJcIjtcbmltcG9ydCBDb25kaXRpb25zIGZyb20gXCJzYXAvdWkvbWRjL3ZhbHVlaGVscC9jb250ZW50L0NvbmRpdGlvbnNcIjtcbmltcG9ydCBNVGFibGUgZnJvbSBcInNhcC91aS9tZGMvdmFsdWVoZWxwL2NvbnRlbnQvTVRhYmxlXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG4vKipcbiAqIFJldHJpZXZlIHRoZSBkaXNwbGF5TW9kZSBmb3IgdGhlIHZhbHVlIGhlbHAuXG4gKiBUaGUgbWFpbiBydWxlIGlzIHRoYXQgaWYgYSBwcm9wZXJ0eSBpcyB1c2VkIGluIGEgVkhUYWJsZSB0aGVuIHdlIGRvbid0IHdhbnQgdG8gZGlzcGxheSB0aGUgdGV4dCBhcnJhbmdlbWVudCBkaXJlY3RseS5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHlQYXRoIFRoZSBjdXJyZW50IHByb3BlcnR5XG4gKiBAcGFyYW0gaXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMgVGhlIHZhbHVlIGhlbHAgaXMgYSBkcm9wLWRvd24gbGlzdFxuICogQHJldHVybnMgVGhlIHRhcmdldCBkaXNwbGF5TW9kZVxuICovXG5leHBvcnQgY29uc3QgZ2V0VmFsdWVIZWxwVGFibGVEaXNwbGF5TW9kZSA9IGZ1bmN0aW9uIChcblx0cHJvcGVydHlQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pixcblx0aXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXM6IGJvb2xlYW5cbik6IHN0cmluZyB7XG5cdGNvbnN0IHNEaXNwbGF5TW9kZSA9IGdldERpc3BsYXlNb2RlKHByb3BlcnR5UGF0aCk7XG5cdGNvbnN0IG9UZXh0QW5ub3RhdGlvbiA9IHByb3BlcnR5UGF0aC50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQ7XG5cdGNvbnN0IG9UZXh0QXJyYW5nZW1lbnRBbm5vdGF0aW9uID0gdHlwZW9mIG9UZXh0QW5ub3RhdGlvbiAhPT0gXCJzdHJpbmdcIiAmJiBvVGV4dEFubm90YXRpb24/LmFubm90YXRpb25zPy5VST8uVGV4dEFycmFuZ2VtZW50Py50b1N0cmluZygpO1xuXHRpZiAoaXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMpIHtcblx0XHRyZXR1cm4gb1RleHRBbm5vdGF0aW9uICYmIGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKG9UZXh0QW5ub3RhdGlvbikgJiYgb1RleHRBbm5vdGF0aW9uLnBhdGggPyBzRGlzcGxheU1vZGUgOiBcIlZhbHVlXCI7XG5cdH0gZWxzZSB7XG5cdFx0Ly8gT25seSBleHBsaWNpdCBkZWZpbmVkIFRleHRBcnJhbmdlbWVudHMgaW4gYSBWYWx1ZSBIZWxwIHdpdGggRGlhbG9nIGFyZSBjb25zaWRlcmVkXG5cdFx0cmV0dXJuIG9UZXh0QXJyYW5nZW1lbnRBbm5vdGF0aW9uID8gc0Rpc3BsYXlNb2RlIDogXCJWYWx1ZVwiO1xuXHR9XG59O1xuXG4vKipcbiAqIE1ldGhvZCB0byByZXR1cm4gZGVsZWdhdGUgcHJvcGVydHkgb2YgVmFsdWUgSGVscC5cbiAqXG4gKiBAcGFyYW0gcHJvcGVydHlQYXRoIFRoZSBjdXJyZW50IHByb3BlcnR5IHBhdGhcbiAqIEBwYXJhbSBjb25kaXRpb25Nb2RlbE5hbWUgQ29uZGl0aW9uIG1vZGVsIG9mIHRoZSBWYWx1ZSBIZWxwXG4gKiBAcGFyYW0gb3JpZ2luYWxQcm9wZXJ0eVBhdGggVGhlIG9yaWdpbmFsIHByb3BlcnR5IHBhdGhcbiAqIEBwYXJhbSByZXF1ZXN0R3JvdXBJZCBUaGUgcmVxdWVzdEdyb3VwSWQgdG8gdXNlIGZvciByZXF1ZXN0c1xuICogQHBhcmFtIHVzZU11bHRpVmFsdWVGaWVsZCBJZiB0cnVlIHRoZSB2YWx1ZSBoZWxwIGlzIGZvciBhIG11bHRpIHZhbHVlIEZpZWxkXG4gKiBAcmV0dXJucyBUaGUgZXhwcmVzc2lvbiBuZWVkZWQgdG8gY29uZmlndXJlIHRoZSBkZWxlZ2F0ZVxuICovXG5leHBvcnQgY29uc3QgZ2V0RGVsZWdhdGVDb25maWd1cmF0aW9uID0gZnVuY3Rpb24gKFxuXHRwcm9wZXJ0eVBhdGg6IHN0cmluZyxcblx0Y29uZGl0aW9uTW9kZWxOYW1lOiBzdHJpbmcsXG5cdG9yaWdpbmFsUHJvcGVydHlQYXRoOiBzdHJpbmcsXG5cdHJlcXVlc3RHcm91cElkPzogc3RyaW5nLFxuXHR1c2VNdWx0aVZhbHVlRmllbGQgPSBmYWxzZVxuKTogeyBuYW1lOiBzdHJpbmc7IHBheWxvYWQ6IFZhbHVlSGVscFBheWxvYWQgfSB7XG5cdGNvbnN0IGlzVW5pdFZhbHVlSGVscCA9IHByb3BlcnR5UGF0aCAhPT0gb3JpZ2luYWxQcm9wZXJ0eVBhdGg7XG5cdGNvbnN0IGRlbGVnYXRlQ29uZmlndXJhdGlvbjogeyBuYW1lOiBzdHJpbmc7IHBheWxvYWQ6IFZhbHVlSGVscFBheWxvYWQgfSA9IHtcblx0XHRuYW1lOiBcInNhcC9mZS9tYWNyb3MvdmFsdWVoZWxwL1ZhbHVlSGVscERlbGVnYXRlXCIsXG5cdFx0cGF5bG9hZDoge1xuXHRcdFx0cHJvcGVydHlQYXRoLFxuXHRcdFx0aXNVbml0VmFsdWVIZWxwLFxuXHRcdFx0Y29uZGl0aW9uTW9kZWw6IGNvbmRpdGlvbk1vZGVsTmFtZSxcblx0XHRcdHJlcXVlc3RHcm91cElkLFxuXHRcdFx0dXNlTXVsdGlWYWx1ZUZpZWxkLFxuXHRcdFx0cXVhbGlmaWVyczoge30sXG5cdFx0XHR2YWx1ZUhlbHBRdWFsaWZpZXI6IFwiXCJcblx0XHR9XG5cdH07XG5cdHJldHVybiBkZWxlZ2F0ZUNvbmZpZ3VyYXRpb247IC8vIGZvciBzb21lIHJlYXNvbiBcInF1YWxpZmllcnM6IHt9XCIgaXMgaWdub3JlZCBoZXJlXG59O1xuXG4vKipcbiAqIE1ldGhvZCB0byByZXR1cm4gZGVsZWdhdGUgcHJvcGVydHkgb2YgVmFsdWUgSGVscCBmb3IgZGVmaW5lIGNvbmRpdGlvbnMgcGFuZWwuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5UGF0aCBUaGUgY3VycmVudCBwcm9wZXJ0eSBwYXRoXG4gKiBAcmV0dXJucyBUaGUgZXhwcmVzc2lvbiBuZWVkZWQgdG8gY29uZmlndXJlIHRoZSBkZWxlZ2F0ZVxuICovXG5leHBvcnQgY29uc3QgZ2V0RGVsZWdhdGVDb25maWd1cmF0aW9uRm9yRGVmaW5lQ29uZGl0aW9ucyA9IGZ1bmN0aW9uIChwcm9wZXJ0eVBhdGg6IHN0cmluZyk6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIHtcblx0Y29uc3QgZGVsZWdhdGVDb25maWd1cmF0aW9uOiB7IG5hbWU6IHN0cmluZzsgcGF5bG9hZDogVmFsdWVIZWxwUGF5bG9hZCB9ID0ge1xuXHRcdG5hbWU6IFwic2FwL2ZlL21hY3Jvcy92YWx1ZWhlbHAvVmFsdWVIZWxwRGVsZWdhdGVcIixcblx0XHRwYXlsb2FkOiB7XG5cdFx0XHRwcm9wZXJ0eVBhdGgsXG5cdFx0XHRpc0RlZmluZUNvbmRpdGlvblZhbHVlSGVscDogdHJ1ZSxcblx0XHRcdHF1YWxpZmllcnM6IHt9LFxuXHRcdFx0dmFsdWVIZWxwUXVhbGlmaWVyOiBcIlwiXG5cdFx0fVxuXHR9O1xuXHRyZXR1cm4gY29tcGlsZUV4cHJlc3Npb24oZGVsZWdhdGVDb25maWd1cmF0aW9uKTtcbn07XG5cbi8qKlxuICogTWV0aG9kIHRvIGdlbmVyYXRlIHRoZSBJRCBmb3IgVmFsdWUgSGVscC5cbiAqXG4gKiBAcGFyYW0gc0ZsZXhJZCBGbGV4IElEIG9mIHRoZSBjdXJyZW50IG9iamVjdFxuICogQHBhcmFtIHNJZFByZWZpeCBQcmVmaXggZm9yIHRoZSBWYWx1ZUhlbHAgSURcbiAqIEBwYXJhbSBzT3JpZ2luYWxQcm9wZXJ0eU5hbWUgTmFtZSBvZiB0aGUgcHJvcGVydHlcbiAqIEBwYXJhbSBzUHJvcGVydHlOYW1lIE5hbWUgb2YgdGhlIFZhbHVlSGVscCBQcm9wZXJ0eVxuICogQHJldHVybnMgVGhlIElkIGdlbmVyYXRlZCBmb3IgdGhlIFZhbHVlSGVscFxuICovXG5leHBvcnQgY29uc3QgZ2VuZXJhdGVJRCA9IGZ1bmN0aW9uIChcblx0c0ZsZXhJZDogc3RyaW5nIHwgdW5kZWZpbmVkLFxuXHRzSWRQcmVmaXg6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0c09yaWdpbmFsUHJvcGVydHlOYW1lOiBzdHJpbmcsXG5cdHNQcm9wZXJ0eU5hbWU6IHN0cmluZ1xuKTogc3RyaW5nIHtcblx0aWYgKHNGbGV4SWQpIHtcblx0XHRyZXR1cm4gc0ZsZXhJZDtcblx0fVxuXHRsZXQgc1Byb3BlcnR5ID0gc1Byb3BlcnR5TmFtZTtcblx0aWYgKHNPcmlnaW5hbFByb3BlcnR5TmFtZSAhPT0gc1Byb3BlcnR5TmFtZSkge1xuXHRcdHNQcm9wZXJ0eSA9IGAke3NPcmlnaW5hbFByb3BlcnR5TmFtZX06OiR7c1Byb3BlcnR5TmFtZX1gO1xuXHR9XG5cdHJldHVybiBnZW5lcmF0ZShbc0lkUHJlZml4LCBzUHJvcGVydHldKTtcbn07XG5cbi8qKlxuICogTWV0aG9kIHRvIGNoZWNrIGlmIGEgcHJvcGVydHkgbmVlZHMgdG8gYmUgdmFsaWRhdGVkIG9yIG5vdCB3aGVuIHVzZWQgaW4gdGhlIHZhbHVlaGVscC5cbiAqXG4gKiBAcGFyYW0gIHByb3BlcnR5IFZhbHVlSGVscCBwcm9wZXJ0eSB0eXBlIGFubm90YXRpb25zXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIHZhbHVlIGhlbHAgbmVlZHMgdG8gYmUgdmFsaWRhdGVkXG4gKi9cbmV4cG9ydCBjb25zdCByZXF1aXJlc1ZhbGlkYXRpb24gPSBmdW5jdGlvbiAocHJvcGVydHk6IFByb3BlcnR5KTogYm9vbGVhbiB7XG5cdHJldHVybiAoXG5cdFx0aGFzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzKHByb3BlcnR5KSB8fFxuXHRcdGhhc1ZhbHVlTGlzdEZvclZhbGlkYXRpb24ocHJvcGVydHkpIHx8XG5cdFx0KGhhc1ZhbHVlSGVscChwcm9wZXJ0eSkgJiYgKGlzVW5pdChwcm9wZXJ0eSkgfHwgaXNDdXJyZW5jeShwcm9wZXJ0eSkgfHwgaXNHdWlkKHByb3BlcnR5KSkpXG5cdCk7XG59O1xuXG4vKipcbiAqIE1ldGhvZCB0byBkZWNpZGUgaWYgY2FzZS1zZW5zaXRpdmUgZmlsdGVyIHJlcXVlc3RzIGFyZSB0byBiZSB1c2VkIG9yIG5vdC5cbiAqXG4gKiAgSWYgdGhlIGJhY2sgZW5kIGhhcyBGaWx0ZXJGdW5jdGlvbnMgQ2FwYWJpbGllcyBmb3IgdGhlIHNlcnZpY2Ugb3IgdGhlIGVudGl0eSwgd2UgY2hlY2sgaXQgaW5jbHVkZXMgc3VwcG9ydCBmb3IgdG9sb3dlci5cbiAqXG4gKiBAcGFyYW0gb0RhdGFNb2RlbFBhdGggQ3VycmVudCBkYXRhIG1vZGVsIHBhdGjCt1xuICogQHBhcmFtIGFFbnRpdHlDb250YWluZXJGaWx0ZXJGdW5jdGlvbnMgRmlsdGVyIGZ1bmN0aW9ucyBvZiBlbnRpdHkgY29udGFpbmVyXG4gKiBAcmV0dXJucyBgdHJ1ZWAgaWYgdGhlIGVudGl0eSBzZXQgb3Igc2VydmljZSBzdXBwb3J0cyBjYXNlIHNlbnNpdGl2ZSBmaWx0ZXIgcmVxdWVzdHNcbiAqL1xuZXhwb3J0IGNvbnN0IHVzZUNhc2VTZW5zaXRpdmVGaWx0ZXJSZXF1ZXN0cyA9IGZ1bmN0aW9uIChcblx0b0RhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+LFxuXHRhRW50aXR5Q29udGFpbmVyRmlsdGVyRnVuY3Rpb25zOiBzdHJpbmdbXVxuKTogYm9vbGVhbiB7XG5cdGNvbnN0IGZpbHRlckZ1bmN0aW9ucyA9XG5cdFx0KChvRGF0YU1vZGVsUGF0aD8udGFyZ2V0RW50aXR5U2V0IGFzIEVudGl0eVNldCk/LmFubm90YXRpb25zPy5DYXBhYmlsaXRpZXM/LkZpbHRlckZ1bmN0aW9ucyBhcyB1bmtub3duIGFzIHN0cmluZ1tdKSB8fFxuXHRcdGFFbnRpdHlDb250YWluZXJGaWx0ZXJGdW5jdGlvbnM7XG5cdHJldHVybiBmaWx0ZXJGdW5jdGlvbnMgPyAhZmlsdGVyRnVuY3Rpb25zLmluY2x1ZGVzKFwidG9sb3dlclwiKSA6IHRydWU7XG59O1xuXG5leHBvcnQgY29uc3QgaXNTZW1hbnRpY0RhdGVSYW5nZSA9IGZ1bmN0aW9uIChvRGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4pOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB8IGZhbHNlIHtcblx0Y29uc3QgdGFyZ2V0UHJvcGVydHkgPSBvRGF0YU1vZGVsUGF0aC50YXJnZXRPYmplY3Q7XG5cdGNvbnN0IHRhcmdldFJlc3RyaWN0aW9ucyA9IGNoZWNrRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyhvRGF0YU1vZGVsUGF0aCwgW1wiU2luZ2xlUmFuZ2VcIl0pO1xuXHRyZXR1cm4gdGFyZ2V0UHJvcGVydHkgJiYgaGFzRGF0ZVR5cGUodGFyZ2V0UHJvcGVydHkpICYmIGNvbXBpbGVFeHByZXNzaW9uKHRhcmdldFJlc3RyaWN0aW9ucyk7XG59O1xuXG5leHBvcnQgY29uc3Qgc2hvdWxkU2hvd0NvbmRpdGlvblBhbmVsID0gZnVuY3Rpb24gKFxuXHRvRGF0YU1vZGVsUGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4sXG5cdG9Db250ZXh0UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQYWdlQ29udGV4dFBhdGhUYXJnZXQ+XG4pOiBib29sZWFuIHtcblx0Ly8gRm9yY2UgcHVzaCB0aGUgY29udGV4dCBwYXRoIGluc2lkZVxuXHRvRGF0YU1vZGVsUGF0aC5jb250ZXh0TG9jYXRpb24gPSBvQ29udGV4dFBhdGg7XG5cdHJldHVybiBjb21waWxlRXhwcmVzc2lvbihjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMob0RhdGFNb2RlbFBhdGgsIFtcIlNpbmdsZVZhbHVlXCIsIFwiTXVsdGlWYWx1ZVwiXSkpID09PSBcImZhbHNlXCI7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29sdW1uRGF0YVByb3BlcnR5ID0gZnVuY3Rpb24gKHNWYWx1ZUxpc3RQcm9wZXJ0eTogc3RyaW5nLCBwcm9wZXJ0eVBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+KTogc3RyaW5nIHtcblx0Y29uc3QgdGV4dEFubm90YXRpb24gPSBwcm9wZXJ0eVBhdGg/LnRhcmdldE9iamVjdD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dDtcblx0cmV0dXJuIHRleHRBbm5vdGF0aW9uPy5hbm5vdGF0aW9ucz8uVUk/LlRleHRBcnJhbmdlbWVudD8udmFsdWVPZigpID09PSBcIlVJLlRleHRBcnJhbmdlbWVudFR5cGUvVGV4dE9ubHlcIiAmJlxuXHRcdGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKHRleHRBbm5vdGF0aW9uKVxuXHRcdD8gdGV4dEFubm90YXRpb24ucGF0aFxuXHRcdDogc1ZhbHVlTGlzdFByb3BlcnR5O1xufTtcblxuY29uc3QgZ2V0Q29sdW1uRGF0YVByb3BlcnR5VHlwZSA9IGZ1bmN0aW9uICh2YWx1ZUxpc3RQcm9wZXJ0eVR5cGU6IHN0cmluZywgcHJvcGVydHlQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pik6IHN0cmluZyB7XG5cdGNvbnN0IHRleHRBcnJhbmdlbWVudCA9IHByb3BlcnR5UGF0aD8udGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0Py5hbm5vdGF0aW9ucz8uVUk/LlRleHRBcnJhbmdlbWVudDtcblx0cmV0dXJuIHRleHRBcnJhbmdlbWVudCAmJiB0ZXh0QXJyYW5nZW1lbnQudmFsdWVPZigpICE9PSBcIlVJLlRleHRBcnJhbmdlbWVudFR5cGUvVGV4dFNlcGFyYXRlXCIgPyBcIkVkbS5TdHJpbmdcIiA6IHZhbHVlTGlzdFByb3BlcnR5VHlwZTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRDb2x1bW5IQWxpZ24gPSBmdW5jdGlvbiAocHJvcGVydHlQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pik6IHN0cmluZyB7XG5cdGNvbnN0IHByb3BlcnR5ID0gcHJvcGVydHlQYXRoLnRhcmdldE9iamVjdDtcblx0Y29uc3QgcHJvcGVydHlUeXBlID0gaXNQcm9wZXJ0eShwcm9wZXJ0eSkgPyBnZXRDb2x1bW5EYXRhUHJvcGVydHlUeXBlKHByb3BlcnR5LnR5cGUsIHByb3BlcnR5UGF0aCkgOiBcIlwiO1xuXG5cdHJldHVybiAhcHJvcGVydHlUeXBlIHx8IGlzU2VtYW50aWNLZXkocHJvcGVydHksIHByb3BlcnR5UGF0aClcblx0XHQ/IFwiQmVnaW5cIlxuXHRcdDogRmllbGRIZWxwZXIuZ2V0UHJvcGVydHlBbGlnbm1lbnQocHJvcGVydHlUeXBlLCB7IHRleHRBbGlnbk1vZGU6IFwiVGFibGVcIiB9KTtcbn07XG4vKipcbiAqXG4gKiBAcGFyYW0gIHByb3BlcnR5UGF0aCBQcm9wZXJ0eVBhdGggb2YgdGhlIEZpZWxkXG4gKiBAcmV0dXJucyBSdW50aW1lIGZvcm1hdHRlciBmb3IgZ3Jvd2luZyBhbmQgZ3Jvd2luZ1RocmVzaG9sZFxuICovXG5leHBvcnQgY29uc3QgZ2V0R3Jvd2luZ0Zvcm1hdHRlciA9IGZ1bmN0aW9uIChwcm9wZXJ0eVBhdGg6IHN0cmluZyk6IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIHtcblx0cmV0dXJuIGNvbXBpbGVFeHByZXNzaW9uKFxuXHRcdGZvcm1hdFJlc3VsdChbcGF0aEluTW9kZWwoXCIvcmVjb21tZW5kYXRpb25zRGF0YVwiLCBcImludGVybmFsXCIpLCBjb25zdGFudChwcm9wZXJ0eVBhdGgpXSwgYWRkaXRpb25hbFZhbHVlRm9ybWF0dGVyLmdldEdyb3dpbmcpXG5cdCk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VmFsdWVIZWxwVGVtcGxhdGUgPSBmdW5jdGlvbiAoXG5cdG1ldGFQYXRoOiBDb250ZXh0LFxuXHR2aENvbnRlbnQ6IFN0cmljdFByb3BlcnRpZXNPZjxPbWl0PFZhbHVlSGVscEJsb2NrLCBcImNvbnRleHRQYXRoXCIgfCBcIm1ldGFQYXRoXCIgfCBcImFyaWFMYWJlbGxlZEJ5XCI+PiAmIHtcblx0XHRtZXRhUGF0aDogQ29udGV4dDtcblx0XHRjb250ZXh0UGF0aDogQ29udGV4dDtcblx0fVxuKTogc3RyaW5nIHwgQ29udHJvbCB8IHVuZGVmaW5lZCB7XG5cdGxldCBkYXRhTW9kZWxPYmplY3RQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzPFByb3BlcnR5PihtZXRhUGF0aCwgdmhDb250ZW50LmNvbnRleHRQYXRoKTtcblx0bGV0IG9yaWdpbmFsUHJvcGVydHkgPSBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHM8UHJvcGVydHk+KHZoQ29udGVudC5tZXRhUGF0aCwgdmhDb250ZW50LmNvbnRleHRQYXRoKTtcblx0aWYgKGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKG9yaWdpbmFsUHJvcGVydHkudGFyZ2V0T2JqZWN0KSkge1xuXHRcdG9yaWdpbmFsUHJvcGVydHkgPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChvcmlnaW5hbFByb3BlcnR5LCBvcmlnaW5hbFByb3BlcnR5LnRhcmdldE9iamVjdC5wYXRoKTtcblx0fVxuXHRpZiAoaXNQYXRoQW5ub3RhdGlvbkV4cHJlc3Npb24oZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QpKSB7XG5cdFx0ZGF0YU1vZGVsT2JqZWN0UGF0aCA9IGVuaGFuY2VEYXRhTW9kZWxQYXRoKGRhdGFNb2RlbE9iamVjdFBhdGgsIGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LnBhdGgpO1xuXHR9XG5cdGlmIChkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCkge1xuXHRcdGNvbnN0IHZhbHVlSGVscElkID0gZ2VuZXJhdGVJRChcblx0XHRcdHZoQ29udGVudC5fZmxleElkLFxuXHRcdFx0dmhDb250ZW50LmlkUHJlZml4LFxuXHRcdFx0Z2V0VGFyZ2V0T2JqZWN0UGF0aChvcmlnaW5hbFByb3BlcnR5LCB0cnVlKSxcblx0XHRcdGdldFRhcmdldE9iamVjdFBhdGgoZGF0YU1vZGVsT2JqZWN0UGF0aCwgdHJ1ZSlcblx0XHQpO1xuXHRcdGNvbnN0IGRpYWxvZ1RpdGxlID0gZ2V0TGFiZWwoZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QpIHx8IGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0Lm5hbWU7XG5cdFx0aWYgKGhhc1ZhbHVlSGVscChkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCkpIHtcblx0XHRcdGNvbnN0IHNob3VsZFZhbGlkYXRlSW5wdXQgPVxuXHRcdFx0XHR2aENvbnRlbnQuZmlsdGVyRmllbGRWYWx1ZUhlbHAgfHwgdmhDb250ZW50LnJlcXVpcmVzVmFsaWRhdGlvbiB8fCByZXF1aXJlc1ZhbGlkYXRpb24oZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QpO1xuXHRcdFx0Y29uc3Qgc2hvd0NvbmRpdGlvblBhbmVsID0gdmhDb250ZW50LmZpbHRlckZpZWxkVmFsdWVIZWxwXG5cdFx0XHRcdD8gZXF1YWwoY2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zKGRhdGFNb2RlbE9iamVjdFBhdGgsIFtcIlNpbmdsZVZhbHVlXCIsIFwiTXVsdGlWYWx1ZVwiXSksIGZhbHNlKVxuXHRcdFx0XHQ6IGZhbHNlO1xuXHRcdFx0Y29uc3QgdmFsdWVIZWxwRGVsZWdhdGVDb25maWd1cmF0aW9uID0gZ2V0RGVsZWdhdGVDb25maWd1cmF0aW9uKFxuXHRcdFx0XHRnZXRUYXJnZXRPYmplY3RQYXRoKGRhdGFNb2RlbE9iamVjdFBhdGgpLFxuXHRcdFx0XHR2aENvbnRlbnQuY29uZGl0aW9uTW9kZWwsXG5cdFx0XHRcdGdldFRhcmdldE9iamVjdFBhdGgob3JpZ2luYWxQcm9wZXJ0eSksXG5cdFx0XHRcdHZoQ29udGVudC5yZXF1ZXN0R3JvdXBJZCxcblx0XHRcdFx0dmhDb250ZW50LnVzZU11bHRpVmFsdWVGaWVsZFxuXHRcdFx0KTtcblx0XHRcdGNvbnN0IHNob3VsZFVzZUNhc2VTZW5zaXRpdmVGaWx0ZXIgPSB1c2VDYXNlU2Vuc2l0aXZlRmlsdGVyUmVxdWVzdHMoXG5cdFx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGgsXG5cdFx0XHRcdChkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldEVudGl0eVNldCBhcyBFbnRpdHlTZXQpPy5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5GaWx0ZXJGdW5jdGlvbnM/Lm1hcCgoc3RyKSA9PlxuXHRcdFx0XHRcdHN0ci50b1N0cmluZygpXG5cdFx0XHRcdCkgPz8gW11cblx0XHRcdCk7XG5cdFx0XHRjb25zdCBpc1ZhbHVlTGlzdEZvclZhbGlkYXRpb24gPSBoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblx0XHRcdGNvbnN0IGlzVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzID0gaGFzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblx0XHRcdGNvbnN0IGN1c3RvbURhdGEgPSBbPEN1c3RvbURhdGEga2V5PXtcInNob3dDb25kaXRpb25QYW5lbFwifSB2YWx1ZT17c2hvd0NvbmRpdGlvblBhbmVsfSAvPl07XG5cdFx0XHRpZiAoaXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uKSB7XG5cdFx0XHRcdGN1c3RvbURhdGEucHVzaChcblx0XHRcdFx0XHQ8Q3VzdG9tRGF0YVxuXHRcdFx0XHRcdFx0a2V5PXtcInZhbHVlbGlzdEZvclZhbGlkYXRpb25cIn1cblx0XHRcdFx0XHRcdHZhbHVlPXtjb21waWxlRXhwcmVzc2lvbihcblx0XHRcdFx0XHRcdFx0Z2V0RXhwcmVzc2lvbkZyb21Bbm5vdGF0aW9uKFxuXHRcdFx0XHRcdFx0XHRcdGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0LmFubm90YXRpb25zPy5Db21tb25cblx0XHRcdFx0XHRcdFx0XHRcdD8uVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiBhcyB1bmtub3duIGFzIFByb3BlcnR5QW5ub3RhdGlvblZhbHVlPHN0cmluZz5cblx0XHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdFx0KX1cblx0XHRcdFx0XHQvPlxuXHRcdFx0XHQpO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PFZhbHVlSGVscCBkZWxlZ2F0ZT17dmFsdWVIZWxwRGVsZWdhdGVDb25maWd1cmF0aW9ufSBpZD17dmFsdWVIZWxwSWR9IHZhbGlkYXRlSW5wdXQ9e3Nob3VsZFZhbGlkYXRlSW5wdXR9PlxuXHRcdFx0XHRcdHt7XG5cdFx0XHRcdFx0XHRjdXN0b21EYXRhOiBjdXN0b21EYXRhLFxuXHRcdFx0XHRcdFx0dHlwZWFoZWFkOiAoXG5cdFx0XHRcdFx0XHRcdDxQb3BvdmVyPlxuXHRcdFx0XHRcdFx0XHRcdDxNVGFibGVcblx0XHRcdFx0XHRcdFx0XHRcdGlkPXtgJHt2YWx1ZUhlbHBJZH06OlBvcG92ZXI6OnF1YWxpZmllcjo6YH1cblx0XHRcdFx0XHRcdFx0XHRcdGNhc2VTZW5zaXRpdmU9e3Nob3VsZFVzZUNhc2VTZW5zaXRpdmVGaWx0ZXJ9XG5cdFx0XHRcdFx0XHRcdFx0XHR1c2VBc1ZhbHVlSGVscD17aGFzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KX1cblx0XHRcdFx0XHRcdFx0XHQvPlxuXHRcdFx0XHRcdFx0XHQ8L1BvcG92ZXI+XG5cdFx0XHRcdFx0XHQpLFxuXHRcdFx0XHRcdFx0ZGlhbG9nOiAhaXNWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMgPyA8RGlhbG9nIC8+IDogdW5kZWZpbmVkXG5cdFx0XHRcdFx0fX1cblx0XHRcdFx0PC9WYWx1ZUhlbHA+XG5cdFx0XHQpO1xuXHRcdH0gZWxzZSBpZiAodmhDb250ZW50LmZpbHRlckZpZWxkVmFsdWVIZWxwKSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHQ8VmFsdWVIZWxwIGlkPXt2YWx1ZUhlbHBJZH0+XG5cdFx0XHRcdFx0e3tcblx0XHRcdFx0XHRcdGN1c3RvbURhdGE6XG5cdFx0XHRcdFx0XHRcdHZoQ29udGVudC5yZXF1ZXN0R3JvdXBJZCAhPT0gdW5kZWZpbmVkXG5cdFx0XHRcdFx0XHRcdFx0PyBbPEN1c3RvbURhdGEga2V5PXtcInJlcXVlc3RHcm91cElkXCJ9IHZhbHVlPXt2aENvbnRlbnQucmVxdWVzdEdyb3VwSWR9IC8+XVxuXHRcdFx0XHRcdFx0XHRcdDogW10sXG5cdFx0XHRcdFx0XHRkaWFsb2c6IChcblx0XHRcdFx0XHRcdFx0PERpYWxvZyB0aXRsZT17ZGlhbG9nVGl0bGV9PlxuXHRcdFx0XHRcdFx0XHRcdDxDb25kaXRpb25zIC8+XG5cdFx0XHRcdFx0XHRcdDwvRGlhbG9nPlxuXHRcdFx0XHRcdFx0KVxuXHRcdFx0XHRcdH19XG5cdFx0XHRcdDwvVmFsdWVIZWxwPlxuXHRcdFx0KTtcblx0XHR9XG5cdH1cbn07XG4iXSwibWFwcGluZ3MiOiI7QUFBQTtBQUFBO0FBQUE7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7RUFvQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUNPLE1BQU1BLDRCQUE0QixHQUFHLFVBQzNDQyxZQUEyQyxFQUMzQ0MsMEJBQW1DLEVBQzFCO0lBQUE7SUFDVCxNQUFNQyxZQUFZLEdBQUdDLGNBQWMsQ0FBQ0gsWUFBWSxDQUFDO0lBQ2pELE1BQU1JLGVBQWUsNEJBQUdKLFlBQVksQ0FBQ0ssWUFBWSxvRkFBekIsc0JBQTJCQyxXQUFXLHFGQUF0Qyx1QkFBd0NDLE1BQU0sMkRBQTlDLHVCQUFnREMsSUFBSTtJQUM1RSxNQUFNQywwQkFBMEIsR0FBRyxPQUFPTCxlQUFlLEtBQUssUUFBUSxLQUFJQSxlQUFlLGFBQWZBLGVBQWUsZ0RBQWZBLGVBQWUsQ0FBRUUsV0FBVyxvRkFBNUIsc0JBQThCSSxFQUFFLHFGQUFoQyx1QkFBa0NDLGVBQWUsMkRBQWpELHVCQUFtREMsUUFBUSxFQUFFO0lBQ3ZJLElBQUlYLDBCQUEwQixFQUFFO01BQy9CLE9BQU9HLGVBQWUsSUFBSVMsMEJBQTBCLENBQUNULGVBQWUsQ0FBQyxJQUFJQSxlQUFlLENBQUNVLElBQUksR0FBR1osWUFBWSxHQUFHLE9BQU87SUFDdkgsQ0FBQyxNQUFNO01BQ047TUFDQSxPQUFPTywwQkFBMEIsR0FBR1AsWUFBWSxHQUFHLE9BQU87SUFDM0Q7RUFDRCxDQUFDOztFQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBVEE7RUFVTyxNQUFNYSx3QkFBd0IsR0FBRyxVQUN2Q2YsWUFBb0IsRUFDcEJnQixrQkFBMEIsRUFDMUJDLG9CQUE0QixFQUM1QkMsY0FBdUIsRUFFdUI7SUFBQSxJQUQ5Q0Msa0JBQWtCLHVFQUFHLEtBQUs7SUFFMUIsTUFBTUMsZUFBZSxHQUFHcEIsWUFBWSxLQUFLaUIsb0JBQW9CO0lBQzdELE1BQU1JLHFCQUFrRSxHQUFHO01BQzFFQyxJQUFJLEVBQUUsMkNBQTJDO01BQ2pEQyxPQUFPLEVBQUU7UUFDUnZCLFlBQVk7UUFDWm9CLGVBQWU7UUFDZkksY0FBYyxFQUFFUixrQkFBa0I7UUFDbENFLGNBQWM7UUFDZEMsa0JBQWtCO1FBQ2xCTSxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ2RDLGtCQUFrQixFQUFFO01BQ3JCO0lBQ0QsQ0FBQztJQUNELE9BQU9MLHFCQUFxQixDQUFDLENBQUM7RUFDL0IsQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFMQTtFQU1PLE1BQU1NLDJDQUEyQyxHQUFHLFVBQVUzQixZQUFvQixFQUFvQztJQUM1SCxNQUFNcUIscUJBQWtFLEdBQUc7TUFDMUVDLElBQUksRUFBRSwyQ0FBMkM7TUFDakRDLE9BQU8sRUFBRTtRQUNSdkIsWUFBWTtRQUNaNEIsMEJBQTBCLEVBQUUsSUFBSTtRQUNoQ0gsVUFBVSxFQUFFLENBQUMsQ0FBQztRQUNkQyxrQkFBa0IsRUFBRTtNQUNyQjtJQUNELENBQUM7SUFDRCxPQUFPRyxpQkFBaUIsQ0FBQ1IscUJBQXFCLENBQUM7RUFDaEQsQ0FBQzs7RUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFSQTtFQVNPLE1BQU1TLFVBQVUsR0FBRyxVQUN6QkMsT0FBMkIsRUFDM0JDLFNBQTZCLEVBQzdCQyxxQkFBNkIsRUFDN0JDLGFBQXFCLEVBQ1o7SUFDVCxJQUFJSCxPQUFPLEVBQUU7TUFDWixPQUFPQSxPQUFPO0lBQ2Y7SUFDQSxJQUFJSSxTQUFTLEdBQUdELGFBQWE7SUFDN0IsSUFBSUQscUJBQXFCLEtBQUtDLGFBQWEsRUFBRTtNQUM1Q0MsU0FBUyxHQUFJLEdBQUVGLHFCQUFzQixLQUFJQyxhQUFjLEVBQUM7SUFDekQ7SUFDQSxPQUFPRSxRQUFRLENBQUMsQ0FBQ0osU0FBUyxFQUFFRyxTQUFTLENBQUMsQ0FBQztFQUN4QyxDQUFDOztFQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtFQUxBO0VBTU8sTUFBTUUsa0JBQWtCLEdBQUcsVUFBVUMsUUFBa0IsRUFBVztJQUN4RSxPQUNDQywyQkFBMkIsQ0FBQ0QsUUFBUSxDQUFDLElBQ3JDRSx5QkFBeUIsQ0FBQ0YsUUFBUSxDQUFDLElBQ2xDRyxZQUFZLENBQUNILFFBQVEsQ0FBQyxLQUFLSSxNQUFNLENBQUNKLFFBQVEsQ0FBQyxJQUFJSyxVQUFVLENBQUNMLFFBQVEsQ0FBQyxJQUFJTSxNQUFNLENBQUNOLFFBQVEsQ0FBQyxDQUFFO0VBRTVGLENBQUM7O0VBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBUkE7RUFTTyxNQUFNTyw4QkFBOEIsR0FBRyxVQUM3Q0MsY0FBNkMsRUFDN0NDLCtCQUF5QyxFQUMvQjtJQUFBO0lBQ1YsTUFBTUMsZUFBZSxHQUNwQixDQUFFRixjQUFjLGFBQWRBLGNBQWMsZ0RBQWRBLGNBQWMsQ0FBRUcsZUFBZSxvRkFBaEMsc0JBQWdEM0MsV0FBVyxxRkFBM0QsdUJBQTZENEMsWUFBWSwyREFBekUsdUJBQTJFQyxlQUFlLEtBQzNGSiwrQkFBK0I7SUFDaEMsT0FBT0MsZUFBZSxHQUFHLENBQUNBLGVBQWUsQ0FBQ0ksUUFBUSxDQUFDLFNBQVMsQ0FBQyxHQUFHLElBQUk7RUFDckUsQ0FBQztFQUFDO0VBRUssTUFBTUMsbUJBQW1CLEdBQUcsVUFBVVAsY0FBNkMsRUFBNEM7SUFDckksTUFBTVEsY0FBYyxHQUFHUixjQUFjLENBQUN6QyxZQUFZO0lBQ2xELE1BQU1rRCxrQkFBa0IsR0FBR0MsaUNBQWlDLENBQUNWLGNBQWMsRUFBRSxDQUFDLGFBQWEsQ0FBQyxDQUFDO0lBQzdGLE9BQU9RLGNBQWMsSUFBSUcsV0FBVyxDQUFDSCxjQUFjLENBQUMsSUFBSXpCLGlCQUFpQixDQUFDMEIsa0JBQWtCLENBQUM7RUFDOUYsQ0FBQztFQUFDO0VBRUssTUFBTUcsd0JBQXdCLEdBQUcsVUFDdkNaLGNBQTZDLEVBQzdDYSxZQUF3RCxFQUM5QztJQUNWO0lBQ0FiLGNBQWMsQ0FBQ2MsZUFBZSxHQUFHRCxZQUFZO0lBQzdDLE9BQU85QixpQkFBaUIsQ0FBQzJCLGlDQUFpQyxDQUFDVixjQUFjLEVBQUUsQ0FBQyxhQUFhLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQyxLQUFLLE9BQU87RUFDdkgsQ0FBQztFQUFDO0VBRUssTUFBTWUscUJBQXFCLEdBQUcsVUFBVUMsa0JBQTBCLEVBQUU5RCxZQUEyQyxFQUFVO0lBQUE7SUFDL0gsTUFBTStELGNBQWMsR0FBRy9ELFlBQVksYUFBWkEsWUFBWSxpREFBWkEsWUFBWSxDQUFFSyxZQUFZLHFGQUExQix1QkFBNEJDLFdBQVcscUZBQXZDLHVCQUF5Q0MsTUFBTSwyREFBL0MsdUJBQWlEQyxJQUFJO0lBQzVFLE9BQU8sQ0FBQXVELGNBQWMsYUFBZEEsY0FBYyxnREFBZEEsY0FBYyxDQUFFekQsV0FBVyxvRkFBM0Isc0JBQTZCSSxFQUFFLHFGQUEvQix1QkFBaUNDLGVBQWUsMkRBQWhELHVCQUFrRHFELE9BQU8sRUFBRSxNQUFLLGlDQUFpQyxJQUN2R25ELDBCQUEwQixDQUFDa0QsY0FBYyxDQUFDLEdBQ3hDQSxjQUFjLENBQUNqRCxJQUFJLEdBQ25CZ0Qsa0JBQWtCO0VBQ3RCLENBQUM7RUFBQztFQUVGLE1BQU1HLHlCQUF5QixHQUFHLFVBQVVDLHFCQUE2QixFQUFFbEUsWUFBMkMsRUFBVTtJQUFBO0lBQy9ILE1BQU1tRSxlQUFlLEdBQUduRSxZQUFZLGFBQVpBLFlBQVksaURBQVpBLFlBQVksQ0FBRUssWUFBWSxxRkFBMUIsdUJBQTRCQyxXQUFXLHFGQUF2Qyx1QkFBeUNDLE1BQU0sc0ZBQS9DLHVCQUFpREMsSUFBSSx1RkFBckQsd0JBQXVERixXQUFXLHVGQUFsRSx3QkFBb0VJLEVBQUUsNERBQXRFLHdCQUF3RUMsZUFBZTtJQUMvRyxPQUFPd0QsZUFBZSxJQUFJQSxlQUFlLENBQUNILE9BQU8sRUFBRSxLQUFLLHFDQUFxQyxHQUFHLFlBQVksR0FBR0UscUJBQXFCO0VBQ3JJLENBQUM7RUFFTSxNQUFNRSxlQUFlLEdBQUcsVUFBVXBFLFlBQTJDLEVBQVU7SUFDN0YsTUFBTXNDLFFBQVEsR0FBR3RDLFlBQVksQ0FBQ0ssWUFBWTtJQUMxQyxNQUFNZ0UsWUFBWSxHQUFHQyxVQUFVLENBQUNoQyxRQUFRLENBQUMsR0FBRzJCLHlCQUF5QixDQUFDM0IsUUFBUSxDQUFDaUMsSUFBSSxFQUFFdkUsWUFBWSxDQUFDLEdBQUcsRUFBRTtJQUV2RyxPQUFPLENBQUNxRSxZQUFZLElBQUlHLGFBQWEsQ0FBQ2xDLFFBQVEsRUFBRXRDLFlBQVksQ0FBQyxHQUMxRCxPQUFPLEdBQ1B5RSxXQUFXLENBQUNDLG9CQUFvQixDQUFDTCxZQUFZLEVBQUU7TUFBRU0sYUFBYSxFQUFFO0lBQVEsQ0FBQyxDQUFDO0VBQzlFLENBQUM7RUFDRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBSkE7RUFLTyxNQUFNQyxtQkFBbUIsR0FBRyxVQUFVNUUsWUFBb0IsRUFBb0M7SUFDcEcsT0FBTzZCLGlCQUFpQixDQUN2QmdELFlBQVksQ0FBQyxDQUFDQyxXQUFXLENBQUMsc0JBQXNCLEVBQUUsVUFBVSxDQUFDLEVBQUVDLFFBQVEsQ0FBQy9FLFlBQVksQ0FBQyxDQUFDLEVBQUVnRix3QkFBd0IsQ0FBQ0MsVUFBVSxDQUFDLENBQzVIO0VBQ0YsQ0FBQztFQUFDO0VBRUssTUFBTUMsb0JBQW9CLEdBQUcsVUFDbkNDLFFBQWlCLEVBQ2pCQyxTQUdDLEVBQzhCO0lBQy9CLElBQUlDLG1CQUFtQixHQUFHQywyQkFBMkIsQ0FBV0gsUUFBUSxFQUFFQyxTQUFTLENBQUNHLFdBQVcsQ0FBQztJQUNoRyxJQUFJQyxnQkFBZ0IsR0FBR0YsMkJBQTJCLENBQVdGLFNBQVMsQ0FBQ0QsUUFBUSxFQUFFQyxTQUFTLENBQUNHLFdBQVcsQ0FBQztJQUN2RyxJQUFJMUUsMEJBQTBCLENBQUMyRSxnQkFBZ0IsQ0FBQ25GLFlBQVksQ0FBQyxFQUFFO01BQzlEbUYsZ0JBQWdCLEdBQUdDLG9CQUFvQixDQUFDRCxnQkFBZ0IsRUFBRUEsZ0JBQWdCLENBQUNuRixZQUFZLENBQUNTLElBQUksQ0FBQztJQUM5RjtJQUNBLElBQUlELDBCQUEwQixDQUFDd0UsbUJBQW1CLENBQUNoRixZQUFZLENBQUMsRUFBRTtNQUNqRWdGLG1CQUFtQixHQUFHSSxvQkFBb0IsQ0FBQ0osbUJBQW1CLEVBQUVBLG1CQUFtQixDQUFDaEYsWUFBWSxDQUFDUyxJQUFJLENBQUM7SUFDdkc7SUFDQSxJQUFJdUUsbUJBQW1CLENBQUNoRixZQUFZLEVBQUU7TUFDckMsTUFBTXFGLFdBQVcsR0FBRzVELFVBQVUsQ0FDN0JzRCxTQUFTLENBQUNPLE9BQU8sRUFDakJQLFNBQVMsQ0FBQ1EsUUFBUSxFQUNsQkMsbUJBQW1CLENBQUNMLGdCQUFnQixFQUFFLElBQUksQ0FBQyxFQUMzQ0ssbUJBQW1CLENBQUNSLG1CQUFtQixFQUFFLElBQUksQ0FBQyxDQUM5QztNQUNELE1BQU1TLFdBQVcsR0FBR0MsUUFBUSxDQUFDVixtQkFBbUIsQ0FBQ2hGLFlBQVksQ0FBQyxJQUFJZ0YsbUJBQW1CLENBQUNoRixZQUFZLENBQUNpQixJQUFJO01BQ3ZHLElBQUltQixZQUFZLENBQUM0QyxtQkFBbUIsQ0FBQ2hGLFlBQVksQ0FBQyxFQUFFO1FBQUE7UUFDbkQsTUFBTTJGLG1CQUFtQixHQUN4QlosU0FBUyxDQUFDYSxvQkFBb0IsSUFBSWIsU0FBUyxDQUFDL0Msa0JBQWtCLElBQUlBLGtCQUFrQixDQUFDZ0QsbUJBQW1CLENBQUNoRixZQUFZLENBQUM7UUFDdkgsTUFBTTZGLGtCQUFrQixHQUFHZCxTQUFTLENBQUNhLG9CQUFvQixHQUN0REUsS0FBSyxDQUFDM0MsaUNBQWlDLENBQUM2QixtQkFBbUIsRUFBRSxDQUFDLGFBQWEsRUFBRSxZQUFZLENBQUMsQ0FBQyxFQUFFLEtBQUssQ0FBQyxHQUNuRyxLQUFLO1FBQ1IsTUFBTWUsOEJBQThCLEdBQUdyRix3QkFBd0IsQ0FDOUQ4RSxtQkFBbUIsQ0FBQ1IsbUJBQW1CLENBQUMsRUFDeENELFNBQVMsQ0FBQzVELGNBQWMsRUFDeEJxRSxtQkFBbUIsQ0FBQ0wsZ0JBQWdCLENBQUMsRUFDckNKLFNBQVMsQ0FBQ2xFLGNBQWMsRUFDeEJrRSxTQUFTLENBQUNqRSxrQkFBa0IsQ0FDNUI7UUFDRCxNQUFNa0YsNEJBQTRCLEdBQUd4RCw4QkFBOEIsQ0FDbEV3QyxtQkFBbUIsRUFDbkIsMEJBQUNBLG1CQUFtQixDQUFDcEMsZUFBZSxvRkFBcEMsc0JBQW9EM0MsV0FBVyxxRkFBL0QsdUJBQWlFNEMsWUFBWSxxRkFBN0UsdUJBQStFQyxlQUFlLDJEQUE5Rix1QkFBZ0dtRCxHQUFHLENBQUVDLEdBQUcsSUFDdkdBLEdBQUcsQ0FBQzNGLFFBQVEsRUFBRSxDQUNkLEtBQUksRUFBRSxDQUNQO1FBQ0QsTUFBTTRGLHdCQUF3QixHQUFHaEUseUJBQXlCLENBQUM2QyxtQkFBbUIsQ0FBQ2hGLFlBQVksQ0FBQztRQUM1RixNQUFNb0csMEJBQTBCLEdBQUdsRSwyQkFBMkIsQ0FBQzhDLG1CQUFtQixDQUFDaEYsWUFBWSxDQUFDO1FBQ2hHLE1BQU1xRyxVQUFVLEdBQUcsQ0FBQyxLQUFDLFVBQVU7VUFBNEIsS0FBSyxFQUFFUjtRQUFtQixHQUFoRCxvQkFBb0IsQ0FBK0IsQ0FBQztRQUN6RixJQUFJTSx3QkFBd0IsRUFBRTtVQUFBO1VBQzdCRSxVQUFVLENBQUNDLElBQUksQ0FDZCxLQUFDLFVBQVU7WUFFVixLQUFLLEVBQUU5RSxpQkFBaUIsQ0FDdkIrRSwyQkFBMkIsMkJBQzFCdkIsbUJBQW1CLENBQUNoRixZQUFZLENBQUNDLFdBQVcscUZBQTVDLHVCQUE4Q0MsTUFBTSwyREFBcEQsdUJBQ0dzRyxzQkFBc0IsQ0FDekI7VUFDQSxHQU5HLHdCQUF3QixDQU81QixDQUNGO1FBQ0Y7UUFDQSxPQUNDLEtBQUMsU0FBUztVQUFDLFFBQVEsRUFBRVQsOEJBQStCO1VBQUMsRUFBRSxFQUFFVixXQUFZO1VBQUMsYUFBYSxFQUFFTSxtQkFBb0I7VUFBQSxVQUN2RztZQUNBVSxVQUFVLEVBQUVBLFVBQVU7WUFDdEJJLFNBQVMsRUFDUixLQUFDLE9BQU87Y0FBQSxVQUNQLEtBQUMsTUFBTTtnQkFDTixFQUFFLEVBQUcsR0FBRXBCLFdBQVksd0JBQXdCO2dCQUMzQyxhQUFhLEVBQUVXLDRCQUE2QjtnQkFDNUMsY0FBYyxFQUFFOUQsMkJBQTJCLENBQUM4QyxtQkFBbUIsQ0FBQ2hGLFlBQVk7Y0FBRTtZQUM3RSxFQUVIO1lBQ0QwRyxNQUFNLEVBQUUsQ0FBQ04sMEJBQTBCLEdBQUcsS0FBQyxNQUFNLEtBQUcsR0FBR087VUFDcEQ7UUFBQyxFQUNVO01BRWQsQ0FBQyxNQUFNLElBQUk1QixTQUFTLENBQUNhLG9CQUFvQixFQUFFO1FBQzFDLE9BQ0MsS0FBQyxTQUFTO1VBQUMsRUFBRSxFQUFFUCxXQUFZO1VBQUEsVUFDekI7WUFDQWdCLFVBQVUsRUFDVHRCLFNBQVMsQ0FBQ2xFLGNBQWMsS0FBSzhGLFNBQVMsR0FDbkMsQ0FBQyxLQUFDLFVBQVU7Y0FBd0IsS0FBSyxFQUFFNUIsU0FBUyxDQUFDbEU7WUFBZSxHQUFsRCxnQkFBZ0IsQ0FBcUMsQ0FBQyxHQUN4RSxFQUFFO1lBQ042RixNQUFNLEVBQ0wsS0FBQyxNQUFNO2NBQUMsS0FBSyxFQUFFakIsV0FBWTtjQUFBLFVBQzFCLEtBQUMsVUFBVTtZQUFHO1VBR2pCO1FBQUMsRUFDVTtNQUVkO0lBQ0Q7RUFDRCxDQUFDO0VBQUM7RUFBQTtBQUFBIn0=
256
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRWYWx1ZUhlbHBUYWJsZURpc3BsYXlNb2RlIiwicHJvcGVydHlQYXRoIiwiaXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMiLCJzRGlzcGxheU1vZGUiLCJnZXREaXNwbGF5TW9kZSIsIm9UZXh0QW5ub3RhdGlvbiIsInRhcmdldE9iamVjdCIsImFubm90YXRpb25zIiwiQ29tbW9uIiwiVGV4dCIsIm9UZXh0QXJyYW5nZW1lbnRBbm5vdGF0aW9uIiwiVUkiLCJUZXh0QXJyYW5nZW1lbnQiLCJ0b1N0cmluZyIsImlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uIiwicGF0aCIsImdldERlbGVnYXRlQ29uZmlndXJhdGlvbiIsImNvbmRpdGlvbk1vZGVsTmFtZSIsIm9yaWdpbmFsUHJvcGVydHlQYXRoIiwicmVxdWVzdEdyb3VwSWQiLCJ1c2VNdWx0aVZhbHVlRmllbGQiLCJ0b0pzb24iLCJpc1VuaXRWYWx1ZUhlbHAiLCJkZWxlZ2F0ZUNvbmZpZ3VyYXRpb24iLCJuYW1lIiwicGF5bG9hZCIsImNvbmRpdGlvbk1vZGVsIiwicXVhbGlmaWVycyIsInZhbHVlSGVscFF1YWxpZmllciIsIkpTT04iLCJzdHJpbmdpZnkiLCJnZXREZWxlZ2F0ZUNvbmZpZ3VyYXRpb25Gb3JEZWZpbmVDb25kaXRpb25zIiwiaXNEZWZpbmVDb25kaXRpb25WYWx1ZUhlbHAiLCJjb21waWxlRXhwcmVzc2lvbiIsImdlbmVyYXRlSUQiLCJzRmxleElkIiwic0lkUHJlZml4Iiwic09yaWdpbmFsUHJvcGVydHlOYW1lIiwic1Byb3BlcnR5TmFtZSIsInNQcm9wZXJ0eSIsImdlbmVyYXRlIiwicmVxdWlyZXNWYWxpZGF0aW9uIiwicHJvcGVydHkiLCJoYXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMiLCJoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwiaGFzVmFsdWVIZWxwIiwiaXNVbml0IiwiaXNDdXJyZW5jeSIsImlzR3VpZCIsInVzZUNhc2VTZW5zaXRpdmVGaWx0ZXJSZXF1ZXN0cyIsIm9EYXRhTW9kZWxQYXRoIiwiYUVudGl0eUNvbnRhaW5lckZpbHRlckZ1bmN0aW9ucyIsImZpbHRlckZ1bmN0aW9ucyIsInRhcmdldEVudGl0eVNldCIsIkNhcGFiaWxpdGllcyIsIkZpbHRlckZ1bmN0aW9ucyIsImluY2x1ZGVzIiwiaXNTZW1hbnRpY0RhdGVSYW5nZSIsInRhcmdldFByb3BlcnR5IiwidGFyZ2V0UmVzdHJpY3Rpb25zIiwiY2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zIiwiaGFzRGF0ZVR5cGUiLCJzaG91bGRTaG93Q29uZGl0aW9uUGFuZWwiLCJvQ29udGV4dFBhdGgiLCJjb250ZXh0TG9jYXRpb24iLCJnZXRDb2x1bW5EYXRhUHJvcGVydHkiLCJzVmFsdWVMaXN0UHJvcGVydHkiLCJ0ZXh0QW5ub3RhdGlvbiIsInZhbHVlT2YiLCJnZXRDb2x1bW5EYXRhUHJvcGVydHlUeXBlIiwidmFsdWVMaXN0UHJvcGVydHlUeXBlIiwidGV4dEFycmFuZ2VtZW50IiwiZ2V0Q29sdW1uSEFsaWduIiwicHJvcGVydHlUeXBlIiwiaXNQcm9wZXJ0eSIsInR5cGUiLCJpc1NlbWFudGljS2V5IiwiRmllbGRIZWxwZXIiLCJnZXRQcm9wZXJ0eUFsaWdubWVudCIsInRleHRBbGlnbk1vZGUiLCJnZXRHcm93aW5nRm9ybWF0dGVyIiwiZm9ybWF0UmVzdWx0IiwicGF0aEluTW9kZWwiLCJjb25zdGFudCIsImFkZGl0aW9uYWxWYWx1ZUZvcm1hdHRlciIsImdldEdyb3dpbmciLCJnZXRWYWx1ZUhlbHBUZW1wbGF0ZSIsIm1ldGFQYXRoIiwidmhDb250ZW50IiwiZGF0YU1vZGVsT2JqZWN0UGF0aCIsImdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyIsImNvbnRleHRQYXRoIiwib3JpZ2luYWxQcm9wZXJ0eSIsImVuaGFuY2VEYXRhTW9kZWxQYXRoIiwidmFsdWVIZWxwSWQiLCJfZmxleElkIiwiaWRQcmVmaXgiLCJnZXRUYXJnZXRPYmplY3RQYXRoIiwiZGlhbG9nVGl0bGUiLCJnZXRMYWJlbCIsInNob3VsZFZhbGlkYXRlSW5wdXQiLCJmaWx0ZXJGaWVsZFZhbHVlSGVscCIsInNob3dDb25kaXRpb25QYW5lbCIsImVxdWFsIiwidmFsdWVIZWxwRGVsZWdhdGVDb25maWd1cmF0aW9uIiwic2hvdWxkVXNlQ2FzZVNlbnNpdGl2ZUZpbHRlciIsIm1hcCIsInN0ciIsImlzVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbiIsImlzVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzIiwiY3VzdG9tRGF0YSIsInB1c2giLCJnZXRFeHByZXNzaW9uRnJvbUFubm90YXRpb24iLCJWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uIiwidHlwZWFoZWFkIiwiZGlhbG9nIiwidW5kZWZpbmVkIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJWYWx1ZUhlbHBUZW1wbGF0aW5nLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IEVudGl0eVNldCwgUHJvcGVydHksIFByb3BlcnR5QW5ub3RhdGlvblZhbHVlIH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgdHlwZSB7IENvbXBpbGVkQmluZGluZ1Rvb2xraXRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9iYXNlL0JpbmRpbmdUb29sa2l0XCI7XG5pbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiwgY29uc3RhbnQsIGVxdWFsLCBmb3JtYXRSZXN1bHQsIGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbiwgcGF0aEluTW9kZWwgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGdlbmVyYXRlIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvU3RhYmxlSWRIZWxwZXJcIjtcbmltcG9ydCB7IGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uLCBpc1Byb3BlcnR5IH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvVHlwZUd1YXJkc1wiO1xuaW1wb3J0IHR5cGUgeyBEYXRhTW9kZWxPYmplY3RQYXRoIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRGF0YU1vZGVsUGF0aEhlbHBlclwiO1xuaW1wb3J0IHsgY2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zLCBlbmhhbmNlRGF0YU1vZGVsUGF0aCwgZ2V0VGFyZ2V0T2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7XG5cdGdldExhYmVsLFxuXHRoYXNEYXRlVHlwZSxcblx0aGFzVmFsdWVIZWxwLFxuXHRoYXNWYWx1ZUhlbHBXaXRoRml4ZWRWYWx1ZXMsXG5cdGhhc1ZhbHVlTGlzdEZvclZhbGlkYXRpb24sXG5cdGlzQ3VycmVuY3ksXG5cdGlzR3VpZCxcblx0aXNTZW1hbnRpY0tleSxcblx0aXNVbml0XG59IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1Byb3BlcnR5SGVscGVyXCI7XG5pbXBvcnQgeyBnZXREaXNwbGF5TW9kZSB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL1VJRm9ybWF0dGVyc1wiO1xuaW1wb3J0IEZpZWxkSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkSGVscGVyXCI7XG5cbmltcG9ydCB0eXBlIHsgU3RyaWN0UHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnZlcnRlcnMvTWV0YU1vZGVsQ29udmVydGVyXCI7XG5pbXBvcnQgdHlwZSB7IFBhZ2VDb250ZXh0UGF0aFRhcmdldCB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL1RlbXBsYXRlQ29udmVydGVyXCI7XG5pbXBvcnQgdHlwZSBWYWx1ZUhlbHBCbG9jayBmcm9tIFwic2FwL2ZlL21hY3Jvcy9WYWx1ZUhlbHBcIjtcbmltcG9ydCBhZGRpdGlvbmFsVmFsdWVGb3JtYXR0ZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvdmFsdWVoZWxwL0FkZGl0aW9uYWxWYWx1ZUZvcm1hdHRlclwiO1xuaW1wb3J0IHR5cGUgeyBWYWx1ZUhlbHBQYXlsb2FkIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvaW50ZXJuYWwvdmFsdWVoZWxwL1ZhbHVlTGlzdEhlbHBlclwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL2NvcmUvQ29udHJvbFwiO1xuaW1wb3J0IEN1c3RvbURhdGEgZnJvbSBcInNhcC91aS9jb3JlL0N1c3RvbURhdGFcIjtcbmltcG9ydCBWYWx1ZUhlbHAgZnJvbSBcInNhcC91aS9tZGMvVmFsdWVIZWxwXCI7XG5pbXBvcnQgRGlhbG9nIGZyb20gXCJzYXAvdWkvbWRjL3ZhbHVlaGVscC9EaWFsb2dcIjtcbmltcG9ydCBQb3BvdmVyIGZyb20gXCJzYXAvdWkvbWRjL3ZhbHVlaGVscC9Qb3BvdmVyXCI7XG5pbXBvcnQgQ29uZGl0aW9ucyBmcm9tIFwic2FwL3VpL21kYy92YWx1ZWhlbHAvY29udGVudC9Db25kaXRpb25zXCI7XG5pbXBvcnQgTVRhYmxlIGZyb20gXCJzYXAvdWkvbWRjL3ZhbHVlaGVscC9jb250ZW50L01UYWJsZVwiO1xuaW1wb3J0IHR5cGUgQ29udGV4dCBmcm9tIFwic2FwL3VpL21vZGVsL0NvbnRleHRcIjtcblxuLyoqXG4gKiBSZXRyaWV2ZSB0aGUgZGlzcGxheU1vZGUgZm9yIHRoZSB2YWx1ZSBoZWxwLlxuICogVGhlIG1haW4gcnVsZSBpcyB0aGF0IGlmIGEgcHJvcGVydHkgaXMgdXNlZCBpbiBhIFZIVGFibGUgdGhlbiB3ZSBkb24ndCB3YW50IHRvIGRpc3BsYXkgdGhlIHRleHQgYXJyYW5nZW1lbnQgZGlyZWN0bHkuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5UGF0aCBUaGUgY3VycmVudCBwcm9wZXJ0eVxuICogQHBhcmFtIGlzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzIFRoZSB2YWx1ZSBoZWxwIGlzIGEgZHJvcC1kb3duIGxpc3RcbiAqIEByZXR1cm5zIFRoZSB0YXJnZXQgZGlzcGxheU1vZGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldFZhbHVlSGVscFRhYmxlRGlzcGxheU1vZGUgPSBmdW5jdGlvbiAoXG5cdHByb3BlcnR5UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4sXG5cdGlzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzOiBib29sZWFuXG4pOiBzdHJpbmcge1xuXHRjb25zdCBzRGlzcGxheU1vZGUgPSBnZXREaXNwbGF5TW9kZShwcm9wZXJ0eVBhdGgpO1xuXHRjb25zdCBvVGV4dEFubm90YXRpb24gPSBwcm9wZXJ0eVBhdGgudGFyZ2V0T2JqZWN0Py5hbm5vdGF0aW9ucz8uQ29tbW9uPy5UZXh0O1xuXHRjb25zdCBvVGV4dEFycmFuZ2VtZW50QW5ub3RhdGlvbiA9IHR5cGVvZiBvVGV4dEFubm90YXRpb24gIT09IFwic3RyaW5nXCIgJiYgb1RleHRBbm5vdGF0aW9uPy5hbm5vdGF0aW9ucz8uVUk/LlRleHRBcnJhbmdlbWVudD8udG9TdHJpbmcoKTtcblx0aWYgKGlzVmFsdWVIZWxwV2l0aEZpeGVkVmFsdWVzKSB7XG5cdFx0cmV0dXJuIG9UZXh0QW5ub3RhdGlvbiAmJiBpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbihvVGV4dEFubm90YXRpb24pICYmIG9UZXh0QW5ub3RhdGlvbi5wYXRoID8gc0Rpc3BsYXlNb2RlIDogXCJWYWx1ZVwiO1xuXHR9IGVsc2Uge1xuXHRcdC8vIE9ubHkgZXhwbGljaXQgZGVmaW5lZCBUZXh0QXJyYW5nZW1lbnRzIGluIGEgVmFsdWUgSGVscCB3aXRoIERpYWxvZyBhcmUgY29uc2lkZXJlZFxuXHRcdHJldHVybiBvVGV4dEFycmFuZ2VtZW50QW5ub3RhdGlvbiA/IHNEaXNwbGF5TW9kZSA6IFwiVmFsdWVcIjtcblx0fVxufTtcblxuLyoqXG4gKiBNZXRob2QgdG8gcmV0dXJuIGRlbGVnYXRlIHByb3BlcnR5IG9mIFZhbHVlIEhlbHAuXG4gKlxuICogQHBhcmFtIHByb3BlcnR5UGF0aCBUaGUgY3VycmVudCBwcm9wZXJ0eSBwYXRoXG4gKiBAcGFyYW0gY29uZGl0aW9uTW9kZWxOYW1lIENvbmRpdGlvbiBtb2RlbCBvZiB0aGUgVmFsdWUgSGVscFxuICogQHBhcmFtIG9yaWdpbmFsUHJvcGVydHlQYXRoIFRoZSBvcmlnaW5hbCBwcm9wZXJ0eSBwYXRoXG4gKiBAcGFyYW0gcmVxdWVzdEdyb3VwSWQgVGhlIHJlcXVlc3RHcm91cElkIHRvIHVzZSBmb3IgcmVxdWVzdHNcbiAqIEBwYXJhbSB1c2VNdWx0aVZhbHVlRmllbGQgSWYgdHJ1ZSB0aGUgdmFsdWUgaGVscCBpcyBmb3IgYSBtdWx0aSB2YWx1ZSBGaWVsZFxuICogQHBhcmFtIHRvSnNvbiBJZiB0cnVlIHRoZSByZXN1bHQgaXMgcmV0dXJuZWQgYXMgYSBzdHJpbmcgKG9ubHkgZm9yIG92cClcbiAqIEByZXR1cm5zIFRoZSBleHByZXNzaW9uIG5lZWRlZCB0byBjb25maWd1cmUgdGhlIGRlbGVnYXRlXG4gKi9cbmV4cG9ydCBjb25zdCBnZXREZWxlZ2F0ZUNvbmZpZ3VyYXRpb24gPSBmdW5jdGlvbiAoXG5cdHByb3BlcnR5UGF0aDogc3RyaW5nLFxuXHRjb25kaXRpb25Nb2RlbE5hbWU6IHN0cmluZyxcblx0b3JpZ2luYWxQcm9wZXJ0eVBhdGg6IHN0cmluZyxcblx0cmVxdWVzdEdyb3VwSWQ/OiBzdHJpbmcsXG5cdHVzZU11bHRpVmFsdWVGaWVsZCA9IGZhbHNlLFxuXHR0b0pzb24gPSBmYWxzZVxuKTogeyBuYW1lOiBzdHJpbmc7IHBheWxvYWQ6IFZhbHVlSGVscFBheWxvYWQgfSB8IHN0cmluZyB7XG5cdGNvbnN0IGlzVW5pdFZhbHVlSGVscCA9IHByb3BlcnR5UGF0aCAhPT0gb3JpZ2luYWxQcm9wZXJ0eVBhdGg7XG5cdGNvbnN0IGRlbGVnYXRlQ29uZmlndXJhdGlvbjogeyBuYW1lOiBzdHJpbmc7IHBheWxvYWQ6IFZhbHVlSGVscFBheWxvYWQgfSA9IHtcblx0XHRuYW1lOiBcInNhcC9mZS9tYWNyb3MvdmFsdWVoZWxwL1ZhbHVlSGVscERlbGVnYXRlXCIsXG5cdFx0cGF5bG9hZDoge1xuXHRcdFx0cHJvcGVydHlQYXRoLFxuXHRcdFx0aXNVbml0VmFsdWVIZWxwLFxuXHRcdFx0Y29uZGl0aW9uTW9kZWw6IGNvbmRpdGlvbk1vZGVsTmFtZSxcblx0XHRcdHJlcXVlc3RHcm91cElkLFxuXHRcdFx0dXNlTXVsdGlWYWx1ZUZpZWxkLFxuXHRcdFx0cXVhbGlmaWVyczoge30sXG5cdFx0XHR2YWx1ZUhlbHBRdWFsaWZpZXI6IFwiXCJcblx0XHR9XG5cdH07XG5cdHJldHVybiB0b0pzb24gPyBKU09OLnN0cmluZ2lmeShkZWxlZ2F0ZUNvbmZpZ3VyYXRpb24pIDogZGVsZWdhdGVDb25maWd1cmF0aW9uOyAvLyBmb3Igc29tZSByZWFzb24gXCJxdWFsaWZpZXJzOiB7fVwiIGlzIGlnbm9yZWQgaGVyZVxufTtcblxuLyoqXG4gKiBNZXRob2QgdG8gcmV0dXJuIGRlbGVnYXRlIHByb3BlcnR5IG9mIFZhbHVlIEhlbHAgZm9yIGRlZmluZSBjb25kaXRpb25zIHBhbmVsLlxuICpcbiAqIEBwYXJhbSBwcm9wZXJ0eVBhdGggVGhlIGN1cnJlbnQgcHJvcGVydHkgcGF0aFxuICogQHJldHVybnMgVGhlIGV4cHJlc3Npb24gbmVlZGVkIHRvIGNvbmZpZ3VyZSB0aGUgZGVsZWdhdGVcbiAqL1xuZXhwb3J0IGNvbnN0IGdldERlbGVnYXRlQ29uZmlndXJhdGlvbkZvckRlZmluZUNvbmRpdGlvbnMgPSBmdW5jdGlvbiAocHJvcGVydHlQYXRoOiBzdHJpbmcpOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB7XG5cdGNvbnN0IGRlbGVnYXRlQ29uZmlndXJhdGlvbjogeyBuYW1lOiBzdHJpbmc7IHBheWxvYWQ6IFZhbHVlSGVscFBheWxvYWQgfSA9IHtcblx0XHRuYW1lOiBcInNhcC9mZS9tYWNyb3MvdmFsdWVoZWxwL1ZhbHVlSGVscERlbGVnYXRlXCIsXG5cdFx0cGF5bG9hZDoge1xuXHRcdFx0cHJvcGVydHlQYXRoLFxuXHRcdFx0aXNEZWZpbmVDb25kaXRpb25WYWx1ZUhlbHA6IHRydWUsXG5cdFx0XHRxdWFsaWZpZXJzOiB7fSxcblx0XHRcdHZhbHVlSGVscFF1YWxpZmllcjogXCJcIlxuXHRcdH1cblx0fTtcblx0cmV0dXJuIGNvbXBpbGVFeHByZXNzaW9uKGRlbGVnYXRlQ29uZmlndXJhdGlvbik7XG59O1xuXG4vKipcbiAqIE1ldGhvZCB0byBnZW5lcmF0ZSB0aGUgSUQgZm9yIFZhbHVlIEhlbHAuXG4gKlxuICogQHBhcmFtIHNGbGV4SWQgRmxleCBJRCBvZiB0aGUgY3VycmVudCBvYmplY3RcbiAqIEBwYXJhbSBzSWRQcmVmaXggUHJlZml4IGZvciB0aGUgVmFsdWVIZWxwIElEXG4gKiBAcGFyYW0gc09yaWdpbmFsUHJvcGVydHlOYW1lIE5hbWUgb2YgdGhlIHByb3BlcnR5XG4gKiBAcGFyYW0gc1Byb3BlcnR5TmFtZSBOYW1lIG9mIHRoZSBWYWx1ZUhlbHAgUHJvcGVydHlcbiAqIEByZXR1cm5zIFRoZSBJZCBnZW5lcmF0ZWQgZm9yIHRoZSBWYWx1ZUhlbHBcbiAqL1xuZXhwb3J0IGNvbnN0IGdlbmVyYXRlSUQgPSBmdW5jdGlvbiAoXG5cdHNGbGV4SWQ6IHN0cmluZyB8IHVuZGVmaW5lZCxcblx0c0lkUHJlZml4OiBzdHJpbmcgfCB1bmRlZmluZWQsXG5cdHNPcmlnaW5hbFByb3BlcnR5TmFtZTogc3RyaW5nLFxuXHRzUHJvcGVydHlOYW1lOiBzdHJpbmdcbik6IHN0cmluZyB7XG5cdGlmIChzRmxleElkKSB7XG5cdFx0cmV0dXJuIHNGbGV4SWQ7XG5cdH1cblx0bGV0IHNQcm9wZXJ0eSA9IHNQcm9wZXJ0eU5hbWU7XG5cdGlmIChzT3JpZ2luYWxQcm9wZXJ0eU5hbWUgIT09IHNQcm9wZXJ0eU5hbWUpIHtcblx0XHRzUHJvcGVydHkgPSBgJHtzT3JpZ2luYWxQcm9wZXJ0eU5hbWV9Ojoke3NQcm9wZXJ0eU5hbWV9YDtcblx0fVxuXHRyZXR1cm4gZ2VuZXJhdGUoW3NJZFByZWZpeCwgc1Byb3BlcnR5XSk7XG59O1xuXG4vKipcbiAqIE1ldGhvZCB0byBjaGVjayBpZiBhIHByb3BlcnR5IG5lZWRzIHRvIGJlIHZhbGlkYXRlZCBvciBub3Qgd2hlbiB1c2VkIGluIHRoZSB2YWx1ZWhlbHAuXG4gKlxuICogQHBhcmFtICBwcm9wZXJ0eSBWYWx1ZUhlbHAgcHJvcGVydHkgdHlwZSBhbm5vdGF0aW9uc1xuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSB2YWx1ZSBoZWxwIG5lZWRzIHRvIGJlIHZhbGlkYXRlZFxuICovXG5leHBvcnQgY29uc3QgcmVxdWlyZXNWYWxpZGF0aW9uID0gZnVuY3Rpb24gKHByb3BlcnR5OiBQcm9wZXJ0eSk6IGJvb2xlYW4ge1xuXHRyZXR1cm4gKFxuXHRcdGhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyhwcm9wZXJ0eSkgfHxcblx0XHRoYXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uKHByb3BlcnR5KSB8fFxuXHRcdChoYXNWYWx1ZUhlbHAocHJvcGVydHkpICYmIChpc1VuaXQocHJvcGVydHkpIHx8IGlzQ3VycmVuY3kocHJvcGVydHkpIHx8IGlzR3VpZChwcm9wZXJ0eSkpKVxuXHQpO1xufTtcblxuLyoqXG4gKiBNZXRob2QgdG8gZGVjaWRlIGlmIGNhc2Utc2Vuc2l0aXZlIGZpbHRlciByZXF1ZXN0cyBhcmUgdG8gYmUgdXNlZCBvciBub3QuXG4gKlxuICogIElmIHRoZSBiYWNrIGVuZCBoYXMgRmlsdGVyRnVuY3Rpb25zIENhcGFiaWxpZXMgZm9yIHRoZSBzZXJ2aWNlIG9yIHRoZSBlbnRpdHksIHdlIGNoZWNrIGl0IGluY2x1ZGVzIHN1cHBvcnQgZm9yIHRvbG93ZXIuXG4gKlxuICogQHBhcmFtIG9EYXRhTW9kZWxQYXRoIEN1cnJlbnQgZGF0YSBtb2RlbCBwYXRowrdcbiAqIEBwYXJhbSBhRW50aXR5Q29udGFpbmVyRmlsdGVyRnVuY3Rpb25zIEZpbHRlciBmdW5jdGlvbnMgb2YgZW50aXR5IGNvbnRhaW5lclxuICogQHJldHVybnMgYHRydWVgIGlmIHRoZSBlbnRpdHkgc2V0IG9yIHNlcnZpY2Ugc3VwcG9ydHMgY2FzZSBzZW5zaXRpdmUgZmlsdGVyIHJlcXVlc3RzXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VDYXNlU2Vuc2l0aXZlRmlsdGVyUmVxdWVzdHMgPSBmdW5jdGlvbiAoXG5cdG9EYXRhTW9kZWxQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pixcblx0YUVudGl0eUNvbnRhaW5lckZpbHRlckZ1bmN0aW9uczogc3RyaW5nW11cbik6IGJvb2xlYW4ge1xuXHRjb25zdCBmaWx0ZXJGdW5jdGlvbnMgPVxuXHRcdCgob0RhdGFNb2RlbFBhdGg/LnRhcmdldEVudGl0eVNldCBhcyBFbnRpdHlTZXQpPy5hbm5vdGF0aW9ucz8uQ2FwYWJpbGl0aWVzPy5GaWx0ZXJGdW5jdGlvbnMgYXMgdW5rbm93biBhcyBzdHJpbmdbXSkgfHxcblx0XHRhRW50aXR5Q29udGFpbmVyRmlsdGVyRnVuY3Rpb25zO1xuXHRyZXR1cm4gZmlsdGVyRnVuY3Rpb25zID8gIWZpbHRlckZ1bmN0aW9ucy5pbmNsdWRlcyhcInRvbG93ZXJcIikgOiB0cnVlO1xufTtcblxuZXhwb3J0IGNvbnN0IGlzU2VtYW50aWNEYXRlUmFuZ2UgPSBmdW5jdGlvbiAob0RhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+KTogQ29tcGlsZWRCaW5kaW5nVG9vbGtpdEV4cHJlc3Npb24gfCBmYWxzZSB7XG5cdGNvbnN0IHRhcmdldFByb3BlcnR5ID0gb0RhdGFNb2RlbFBhdGgudGFyZ2V0T2JqZWN0O1xuXHRjb25zdCB0YXJnZXRSZXN0cmljdGlvbnMgPSBjaGVja0ZpbHRlckV4cHJlc3Npb25SZXN0cmljdGlvbnMob0RhdGFNb2RlbFBhdGgsIFtcIlNpbmdsZVJhbmdlXCJdKTtcblx0cmV0dXJuIHRhcmdldFByb3BlcnR5ICYmIGhhc0RhdGVUeXBlKHRhcmdldFByb3BlcnR5KSAmJiBjb21waWxlRXhwcmVzc2lvbih0YXJnZXRSZXN0cmljdGlvbnMpO1xufTtcblxuZXhwb3J0IGNvbnN0IHNob3VsZFNob3dDb25kaXRpb25QYW5lbCA9IGZ1bmN0aW9uIChcblx0b0RhdGFNb2RlbFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGg8UHJvcGVydHk+LFxuXHRvQ29udGV4dFBhdGg6IERhdGFNb2RlbE9iamVjdFBhdGg8UGFnZUNvbnRleHRQYXRoVGFyZ2V0PlxuKTogYm9vbGVhbiB7XG5cdC8vIEZvcmNlIHB1c2ggdGhlIGNvbnRleHQgcGF0aCBpbnNpZGVcblx0b0RhdGFNb2RlbFBhdGguY29udGV4dExvY2F0aW9uID0gb0NvbnRleHRQYXRoO1xuXHRyZXR1cm4gY29tcGlsZUV4cHJlc3Npb24oY2hlY2tGaWx0ZXJFeHByZXNzaW9uUmVzdHJpY3Rpb25zKG9EYXRhTW9kZWxQYXRoLCBbXCJTaW5nbGVWYWx1ZVwiLCBcIk11bHRpVmFsdWVcIl0pKSA9PT0gXCJmYWxzZVwiO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbHVtbkRhdGFQcm9wZXJ0eSA9IGZ1bmN0aW9uIChzVmFsdWVMaXN0UHJvcGVydHk6IHN0cmluZywgcHJvcGVydHlQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pik6IHN0cmluZyB7XG5cdGNvbnN0IHRleHRBbm5vdGF0aW9uID0gcHJvcGVydHlQYXRoPy50YXJnZXRPYmplY3Q/LmFubm90YXRpb25zPy5Db21tb24/LlRleHQ7XG5cdHJldHVybiB0ZXh0QW5ub3RhdGlvbj8uYW5ub3RhdGlvbnM/LlVJPy5UZXh0QXJyYW5nZW1lbnQ/LnZhbHVlT2YoKSA9PT0gXCJVSS5UZXh0QXJyYW5nZW1lbnRUeXBlL1RleHRPbmx5XCIgJiZcblx0XHRpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbih0ZXh0QW5ub3RhdGlvbilcblx0XHQ/IHRleHRBbm5vdGF0aW9uLnBhdGhcblx0XHQ6IHNWYWx1ZUxpc3RQcm9wZXJ0eTtcbn07XG5cbmNvbnN0IGdldENvbHVtbkRhdGFQcm9wZXJ0eVR5cGUgPSBmdW5jdGlvbiAodmFsdWVMaXN0UHJvcGVydHlUeXBlOiBzdHJpbmcsIHByb3BlcnR5UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4pOiBzdHJpbmcge1xuXHRjb25zdCB0ZXh0QXJyYW5nZW1lbnQgPSBwcm9wZXJ0eVBhdGg/LnRhcmdldE9iamVjdD8uYW5ub3RhdGlvbnM/LkNvbW1vbj8uVGV4dD8uYW5ub3RhdGlvbnM/LlVJPy5UZXh0QXJyYW5nZW1lbnQ7XG5cdHJldHVybiB0ZXh0QXJyYW5nZW1lbnQgJiYgdGV4dEFycmFuZ2VtZW50LnZhbHVlT2YoKSAhPT0gXCJVSS5UZXh0QXJyYW5nZW1lbnRUeXBlL1RleHRTZXBhcmF0ZVwiID8gXCJFZG0uU3RyaW5nXCIgOiB2YWx1ZUxpc3RQcm9wZXJ0eVR5cGU7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q29sdW1uSEFsaWduID0gZnVuY3Rpb24gKHByb3BlcnR5UGF0aDogRGF0YU1vZGVsT2JqZWN0UGF0aDxQcm9wZXJ0eT4pOiBzdHJpbmcge1xuXHRjb25zdCBwcm9wZXJ0eSA9IHByb3BlcnR5UGF0aC50YXJnZXRPYmplY3Q7XG5cdGNvbnN0IHByb3BlcnR5VHlwZSA9IGlzUHJvcGVydHkocHJvcGVydHkpID8gZ2V0Q29sdW1uRGF0YVByb3BlcnR5VHlwZShwcm9wZXJ0eS50eXBlLCBwcm9wZXJ0eVBhdGgpIDogXCJcIjtcblxuXHRyZXR1cm4gIXByb3BlcnR5VHlwZSB8fCBpc1NlbWFudGljS2V5KHByb3BlcnR5LCBwcm9wZXJ0eVBhdGgpXG5cdFx0PyBcIkJlZ2luXCJcblx0XHQ6IEZpZWxkSGVscGVyLmdldFByb3BlcnR5QWxpZ25tZW50KHByb3BlcnR5VHlwZSwgeyB0ZXh0QWxpZ25Nb2RlOiBcIlRhYmxlXCIgfSk7XG59O1xuLyoqXG4gKlxuICogQHBhcmFtICBwcm9wZXJ0eVBhdGggUHJvcGVydHlQYXRoIG9mIHRoZSBGaWVsZFxuICogQHJldHVybnMgUnVudGltZSBmb3JtYXR0ZXIgZm9yIGdyb3dpbmcgYW5kIGdyb3dpbmdUaHJlc2hvbGRcbiAqL1xuZXhwb3J0IGNvbnN0IGdldEdyb3dpbmdGb3JtYXR0ZXIgPSBmdW5jdGlvbiAocHJvcGVydHlQYXRoOiBzdHJpbmcpOiBDb21waWxlZEJpbmRpbmdUb29sa2l0RXhwcmVzc2lvbiB7XG5cdHJldHVybiBjb21waWxlRXhwcmVzc2lvbihcblx0XHRmb3JtYXRSZXN1bHQoW3BhdGhJbk1vZGVsKFwiL3JlY29tbWVuZGF0aW9uc0RhdGFcIiwgXCJpbnRlcm5hbFwiKSwgY29uc3RhbnQocHJvcGVydHlQYXRoKV0sIGFkZGl0aW9uYWxWYWx1ZUZvcm1hdHRlci5nZXRHcm93aW5nKVxuXHQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFZhbHVlSGVscFRlbXBsYXRlID0gZnVuY3Rpb24gKFxuXHRtZXRhUGF0aDogQ29udGV4dCxcblx0dmhDb250ZW50OiBTdHJpY3RQcm9wZXJ0aWVzT2Y8T21pdDxWYWx1ZUhlbHBCbG9jaywgXCJjb250ZXh0UGF0aFwiIHwgXCJtZXRhUGF0aFwiIHwgXCJhcmlhTGFiZWxsZWRCeVwiPj4gJiB7XG5cdFx0bWV0YVBhdGg6IENvbnRleHQ7XG5cdFx0Y29udGV4dFBhdGg6IENvbnRleHQ7XG5cdH1cbik6IHN0cmluZyB8IENvbnRyb2wgfCB1bmRlZmluZWQge1xuXHRsZXQgZGF0YU1vZGVsT2JqZWN0UGF0aCA9IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0czxQcm9wZXJ0eT4obWV0YVBhdGgsIHZoQ29udGVudC5jb250ZXh0UGF0aCk7XG5cdGxldCBvcmlnaW5hbFByb3BlcnR5ID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzPFByb3BlcnR5Pih2aENvbnRlbnQubWV0YVBhdGgsIHZoQ29udGVudC5jb250ZXh0UGF0aCk7XG5cdGlmIChpc1BhdGhBbm5vdGF0aW9uRXhwcmVzc2lvbihvcmlnaW5hbFByb3BlcnR5LnRhcmdldE9iamVjdCkpIHtcblx0XHRvcmlnaW5hbFByb3BlcnR5ID0gZW5oYW5jZURhdGFNb2RlbFBhdGgob3JpZ2luYWxQcm9wZXJ0eSwgb3JpZ2luYWxQcm9wZXJ0eS50YXJnZXRPYmplY3QucGF0aCk7XG5cdH1cblx0aWYgKGlzUGF0aEFubm90YXRpb25FeHByZXNzaW9uKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KSkge1xuXHRcdGRhdGFNb2RlbE9iamVjdFBhdGggPSBlbmhhbmNlRGF0YU1vZGVsUGF0aChkYXRhTW9kZWxPYmplY3RQYXRoLCBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5wYXRoKTtcblx0fVxuXHRpZiAoZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QpIHtcblx0XHRjb25zdCB2YWx1ZUhlbHBJZCA9IGdlbmVyYXRlSUQoXG5cdFx0XHR2aENvbnRlbnQuX2ZsZXhJZCxcblx0XHRcdHZoQ29udGVudC5pZFByZWZpeCxcblx0XHRcdGdldFRhcmdldE9iamVjdFBhdGgob3JpZ2luYWxQcm9wZXJ0eSwgdHJ1ZSksXG5cdFx0XHRnZXRUYXJnZXRPYmplY3RQYXRoKGRhdGFNb2RlbE9iamVjdFBhdGgsIHRydWUpXG5cdFx0KTtcblx0XHRjb25zdCBkaWFsb2dUaXRsZSA9IGdldExhYmVsKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KSB8fCBkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5uYW1lO1xuXHRcdGlmIChoYXNWYWx1ZUhlbHAoZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRPYmplY3QpKSB7XG5cdFx0XHRjb25zdCBzaG91bGRWYWxpZGF0ZUlucHV0ID1cblx0XHRcdFx0dmhDb250ZW50LmZpbHRlckZpZWxkVmFsdWVIZWxwIHx8IHZoQ29udGVudC5yZXF1aXJlc1ZhbGlkYXRpb24gfHwgcmVxdWlyZXNWYWxpZGF0aW9uKGRhdGFNb2RlbE9iamVjdFBhdGgudGFyZ2V0T2JqZWN0KTtcblx0XHRcdGNvbnN0IHNob3dDb25kaXRpb25QYW5lbCA9IHZoQ29udGVudC5maWx0ZXJGaWVsZFZhbHVlSGVscFxuXHRcdFx0XHQ/IGVxdWFsKGNoZWNrRmlsdGVyRXhwcmVzc2lvblJlc3RyaWN0aW9ucyhkYXRhTW9kZWxPYmplY3RQYXRoLCBbXCJTaW5nbGVWYWx1ZVwiLCBcIk11bHRpVmFsdWVcIl0pLCBmYWxzZSlcblx0XHRcdFx0OiBmYWxzZTtcblx0XHRcdGNvbnN0IHZhbHVlSGVscERlbGVnYXRlQ29uZmlndXJhdGlvbiA9IGdldERlbGVnYXRlQ29uZmlndXJhdGlvbihcblx0XHRcdFx0Z2V0VGFyZ2V0T2JqZWN0UGF0aChkYXRhTW9kZWxPYmplY3RQYXRoKSxcblx0XHRcdFx0dmhDb250ZW50LmNvbmRpdGlvbk1vZGVsLFxuXHRcdFx0XHRnZXRUYXJnZXRPYmplY3RQYXRoKG9yaWdpbmFsUHJvcGVydHkpLFxuXHRcdFx0XHR2aENvbnRlbnQucmVxdWVzdEdyb3VwSWQsXG5cdFx0XHRcdHZoQ29udGVudC51c2VNdWx0aVZhbHVlRmllbGRcblx0XHRcdCk7XG5cdFx0XHRjb25zdCBzaG91bGRVc2VDYXNlU2Vuc2l0aXZlRmlsdGVyID0gdXNlQ2FzZVNlbnNpdGl2ZUZpbHRlclJlcXVlc3RzKFxuXHRcdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLFxuXHRcdFx0XHQoZGF0YU1vZGVsT2JqZWN0UGF0aC50YXJnZXRFbnRpdHlTZXQgYXMgRW50aXR5U2V0KT8uYW5ub3RhdGlvbnM/LkNhcGFiaWxpdGllcz8uRmlsdGVyRnVuY3Rpb25zPy5tYXAoKHN0cikgPT5cblx0XHRcdFx0XHRzdHIudG9TdHJpbmcoKVxuXHRcdFx0XHQpID8/IFtdXG5cdFx0XHQpO1xuXHRcdFx0Y29uc3QgaXNWYWx1ZUxpc3RGb3JWYWxpZGF0aW9uID0gaGFzVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbihkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCk7XG5cdFx0XHRjb25zdCBpc1ZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlcyA9IGhhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyhkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCk7XG5cdFx0XHRjb25zdCBjdXN0b21EYXRhID0gWzxDdXN0b21EYXRhIGtleT17XCJzaG93Q29uZGl0aW9uUGFuZWxcIn0gdmFsdWU9e3Nob3dDb25kaXRpb25QYW5lbH0gLz5dO1xuXHRcdFx0aWYgKGlzVmFsdWVMaXN0Rm9yVmFsaWRhdGlvbikge1xuXHRcdFx0XHRjdXN0b21EYXRhLnB1c2goXG5cdFx0XHRcdFx0PEN1c3RvbURhdGFcblx0XHRcdFx0XHRcdGtleT17XCJ2YWx1ZWxpc3RGb3JWYWxpZGF0aW9uXCJ9XG5cdFx0XHRcdFx0XHR2YWx1ZT17Y29tcGlsZUV4cHJlc3Npb24oXG5cdFx0XHRcdFx0XHRcdGdldEV4cHJlc3Npb25Gcm9tQW5ub3RhdGlvbihcblx0XHRcdFx0XHRcdFx0XHRkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdC5hbm5vdGF0aW9ucz8uQ29tbW9uXG5cdFx0XHRcdFx0XHRcdFx0XHQ/LlZhbHVlTGlzdEZvclZhbGlkYXRpb24gYXMgdW5rbm93biBhcyBQcm9wZXJ0eUFubm90YXRpb25WYWx1ZTxzdHJpbmc+XG5cdFx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHRcdCl9XG5cdFx0XHRcdFx0Lz5cblx0XHRcdFx0KTtcblx0XHRcdH1cblx0XHRcdHJldHVybiAoXG5cdFx0XHRcdDxWYWx1ZUhlbHAgZGVsZWdhdGU9e3ZhbHVlSGVscERlbGVnYXRlQ29uZmlndXJhdGlvbn0gaWQ9e3ZhbHVlSGVscElkfSB2YWxpZGF0ZUlucHV0PXtzaG91bGRWYWxpZGF0ZUlucHV0fT5cblx0XHRcdFx0XHR7e1xuXHRcdFx0XHRcdFx0Y3VzdG9tRGF0YTogY3VzdG9tRGF0YSxcblx0XHRcdFx0XHRcdHR5cGVhaGVhZDogKFxuXHRcdFx0XHRcdFx0XHQ8UG9wb3Zlcj5cblx0XHRcdFx0XHRcdFx0XHQ8TVRhYmxlXG5cdFx0XHRcdFx0XHRcdFx0XHRpZD17YCR7dmFsdWVIZWxwSWR9OjpQb3BvdmVyOjpxdWFsaWZpZXI6OmB9XG5cdFx0XHRcdFx0XHRcdFx0XHRjYXNlU2Vuc2l0aXZlPXtzaG91bGRVc2VDYXNlU2Vuc2l0aXZlRmlsdGVyfVxuXHRcdFx0XHRcdFx0XHRcdFx0dXNlQXNWYWx1ZUhlbHA9e2hhc1ZhbHVlSGVscFdpdGhGaXhlZFZhbHVlcyhkYXRhTW9kZWxPYmplY3RQYXRoLnRhcmdldE9iamVjdCl9XG5cdFx0XHRcdFx0XHRcdFx0Lz5cblx0XHRcdFx0XHRcdFx0PC9Qb3BvdmVyPlxuXHRcdFx0XHRcdFx0KSxcblx0XHRcdFx0XHRcdGRpYWxvZzogIWlzVmFsdWVMaXN0V2l0aEZpeGVkVmFsdWVzID8gPERpYWxvZyAvPiA6IHVuZGVmaW5lZFxuXHRcdFx0XHRcdH19XG5cdFx0XHRcdDwvVmFsdWVIZWxwPlxuXHRcdFx0KTtcblx0XHR9IGVsc2UgaWYgKHZoQ29udGVudC5maWx0ZXJGaWVsZFZhbHVlSGVscCkge1xuXHRcdFx0cmV0dXJuIChcblx0XHRcdFx0PFZhbHVlSGVscCBpZD17dmFsdWVIZWxwSWR9PlxuXHRcdFx0XHRcdHt7XG5cdFx0XHRcdFx0XHRjdXN0b21EYXRhOlxuXHRcdFx0XHRcdFx0XHR2aENvbnRlbnQucmVxdWVzdEdyb3VwSWQgIT09IHVuZGVmaW5lZFxuXHRcdFx0XHRcdFx0XHRcdD8gWzxDdXN0b21EYXRhIGtleT17XCJyZXF1ZXN0R3JvdXBJZFwifSB2YWx1ZT17dmhDb250ZW50LnJlcXVlc3RHcm91cElkfSAvPl1cblx0XHRcdFx0XHRcdFx0XHQ6IFtdLFxuXHRcdFx0XHRcdFx0ZGlhbG9nOiAoXG5cdFx0XHRcdFx0XHRcdDxEaWFsb2cgdGl0bGU9e2RpYWxvZ1RpdGxlfT5cblx0XHRcdFx0XHRcdFx0XHQ8Q29uZGl0aW9ucyAvPlxuXHRcdFx0XHRcdFx0XHQ8L0RpYWxvZz5cblx0XHRcdFx0XHRcdClcblx0XHRcdFx0XHR9fVxuXHRcdFx0XHQ8L1ZhbHVlSGVscD5cblx0XHRcdCk7XG5cdFx0fVxuXHR9XG59O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBb0NBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7RUFDTyxNQUFNQSw0QkFBNEIs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
@@ -65,6 +65,7 @@ export const getValueHelpTableDisplayMode = function (
65
65
  * @param originalPropertyPath The original property path
66
66
  * @param requestGroupId The requestGroupId to use for requests
67
67
  * @param useMultiValueField If true the value help is for a multi value Field
68
+ * @param toJson If true the result is returned as a string (only for ovp)
68
69
  * @returns The expression needed to configure the delegate
69
70
  */
70
71
  export const getDelegateConfiguration = function (
@@ -72,8 +73,9 @@ export const getDelegateConfiguration = function (
72
73
  conditionModelName: string,
73
74
  originalPropertyPath: string,
74
75
  requestGroupId?: string,
75
- useMultiValueField = false
76
- ): { name: string; payload: ValueHelpPayload } {
76
+ useMultiValueField = false,
77
+ toJson = false
78
+ ): { name: string; payload: ValueHelpPayload } | string {
77
79
  const isUnitValueHelp = propertyPath !== originalPropertyPath;
78
80
  const delegateConfiguration: { name: string; payload: ValueHelpPayload } = {
79
81
  name: "sap/fe/macros/valuehelp/ValueHelpDelegate",
@@ -87,7 +89,7 @@ export const getDelegateConfiguration = function (
87
89
  valueHelpQualifier: ""
88
90
  }
89
91
  };
90
- return delegateConfiguration; // for some reason "qualifiers: {}" is ignored here
92
+ return toJson ? JSON.stringify(delegateConfiguration) : delegateConfiguration; // for some reason "qualifiers: {}" is ignored here
91
93
  };
92
94
 
93
95
  /**
@@ -25,7 +25,7 @@ sap.ui.define(["sap/fe/core/library", "sap/fe/macros/coreUI/factory", "sap/fe/ma
25
25
  controls: [],
26
26
  elements: [],
27
27
  // eslint-disable-next-line no-template-curly-in-string
28
- version: "1.126.1",
28
+ version: "1.126.2",
29
29
  noLibraryCSS: true,
30
30
  extensions: {
31
31
  flChangeHandlers: {
@@ -2,12 +2,12 @@
2
2
  * SAP UI development toolkit for HTML5 (SAPUI5)
3
3
  * (c) Copyright 2009-2024 SAP SE. All rights reserved
4
4
  */
5
- sap.ui.define(["sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block", "sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block", "sap/fe/macros/ai/SummarizationButton.block", "sap/fe/macros/field/PublicField.block", "sap/fe/macros/filterBar/DefaultSemanticDateOperators", "sap/fe/macros/filterBar/DraftEditState", "sap/fe/macros/form/FormElement.block", "sap/fe/macros/notes/Notes.block", "sap/fe/macros/richtexteditor/RichTextEditorWithMetadata.block", "sap/fe/macros/situations/SituationsIndicator.block", "sap/fe/macros/table/QuickFilterSelector.block", "sap/fe/macros/table/TableFullScreenDialog.block", "sap/ui/mdc/p13n/StateUtil", "./chart/Chart.block", "./contact/Contact.block", "./draftIndicator/DraftIndicator.block", "./fcl/FlexibleColumnLayoutActions.block", "./filterBar/FilterBar.block", "./form/Form.block", "./form/FormContainer.block", "./fpm/CustomFragment.block", "./internal/ActionCommand.block", "./internal/FilterField.block", "./internal/HeaderDataPoint.block", "./internal/InternalField.block", "./microchart/MicroChart.block", "./paginator/Paginator.block", "./quickView/QuickViewHeaderOptions.block", "./share/Share.block", "./table/Table.block", "./table/TreeTable.block", "./valuehelp/ValueHelpFilterBar.block", "./visualfilters/VisualFilter.block"], function (DraftDataLossDialogBlock, ConfirmRecommendationDialog_block, SummarizationButton, PublicFieldBlock, DefaultSemanticDateOperators, DraftEditState, FormElementBlock, NotesBuildingBlock, RichTextEditorWithMetadataBlock, SituationsIndicatorBlock, QuickFilterSelector, TableFullScreenDialogBlock, StateUtil, ChartBlock, ContactBlock, DraftIndicatorBlock, FlexibleColumnLayoutActionsBlock, FilterBarBlock, FormBlock, FormContainerBlock, CustomFragmentBlock, ActionCommandBlock, FilterFieldBlock, HeaderDataPointBlock, InternalFieldBlock, MicroChartBlock, PaginatorBlock, QuickViewHeaderOptionsBlock, ShareBlock, TableBlock, TreeTableBlock, ValueHelpFilterBarBlock, VisualFilterBlock) {
5
+ sap.ui.define(["sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.block", "sap/fe/core/controls/Recommendations/ConfirmRecommendationDialog.block", "sap/fe/macros/ai/SummarizationButton.block", "sap/fe/macros/field/PublicField.block", "sap/fe/macros/filterBar/DefaultSemanticDateOperators", "sap/fe/macros/filterBar/DraftEditState", "sap/fe/macros/form/FormElement.block", "sap/fe/macros/notes/Notes.block", "sap/fe/macros/richtexteditor/RichTextEditorWithMetadata.block", "sap/fe/macros/situations/SituationsIndicator.block", "sap/fe/macros/table/QuickFilterSelector.block", "sap/fe/macros/table/TableFullScreenDialog.block", "sap/fe/macros/valuehelp/ValueHelp.block", "sap/ui/mdc/p13n/StateUtil", "./chart/Chart.block", "./contact/Contact.block", "./draftIndicator/DraftIndicator.block", "./fcl/FlexibleColumnLayoutActions.block", "./filterBar/FilterBar.block", "./form/Form.block", "./form/FormContainer.block", "./fpm/CustomFragment.block", "./internal/ActionCommand.block", "./internal/FilterField.block", "./internal/HeaderDataPoint.block", "./internal/InternalField.block", "./microchart/MicroChart.block", "./paginator/Paginator.block", "./quickView/QuickViewHeaderOptions.block", "./share/Share.block", "./table/Table.block", "./table/TreeTable.block", "./valuehelp/ValueHelpFilterBar.block", "./visualfilters/VisualFilter.block"], function (DraftDataLossDialogBlock, ConfirmRecommendationDialog_block, SummarizationButton, PublicFieldBlock, DefaultSemanticDateOperators, DraftEditState, FormElementBlock, NotesBuildingBlock, RichTextEditorWithMetadataBlock, SituationsIndicatorBlock, QuickFilterSelector, TableFullScreenDialogBlock, ValueHelpBlock, StateUtil, ChartBlock, ContactBlock, DraftIndicatorBlock, FlexibleColumnLayoutActionsBlock, FilterBarBlock, FormBlock, FormContainerBlock, CustomFragmentBlock, ActionCommandBlock, FilterFieldBlock, HeaderDataPointBlock, InternalFieldBlock, MicroChartBlock, PaginatorBlock, QuickViewHeaderOptionsBlock, ShareBlock, TableBlock, TreeTableBlock, ValueHelpFilterBarBlock, VisualFilterBlock) {
6
6
  "use strict";
7
7
 
8
8
  var addSemanticDateOperators = DefaultSemanticDateOperators.addSemanticDateOperators;
9
9
  var ConfirmRecommendationDialogBlock = ConfirmRecommendationDialog_block.ConfirmRecommendationDialogBlock;
10
- const buildingBlocks = [ActionCommandBlock, ChartBlock, ContactBlock, CustomFragmentBlock, HeaderDataPointBlock, DraftDataLossDialogBlock, ConfirmRecommendationDialogBlock, DraftIndicatorBlock, FilterBarBlock, FilterFieldBlock, FlexibleColumnLayoutActionsBlock, FormBlock, FormContainerBlock, FormElementBlock, InternalFieldBlock, MicroChartBlock, PaginatorBlock, PublicFieldBlock, QuickViewHeaderOptionsBlock, ShareBlock, SituationsIndicatorBlock, TableBlock, TreeTableBlock, TableFullScreenDialogBlock, ValueHelpFilterBarBlock, VisualFilterBlock, QuickFilterSelector, RichTextEditorWithMetadataBlock, NotesBuildingBlock, SummarizationButton];
10
+ const buildingBlocks = [ActionCommandBlock, ChartBlock, ContactBlock, CustomFragmentBlock, HeaderDataPointBlock, DraftDataLossDialogBlock, ConfirmRecommendationDialogBlock, DraftIndicatorBlock, FilterBarBlock, FilterFieldBlock, FlexibleColumnLayoutActionsBlock, FormBlock, FormContainerBlock, FormElementBlock, InternalFieldBlock, MicroChartBlock, PaginatorBlock, PublicFieldBlock, QuickViewHeaderOptionsBlock, ShareBlock, SituationsIndicatorBlock, TableBlock, TreeTableBlock, TableFullScreenDialogBlock, ValueHelpFilterBarBlock, VisualFilterBlock, QuickFilterSelector, RichTextEditorWithMetadataBlock, NotesBuildingBlock, SummarizationButton, ValueHelpBlock];
11
11
  function registerAll() {
12
12
  for (const buildingBlock of buildingBlocks) {
13
13
  buildingBlock.register();
@@ -41,4 +41,4 @@ sap.ui.define(["sap/fe/core/controls/DataLossOrDraftDiscard/DraftDataLossDialog.
41
41
  unregister: unregisterAll
42
42
  };
43
43
  }, false);
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZGluZ0Jsb2NrcyIsIkFjdGlvbkNvbW1hbmRCbG9jayIsIkNoYXJ0QmxvY2siLCJDb250YWN0QmxvY2siLCJDdXN0b21GcmFnbWVudEJsb2NrIiwiSGVhZGVyRGF0YVBvaW50QmxvY2siLCJEcmFmdERhdGFMb3NzRGlhbG9nQmxvY2siLCJDb25maXJtUmVjb21tZW5kYXRpb25EaWFsb2dCbG9jayIsIkRyYWZ0SW5kaWNhdG9yQmxvY2siLCJGaWx0ZXJCYXJCbG9jayIsIkZpbHRlckZpZWxkQmxvY2siLCJGbGV4aWJsZUNvbHVtbkxheW91dEFjdGlvbnNCbG9jayIsIkZvcm1CbG9jayIsIkZvcm1Db250YWluZXJCbG9jayIsIkZvcm1FbGVtZW50QmxvY2siLCJJbnRlcm5hbEZpZWxkQmxvY2siLCJNaWNyb0NoYXJ0QmxvY2siLCJQYWdpbmF0b3JCbG9jayIsIlB1YmxpY0ZpZWxkQmxvY2siLCJRdWlja1ZpZXdIZWFkZXJPcHRpb25zQmxvY2siLCJTaGFyZUJsb2NrIiwiU2l0dWF0aW9uc0luZGljYXRvckJsb2NrIiwiVGFibGVCbG9jayIsIlRyZWVUYWJsZUJsb2NrIiwiVGFibGVGdWxsU2NyZWVuRGlhbG9nQmxvY2siLCJWYWx1ZUhlbHBGaWx0ZXJCYXJCbG9jayIsIlZpc3VhbEZpbHRlckJsb2NrIiwiUXVpY2tGaWx0ZXJTZWxlY3RvciIsIlJpY2hUZXh0RWRpdG9yV2l0aE1ldGFkYXRhQmxvY2siLCJOb3Rlc0J1aWxkaW5nQmxvY2siLCJTdW1tYXJpemF0aW9uQnV0dG9uIiwicmVnaXN0ZXJBbGwiLCJidWlsZGluZ0Jsb2NrIiwicmVnaXN0ZXIiLCJ1bnJlZ2lzdGVyQWxsIiwidW5yZWdpc3RlciIsIkRyYWZ0RWRpdFN0YXRlIiwiYWRkRHJhZnRFZGl0U3RhdGVPcGVyYXRvciIsImFkZFNlbWFudGljRGF0ZU9wZXJhdG9ycyIsIm9TdGF0ZUNoYW5nZUhhbmRsZXIiLCJvRXZlbnQiLCJvQ29udHJvbCIsImdldFBhcmFtZXRlciIsImlzQSIsIm9NYWNyb0FQSSIsImdldFBhcmVudCIsImZpcmVTdGF0ZUNoYW5nZSIsIlN0YXRlVXRpbCIsImF0dGFjaFN0YXRlQ2hhbmdlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJtYWNyb0xpYnJhcnkudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgQnVpbGRpbmdCbG9ja1RlbXBsYXRpbmdCYXNlIGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZVwiO1xuaW1wb3J0IERyYWZ0RGF0YUxvc3NEaWFsb2dCbG9jayBmcm9tIFwic2FwL2ZlL2NvcmUvY29udHJvbHMvRGF0YUxvc3NPckRyYWZ0RGlzY2FyZC9EcmFmdERhdGFMb3NzRGlhbG9nLmJsb2NrXCI7XG5pbXBvcnQgeyBDb25maXJtUmVjb21tZW5kYXRpb25EaWFsb2dCbG9jayB9IGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9scy9SZWNvbW1lbmRhdGlvbnMvQ29uZmlybVJlY29tbWVuZGF0aW9uRGlhbG9nLmJsb2NrXCI7XG5pbXBvcnQgU3VtbWFyaXphdGlvbkJ1dHRvbiBmcm9tIFwic2FwL2ZlL21hY3Jvcy9haS9TdW1tYXJpemF0aW9uQnV0dG9uLmJsb2NrXCI7XG5pbXBvcnQgUHVibGljRmllbGRCbG9jayBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWVsZC9QdWJsaWNGaWVsZC5ibG9ja1wiO1xuaW1wb3J0IHsgYWRkU2VtYW50aWNEYXRlT3BlcmF0b3JzIH0gZnJvbSBcInNhcC9mZS9tYWNyb3MvZmlsdGVyQmFyL0RlZmF1bHRTZW1hbnRpY0RhdGVPcGVyYXRvcnNcIjtcbmltcG9ydCBEcmFmdEVkaXRTdGF0ZSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXJCYXIvRHJhZnRFZGl0U3RhdGVcIjtcbmltcG9ydCBGb3JtRWxlbWVudEJsb2NrIGZyb20gXCJzYXAvZmUvbWFjcm9zL2Zvcm0vRm9ybUVsZW1lbnQuYmxvY2tcIjtcbmltcG9ydCBOb3Rlc0J1aWxkaW5nQmxvY2sgZnJvbSBcInNhcC9mZS9tYWNyb3Mvbm90ZXMvTm90ZXMuYmxvY2tcIjtcbmltcG9ydCBSaWNoVGV4dEVkaXRvcldpdGhNZXRhZGF0YUJsb2NrIGZyb20gXCJzYXAvZmUvbWFjcm9zL3JpY2h0ZXh0ZWRpdG9yL1JpY2hUZXh0RWRpdG9yV2l0aE1ldGFkYXRhLmJsb2NrXCI7XG5pbXBvcnQgU2l0dWF0aW9uc0luZGljYXRvckJsb2NrIGZyb20gXCJzYXAvZmUvbWFjcm9zL3NpdHVhdGlvbnMvU2l0dWF0aW9uc0luZGljYXRvci5ibG9ja1wiO1xuaW1wb3J0IFF1aWNrRmlsdGVyU2VsZWN0b3IgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvUXVpY2tGaWx0ZXJTZWxlY3Rvci5ibG9ja1wiO1xuaW1wb3J0IFRhYmxlRnVsbFNjcmVlbkRpYWxvZ0Jsb2NrIGZyb20gXCJzYXAvZmUvbWFjcm9zL3RhYmxlL1RhYmxlRnVsbFNjcmVlbkRpYWxvZy5ibG9ja1wiO1xuaW1wb3J0IHR5cGUgRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgdHlwZSBDaGFydCBmcm9tIFwic2FwL3VpL21kYy9DaGFydFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL21kYy9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXJCYXIgZnJvbSBcInNhcC91aS9tZGMvRmlsdGVyQmFyXCI7XG5pbXBvcnQgdHlwZSBUYWJsZSBmcm9tIFwic2FwL3VpL21kYy9UYWJsZVwiO1xuaW1wb3J0IFN0YXRlVXRpbCBmcm9tIFwic2FwL3VpL21kYy9wMTNuL1N0YXRlVXRpbFwiO1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vdHlwZXMvZXh0ZW5zaW9uX3R5cGVzXCI7XG5pbXBvcnQgQ2hhcnRCbG9jayBmcm9tIFwiLi9jaGFydC9DaGFydC5ibG9ja1wiO1xuaW1wb3J0IENvbnRhY3RCbG9jayBmcm9tIFwiLi9jb250YWN0L0NvbnRhY3QuYmxvY2tcIjtcbmltcG9ydCBEcmFmdEluZGljYXRvckJsb2NrIGZyb20gXCIuL2RyYWZ0SW5kaWNhdG9yL0RyYWZ0SW5kaWNhdG9yLmJsb2NrXCI7XG5pbXBvcnQgRmxleGlibGVDb2x1bW5MYXlvdXRBY3Rpb25zQmxvY2sgZnJvbSBcIi4vZmNsL0ZsZXhpYmxlQ29sdW1uTGF5b3V0QWN0aW9ucy5ibG9ja1wiO1xuaW1wb3J0IEZpbHRlckJhckJsb2NrIGZyb20gXCIuL2ZpbHRlckJhci9GaWx0ZXJCYXIuYmxvY2tcIjtcbmltcG9ydCBGb3JtQmxvY2sgZnJvbSBcIi4vZm9ybS9Gb3JtLmJsb2NrXCI7XG5pbXBvcnQgRm9ybUNvbnRhaW5lckJsb2NrIGZyb20gXCIuL2Zvcm0vRm9ybUNvbnRhaW5lci5ibG9ja1wiO1xuaW1wb3J0IEN1c3RvbUZyYWdtZW50QmxvY2sgZnJvbSBcIi4vZnBtL0N1c3RvbUZyYWdtZW50LmJsb2NrXCI7XG5pbXBvcnQgQWN0aW9uQ29tbWFuZEJsb2NrIGZyb20gXCIuL2ludGVybmFsL0FjdGlvbkNvbW1hbmQuYmxvY2tcIjtcbmltcG9ydCBGaWx0ZXJGaWVsZEJsb2NrIGZyb20gXCIuL2ludGVybmFsL0ZpbHRlckZpZWxkLmJsb2NrXCI7XG5pbXBvcnQgSGVhZGVyRGF0YVBvaW50QmxvY2sgZnJvbSBcIi4vaW50ZXJuYWwvSGVhZGVyRGF0YVBvaW50LmJsb2NrXCI7XG5pbXBvcnQgSW50ZXJuYWxGaWVsZEJsb2NrIGZyb20gXCIuL2ludGVybmFsL0ludGVybmFsRmllbGQuYmxvY2tcIjtcbmltcG9ydCBNaWNyb0NoYXJ0QmxvY2sgZnJvbSBcIi4vbWljcm9jaGFydC9NaWNyb0NoYXJ0LmJsb2NrXCI7XG5pbXBvcnQgUGFnaW5hdG9yQmxvY2sgZnJvbSBcIi4vcGFnaW5hdG9yL1BhZ2luYXRvci5ibG9ja1wiO1xuaW1wb3J0IFF1aWNrVmlld0hlYWRlck9wdGlvbnNCbG9jayBmcm9tIFwiLi9xdWlja1ZpZXcvUXVpY2tWaWV3SGVhZGVyT3B0aW9ucy5ibG9ja1wiO1xuaW1wb3J0IFNoYXJlQmxvY2sgZnJvbSBcIi4vc2hhcmUvU2hhcmUuYmxvY2tcIjtcbmltcG9ydCBUYWJsZUJsb2NrIGZyb20gXCIuL3RhYmxlL1RhYmxlLmJsb2NrXCI7XG5pbXBvcnQgVHJlZVRhYmxlQmxvY2sgZnJvbSBcIi4vdGFibGUvVHJlZVRhYmxlLmJsb2NrXCI7XG5pbXBvcnQgVmFsdWVIZWxwRmlsdGVyQmFyQmxvY2sgZnJvbSBcIi4vdmFsdWVoZWxwL1ZhbHVlSGVscEZpbHRlckJhci5ibG9ja1wiO1xuaW1wb3J0IFZpc3VhbEZpbHRlckJsb2NrIGZyb20gXCIuL3Zpc3VhbGZpbHRlcnMvVmlzdWFsRmlsdGVyLmJsb2NrXCI7XG5cbmNvbnN0IGJ1aWxkaW5nQmxvY2tzOiAodHlwZW9mIEJ1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZSlbXSA9IFtcblx0QWN0aW9uQ29tbWFuZEJsb2NrLFxuXHRDaGFydEJsb2NrLFxuXHRDb250YWN0QmxvY2ssXG5cdEN1c3RvbUZyYWdtZW50QmxvY2ssXG5cdEhlYWRlckRhdGFQb2ludEJsb2NrLFxuXHREcmFmdERhdGFMb3NzRGlhbG9nQmxvY2ssXG5cdENvbmZpcm1SZWNvbW1lbmRhdGlvbkRpYWxvZ0Jsb2NrLFxuXHREcmFmdEluZGljYXRvckJsb2NrLFxuXHRGaWx0ZXJCYXJCbG9jayxcblx0RmlsdGVyRmllbGRCbG9jayxcblx0RmxleGlibGVDb2x1bW5MYXlvdXRBY3Rpb25zQmxvY2ssXG5cdEZvcm1CbG9jayxcblx0Rm9ybUNvbnRhaW5lckJsb2NrLFxuXHRGb3JtRWxlbWVudEJsb2NrLFxuXHRJbnRlcm5hbEZpZWxkQmxvY2ssXG5cdE1pY3JvQ2hhcnRCbG9jayxcblx0UGFnaW5hdG9yQmxvY2ssXG5cdFB1YmxpY0ZpZWxkQmxvY2ssXG5cdFF1aWNrVmlld0hlYWRlck9wdGlvbnNCbG9jayxcblx0U2hhcmVCbG9jayxcblx0U2l0dWF0aW9uc0luZGljYXRvckJsb2NrLFxuXHRUYWJsZUJsb2NrLFxuXHRUcmVlVGFibGVCbG9jayxcblx0VGFibGVGdWxsU2NyZWVuRGlhbG9nQmxvY2ssXG5cdFZhbHVlSGVscEZpbHRlckJhckJsb2NrLFxuXHRWaXN1YWxGaWx0ZXJCbG9jayxcblx0UXVpY2tGaWx0ZXJTZWxlY3Rvcixcblx0UmljaFRleHRFZGl0b3JXaXRoTWV0YWRhdGFCbG9jayxcblx0Tm90ZXNCdWlsZGluZ0Jsb2NrLFxuXHRTdW1tYXJpemF0aW9uQnV0dG9uXG5dO1xuXG5mdW5jdGlvbiByZWdpc3RlckFsbCgpOiB2b2lkIHtcblx0Zm9yIChjb25zdCBidWlsZGluZ0Jsb2NrIG9mIGJ1aWxkaW5nQmxvY2tzKSB7XG5cdFx0YnVpbGRpbmdCbG9jay5yZWdpc3RlcigpO1xuXHR9XG59XG5cbi8vVGhpcyBpcyBuZWVkZWQgaW4gZm9yIHRlbXBsYXRpbmcgdGVzdCB1dGlsc1xuZnVuY3Rpb24gdW5yZWdpc3RlckFsbCgpOiB2b2lkIHtcblx0Zm9yIChjb25zdCBidWlsZGluZ0Jsb2NrIG9mIGJ1aWxkaW5nQmxvY2tzKSB7XG5cdFx0YnVpbGRpbmdCbG9jay51bnJlZ2lzdGVyKCk7XG5cdH1cbn1cblxuRHJhZnRFZGl0U3RhdGUuYWRkRHJhZnRFZGl0U3RhdGVPcGVyYXRvcigpO1xuLy8gQWRkaW5nIFNlbWFudGljIERhdGUgT3BlcmF0b3JzXG5hZGRTZW1hbnRpY0RhdGVPcGVyYXRvcnMoKTtcblxuY29uc3Qgb1N0YXRlQ2hhbmdlSGFuZGxlciA9IGZ1bmN0aW9uIChvRXZlbnQ6IEV2ZW50PHsgY29udHJvbDogQ29udHJvbCB9Pik6IHZvaWQge1xuXHRjb25zdCBvQ29udHJvbCA9IG9FdmVudC5nZXRQYXJhbWV0ZXIoXCJjb250cm9sXCIpO1xuXHRpZiAoXG5cdFx0b0NvbnRyb2wuaXNBPFRhYmxlPihcInNhcC51aS5tZGMuVGFibGVcIikgfHxcblx0XHRvQ29udHJvbC5pc0E8RmlsdGVyQmFyPihcInNhcC51aS5tZGMuRmlsdGVyQmFyXCIpIHx8XG5cdFx0b0NvbnRyb2wuaXNBPENoYXJ0PihcInNhcC51aS5tZGMuQ2hhcnRcIilcblx0KSB7XG5cdFx0Y29uc3Qgb01hY3JvQVBJID0gb0NvbnRyb2wuZ2V0UGFyZW50KCkgYXMgdW5rbm93biBhcyB7IGZpcmVTdGF0ZUNoYW5nZT86IEV2ZW50SGFuZGxlciB9O1xuXHRcdGlmIChvTWFjcm9BUEk/LmZpcmVTdGF0ZUNoYW5nZSkge1xuXHRcdFx0b01hY3JvQVBJLmZpcmVTdGF0ZUNoYW5nZSgpO1xuXHRcdH1cblx0fVxufTtcblN0YXRlVXRpbC5hdHRhY2hTdGF0ZUNoYW5nZShvU3RhdGVDaGFuZ2VIYW5kbGVyKTtcblxuLy9BbHdheXMgcmVnaXN0ZXIgd2hlbiBsb2FkZWQgZm9yIGNvbXBhdGliaWxpdHlcbnJlZ2lzdGVyQWxsKCk7XG5cbmV4cG9ydCBkZWZhdWx0IHtcblx0cmVnaXN0ZXI6IHJlZ2lzdGVyQWxsLFxuXHR1bnJlZ2lzdGVyOiB1bnJlZ2lzdGVyQWxsXG59O1xuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7RUF5Q0EsTUFBTUEsY0FBc0QsR0FBRyxDQUM5REMsa0JBQWtCLEVBQ2xCQyxVQUFVLEVBQ1ZDLFlBQVksRUFDWkMsbUJBQW1CLEVBQ25CQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsZ0NBQWdDLEVBQ2hDQyxtQkFBbUIsRUFDbkJDLGNBQWMsRUFDZEMsZ0JBQWdCLEVBQ2hCQyxnQ0FBZ0MsRUFDaENDLFNBQVMsRUFDVEMsa0JBQWtCLEVBQ2xCQyxnQkFBZ0IsRUFDaEJDLGtCQUFrQixFQUNsQkMsZUFBZSxFQUNmQyxjQUFjLEVBQ2RDLGdCQUFnQixFQUNoQkMsMkJBQTJCLEVBQzNCQyxVQUFVLEVBQ1ZDLHdCQUF3QixFQUN4QkMsVUFBVSxFQUNWQyxjQUFjLEVBQ2RDLDBCQUEwQixFQUMxQkMsdUJBQXVCLEVBQ3ZCQyxpQkFBaUIsRUFDakJDLG1CQUFtQixFQUNuQkMsK0JBQStCLEVBQy9CQyxrQkFBa0IsRUFDbEJDLG1CQUFtQixDQUNuQjtFQUVELFNBQVNDLFdBQVcsR0FBUztJQUM1QixLQUFLLE1BQU1DLGFBQWEsSUFBSWhDLGNBQWMsRUFBRTtNQUMzQ2dDLGFBQWEsQ0FBQ0MsUUFBUSxFQUFFO0lBQ3pCO0VBQ0Q7O0VBRUE7RUFDQSxTQUFTQyxhQUFhLEdBQVM7SUFDOUIsS0FBSyxNQUFNRixhQUFhLElBQUloQyxjQUFjLEVBQUU7TUFDM0NnQyxhQUFhLENBQUNHLFVBQVUsRUFBRTtJQUMzQjtFQUNEO0VBRUFDLGNBQWMsQ0FBQ0MseUJBQXlCLEVBQUU7RUFDMUM7RUFDQUMsd0JBQXdCLEVBQUU7RUFFMUIsTUFBTUMsbUJBQW1CLEdBQUcsVUFBVUMsTUFBbUMsRUFBUTtJQUNoRixNQUFNQyxRQUFRLEdBQUdELE1BQU0sQ0FBQ0UsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUMvQyxJQUNDRCxRQUFRLENBQUNFLEdBQUcsQ0FBUSxrQkFBa0IsQ0FBQyxJQUN2Q0YsUUFBUSxDQUFDRSxHQUFHLENBQVksc0JBQXNCLENBQUMsSUFDL0NGLFFBQVEsQ0FBQ0UsR0FBRyxDQUFRLGtCQUFrQixDQUFDLEVBQ3RDO01BQ0QsTUFBTUMsU0FBUyxHQUFHSCxRQUFRLENBQUNJLFNBQVMsRUFBbUQ7TUFDdkYsSUFBSUQsU0FBUyxhQUFUQSxTQUFTLGVBQVRBLFNBQVMsQ0FBRUUsZUFBZSxFQUFFO1FBQy9CRixTQUFTLENBQUNFLGVBQWUsRUFBRTtNQUM1QjtJQUNEO0VBQ0QsQ0FBQztFQUNEQyxTQUFTLENBQUNDLGlCQUFpQixDQUFDVCxtQkFBbUIsQ0FBQzs7RUFFaEQ7RUFDQVIsV0FBVyxFQUFFO0VBQUMsT0FFQztJQUNkRSxRQUFRLEVBQUVGLFdBQVc7SUFDckJJLFVBQVUsRUFBRUQ7RUFDYixDQUFDO0FBQUEifQ==
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJidWlsZGluZ0Jsb2NrcyIsIkFjdGlvbkNvbW1hbmRCbG9jayIsIkNoYXJ0QmxvY2siLCJDb250YWN0QmxvY2siLCJDdXN0b21GcmFnbWVudEJsb2NrIiwiSGVhZGVyRGF0YVBvaW50QmxvY2siLCJEcmFmdERhdGFMb3NzRGlhbG9nQmxvY2siLCJDb25maXJtUmVjb21tZW5kYXRpb25EaWFsb2dCbG9jayIsIkRyYWZ0SW5kaWNhdG9yQmxvY2siLCJGaWx0ZXJCYXJCbG9jayIsIkZpbHRlckZpZWxkQmxvY2siLCJGbGV4aWJsZUNvbHVtbkxheW91dEFjdGlvbnNCbG9jayIsIkZvcm1CbG9jayIsIkZvcm1Db250YWluZXJCbG9jayIsIkZvcm1FbGVtZW50QmxvY2siLCJJbnRlcm5hbEZpZWxkQmxvY2siLCJNaWNyb0NoYXJ0QmxvY2siLCJQYWdpbmF0b3JCbG9jayIsIlB1YmxpY0ZpZWxkQmxvY2siLCJRdWlja1ZpZXdIZWFkZXJPcHRpb25zQmxvY2siLCJTaGFyZUJsb2NrIiwiU2l0dWF0aW9uc0luZGljYXRvckJsb2NrIiwiVGFibGVCbG9jayIsIlRyZWVUYWJsZUJsb2NrIiwiVGFibGVGdWxsU2NyZWVuRGlhbG9nQmxvY2siLCJWYWx1ZUhlbHBGaWx0ZXJCYXJCbG9jayIsIlZpc3VhbEZpbHRlckJsb2NrIiwiUXVpY2tGaWx0ZXJTZWxlY3RvciIsIlJpY2hUZXh0RWRpdG9yV2l0aE1ldGFkYXRhQmxvY2siLCJOb3Rlc0J1aWxkaW5nQmxvY2siLCJTdW1tYXJpemF0aW9uQnV0dG9uIiwiVmFsdWVIZWxwQmxvY2siLCJyZWdpc3RlckFsbCIsImJ1aWxkaW5nQmxvY2siLCJyZWdpc3RlciIsInVucmVnaXN0ZXJBbGwiLCJ1bnJlZ2lzdGVyIiwiRHJhZnRFZGl0U3RhdGUiLCJhZGREcmFmdEVkaXRTdGF0ZU9wZXJhdG9yIiwiYWRkU2VtYW50aWNEYXRlT3BlcmF0b3JzIiwib1N0YXRlQ2hhbmdlSGFuZGxlciIsIm9FdmVudCIsIm9Db250cm9sIiwiZ2V0UGFyYW1ldGVyIiwiaXNBIiwib01hY3JvQVBJIiwiZ2V0UGFyZW50IiwiZmlyZVN0YXRlQ2hhbmdlIiwiU3RhdGVVdGlsIiwiYXR0YWNoU3RhdGVDaGFuZ2UiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIm1hY3JvTGlicmFyeS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSBCdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2UgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRpbmdCYXNlXCI7XG5pbXBvcnQgRHJhZnREYXRhTG9zc0RpYWxvZ0Jsb2NrIGZyb20gXCJzYXAvZmUvY29yZS9jb250cm9scy9EYXRhTG9zc09yRHJhZnREaXNjYXJkL0RyYWZ0RGF0YUxvc3NEaWFsb2cuYmxvY2tcIjtcbmltcG9ydCB7IENvbmZpcm1SZWNvbW1lbmRhdGlvbkRpYWxvZ0Jsb2NrIH0gZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xzL1JlY29tbWVuZGF0aW9ucy9Db25maXJtUmVjb21tZW5kYXRpb25EaWFsb2cuYmxvY2tcIjtcbmltcG9ydCBTdW1tYXJpemF0aW9uQnV0dG9uIGZyb20gXCJzYXAvZmUvbWFjcm9zL2FpL1N1bW1hcml6YXRpb25CdXR0b24uYmxvY2tcIjtcbmltcG9ydCBQdWJsaWNGaWVsZEJsb2NrIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL1B1YmxpY0ZpZWxkLmJsb2NrXCI7XG5pbXBvcnQgeyBhZGRTZW1hbnRpY0RhdGVPcGVyYXRvcnMgfSBmcm9tIFwic2FwL2ZlL21hY3Jvcy9maWx0ZXJCYXIvRGVmYXVsdFNlbWFudGljRGF0ZU9wZXJhdG9yc1wiO1xuaW1wb3J0IERyYWZ0RWRpdFN0YXRlIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpbHRlckJhci9EcmFmdEVkaXRTdGF0ZVwiO1xuaW1wb3J0IEZvcm1FbGVtZW50QmxvY2sgZnJvbSBcInNhcC9mZS9tYWNyb3MvZm9ybS9Gb3JtRWxlbWVudC5ibG9ja1wiO1xuaW1wb3J0IE5vdGVzQnVpbGRpbmdCbG9jayBmcm9tIFwic2FwL2ZlL21hY3Jvcy9ub3Rlcy9Ob3Rlcy5ibG9ja1wiO1xuaW1wb3J0IFJpY2hUZXh0RWRpdG9yV2l0aE1ldGFkYXRhQmxvY2sgZnJvbSBcInNhcC9mZS9tYWNyb3MvcmljaHRleHRlZGl0b3IvUmljaFRleHRFZGl0b3JXaXRoTWV0YWRhdGEuYmxvY2tcIjtcbmltcG9ydCBTaXR1YXRpb25zSW5kaWNhdG9yQmxvY2sgZnJvbSBcInNhcC9mZS9tYWNyb3Mvc2l0dWF0aW9ucy9TaXR1YXRpb25zSW5kaWNhdG9yLmJsb2NrXCI7XG5pbXBvcnQgUXVpY2tGaWx0ZXJTZWxlY3RvciBmcm9tIFwic2FwL2ZlL21hY3Jvcy90YWJsZS9RdWlja0ZpbHRlclNlbGVjdG9yLmJsb2NrXCI7XG5pbXBvcnQgVGFibGVGdWxsU2NyZWVuRGlhbG9nQmxvY2sgZnJvbSBcInNhcC9mZS9tYWNyb3MvdGFibGUvVGFibGVGdWxsU2NyZWVuRGlhbG9nLmJsb2NrXCI7XG5pbXBvcnQgVmFsdWVIZWxwQmxvY2sgZnJvbSBcInNhcC9mZS9tYWNyb3MvdmFsdWVoZWxwL1ZhbHVlSGVscC5ibG9ja1wiO1xuaW1wb3J0IHR5cGUgRXZlbnQgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50XCI7XG5pbXBvcnQgdHlwZSBDaGFydCBmcm9tIFwic2FwL3VpL21kYy9DaGFydFwiO1xuaW1wb3J0IHR5cGUgQ29udHJvbCBmcm9tIFwic2FwL3VpL21kYy9Db250cm9sXCI7XG5pbXBvcnQgdHlwZSBGaWx0ZXJCYXIgZnJvbSBcInNhcC91aS9tZGMvRmlsdGVyQmFyXCI7XG5pbXBvcnQgdHlwZSBUYWJsZSBmcm9tIFwic2FwL3VpL21kYy9UYWJsZVwiO1xuaW1wb3J0IFN0YXRlVXRpbCBmcm9tIFwic2FwL3VpL21kYy9wMTNuL1N0YXRlVXRpbFwiO1xuaW1wb3J0IHR5cGUgeyBFdmVudEhhbmRsZXIgfSBmcm9tIFwiLi4vLi4vLi4vLi4vLi4vLi4vdHlwZXMvZXh0ZW5zaW9uX3R5cGVzXCI7XG5pbXBvcnQgQ2hhcnRCbG9jayBmcm9tIFwiLi9jaGFydC9DaGFydC5ibG9ja1wiO1xuaW1wb3J0IENvbnRhY3RCbG9jayBmcm9tIFwiLi9jb250YWN0L0NvbnRhY3QuYmxvY2tcIjtcbmltcG9ydCBEcmFmdEluZGljYXRvckJsb2NrIGZyb20gXCIuL2RyYWZ0SW5kaWNhdG9yL0RyYWZ0SW5kaWNhdG9yLmJsb2NrXCI7XG5pbXBvcnQgRmxleGlibGVDb2x1bW5MYXlvdXRBY3Rpb25zQmxvY2sgZnJvbSBcIi4vZmNsL0ZsZXhpYmxlQ29sdW1uTGF5b3V0QWN0aW9ucy5ibG9ja1wiO1xuaW1wb3J0IEZpbHRlckJhckJsb2NrIGZyb20gXCIuL2ZpbHRlckJhci9GaWx0ZXJCYXIuYmxvY2tcIjtcbmltcG9ydCBGb3JtQmxvY2sgZnJvbSBcIi4vZm9ybS9Gb3JtLmJsb2NrXCI7XG5pbXBvcnQgRm9ybUNvbnRhaW5lckJsb2NrIGZyb20gXCIuL2Zvcm0vRm9ybUNvbnRhaW5lci5ibG9ja1wiO1xuaW1wb3J0IEN1c3RvbUZyYWdtZW50QmxvY2sgZnJvbSBcIi4vZnBtL0N1c3RvbUZyYWdtZW50LmJsb2NrXCI7XG5pbXBvcnQgQWN0aW9uQ29tbWFuZEJsb2NrIGZyb20gXCIuL2ludGVybmFsL0FjdGlvbkNvbW1hbmQuYmxvY2tcIjtcbmltcG9ydCBGaWx0ZXJGaWVsZEJsb2NrIGZyb20gXCIuL2ludGVybmFsL0ZpbHRlckZpZWxkLmJsb2NrXCI7XG5pbXBvcnQgSGVhZGVyRGF0YVBvaW50QmxvY2sgZnJvbSBcIi4vaW50ZXJuYWwvSGVhZGVyRGF0YVBvaW50LmJsb2NrXCI7XG5pbXBvcnQgSW50ZXJuYWxGaWVsZEJsb2NrIGZyb20gXCIuL2ludGVybmFsL0ludGVybmFsRmllbGQuYmxvY2tcIjtcbmltcG9ydCBNaWNyb0NoYXJ0QmxvY2sgZnJvbSBcIi4vbWljcm9jaGFydC9NaWNyb0NoYXJ0LmJsb2NrXCI7XG5pbXBvcnQgUGFnaW5hdG9yQmxvY2sgZnJvbSBcIi4vcGFnaW5hdG9yL1BhZ2luYXRvci5ibG9ja1wiO1xuaW1wb3J0IFF1aWNrVmlld0hlYWRlck9wdGlvbnNCbG9jayBmcm9tIFwiLi9xdWlja1ZpZXcvUXVpY2tWaWV3SGVhZGVyT3B0aW9ucy5ibG9ja1wiO1xuaW1wb3J0IFNoYXJlQmxvY2sgZnJvbSBcIi4vc2hhcmUvU2hhcmUuYmxvY2tcIjtcbmltcG9ydCBUYWJsZUJsb2NrIGZyb20gXCIuL3RhYmxlL1RhYmxlLmJsb2NrXCI7XG5pbXBvcnQgVHJlZVRhYmxlQmxvY2sgZnJvbSBcIi4vdGFibGUvVHJlZVRhYmxlLmJsb2NrXCI7XG5pbXBvcnQgVmFsdWVIZWxwRmlsdGVyQmFyQmxvY2sgZnJvbSBcIi4vdmFsdWVoZWxwL1ZhbHVlSGVscEZpbHRlckJhci5ibG9ja1wiO1xuaW1wb3J0IFZpc3VhbEZpbHRlckJsb2NrIGZyb20gXCIuL3Zpc3VhbGZpbHRlcnMvVmlzdWFsRmlsdGVyLmJsb2NrXCI7XG5cbmNvbnN0IGJ1aWxkaW5nQmxvY2tzOiAodHlwZW9mIEJ1aWxkaW5nQmxvY2tUZW1wbGF0aW5nQmFzZSlbXSA9IFtcblx0QWN0aW9uQ29tbWFuZEJsb2NrLFxuXHRDaGFydEJsb2NrLFxuXHRDb250YWN0QmxvY2ssXG5cdEN1c3RvbUZyYWdtZW50QmxvY2ssXG5cdEhlYWRlckRhdGFQb2ludEJsb2NrLFxuXHREcmFmdERhdGFMb3NzRGlhbG9nQmxvY2ssXG5cdENvbmZpcm1SZWNvbW1lbmRhdGlvbkRpYWxvZ0Jsb2NrLFxuXHREcmFmdEluZGljYXRvckJsb2NrLFxuXHRGaWx0ZXJCYXJCbG9jayxcblx0RmlsdGVyRmllbGRCbG9jayxcblx0RmxleGlibGVDb2x1bW5MYXlvdXRBY3Rpb25zQmxvY2ssXG5cdEZvcm1CbG9jayxcblx0Rm9ybUNvbnRhaW5lckJsb2NrLFxuXHRGb3JtRWxlbWVudEJsb2NrLFxuXHRJbnRlcm5hbEZpZWxkQmxvY2ssXG5cdE1pY3JvQ2hhcnRCbG9jayxcblx0UGFnaW5hdG9yQmxvY2ssXG5cdFB1YmxpY0ZpZWxkQmxvY2ssXG5cdFF1aWNrVmlld0hlYWRlck9wdGlvbnNCbG9jayxcblx0U2hhcmVCbG9jayxcblx0U2l0dWF0aW9uc0luZGljYXRvckJsb2NrLFxuXHRUYWJsZUJsb2NrLFxuXHRUcmVlVGFibGVCbG9jayxcblx0VGFibGVGdWxsU2NyZWVuRGlhbG9nQmxvY2ssXG5cdFZhbHVlSGVscEZpbHRlckJhckJsb2NrLFxuXHRWaXN1YWxGaWx0ZXJCbG9jayxcblx0UXVpY2tGaWx0ZXJTZWxlY3Rvcixcblx0UmljaFRleHRFZGl0b3JXaXRoTWV0YWRhdGFCbG9jayxcblx0Tm90ZXNCdWlsZGluZ0Jsb2NrLFxuXHRTdW1tYXJpemF0aW9uQnV0dG9uLFxuXHRWYWx1ZUhlbHBCbG9ja1xuXTtcblxuZnVuY3Rpb24gcmVnaXN0ZXJBbGwoKTogdm9pZCB7XG5cdGZvciAoY29uc3QgYnVpbGRpbmdCbG9jayBvZiBidWlsZGluZ0Jsb2Nrcykge1xuXHRcdGJ1aWxkaW5nQmxvY2sucmVnaXN0ZXIoKTtcblx0fVxufVxuXG4vL1RoaXMgaXMgbmVlZGVkIGluIGZvciB0ZW1wbGF0aW5nIHRlc3QgdXRpbHNcbmZ1bmN0aW9uIHVucmVnaXN0ZXJBbGwoKTogdm9pZCB7XG5cdGZvciAoY29uc3QgYnVpbGRpbmdCbG9jayBvZiBidWlsZGluZ0Jsb2Nrcykge1xuXHRcdGJ1aWxkaW5nQmxvY2sudW5yZWdpc3RlcigpO1xuXHR9XG59XG5cbkRyYWZ0RWRpdFN0YXRlLmFkZERyYWZ0RWRpdFN0YXRlT3BlcmF0b3IoKTtcbi8vIEFkZGluZyBTZW1hbnRpYyBEYXRlIE9wZXJhdG9yc1xuYWRkU2VtYW50aWNEYXRlT3BlcmF0b3JzKCk7XG5cbmNvbnN0IG9TdGF0ZUNoYW5nZUhhbmRsZXIgPSBmdW5jdGlvbiAob0V2ZW50OiBFdmVudDx7IGNvbnRyb2w6IENvbnRyb2wgfT4pOiB2b2lkIHtcblx0Y29uc3Qgb0NvbnRyb2wgPSBvRXZlbnQuZ2V0UGFyYW1ldGVyKFwiY29udHJvbFwiKTtcblx0aWYgKFxuXHRcdG9Db250cm9sLmlzQTxUYWJsZT4oXCJzYXAudWkubWRjLlRhYmxlXCIpIHx8XG5cdFx0b0NvbnRyb2wuaXNBPEZpbHRlckJhcj4oXCJzYXAudWkubWRjLkZpbHRlckJhclwiKSB8fFxuXHRcdG9Db250cm9sLmlzQTxDaGFydD4oXCJzYXAudWkubWRjLkNoYXJ0XCIpXG5cdCkge1xuXHRcdGNvbnN0IG9NYWNyb0FQSSA9IG9Db250cm9sLmdldFBhcmVudCgpIGFzIHVua25vd24gYXMgeyBmaXJlU3RhdGVDaGFuZ2U/OiBFdmVudEhhbmRsZXIgfTtcblx0XHRpZiAob01hY3JvQVBJPy5maXJlU3RhdGVDaGFuZ2UpIHtcblx0XHRcdG9NYWNyb0FQSS5maXJlU3RhdGVDaGFuZ2UoKTtcblx0XHR9XG5cdH1cbn07XG5TdGF0ZVV0aWwuYXR0YWNoU3RhdGVDaGFuZ2Uob1N0YXRlQ2hhbmdlSGFuZGxlcik7XG5cbi8vQWx3YXlzIHJlZ2lzdGVyIHdoZW4gbG9hZGVkIGZvciBjb21wYXRpYmlsaXR5XG5yZWdpc3RlckFsbCgpO1xuXG5leHBvcnQgZGVmYXVsdCB7XG5cdHJlZ2lzdGVyOiByZWdpc3RlckFsbCxcblx0dW5yZWdpc3RlcjogdW5yZWdpc3RlckFsbFxufTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQUE7QUFBQTs7Ozs7O0VBMENBLE1BQU1BLGNBQXNELEdBQUcsQ0FDOURDLGtCQUFrQixFQUNsQkMsVUFBVSxFQUNWQyxZQUFZLEVBQ1pDLG1CQUFtQixFQUNuQkMsb0JBQW9CLEVBQ3BCQyx3QkFBd0IsRUFDeEJDLGdDQUFnQyxFQUNoQ0MsbUJBQW1CLEVBQ25CQyxjQUFjLEVBQ2RDLGdCQUFnQixFQUNoQkMsZ0NBQWdDLEVBQ2hDQyxTQUFTLEVBQ1RDLGtCQUFrQixFQUNsQkMsZ0JBQWdCLEVBQ2hCQyxrQkFBa0IsRUFDbEJDLGVBQWUsRUFDZkMsY0FBYyxFQUNkQyxnQkFBZ0IsRUFDaEJDLDJCQUEyQixFQUMzQkMsVUFBVSxFQUNWQyx3QkFBd0IsRUFDeEJDLFVBQVUsRUFDVkMsY0FBYyxFQUNkQywwQkFBMEIsRUFDMUJDLHVCQUF1QixFQUN2QkMsaUJBQWlCLEVBQ2pCQyxtQkFBbUIsRUFDbkJDLCtCQUErQixFQUMvQkMsa0JBQWtCLEVBQ2xCQyxtQkFBbUIsRUFDbkJDLGNBQWMsQ0FDZDtFQUVELFNBQVNDLFdBQVcsR0FBUztJQUM1QixLQUFLLE1BQU1DLGFBQWEsSUFBSWpDLGNBQWMsRUFBRTtNQUMzQ2lDLGFBQWEsQ0FBQ0MsUUFBUSxFQUFFO0lBQ3pCO0VBQ0Q7O0VBRUE7RUFDQSxTQUFTQyxhQUFhLEdBQVM7SUFDOUIsS0FBSyxNQUFNRixhQUFhLElBQUlqQyxjQUFjLEVBQUU7TUFDM0NpQyxhQUFhLENBQUNHLFVBQVUsRUFBRTtJQUMzQjtFQUNEO0VBRUFDLGNBQWMsQ0FBQ0MseUJBQXlCLEVBQUU7RUFDMUM7RUFDQUMsd0JBQXdCLEVBQUU7RUFFMUIsTUFBTUMsbUJBQW1CLEdBQUcsVUFBVUMsTUFBbUMsRUFBUTtJQUNoRixNQUFNQyxRQUFRLEdBQUdELE1BQU0sQ0FBQ0UsWUFBWSxDQUFDLFNBQVMsQ0FBQztJQUMvQyxJQUNDRCxRQUFRLENBQUNFLEdBQUcsQ0FBUSxrQkFBa0IsQ0FBQyxJQUN2Q0YsUUFBUSxDQUFDRSxHQUFHLENBQVksc0JBQXNCLENBQUMsSUFDL0NGLFFBQVEsQ0FBQ0UsR0FBRyxDQUFRLGtCQUFrQixDQUFDLEVBQ3RDO01BQ0QsTUFBTUMsU0FBUyxHQUFHSCxRQUFRLENBQUNJLFNBQVMsRUFBbUQ7TUFDdkYsSUFBSUQsU0FBUyxhQUFUQSxTQUFTLGVBQVRBLFNBQVMsQ0FBRUUsZUFBZSxFQUFFO1FBQy9CRixTQUFTLENBQUNFLGVBQWUsRUFBRTtNQUM1QjtJQUNEO0VBQ0QsQ0FBQztFQUNEQyxTQUFTLENBQUNDLGlCQUFpQixDQUFDVCxtQkFBbUIsQ0FBQzs7RUFFaEQ7RUFDQVIsV0FBVyxFQUFFO0VBQUMsT0FFQztJQUNkRSxRQUFRLEVBQUVGLFdBQVc7SUFDckJJLFVBQVUsRUFBRUQ7RUFDYixDQUFDO0FBQUEifQ==
@@ -11,6 +11,7 @@ import RichTextEditorWithMetadataBlock from "sap/fe/macros/richtexteditor/RichTe
11
11
  import SituationsIndicatorBlock from "sap/fe/macros/situations/SituationsIndicator.block";
12
12
  import QuickFilterSelector from "sap/fe/macros/table/QuickFilterSelector.block";
13
13
  import TableFullScreenDialogBlock from "sap/fe/macros/table/TableFullScreenDialog.block";
14
+ import ValueHelpBlock from "sap/fe/macros/valuehelp/ValueHelp.block";
14
15
  import type Event from "sap/ui/base/Event";
15
16
  import type Chart from "sap/ui/mdc/Chart";
16
17
  import type Control from "sap/ui/mdc/Control";
@@ -69,7 +70,8 @@ const buildingBlocks: (typeof BuildingBlockTemplatingBase)[] = [
69
70
  QuickFilterSelector,
70
71
  RichTextEditorWithMetadataBlock,
71
72
  NotesBuildingBlock,
72
- SummarizationButton
73
+ SummarizationButton,
74
+ ValueHelpBlock
73
75
  ];
74
76
 
75
77
  function registerAll(): void {
@@ -0,0 +1,194 @@
1
+ /*!
2
+ * SAP UI development toolkit for HTML5 (SAPUI5)
3
+ * (c) Copyright 2009-2024 SAP SE. All rights reserved
4
+ */
5
+ sap.ui.define(["sap/fe/core/buildingBlocks/templating/BuildingBlockSupport", "sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase", "sap/fe/core/converters/MetaModelConverter", "sap/fe/core/helpers/ModelHelper", "sap/fe/core/helpers/TypeGuards"], function (BuildingBlockSupport, BuildingBlockTemplatingBase, MetaModelConverter, ModelHelper, TypeGuards) {
6
+ "use strict";
7
+
8
+ var _dec, _dec2, _dec3, _dec4, _dec5, _dec6, _dec7, _dec8, _dec9, _dec10, _dec11, _dec12, _class, _class2, _descriptor, _descriptor2, _descriptor3, _descriptor4, _descriptor5, _descriptor6, _descriptor7, _descriptor8, _descriptor9, _descriptor10, _descriptor11;
9
+ var _exports = {};
10
+ var isEntitySet = TypeGuards.isEntitySet;
11
+ var getInvolvedDataModelObjects = MetaModelConverter.getInvolvedDataModelObjects;
12
+ var defineBuildingBlock = BuildingBlockSupport.defineBuildingBlock;
13
+ var blockAttribute = BuildingBlockSupport.blockAttribute;
14
+ function _initializerDefineProperty(target, property, descriptor, context) { if (!descriptor) return; Object.defineProperty(target, property, { enumerable: descriptor.enumerable, configurable: descriptor.configurable, writable: descriptor.writable, value: descriptor.initializer ? descriptor.initializer.call(context) : void 0 }); }
15
+ function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
16
+ function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }
17
+ function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
18
+ function _applyDecoratedDescriptor(target, property, decorators, descriptor, context) { var desc = {}; Object.keys(descriptor).forEach(function (key) { desc[key] = descriptor[key]; }); desc.enumerable = !!desc.enumerable; desc.configurable = !!desc.configurable; if ('value' in desc || desc.initializer) { desc.writable = true; } desc = decorators.slice().reverse().reduce(function (desc, decorator) { return decorator(target, property, desc) || desc; }, desc); if (context && desc.initializer !== void 0) { desc.value = desc.initializer ? desc.initializer.call(context) : void 0; desc.initializer = undefined; } if (desc.initializer === void 0) { Object.defineProperty(target, property, desc); desc = null; } return desc; }
19
+ function _initializerWarningHelper(descriptor, context) { throw new Error('Decorating class property failed. Please ensure that ' + 'proposal-class-properties is enabled and runs after the decorators transform.'); }
20
+ let ValueHelpBlock = (
21
+ /**
22
+ * Building block for creating a ValueHelp based on the provided OData V4 metadata.
23
+ *
24
+ *
25
+ * Usage example:
26
+ * <pre>
27
+ * &lt;macros:ValueHelp
28
+ * idPrefix="SomePrefix"
29
+ * property="{someProperty&gt;}"
30
+ * conditionModel="$filters"
31
+ * /&gt;
32
+ * </pre>
33
+ *
34
+ * @private
35
+ */
36
+ _dec = defineBuildingBlock({
37
+ name: "ValueHelp",
38
+ namespace: "sap.fe.macros.valuehelp",
39
+ fragment: "sap.fe.macros.internal.valuehelp.ValueHelp"
40
+ }), _dec2 = blockAttribute({
41
+ type: "string"
42
+ }), _dec3 = blockAttribute({
43
+ type: "sap.ui.model.Context",
44
+ required: true,
45
+ expectedTypes: ["Property"]
46
+ }), _dec4 = blockAttribute({
47
+ type: "sap.ui.model.Context",
48
+ required: true
49
+ }), _dec5 = blockAttribute({
50
+ type: "string"
51
+ }), _dec6 = blockAttribute({
52
+ type: "boolean"
53
+ }), _dec7 = blockAttribute({
54
+ type: "boolean"
55
+ }), _dec8 = blockAttribute({
56
+ type: "boolean"
57
+ }), _dec9 = blockAttribute({
58
+ type: "boolean"
59
+ }), _dec10 = blockAttribute({
60
+ type: "string"
61
+ }), _dec11 = blockAttribute({
62
+ type: "boolean"
63
+ }), _dec12 = blockAttribute({
64
+ type: "string"
65
+ }), _dec(_class = (_class2 = /*#__PURE__*/function (_BuildingBlockTemplat) {
66
+ _inheritsLoose(ValueHelpBlock, _BuildingBlockTemplat);
67
+ /**
68
+ * A prefix that is added to the generated ID of the value help.
69
+ */
70
+
71
+ /**
72
+ * Defines the metadata path to the property.
73
+ */
74
+
75
+ /**
76
+ * Indicator whether the value help is for a filter field.
77
+ */
78
+
79
+ /**
80
+ * Indicates that this is a value help of a filter field. Necessary to decide if a
81
+ * validation should occur on the back end or already on the client.
82
+ */
83
+
84
+ /**
85
+ * Specifies the Sematic Date Range option for the filter field.
86
+ */
87
+
88
+ /**
89
+ * Specifies if the ValueHelp is opened on the focus event
90
+ */
91
+
92
+ /**
93
+ * Specifies whether the ValueHelp can be used with a MultiValueField
94
+ */
95
+
96
+ function ValueHelpBlock(props, _controlConfiguration, settings) {
97
+ var _this;
98
+ _this = _BuildingBlockTemplat.call(this, props) || this;
99
+ _initializerDefineProperty(_this, "idPrefix", _descriptor, _assertThisInitialized(_this));
100
+ _initializerDefineProperty(_this, "metaPath", _descriptor2, _assertThisInitialized(_this));
101
+ _initializerDefineProperty(_this, "contextPath", _descriptor3, _assertThisInitialized(_this));
102
+ _initializerDefineProperty(_this, "conditionModel", _descriptor4, _assertThisInitialized(_this));
103
+ _initializerDefineProperty(_this, "filterFieldValueHelp", _descriptor5, _assertThisInitialized(_this));
104
+ _initializerDefineProperty(_this, "useSemanticDateRange", _descriptor6, _assertThisInitialized(_this));
105
+ _initializerDefineProperty(_this, "opensOnFocus", _descriptor7, _assertThisInitialized(_this));
106
+ _initializerDefineProperty(_this, "useMultiValueField", _descriptor8, _assertThisInitialized(_this));
107
+ _initializerDefineProperty(_this, "navigationPrefix", _descriptor9, _assertThisInitialized(_this));
108
+ _initializerDefineProperty(_this, "requiresValidation", _descriptor10, _assertThisInitialized(_this));
109
+ _initializerDefineProperty(_this, "_flexId", _descriptor11, _assertThisInitialized(_this));
110
+ _this.requestGroupId = "$auto.Workers";
111
+ _this.collaborationEnabled = false;
112
+ const contextObject = getInvolvedDataModelObjects(_this.contextPath);
113
+ const entitySetOrSingleton = contextObject.targetEntitySet;
114
+ if (isEntitySet(entitySetOrSingleton)) {
115
+ _this.collaborationEnabled = ModelHelper.isCollaborationDraftSupported(settings.models.metaModel);
116
+ }
117
+ return _this;
118
+ }
119
+ _exports = ValueHelpBlock;
120
+ return ValueHelpBlock;
121
+ }(BuildingBlockTemplatingBase), (_descriptor = _applyDecoratedDescriptor(_class2.prototype, "idPrefix", [_dec2], {
122
+ configurable: true,
123
+ enumerable: true,
124
+ writable: true,
125
+ initializer: function () {
126
+ return "ValueHelp";
127
+ }
128
+ }), _descriptor2 = _applyDecoratedDescriptor(_class2.prototype, "metaPath", [_dec3], {
129
+ configurable: true,
130
+ enumerable: true,
131
+ writable: true,
132
+ initializer: null
133
+ }), _descriptor3 = _applyDecoratedDescriptor(_class2.prototype, "contextPath", [_dec4], {
134
+ configurable: true,
135
+ enumerable: true,
136
+ writable: true,
137
+ initializer: null
138
+ }), _descriptor4 = _applyDecoratedDescriptor(_class2.prototype, "conditionModel", [_dec5], {
139
+ configurable: true,
140
+ enumerable: true,
141
+ writable: true,
142
+ initializer: function () {
143
+ return "";
144
+ }
145
+ }), _descriptor5 = _applyDecoratedDescriptor(_class2.prototype, "filterFieldValueHelp", [_dec6], {
146
+ configurable: true,
147
+ enumerable: true,
148
+ writable: true,
149
+ initializer: function () {
150
+ return false;
151
+ }
152
+ }), _descriptor6 = _applyDecoratedDescriptor(_class2.prototype, "useSemanticDateRange", [_dec7], {
153
+ configurable: true,
154
+ enumerable: true,
155
+ writable: true,
156
+ initializer: function () {
157
+ return true;
158
+ }
159
+ }), _descriptor7 = _applyDecoratedDescriptor(_class2.prototype, "opensOnFocus", [_dec8], {
160
+ configurable: true,
161
+ enumerable: true,
162
+ writable: true,
163
+ initializer: function () {
164
+ return true;
165
+ }
166
+ }), _descriptor8 = _applyDecoratedDescriptor(_class2.prototype, "useMultiValueField", [_dec9], {
167
+ configurable: true,
168
+ enumerable: true,
169
+ writable: true,
170
+ initializer: function () {
171
+ return false;
172
+ }
173
+ }), _descriptor9 = _applyDecoratedDescriptor(_class2.prototype, "navigationPrefix", [_dec10], {
174
+ configurable: true,
175
+ enumerable: true,
176
+ writable: true,
177
+ initializer: null
178
+ }), _descriptor10 = _applyDecoratedDescriptor(_class2.prototype, "requiresValidation", [_dec11], {
179
+ configurable: true,
180
+ enumerable: true,
181
+ writable: true,
182
+ initializer: function () {
183
+ return false;
184
+ }
185
+ }), _descriptor11 = _applyDecoratedDescriptor(_class2.prototype, "_flexId", [_dec12], {
186
+ configurable: true,
187
+ enumerable: true,
188
+ writable: true,
189
+ initializer: null
190
+ })), _class2)) || _class);
191
+ _exports = ValueHelpBlock;
192
+ return _exports;
193
+ }, false);
194
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJWYWx1ZUhlbHBCbG9jayIsImRlZmluZUJ1aWxkaW5nQmxvY2siLCJuYW1lIiwibmFtZXNwYWNlIiwiZnJhZ21lbnQiLCJibG9ja0F0dHJpYnV0ZSIsInR5cGUiLCJyZXF1aXJlZCIsImV4cGVjdGVkVHlwZXMiLCJwcm9wcyIsIl9jb250cm9sQ29uZmlndXJhdGlvbiIsInNldHRpbmdzIiwicmVxdWVzdEdyb3VwSWQiLCJjb2xsYWJvcmF0aW9uRW5hYmxlZCIsImNvbnRleHRPYmplY3QiLCJnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMiLCJjb250ZXh0UGF0aCIsImVudGl0eVNldE9yU2luZ2xldG9uIiwidGFyZ2V0RW50aXR5U2V0IiwiaXNFbnRpdHlTZXQiLCJNb2RlbEhlbHBlciIsImlzQ29sbGFib3JhdGlvbkRyYWZ0U3VwcG9ydGVkIiwibW9kZWxzIiwibWV0YU1vZGVsIiwiQnVpbGRpbmdCbG9ja1RlbXBsYXRpbmdCYXNlIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJWYWx1ZUhlbHAuYmxvY2sudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBQcm9wZXJ0aWVzT2YgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgeyBibG9ja0F0dHJpYnV0ZSwgZGVmaW5lQnVpbGRpbmdCbG9jayB9IGZyb20gXCJzYXAvZmUvY29yZS9idWlsZGluZ0Jsb2Nrcy90ZW1wbGF0aW5nL0J1aWxkaW5nQmxvY2tTdXBwb3J0XCI7XG5pbXBvcnQgdHlwZSB7IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvYnVpbGRpbmdCbG9ja3MvdGVtcGxhdGluZy9CdWlsZGluZ0Jsb2NrVGVtcGxhdGVQcm9jZXNzb3JcIjtcbmltcG9ydCBCdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2UgZnJvbSBcInNhcC9mZS9jb3JlL2J1aWxkaW5nQmxvY2tzL3RlbXBsYXRpbmcvQnVpbGRpbmdCbG9ja1RlbXBsYXRpbmdCYXNlXCI7XG5pbXBvcnQgeyBnZXRJbnZvbHZlZERhdGFNb2RlbE9iamVjdHMgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NZXRhTW9kZWxDb252ZXJ0ZXJcIjtcbmltcG9ydCBNb2RlbEhlbHBlciBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9Nb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgaXNFbnRpdHlTZXQgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9UeXBlR3VhcmRzXCI7XG5pbXBvcnQgdHlwZSBDb250ZXh0IGZyb20gXCJzYXAvdWkvbW9kZWwvQ29udGV4dFwiO1xuXG4vKipcbiAqIEJ1aWxkaW5nIGJsb2NrIGZvciBjcmVhdGluZyBhIFZhbHVlSGVscCBiYXNlZCBvbiB0aGUgcHJvdmlkZWQgT0RhdGEgVjQgbWV0YWRhdGEuXG4gKlxuICpcbiAqIFVzYWdlIGV4YW1wbGU6XG4gKiA8cHJlPlxuICogJmx0O21hY3JvczpWYWx1ZUhlbHBcbiAqICAgaWRQcmVmaXg9XCJTb21lUHJlZml4XCJcbiAqICAgcHJvcGVydHk9XCJ7c29tZVByb3BlcnR5Jmd0O31cIlxuICogICBjb25kaXRpb25Nb2RlbD1cIiRmaWx0ZXJzXCJcbiAqIC8mZ3Q7XG4gKiA8L3ByZT5cbiAqXG4gKiBAcHJpdmF0ZVxuICovXG5AZGVmaW5lQnVpbGRpbmdCbG9jayh7IG5hbWU6IFwiVmFsdWVIZWxwXCIsIG5hbWVzcGFjZTogXCJzYXAuZmUubWFjcm9zLnZhbHVlaGVscFwiLCBmcmFnbWVudDogXCJzYXAuZmUubWFjcm9zLmludGVybmFsLnZhbHVlaGVscC5WYWx1ZUhlbHBcIiB9KVxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgVmFsdWVIZWxwQmxvY2sgZXh0ZW5kcyBCdWlsZGluZ0Jsb2NrVGVtcGxhdGluZ0Jhc2Uge1xuXHQvKipcblx0ICogQSBwcmVmaXggdGhhdCBpcyBhZGRlZCB0byB0aGUgZ2VuZXJhdGVkIElEIG9mIHRoZSB2YWx1ZSBoZWxwLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRpZFByZWZpeCA9IFwiVmFsdWVIZWxwXCI7XG5cblx0LyoqXG5cdCAqIERlZmluZXMgdGhlIG1ldGFkYXRhIHBhdGggdG8gdGhlIHByb3BlcnR5LlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJzYXAudWkubW9kZWwuQ29udGV4dFwiLCByZXF1aXJlZDogdHJ1ZSwgZXhwZWN0ZWRUeXBlczogW1wiUHJvcGVydHlcIl0gfSlcblx0bWV0YVBhdGghOiBDb250ZXh0O1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwic2FwLnVpLm1vZGVsLkNvbnRleHRcIiwgcmVxdWlyZWQ6IHRydWUgfSlcblx0Y29udGV4dFBhdGghOiBDb250ZXh0O1xuXG5cdC8qKlxuXHQgKiBJbmRpY2F0b3Igd2hldGhlciB0aGUgdmFsdWUgaGVscCBpcyBmb3IgYSBmaWx0ZXIgZmllbGQuXG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGNvbmRpdGlvbk1vZGVsID0gXCJcIjtcblxuXHQvKipcblx0ICogSW5kaWNhdGVzIHRoYXQgdGhpcyBpcyBhIHZhbHVlIGhlbHAgb2YgYSBmaWx0ZXIgZmllbGQuIE5lY2Vzc2FyeSB0byBkZWNpZGUgaWYgYVxuXHQgKiB2YWxpZGF0aW9uIHNob3VsZCBvY2N1ciBvbiB0aGUgYmFjayBlbmQgb3IgYWxyZWFkeSBvbiB0aGUgY2xpZW50LlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0ZmlsdGVyRmllbGRWYWx1ZUhlbHAgPSBmYWxzZTtcblxuXHQvKipcblx0ICogU3BlY2lmaWVzIHRoZSBTZW1hdGljIERhdGUgUmFuZ2Ugb3B0aW9uIGZvciB0aGUgZmlsdGVyIGZpZWxkLlxuXHQgKi9cblx0QGJsb2NrQXR0cmlidXRlKHsgdHlwZTogXCJib29sZWFuXCIgfSlcblx0dXNlU2VtYW50aWNEYXRlUmFuZ2UgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgaWYgdGhlIFZhbHVlSGVscCBpcyBvcGVuZWQgb24gdGhlIGZvY3VzIGV2ZW50XG5cdCAqL1xuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRvcGVuc09uRm9jdXMgPSB0cnVlO1xuXG5cdC8qKlxuXHQgKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgVmFsdWVIZWxwIGNhbiBiZSB1c2VkIHdpdGggYSBNdWx0aVZhbHVlRmllbGRcblx0ICovXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHVzZU11bHRpVmFsdWVGaWVsZCA9IGZhbHNlO1xuXG5cdEBibG9ja0F0dHJpYnV0ZSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0bmF2aWdhdGlvblByZWZpeD86IHN0cmluZztcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHRyZXF1aXJlc1ZhbGlkYXRpb24gPSBmYWxzZTtcblxuXHRAYmxvY2tBdHRyaWJ1dGUoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbmFtaW5nLWNvbnZlbnRpb25cblx0X2ZsZXhJZD86IHN0cmluZztcblxuXHRyZXF1ZXN0R3JvdXBJZCA9IFwiJGF1dG8uV29ya2Vyc1wiO1xuXG5cdGNvbGxhYm9yYXRpb25FbmFibGVkID0gZmFsc2U7XG5cblx0Y29uc3RydWN0b3IocHJvcHM6IFByb3BlcnRpZXNPZjxWYWx1ZUhlbHBCbG9jaz4sIF9jb250cm9sQ29uZmlndXJhdGlvbjogdW5rbm93biwgc2V0dGluZ3M6IFRlbXBsYXRlUHJvY2Vzc29yU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHRjb25zdCBjb250ZXh0T2JqZWN0ID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzKHRoaXMuY29udGV4dFBhdGgpO1xuXHRcdGNvbnN0IGVudGl0eVNldE9yU2luZ2xldG9uID0gY29udGV4dE9iamVjdC50YXJnZXRFbnRpdHlTZXQ7XG5cdFx0aWYgKGlzRW50aXR5U2V0KGVudGl0eVNldE9yU2luZ2xldG9uKSkge1xuXHRcdFx0dGhpcy5jb2xsYWJvcmF0aW9uRW5hYmxlZCA9IE1vZGVsSGVscGVyLmlzQ29sbGFib3JhdGlvbkRyYWZ0U3VwcG9ydGVkKHNldHRpbmdzLm1vZGVscy5tZXRhTW9kZWwpO1xuXHRcdH1cblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQUE7QUFBQTtBQUFBOzs7Ozs7Ozs7Ozs7Ozs7O01BeUJxQkEsY0FBYztFQWhCbkM7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0VBZEEsT0FlQ0MsbUJBQW1CLENBQUM7SUFBRUMsSUFBSSxFQUFFLFdBQVc7SUFBRUMsU0FBUyxFQUFFLHlCQUF5QjtJQUFFQyxRQUFRLEVBQUU7RUFBNkMsQ0FBQyxDQUFDLFVBS3ZJQyxjQUFjLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLFVBTWxDRCxjQUFjLENBQUM7SUFBRUMsSUFBSSxFQUFFLHNCQUFzQjtJQUFFQyxRQUFRLEVBQUUsSUFBSTtJQUFFQyxhQUFhLEVBQUUsQ0FBQyxVQUFVO0VBQUUsQ0FBQyxDQUFDLFVBRzdGSCxjQUFjLENBQUM7SUFBRUMsSUFBSSxFQUFFLHNCQUFzQjtJQUFFQyxRQUFRLEVBQUU7RUFBSyxDQUFDLENBQUMsVUFNaEVGLGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsVUFPbENELGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsVUFNbkNELGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsVUFNbkNELGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsVUFNbkNELGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsV0FHbkNELGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsV0FHbENELGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBVSxDQUFDLENBQUMsV0FHbkNELGNBQWMsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUM7SUFBQTtJQXBEbkM7QUFDRDtBQUNBOztJQUlDO0FBQ0Q7QUFDQTs7SUFPQztBQUNEO0FBQ0E7O0lBSUM7QUFDRDtBQUNBO0FBQ0E7O0lBSUM7QUFDRDtBQUNBOztJQUlDO0FBQ0Q7QUFDQTs7SUFJQztBQUNEO0FBQ0E7O0lBa0JDLHdCQUFZRyxLQUFtQyxFQUFFQyxxQkFBOEIsRUFBRUMsUUFBbUMsRUFBRTtNQUFBO01BQ3JILHlDQUFNRixLQUFLLENBQUM7TUFBQztNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUE7TUFBQTtNQUFBO01BQUEsTUFMZEcsY0FBYyxHQUFHLGVBQWU7TUFBQSxNQUVoQ0Msb0JBQW9CLEdBQUcsS0FBSztNQUszQixNQUFNQyxhQUFhLEdBQUdDLDJCQUEyQixDQUFDLE1BQUtDLFdBQVcsQ0FBQztNQUNuRSxNQUFNQyxvQkFBb0IsR0FBR0gsYUFBYSxDQUFDSSxlQUFlO01BQzFELElBQUlDLFdBQVcsQ0FBQ0Ysb0JBQW9CLENBQUMsRUFBRTtRQUN0QyxNQUFLSixvQkFBb0IsR0FBR08sV0FBVyxDQUFDQyw2QkFBNkIsQ0FBQ1YsUUFBUSxDQUFDVyxNQUFNLENBQUNDLFNBQVMsQ0FBQztNQUNqRztNQUFDO0lBQ0Y7SUFBQztJQUFBO0VBQUEsRUFyRTBDQywyQkFBMkI7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BSzNELFdBQVc7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtJQUFBO0lBQUE7SUFBQTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BZUwsRUFBRTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BT0ksS0FBSztJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BTUwsSUFBSTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BTVosSUFBSTtJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtNQUFBLE9BTUUsS0FBSztJQUFBO0VBQUE7SUFBQTtJQUFBO0lBQUE7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7TUFBQSxPQU1MLEtBQUs7SUFBQTtFQUFBO0lBQUE7SUFBQTtJQUFBO0lBQUE7RUFBQTtFQUFBO0VBQUE7QUFBQSJ9
@@ -0,0 +1,96 @@
1
+ import type { PropertiesOf } from "sap/fe/base/ClassSupport";
2
+ import { blockAttribute, defineBuildingBlock } from "sap/fe/core/buildingBlocks/templating/BuildingBlockSupport";
3
+ import type { TemplateProcessorSettings } from "sap/fe/core/buildingBlocks/templating/BuildingBlockTemplateProcessor";
4
+ import BuildingBlockTemplatingBase from "sap/fe/core/buildingBlocks/templating/BuildingBlockTemplatingBase";
5
+ import { getInvolvedDataModelObjects } from "sap/fe/core/converters/MetaModelConverter";
6
+ import ModelHelper from "sap/fe/core/helpers/ModelHelper";
7
+ import { isEntitySet } from "sap/fe/core/helpers/TypeGuards";
8
+ import type Context from "sap/ui/model/Context";
9
+
10
+ /**
11
+ * Building block for creating a ValueHelp based on the provided OData V4 metadata.
12
+ *
13
+ *
14
+ * Usage example:
15
+ * <pre>
16
+ * &lt;macros:ValueHelp
17
+ * idPrefix="SomePrefix"
18
+ * property="{someProperty&gt;}"
19
+ * conditionModel="$filters"
20
+ * /&gt;
21
+ * </pre>
22
+ *
23
+ * @private
24
+ */
25
+ @defineBuildingBlock({ name: "ValueHelp", namespace: "sap.fe.macros.valuehelp", fragment: "sap.fe.macros.internal.valuehelp.ValueHelp" })
26
+ export default class ValueHelpBlock extends BuildingBlockTemplatingBase {
27
+ /**
28
+ * A prefix that is added to the generated ID of the value help.
29
+ */
30
+ @blockAttribute({ type: "string" })
31
+ idPrefix = "ValueHelp";
32
+
33
+ /**
34
+ * Defines the metadata path to the property.
35
+ */
36
+ @blockAttribute({ type: "sap.ui.model.Context", required: true, expectedTypes: ["Property"] })
37
+ metaPath!: Context;
38
+
39
+ @blockAttribute({ type: "sap.ui.model.Context", required: true })
40
+ contextPath!: Context;
41
+
42
+ /**
43
+ * Indicator whether the value help is for a filter field.
44
+ */
45
+ @blockAttribute({ type: "string" })
46
+ conditionModel = "";
47
+
48
+ /**
49
+ * Indicates that this is a value help of a filter field. Necessary to decide if a
50
+ * validation should occur on the back end or already on the client.
51
+ */
52
+ @blockAttribute({ type: "boolean" })
53
+ filterFieldValueHelp = false;
54
+
55
+ /**
56
+ * Specifies the Sematic Date Range option for the filter field.
57
+ */
58
+ @blockAttribute({ type: "boolean" })
59
+ useSemanticDateRange = true;
60
+
61
+ /**
62
+ * Specifies if the ValueHelp is opened on the focus event
63
+ */
64
+ @blockAttribute({ type: "boolean" })
65
+ opensOnFocus = true;
66
+
67
+ /**
68
+ * Specifies whether the ValueHelp can be used with a MultiValueField
69
+ */
70
+ @blockAttribute({ type: "boolean" })
71
+ useMultiValueField = false;
72
+
73
+ @blockAttribute({ type: "string" })
74
+ navigationPrefix?: string;
75
+
76
+ @blockAttribute({ type: "boolean" })
77
+ requiresValidation = false;
78
+
79
+ @blockAttribute({ type: "string" })
80
+ // eslint-disable-next-line @typescript-eslint/naming-convention
81
+ _flexId?: string;
82
+
83
+ requestGroupId = "$auto.Workers";
84
+
85
+ collaborationEnabled = false;
86
+
87
+ constructor(props: PropertiesOf<ValueHelpBlock>, _controlConfiguration: unknown, settings: TemplateProcessorSettings) {
88
+ super(props);
89
+
90
+ const contextObject = getInvolvedDataModelObjects(this.contextPath);
91
+ const entitySetOrSingleton = contextObject.targetEntitySet;
92
+ if (isEntitySet(entitySetOrSingleton)) {
93
+ this.collaborationEnabled = ModelHelper.isCollaborationDraftSupported(settings.models.metaModel);
94
+ }
95
+ }
96
+ }