@sapui5/sap.fe.macros 1.136.9 → 1.136.10
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 +1 -1
- package/src/sap/fe/macros/.library +1 -1
- package/src/sap/fe/macros/controls/Section.js +3 -2
- package/src/sap/fe/macros/controls/Section.ts +2 -1
- package/src/sap/fe/macros/coreUI/CreateDialog.js +2 -2
- package/src/sap/fe/macros/coreUI/CreateDialog.tsx +1 -1
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.js +8 -8
- package/src/sap/fe/macros/coreUI/OperationParameterDialog.tsx +7 -7
- package/src/sap/fe/macros/filterBar/FilterBarAPI.js +6 -4
- package/src/sap/fe/macros/filterBar/FilterBarAPI.ts +15 -5
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.js +4 -3
- package/src/sap/fe/macros/filterBar/mixin/FilterBarAPIStateHandler.ts +3 -2
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.js +6 -2
- package/src/sap/fe/macros/internal/helpers/DataPointTemplating.ts +5 -1
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.js +9 -1
- package/src/sap/fe/macros/internal/valuehelp/ValueListHelper.ts +19 -11
- package/src/sap/fe/macros/library.js +1 -1
- package/src/sap/fe/macros/mdc/adapter/StateHelper.js +11 -1
- package/src/sap/fe/macros/mdc/adapter/StateHelper.ts +16 -1
- package/src/sap/fe/macros/messagebundle_de.properties +4 -4
- package/src/sap/fe/macros/messagebundle_id.properties +5 -5
- package/src/sap/fe/macros/messagebundle_ko.properties +1 -1
- package/src/sap/fe/macros/visualfilters/VisualFilter.js +21 -2
- package/src/sap/fe/macros/visualfilters/VisualFilter.tsx +27 -4
package/package.json
CHANGED
|
@@ -308,7 +308,8 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/base/HookSupp
|
|
|
308
308
|
if (contentRole === "provider") {
|
|
309
309
|
const infoFromProvider = sectionOnlyContent.getDataFromProvider && sectionOnlyContent.getDataFromProvider(this.useSingleTextAreaFieldAsNotes);
|
|
310
310
|
if (infoFromProvider && this.getTitle() === infoFromProvider.title) {
|
|
311
|
-
this
|
|
311
|
+
//commenting out this redundent title setting to avoid re-rendering issues
|
|
312
|
+
// this.setTitle(infoFromProvider.title);
|
|
312
313
|
this.setShowTitle(true);
|
|
313
314
|
// TODO: Check if this is really needed?
|
|
314
315
|
classesToAdd.add("sapUiTableOnObjectPageAdjustmentsForSection");
|
|
@@ -424,4 +425,4 @@ sap.ui.define(["sap/base/Log", "sap/fe/base/ClassSupport", "sap/fe/base/HookSupp
|
|
|
424
425
|
}), _class2)) || _class) || _class);
|
|
425
426
|
return Section;
|
|
426
427
|
}, false);
|
|
427
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWN0aW9uIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiZGVzaWdudGltZSIsIl9kZWMyIiwibWl4aW4iLCJTZWN0aW9uU3RhdGVIYW5kbGVyIiwiX2RlYzMiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX09iamVjdFBhZ2VTZWN0aW9uIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJyZWdpc3RlckRlbGVnYXRlIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJldmVudERlbGVnYXRlcyIsIm9uQWZ0ZXJSZW5kZXJpbmciLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwic3ViU2VjdGlvbnMiLCJnZXRTdWJTZWN0aW9ucyIsImxlbmd0aCIsImZvckVhY2giLCJzdWJTZWN0aW9uIiwiZ2V0QmxvY2tzIiwic3ViU2VjdGlvbkV2ZW50RGVsZWdhdGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsInVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzIiwiY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudEZvclRleHRBcmVhIiwiY2hlY2tBbmRBZGp1c3RGb3JTaW5nbGVDb250ZW50IiwicmVtb3ZlRXZlbnREZWxlZ2F0ZSIsImFkZEV2ZW50RGVsZWdhdGUiLCJzZXRPblNlY3Rpb25Mb2FkZWQiLCJvblNlY3Rpb25Mb2FkZWQiLCJsb2FkU3BsaXQiLCJzcGxpdCIsIl9zZWN0aW9uTG9hZE1ldGhvZE5hbWUiLCJwb3AiLCJfc2VjdGlvbkxvYWRNb2R1bGVOYW1lIiwiam9pbiIsInNldFByb3BlcnR5IiwiYXBwbHlTZXR0aW5ncyIsIm1TZXR0aW5ncyIsIm9TY29wZSIsInRlbXBsYXRlQ29tcG9uZW50IiwiQ29tcG9uZW50IiwiZ2V0T3duZXJDb21wb25lbnRGb3IiLCJwYWdlQ29udHJvbGxlciIsImdldFJvb3RDb250cm9sbGVyIiwiSG9va1N1cHBvcnQiLCJpbml0Q29udHJvbGxlckV4dGVuc2lvbkhvb2tIYW5kbGVycyIsInVwZGF0ZU5vblRhYmxlU3ViU2VjdGlvbkJhY2tncm91bmQiLCJhZGp1c3RtZW50UmVzdWx0cyIsImhhc1N0eWxlQ2xhc3MiLCJfcmVmIiwidGFibGVzQWRqdXN0ZWQiLCJyZW1vdmVTdHlsZUNsYXNzIiwiYWRkU3R5bGVDbGFzcyIsInZpc2libGVTdWJTZWN0aW9ucyIsImdldFZpc2libGVTdWJTZWN0aW9ucyIsInJlZHVjZSIsInJlc3VsdHMiLCJjb250ZW50IiwiZ2V0U2luZ2xlQ29udGVudCIsImFkanVzdEZvclNpbmdsZUNvbnRlbnQiLCJwdXNoIiwiZ2V0Vmlld0RhdGEiLCJzZWN0aW9uTGF5b3V0Iiwic2luZ2xlQ29udGVudCIsImlzQSIsImNoZWNrSWZOb3Rlc1JldXNlQ29tcG9uZW50Iiwic2luZ2xlQ29udGVudFRhYmxlQWRqdXN0ZWQiLCJGUE1IZWxwZXIiLCJsb2FkTW9kdWxlQW5kQ2FsbE1ldGhvZCIsImNoZWNrQW5kQWRqdXN0VGl0bGVzIiwiTG9nIiwiZGVidWciLCJnZXRJZCIsImluY2x1ZGVzIiwic2luZ2xlU3ViU2VjdGlvblRhYmxlQWRqdXN0ZWQiLCJhZGp1c3RTZWN0aW9uQ29udGVudFdpdGhUaXRsZSIsInN1YnNlY3Rpb24iLCJibG9ja3MiLCJnZXRBZ2dyZWdhdGlvbiIsInNlY3Rpb25Gcm9tUmVmZXJlbmNlRmFjZXQiLCJTdWJTZWN0aW9uIiwic2hvd1RpdGxlIiwiZ2V0TWFpbkNvbnRlbnQiLCJGdW5jdGlvbiIsImFkanVzdG1lbnRQcm9wcyIsInNlY3Rpb25mcm9tQ29sbGVjdGlvbkZhY2V0IiwiVGl0bGUiLCJnZXRWaXNpYmxlIiwiZ2V0U2VjdGlvblRpdGxlIiwidGl0bGUiLCJnZXRUaXRsZSIsInNlY3Rpb25EZXRhaWxzIiwiY2xhc3Nlc1RvQWRkIiwiU2V0Iiwic2VjdGlvbk9ubHlDb250ZW50IiwiY29udGVudFJvbGUiLCJnZXRTZWN0aW9uQ29udGVudFJvbGUiLCJpbmZvRnJvbVByb3ZpZGVyIiwiZ2V0RGF0YUZyb21Qcm92aWRlciIsInNldFRpdGxlIiwic2V0U2hvd1RpdGxlIiwiYWRkIiwiZ2V0VGV4dCIsInNldFZpc2libGUiLCJzZW5kRGF0YVRvQ29uc3VtZXIiLCJoYXNNdWx0aXBsZVN1YnNlY3Rpb25zIiwidGl0bGVMZXZlbCIsImdldFRpdGxlTGV2ZWwiLCJoZWFkZXJTdHlsZSIsIm11bHRpcGxlU3ViU2VjdGlvbnNXaXRoUmV1c2VDb21wb25lbnQiLCJzZXRUZXh0Iiwic2V0VGl0bGVTdHlsZSIsInNldExldmVsIiwidkJveEl0ZW1zIiwiZ2V0SXRlbXMiLCJ2Qm94SXRlbSIsImhlYWRlclRvb2xiYXIiLCJnZXRDb250ZW50IiwiY29udHJvbCIsIm5vdGVzVGl0bGUiLCJBcnJheSIsImZyb20iLCJoYXMiLCJPYmplY3RQYWdlU2VjdGlvbiIsIl9hcHBseURlY29yYXRlZERlc2NyaXB0b3IiLCJjb25maWd1cmFibGUiLCJlbnVtZXJhYmxlIiwid3JpdGFibGUiLCJpbml0aWFsaXplciJdLCJzb3VyY2VSb290IjoiLiIsInNvdXJjZXMiOlsiU2VjdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgTG9nIGZyb20gXCJzYXAvYmFzZS9Mb2dcIjtcbmltcG9ydCB0eXBlIHsgUHJvcGVydGllc09mIH0gZnJvbSBcInNhcC9mZS9iYXNlL0NsYXNzU3VwcG9ydFwiO1xuaW1wb3J0IHsgZGVmaW5lVUk1Q2xhc3MsIG1peGluLCBwcm9wZXJ0eSB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCAqIGFzIEhvb2tTdXBwb3J0IGZyb20gXCJzYXAvZmUvYmFzZS9Ib29rU3VwcG9ydFwiO1xuaW1wb3J0IHR5cGUgeyBGRVZpZXcgfSBmcm9tIFwic2FwL2ZlL2NvcmUvQmFzZUNvbnRyb2xsZXJcIjtcbmltcG9ydCBDb21tb25VdGlscyBmcm9tIFwic2FwL2ZlL2NvcmUvQ29tbW9uVXRpbHNcIjtcbmltcG9ydCB0eXBlIFRlbXBsYXRlQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9UZW1wbGF0ZUNvbXBvbmVudFwiO1xuaW1wb3J0IHR5cGUgeyBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01hbmlmZXN0U2V0dGluZ3NcIjtcbmltcG9ydCBGUE1IZWxwZXIgZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvRlBNSGVscGVyXCI7XG5pbXBvcnQgdHlwZSBJU2luZ2xlU2VjdGlvbkNvbnRyaWJ1dG9yIGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL3NlY3Rpb24vSVNpbmdsZVNlY3Rpb25Db250cmlidXRvclwiO1xuaW1wb3J0IFNlY3Rpb25TdGF0ZUhhbmRsZXIgZnJvbSBcInNhcC9mZS9tYWNyb3MvY29udHJvbHMvc2VjdGlvbi9taXhpbi9TZWN0aW9uU3RhdGVIYW5kbGVyXCI7XG5pbXBvcnQgdHlwZSBTdWJTZWN0aW9uQmxvY2sgZnJvbSBcInNhcC9mZS90ZW1wbGF0ZXMvT2JqZWN0UGFnZS9jb250cm9scy9TdWJTZWN0aW9uQmxvY2tcIjtcbmltcG9ydCB0eXBlIE92ZXJmbG93VG9vbGJhciBmcm9tIFwic2FwL20vT3ZlcmZsb3dUb29sYmFyXCI7XG5pbXBvcnQgdHlwZSBUaXRsZSBmcm9tIFwic2FwL20vVGl0bGVcIjtcbmltcG9ydCB0eXBlIFZCb3ggZnJvbSBcInNhcC9tL1ZCb3hcIjtcbmltcG9ydCB0eXBlIE1hbmFnZWRPYmplY3QgZnJvbSBcInNhcC91aS9iYXNlL01hbmFnZWRPYmplY3RcIjtcbmltcG9ydCB0eXBlIHsgJE1hbmFnZWRPYmplY3RTZXR0aW5ncyB9IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgQ29tcG9uZW50IGZyb20gXCJzYXAvdWkvY29yZS9Db21wb25lbnRcIjtcbmltcG9ydCB0eXBlIER5bmFtaWNTaWRlQ29udGVudCBmcm9tIFwic2FwL3VpL2xheW91dC9EeW5hbWljU2lkZUNvbnRlbnRcIjtcbmltcG9ydCB0eXBlIHsgJE9iamVjdFBhZ2VTZWN0aW9uU2V0dGluZ3MgfSBmcm9tIFwic2FwL3V4YXAvT2JqZWN0UGFnZVNlY3Rpb25cIjtcbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tcmVzdHJpY3RlZC1pbXBvcnRzXG5pbXBvcnQgT2JqZWN0UGFnZVNlY3Rpb24gZnJvbSBcInNhcC91eGFwL09iamVjdFBhZ2VTZWN0aW9uXCI7XG5pbXBvcnQgdHlwZSBPYmplY3RQYWdlU3ViU2VjdGlvbiBmcm9tIFwic2FwL3V4YXAvT2JqZWN0UGFnZVN1YlNlY3Rpb25cIjtcbmltcG9ydCB0eXBlIFN1YlNlY3Rpb24gZnJvbSBcIi4vc2VjdGlvbi9TdWJTZWN0aW9uXCI7XG5cbnR5cGUgQWRqdXN0bWVudFByb3BzID0ge1xuXHR0YWJsZXNBZGp1c3RlZD86IGJvb2xlYW47XG59O1xuXG50eXBlIEFkanVzdG1lbnRSZXN1bHRzID0ge1xuXHRzdWJTZWN0aW9uOiBPYmplY3RQYWdlU3ViU2VjdGlvbjtcbn0gJiBBZGp1c3RtZW50UHJvcHM7XG5cbkBkZWZpbmVVSTVDbGFzcyhcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuU2VjdGlvblwiLCB7IGRlc2lnbnRpbWU6IFwic2FwL3V4YXAvZGVzaWdudGltZS9PYmplY3RQYWdlU2VjdGlvbi5kZXNpZ250aW1lXCIgfSlcbkBtaXhpbihTZWN0aW9uU3RhdGVIYW5kbGVyKVxuY2xhc3MgU2VjdGlvbiBleHRlbmRzIE9iamVjdFBhZ2VTZWN0aW9uIHtcblx0Ly8gVE9ETzogdGhpcyBwcm9iYWJseSBtYWtlcyBzZW5zZSB0byBiZSBhbiBldmVudC4gQnV0IHdlIGNhbiBhZGRyZXNzIHRoaXMgbGF0ZXIuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0b25TZWN0aW9uTG9hZGVkITogc3RyaW5nO1xuXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwiYm9vbGVhblwiIH0pXG5cdHVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzITogYm9vbGVhbjtcblxuXHQvKipcblx0ICogUGF0aCB0byB0aGUgYXBwbHkgc3RhdGUgaGFuZGxlciB0byBiZSBjYWxsZWQgZHVyaW5nIHN0YXRlIGludGVyYWN0aW9ucy5cblx0ICovXG5cdEBwcm9wZXJ0eSh7IHR5cGU6IFwic3RyaW5nXCIgfSlcblx0YXBwbHlTdGF0ZUhhbmRsZXI/OiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFBhdGggdG8gdGhlIHJldHJpZXZlIHN0YXRlIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGR1cmluZyBzdGF0ZSBpbnRlcmFjdGlvbnMuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdHJldHJpZXZlU3RhdGVIYW5kbGVyPzogc3RyaW5nO1xuXG5cdGNvbnN0cnVjdG9yKHByb3BlcnRpZXM6ICRPYmplY3RQYWdlU2VjdGlvblNldHRpbmdzICYgUHJvcGVydGllc09mPFNlY3Rpb24+LCBvdGhlcnM/OiAkT2JqZWN0UGFnZVNlY3Rpb25TZXR0aW5ncykge1xuXHRcdHN1cGVyKHByb3BlcnRpZXMgYXMgdW5rbm93biBhcyBzdHJpbmcsIG90aGVycyk7XG5cdFx0dGhpcy5yZWdpc3RlckRlbGVnYXRlKCk7XG5cdH1cblxuXHRfc2VjdGlvbkxvYWRNZXRob2ROYW1lOiBzdHJpbmcgfCB1bmRlZmluZWQ7XG5cblx0X3NlY3Rpb25Mb2FkTW9kdWxlTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdHByaXZhdGUgcmVnaXN0ZXJEZWxlZ2F0ZSgpOiB2b2lkIHtcblx0XHRjb25zdCBldmVudERlbGVnYXRlcyA9IHtcblx0XHRcdG9uQWZ0ZXJSZW5kZXJpbmc6ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0Y29uc3QgdmlldyA9IENvbW1vblV0aWxzLmdldFRhcmdldFZpZXcodGhpcyk7XG5cdFx0XHRcdGxldCBzdWJTZWN0aW9ucyA9IHRoaXMuZ2V0U3ViU2VjdGlvbnMoKTtcblx0XHRcdFx0aWYgKHN1YlNlY3Rpb25zLmxlbmd0aCkge1xuXHRcdFx0XHRcdHN1YlNlY3Rpb25zLmZvckVhY2goKHN1YlNlY3Rpb246IFN1YlNlY3Rpb24pID0+IHtcblx0XHRcdFx0XHRcdC8qIHdlIGNoZWNrIGluZGl2aWR1YWwgc3Vic2VjdGlvbiBmb3IgYmxvY2tzLiBJZiBub3QgYXZhaWxhYmxlIHdlIHdhaXQgZm9yIHRoZW0gdG8gYmUgYWRkZWQob25CZWZvcmVSZW5kZXJpbmcpIGJlZm9yZSB0cmlnZ2VyaW5nIHRpdGxlIG1lcmdlIGxvZ2ljcyAqL1xuXHRcdFx0XHRcdFx0aWYgKHN1YlNlY3Rpb24uZ2V0QmxvY2tzKCk/Lmxlbmd0aCA9PT0gMCkge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBzdWJTZWN0aW9uRXZlbnREZWxlZ2F0ZSA9IHtcblx0XHRcdFx0XHRcdFx0XHRvbkJlZm9yZVJlbmRlcmluZzogKCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdFx0XHRcdFx0aWYgKHRoaXMudXNlU2luZ2xlVGV4dEFyZWFGaWVsZEFzTm90ZXMpIHtcblx0XHRcdFx0XHRcdFx0XHRcdFx0dGhpcy5jaGVja0FuZEFkanVzdFNlY3Rpb25Db250ZW50Rm9yVGV4dEFyZWEoKTtcblx0XHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RGb3JTaW5nbGVDb250ZW50KHZpZXcpO1xuXHRcdFx0XHRcdFx0XHRcdFx0c3ViU2VjdGlvbi5yZW1vdmVFdmVudERlbGVnYXRlKHN1YlNlY3Rpb25FdmVudERlbGVnYXRlKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRcdHN1YlNlY3Rpb24uYWRkRXZlbnREZWxlZ2F0ZShzdWJTZWN0aW9uRXZlbnREZWxlZ2F0ZSk7XG5cdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRpZiAodGhpcy51c2VTaW5nbGVUZXh0QXJlYUZpZWxkQXNOb3Rlcykge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudEZvclRleHRBcmVhKCk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0dGhpcy5jaGVja0FuZEFkanVzdEZvclNpbmdsZUNvbnRlbnQodmlldyk7XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0aWYgKHRoaXMudXNlU2luZ2xlVGV4dEFyZWFGaWVsZEFzTm90ZXMpIHtcblx0XHRcdFx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudEZvclRleHRBcmVhKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RGb3JTaW5nbGVDb250ZW50KHZpZXcpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fTtcblxuXHRcdHRoaXMuYWRkRXZlbnREZWxlZ2F0ZShldmVudERlbGVnYXRlcyk7XG5cdH1cblxuXHRzZXRPblNlY3Rpb25Mb2FkZWQob25TZWN0aW9uTG9hZGVkOiBzdHJpbmcpOiB2b2lkIHtcblx0XHRjb25zdCBsb2FkU3BsaXQgPSBvblNlY3Rpb25Mb2FkZWQuc3BsaXQoXCIuXCIpO1xuXHRcdHRoaXMuX3NlY3Rpb25Mb2FkTWV0aG9kTmFtZSA9IGxvYWRTcGxpdD8ucG9wKCk7XG5cdFx0dGhpcy5fc2VjdGlvbkxvYWRNb2R1bGVOYW1lID0gbG9hZFNwbGl0Py5qb2luKFwiL1wiKTtcblx0XHR0aGlzLnNldFByb3BlcnR5KFwib25TZWN0aW9uTG9hZGVkXCIsIG9uU2VjdGlvbkxvYWRlZCk7XG5cdH1cblxuXHQvLyBUT0RPOiBDaGVjayBpZiBvbkFmdGVyUmVuZGVyaW5nIGNhbiBiZSB1c2VkIGluc3RlYWQgb2YgYXBwbHlTZXR0aW5ncy5cblx0YXBwbHlTZXR0aW5ncyhtU2V0dGluZ3M6ICRNYW5hZ2VkT2JqZWN0U2V0dGluZ3MsIG9TY29wZT86IG9iamVjdCk6IHRoaXMge1xuXHRcdHN1cGVyLmFwcGx5U2V0dGluZ3MobVNldHRpbmdzLCBvU2NvcGUpO1xuXHRcdGNvbnN0IHRlbXBsYXRlQ29tcG9uZW50ID0gQ29tcG9uZW50LmdldE93bmVyQ29tcG9uZW50Rm9yKHRoaXMpIGFzIFRlbXBsYXRlQ29tcG9uZW50O1xuXHRcdGNvbnN0IHBhZ2VDb250cm9sbGVyID0gdGVtcGxhdGVDb21wb25lbnQuZ2V0Um9vdENvbnRyb2xsZXIoKTtcblx0XHRpZiAocGFnZUNvbnRyb2xsZXIpIHtcblx0XHRcdEhvb2tTdXBwb3J0LmluaXRDb250cm9sbGVyRXh0ZW5zaW9uSG9va0hhbmRsZXJzKHRoaXMsIHBhZ2VDb250cm9sbGVyKTtcblx0XHR9XG5cdFx0cmV0dXJuIHRoaXM7XG5cdH1cblxuXHQvKipcblx0ICogVXBkYXRlIHN1YnNlY3Rpb24gYmFja2dyb3VuZCBjbGFzcyBiYXNlZCBvbiB0YWJsZSBhZGp1c3RtZW50cyBtYWRlLlxuXHQgKiBAcGFyYW0gYWRqdXN0bWVudFJlc3VsdHMgQXJyYXkgb2YgYWRqdXN0bWVudCByZXN1bHRzXG5cdCAqL1xuXHR1cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKGFkanVzdG1lbnRSZXN1bHRzOiBBZGp1c3RtZW50UmVzdWx0c1tdKTogdm9pZCB7XG5cdFx0aWYgKHRoaXMuaGFzU3R5bGVDbGFzcyhcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIikpIHtcblx0XHRcdGFkanVzdG1lbnRSZXN1bHRzLmZvckVhY2goKHsgc3ViU2VjdGlvbiwgdGFibGVzQWRqdXN0ZWQgfSkgPT4ge1xuXHRcdFx0XHRpZiAodGFibGVzQWRqdXN0ZWQpIHtcblx0XHRcdFx0XHRzdWJTZWN0aW9uLnJlbW92ZVN0eWxlQ2xhc3MoXCJzYXBVaUFkanVzdGVkU2VjdGlvblN1YnNlY3Rpb25XaXRob3V0VGFibGVcIik7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0c3ViU2VjdGlvbi5hZGRTdHlsZUNsYXNzKFwic2FwVWlBZGp1c3RlZFNlY3Rpb25TdWJzZWN0aW9uV2l0aG91dFRhYmxlXCIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBtZXRob2QgbG9vcHMgdGhyb3VnaCBhbGwgdGhlIHZpc2libGUgc3Vic2VjdGlvbnMgYW5kIHRyaWdnZXJzIHRoZSB0ZXh0IGFyZWEgZmxvdyBpZiB0aGF0cyB0aGUgb25seSBzaW5nbGUgY29udHJvbCB3aXRoaW4gdGhlIHNlY3Rpb24uXG5cdCAqL1xuXHRjaGVja0FuZEFkanVzdFNlY3Rpb25Db250ZW50Rm9yVGV4dEFyZWEoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlzaWJsZVN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRjb25zdCBhZGp1c3RtZW50UmVzdWx0cyA9IHZpc2libGVTdWJTZWN0aW9ucy5yZWR1Y2UoKHJlc3VsdHM6IEFkanVzdG1lbnRSZXN1bHRzW10sIHN1YlNlY3Rpb246IE9iamVjdFBhZ2VTdWJTZWN0aW9uKSA9PiB7XG5cdFx0XHRsZXQgdGFibGVzQWRqdXN0ZWQ7XG5cdFx0XHRjb25zdCBjb250ZW50ID0gdGhpcy5nZXRTaW5nbGVDb250ZW50KFtzdWJTZWN0aW9uXSk7XG5cdFx0XHRpZiAoY29udGVudCkge1xuXHRcdFx0XHR0YWJsZXNBZGp1c3RlZCA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50KS50YWJsZXNBZGp1c3RlZDtcblx0XHRcdH1cblx0XHRcdHJlc3VsdHMucHVzaCh7IHN1YlNlY3Rpb24sIHRhYmxlc0FkanVzdGVkIH0pO1xuXHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0fSwgW10pO1xuXHRcdHRoaXMudXBkYXRlTm9uVGFibGVTdWJTZWN0aW9uQmFja2dyb3VuZChhZGp1c3RtZW50UmVzdWx0cyk7XG5cdH1cblxuXHRjaGVja0FuZEFkanVzdEZvclNpbmdsZUNvbnRlbnQodmlldzogRkVWaWV3KTogdm9pZCB8IFByb21pc2U8dW5rbm93bj4ge1xuXHRcdGlmICgodmlldz8uZ2V0Vmlld0RhdGEoKSBhcyBPYmplY3RQYWdlTWFuaWZlc3RTZXR0aW5ncyk/LnNlY3Rpb25MYXlvdXQgPT09IFwiUGFnZVwiKSB7XG5cdFx0XHRjb25zdCBzaW5nbGVDb250ZW50ID0gdGhpcy5nZXRTaW5nbGVDb250ZW50KCk7XG5cdFx0XHRpZiAoXG5cdFx0XHRcdHNpbmdsZUNvbnRlbnQgJiZcblx0XHRcdFx0KHNpbmdsZUNvbnRlbnQuaXNBKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5zZWN0aW9uLklTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3JcIikgfHxcblx0XHRcdFx0XHR0aGlzLmNoZWNrSWZOb3Rlc1JldXNlQ29tcG9uZW50KHNpbmdsZUNvbnRlbnQpKVxuXHRcdFx0KSB7XG5cdFx0XHRcdGNvbnN0IHsgdGFibGVzQWRqdXN0ZWQ6IHNpbmdsZUNvbnRlbnRUYWJsZUFkanVzdGVkIH0gPSB0aGlzLmFkanVzdEZvclNpbmdsZUNvbnRlbnQoc2luZ2xlQ29udGVudCk7XG5cdFx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRcdFx0dGhpcy51cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKFt7IHN1YlNlY3Rpb246IHN1YlNlY3Rpb25zWzBdLCB0YWJsZXNBZGp1c3RlZDogc2luZ2xlQ29udGVudFRhYmxlQWRqdXN0ZWQgfV0pO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLl9zZWN0aW9uTG9hZE1vZHVsZU5hbWUgJiYgdGhpcy5fc2VjdGlvbkxvYWRNZXRob2ROYW1lKSB7XG5cdFx0XHRcdHJldHVybiBGUE1IZWxwZXIubG9hZE1vZHVsZUFuZENhbGxNZXRob2QodGhpcy5fc2VjdGlvbkxvYWRNb2R1bGVOYW1lLCB0aGlzLl9zZWN0aW9uTG9hZE1ldGhvZE5hbWUsIHZpZXcsIHRoaXMpO1xuXHRcdFx0fSBlbHNlIGlmICh0aGlzLmdldFN1YlNlY3Rpb25zKCkubGVuZ3RoID4gMSkge1xuXHRcdFx0XHQvLyBjYWxsIG1lcmdlIHRpdGxlIGxvZ2ljIGZvciBzdWJzZWN0aW9uc1xuXHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0VGl0bGVzKCk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRMb2cuZGVidWcoXCJTZWN0aW9uIGNhbm5vdCBiZSBhZGp1c3RlZCBmb3Igc2luZ2xlIGNvbnRlbnQgOiBJbnRlcmZhY2UgJ0lTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3InIGlzIG5vdCBpbXBsZW1lbnRlZFwiKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGhpcy5jaGVja0FuZEFkanVzdFRpdGxlcygpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKlxuXHQgKiBAcGFyYW0gc2luZ2xlQ29udGVudCBPYmplY3Qgb2YgdGhlIGNvbnRlbnQgcHJlc2VudCB3aXRoaW4gdGhlIHNlY3Rpb24uXG5cdCAqIEByZXR1cm5zIFRydWUgaWYgdGhlIGNvbnRlbnQgcHJlc2VudCBpcyBhIG5vdGVzIHJldXNlIGNvbXBvbmVudFxuXHQgKi9cblx0Y2hlY2tJZk5vdGVzUmV1c2VDb21wb25lbnQoc2luZ2xlQ29udGVudDogTWFuYWdlZE9iamVjdCk6IGJvb2xlYW4ge1xuXHRcdGlmIChzaW5nbGVDb250ZW50LmlzQShcInNhcC5tLlZCb3hcIikgJiYgc2luZ2xlQ29udGVudC5nZXRJZCgpLmluY2x1ZGVzKFwiTm90ZVNlY3Rpb25cIikpIHtcblx0XHRcdHJldHVybiB0cnVlO1xuXHRcdH1cblx0XHRyZXR1cm4gZmFsc2U7XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBjaGVja3MgZm9yIHRoZSB2aXNpYmxlIHN1YnNlY3Rpb25zIGFuZCBjaGVja3MgZm9yIHRoZSBjb2xsZWN0aW9uIGZhY2V0IGxhYmVsLCBJZiBwcmVzZW50IHRoZW4gd2UgbWVyZ2UgdGhlIHRpdGxlIGFuZCB0aGlzIGZ1bmN0aW9uIGhhbmRsZXMgdGhlIER5bmFtaWNTaWRlQ29uZW50IGFzIHdlbGwuXG5cdCAqL1xuXHRjaGVja0FuZEFkanVzdFRpdGxlcygpOiB2b2lkIHtcblx0XHRjb25zdCB2aXNpYmxlU3ViU2VjdGlvbnMgPSB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpO1xuXHRcdGlmICh2aXNpYmxlU3ViU2VjdGlvbnMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRjb25zdCB7IHRhYmxlc0FkanVzdGVkOiBzaW5nbGVTdWJTZWN0aW9uVGFibGVBZGp1c3RlZCB9ID0gdGhpcy5hZGp1c3RTZWN0aW9uQ29udGVudFdpdGhUaXRsZSh2aXNpYmxlU3ViU2VjdGlvbnNbMF0pO1xuXHRcdFx0dGhpcy51cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKFt7IHN1YlNlY3Rpb246IHZpc2libGVTdWJTZWN0aW9uc1swXSwgdGFibGVzQWRqdXN0ZWQ6IHNpbmdsZVN1YlNlY3Rpb25UYWJsZUFkanVzdGVkIH1dKTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0Y29uc3QgYWRqdXN0bWVudFJlc3VsdHMgPSB2aXNpYmxlU3ViU2VjdGlvbnMucmVkdWNlKChyZXN1bHRzOiBBZGp1c3RtZW50UmVzdWx0c1tdLCBzdWJzZWN0aW9uOiBPYmplY3RQYWdlU3ViU2VjdGlvbikgPT4ge1xuXHRcdFx0XHRsZXQgdGFibGVzQWRqdXN0ZWQ7XG5cdFx0XHRcdGxldCBjb250ZW50O1xuXHRcdFx0XHRjb25zdCBibG9ja3MgPSBzdWJzZWN0aW9uLmdldEJsb2NrcygpO1xuXHRcdFx0XHQvLyBJbiBjYXNlIG9mIFRhYiBsYXlvdXQsIHdlIG5lZWQgdG8gY2hlY2sgaWYgdGhlIHNlY3Rpb24gaGFzIG9ubHkgb25lIHN1YnNlY3Rpb24gYW5kIHRoYXQgc3Vic2VjdGlvbiBoYXMgb25seSBvbmUgY29udHJvbFxuXHRcdFx0XHQvLyBJbiBjYXNlIG9mIGNvbGxlY3Rpb24gRmFjZXQsIHRoZSBmaXJzdCBibG9jayB3aWxsIGJlIFRpdGxlIGFuZCB0aGUgc2Vjb25kIGJsb2NrIHdpbGwgYmUgU3ViU2VjdGlvbkJsb2NrXG5cdFx0XHRcdGlmIChibG9ja3MubGVuZ3RoID09PSAyICYmIGJsb2Nrc1sxXT8uaXNBPFN1YlNlY3Rpb25CbG9jaz4oXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuY29udHJvbHMuU3ViU2VjdGlvbkJsb2NrXCIpKSB7XG5cdFx0XHRcdFx0dGFibGVzQWRqdXN0ZWQgPSB0aGlzLmFkanVzdFNlY3Rpb25Db250ZW50V2l0aFRpdGxlKHN1YnNlY3Rpb24pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHR9XG5cdFx0XHRcdC8vIEluIGNhc2Ugb2YgUmVmZXJlbmNlIEZhY2V0LCB0aGUgZmlyc3QgYmxvY2sgd2lsbCBiZSBTdWJTZWN0aW9uQmxvY2tcblx0XHRcdFx0ZWxzZSBpZiAoYmxvY2tzLmxlbmd0aCA9PT0gMSAmJiBibG9ja3NbMF0/LmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKSkge1xuXHRcdFx0XHRcdGNvbnRlbnQgPSBibG9ja3NbMF0uZ2V0QWdncmVnYXRpb24oXCJjb250ZW50XCIpIGFzIE1hbmFnZWRPYmplY3Q7XG5cdFx0XHRcdFx0aWYgKGNvbnRlbnQuaXNBKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5zZWN0aW9uLklTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3JcIikpIHtcblx0XHRcdFx0XHRcdHRhYmxlc0FkanVzdGVkID0gdGhpcy5hZGp1c3RGb3JTaW5nbGVDb250ZW50KGNvbnRlbnQsIHtcblx0XHRcdFx0XHRcdFx0c2VjdGlvbkZyb21SZWZlcmVuY2VGYWNldDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0U3ViU2VjdGlvbjogc3Vic2VjdGlvbixcblx0XHRcdFx0XHRcdFx0c2hvd1RpdGxlOiB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpLmxlbmd0aCA+IDFcblx0XHRcdFx0XHRcdH0pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHRcdH0gZWxzZSBpZiAoKGNvbnRlbnQgYXMgRHluYW1pY1NpZGVDb250ZW50KT8uaXNBKFwic2FwLnVpLmxheW91dC5EeW5hbWljU2lkZUNvbnRlbnRcIikpIHtcblx0XHRcdFx0XHRcdGNvbnRlbnQgPVxuXHRcdFx0XHRcdFx0XHQoY29udGVudCBhcyBEeW5hbWljU2lkZUNvbnRlbnQpLmdldE1haW5Db250ZW50IGluc3RhbmNlb2YgRnVuY3Rpb24gJiZcblx0XHRcdFx0XHRcdFx0KGNvbnRlbnQgYXMgRHluYW1pY1NpZGVDb250ZW50KT8uZ2V0TWFpbkNvbnRlbnQoKTtcblx0XHRcdFx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnRlbnQgPSBjb250ZW50WzBdO1xuXHRcdFx0XHRcdFx0XHR0YWJsZXNBZGp1c3RlZCA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50LCB7XG5cdFx0XHRcdFx0XHRcdFx0c2VjdGlvbkZyb21SZWZlcmVuY2VGYWNldDogdHJ1ZSxcblx0XHRcdFx0XHRcdFx0XHRTdWJTZWN0aW9uOiBzdWJzZWN0aW9uXG5cdFx0XHRcdFx0XHRcdH0pLnRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH1cblx0XHRcdFx0fVxuXHRcdFx0XHRyZXN1bHRzLnB1c2goeyBzdWJTZWN0aW9uOiBzdWJzZWN0aW9uLCB0YWJsZXNBZGp1c3RlZCB9KTtcblx0XHRcdFx0cmV0dXJuIHJlc3VsdHM7XG5cdFx0XHR9LCBbXSk7XG5cdFx0XHR0aGlzLnVwZGF0ZU5vblRhYmxlU3ViU2VjdGlvbkJhY2tncm91bmQoYWRqdXN0bWVudFJlc3VsdHMpO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBUaGlzIGZ1bmN0aW9uIGNoZWNrcyBmb3IgdGhlIGZvciB0aGUgY29sbGVjdGlvbiBmYWNldCBsYWJlbCxJZiBwcmVzZW50IHRoZW4gd2UgbWVyZ2UgdGhlIHRpdGxlLlxuXHQgKiBAcGFyYW0gc3Vic2VjdGlvbiBPYmplY3RQYWdlIFN1YlNlY3Rpb25cblx0ICovXG5cdGFkanVzdFNlY3Rpb25Db250ZW50V2l0aFRpdGxlKHN1YnNlY3Rpb246IE9iamVjdFBhZ2VTdWJTZWN0aW9uKTogQWRqdXN0bWVudFJlc3VsdHMge1xuXHRcdGxldCBhZGp1c3RtZW50UHJvcHM6IEFkanVzdG1lbnRQcm9wcyA9IHt9O1xuXHRcdGNvbnN0IGJsb2NrcyA9IHN1YnNlY3Rpb24uZ2V0QmxvY2tzKCk7XG5cdFx0bGV0IGNvbnRlbnQ7XG5cdFx0aWYgKGJsb2Nrcy5sZW5ndGggPT09IDIgJiYgYmxvY2tzWzFdLmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKSkge1xuXHRcdFx0Y29udGVudCA9IGJsb2Nrc1sxXS5nZXRBZ2dyZWdhdGlvbihcImNvbnRlbnRcIikgYXMgTWFuYWdlZE9iamVjdDtcblx0XHRcdGlmIChjb250ZW50ICYmIGNvbnRlbnQuaXNBKFwic2FwLmZlLm1hY3Jvcy5jb250cm9scy5zZWN0aW9uLklTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3JcIikgJiYgYmxvY2tzWzBdLmlzQTxUaXRsZT4oXCJzYXAubS5UaXRsZVwiKSkge1xuXHRcdFx0XHRhZGp1c3RtZW50UHJvcHMgPSB0aGlzLmFkanVzdEZvclNpbmdsZUNvbnRlbnQoY29udGVudCwge1xuXHRcdFx0XHRcdHNlY3Rpb25mcm9tQ29sbGVjdGlvbkZhY2V0OiB0cnVlLFxuXHRcdFx0XHRcdFRpdGxlOiBibG9ja3NbMF0sXG5cdFx0XHRcdFx0U3ViU2VjdGlvbjogc3Vic2VjdGlvbixcblx0XHRcdFx0XHRzaG93VGl0bGU6IHRoaXMuZ2V0VmlzaWJsZVN1YlNlY3Rpb25zKCkubGVuZ3RoID4gMVxuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSBpZiAoY29udGVudCAmJiBjb250ZW50LmlzQTxEeW5hbWljU2lkZUNvbnRlbnQ+KFwic2FwLnVpLmxheW91dC5EeW5hbWljU2lkZUNvbnRlbnRcIikpIHtcblx0XHRcdFx0Y29udGVudCA9IGNvbnRlbnQuZ2V0TWFpbkNvbnRlbnQgaW5zdGFuY2VvZiBGdW5jdGlvbiAmJiBjb250ZW50Py5nZXRNYWluQ29udGVudCgpO1xuXHRcdFx0XHRpZiAoY29udGVudCAmJiBjb250ZW50Lmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRcdGNvbnRlbnQgPSBjb250ZW50WzBdO1xuXHRcdFx0XHRcdGFkanVzdG1lbnRQcm9wcyA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50LCB7XG5cdFx0XHRcdFx0XHRzZWN0aW9uZnJvbUNvbGxlY3Rpb25GYWNldDogdHJ1ZSxcblx0XHRcdFx0XHRcdFRpdGxlOiBibG9ja3NbMF0gYXMgVGl0bGUsXG5cdFx0XHRcdFx0XHRTdWJTZWN0aW9uOiBzdWJzZWN0aW9uXG5cdFx0XHRcdFx0fSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdFx0cmV0dXJuIHsgc3ViU2VjdGlvbjogc3Vic2VjdGlvbiwgdGFibGVzQWRqdXN0ZWQ6IGFkanVzdG1lbnRQcm9wcy50YWJsZXNBZGp1c3RlZCB9O1xuXHR9XG5cblx0Z2V0U2luZ2xlQ29udGVudCh2aXNpYmxlU3ViU2VjdGlvbnM/OiBPYmplY3RQYWdlU3ViU2VjdGlvbltdKTogTWFuYWdlZE9iamVjdCB8IHVuZGVmaW5lZCB7XG5cdFx0Y29uc3Qgc3ViU2VjdGlvbnMgPSB2aXNpYmxlU3ViU2VjdGlvbnMgPz8gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRpZiAoc3ViU2VjdGlvbnMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRjb25zdCBibG9ja3MgPSBzdWJTZWN0aW9uc1swXS5nZXRCbG9ja3MoKTtcblx0XHRcdGlmIChibG9ja3MubGVuZ3RoID09PSAxICYmIGJsb2Nrc1swXS5pc0E8U3ViU2VjdGlvbkJsb2NrPihcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdWJTZWN0aW9uQmxvY2tcIikpIHtcblx0XHRcdFx0cmV0dXJuIGJsb2Nrc1swXS5nZXRBZ2dyZWdhdGlvbihcImNvbnRlbnRcIikgYXMgTWFuYWdlZE9iamVjdDtcblx0XHRcdH1cblx0XHRcdC8vSWYgdGhlcmUgaXMgYW4gaW52aXNpYmxlIHRleHQgYmVmb3JlIGEgc3RhbmRhcmQgYnVpbGRpbmcgYmxvY2ssIHRoZW4gYWxzbyB0aGUgbWVyZ2UgdGl0bGUgbG9naWMgc2hvdWxkIGJlIGFwcGxpZWQgYXMgaXRzIHN0aWxsIGEgc2luZ2xlIGNvbnRlbnRcblx0XHRcdGVsc2UgaWYgKFxuXHRcdFx0XHRibG9ja3MubGVuZ3RoID09PSAyICYmXG5cdFx0XHRcdGJsb2Nrc1swXS5pc0EoXCJzYXAudWkuY29yZS5JbnZpc2libGVUZXh0XCIpICYmXG5cdFx0XHRcdGJsb2Nrc1sxXS5pc0E8U3ViU2VjdGlvbkJsb2NrPihcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdWJTZWN0aW9uQmxvY2tcIilcblx0XHRcdClcblx0XHRcdFx0cmV0dXJuIGJsb2Nrc1sxXS5nZXRBZ2dyZWdhdGlvbihcImNvbnRlbnRcIikgYXMgTWFuYWdlZE9iamVjdDtcblx0XHR9XG5cdH1cblxuXHRnZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTogT2JqZWN0UGFnZVN1YlNlY3Rpb25bXSB7XG5cdFx0Y29uc3Qgc3ViU2VjdGlvbnMgPSB0aGlzLmdldFN1YlNlY3Rpb25zKCk7XG5cdFx0cmV0dXJuIHN1YlNlY3Rpb25zLnJlZHVjZSgodmlzaWJsZVN1YlNlY3Rpb25zOiBPYmplY3RQYWdlU3ViU2VjdGlvbltdLCBzdWJTZWN0aW9uKSA9PiB7XG5cdFx0XHRpZiAoc3ViU2VjdGlvbi5nZXRWaXNpYmxlKCkpIHtcblx0XHRcdFx0dmlzaWJsZVN1YlNlY3Rpb25zLnB1c2goc3ViU2VjdGlvbik7XG5cdFx0XHR9XG5cdFx0XHRyZXR1cm4gdmlzaWJsZVN1YlNlY3Rpb25zO1xuXHRcdH0sIFtdIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uW10pO1xuXHR9XG5cblx0Z2V0U2VjdGlvblRpdGxlKCk6IHN0cmluZyB7XG5cdFx0bGV0IHRpdGxlID0gdGhpcy5nZXRUaXRsZSgpO1xuXHRcdGlmICh0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0dGl0bGUgPSB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpWzBdLmdldFRpdGxlKCk7XG5cdFx0fVxuXHRcdHJldHVybiB0aXRsZTtcblx0fVxuXG5cdC8qKlxuXHQgKiBBZGp1c3QgdGhlIHNlY3Rpb24gYW5kIHN1YnNlY3Rpb24gYmFzZWQgb24gdGhlIGF2YWlsYWJsZSBjb250ZW50LlxuXHQgKiBAcGFyYW0gc2luZ2xlQ29udGVudCBDb250ZW50XG5cdCAqIEBwYXJhbSBzZWN0aW9uRGV0YWlscyBEZXRhaWxzXG5cdCAqIEByZXR1cm5zIElzIHRoZSBzZWN0aW9uIGFkanVzdGVkLlxuXHQgKi9cblx0YWRqdXN0Rm9yU2luZ2xlQ29udGVudChcblx0XHRzaW5nbGVDb250ZW50OiBNYW5hZ2VkT2JqZWN0LFxuXHRcdHNlY3Rpb25EZXRhaWxzPzogUmVjb3JkPHN0cmluZywgT2JqZWN0UGFnZVN1YlNlY3Rpb24gfCBUaXRsZSB8IGJvb2xlYW4+XG5cdCk6IEFkanVzdG1lbnRQcm9wcyB7XG5cdFx0Ly8gc2FwVWlUYWJsZU9uT2JqZWN0UGFnZUFkanVzdG1lbnRzRm9yU2VjdGlvbiBjbGFzcyBhdCBsZXZlbCBtYWtlcyBiYWNrZ3JvdW5kIG9mIHN1YnNlY3Rpb24gdGl0bGVzIHRyYW5zcGFyZW50LlxuXHRcdC8vIFRoaXMgdHJhbnNwYXJlbnQgYmFja2dyb3VuZCBpcyBwcm9wYWdhdGVkIHRvIGNvbnRlbnRzIHRoYXQgYXJlIGV4cGVjdGVkIHRvIHNob3cgb3BhcXVlIGJhY2tncm91bmRzIGJ5IGRlZmF1bHQuXG5cdFx0Ly8gV2UgbmVlZCB0byBhZGQgZXhjbHVzaW9uIGNsYXNzIFwic2FwVWlBZGp1c3RlZFNlY3Rpb25TdWJzZWN0aW9uV2l0aG91dFRhYmxlXCIgdG8gdGhlIHN1YnNlY3Rpb24gdGhhdCBkb2Vzbid0IG5lZWRcblx0XHRjb25zdCBjbGFzc2VzVG9BZGQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuXHRcdGNvbnN0IHNlY3Rpb25Pbmx5Q29udGVudCA9IHNpbmdsZUNvbnRlbnQgYXMgdW5rbm93biBhcyBJU2luZ2xlU2VjdGlvbkNvbnRyaWJ1dG9yO1xuXHRcdC8vIFRoaXMgZnVuY3Rpb24gd2lsbCBhbHNvIGJlIGNhbGxlZCBmcm9tIHRoZSBleHRlbnNpb25BUEkgYWxvbmcgd2l0aCBzb21lIGNvbnRyb2xzIGJ5IHRoZSBhcHBsaWNhdGlvbiBkZXZlbG9wZXIsIHRoZSBiZWxvdyBjaGVjayBpcyBhZGRlZCB0byBjb3ZlciB0aGUgY2FzZXMgd2hlcmUgdGhlIGNvbnRyb2xzIHBhc3NlZCBsaWtlIHNhcC5tLlRpdGxlIGFyZSBub3QgaW1wbGVtZW50aW5nIHRoZSBpbnRlcmZhY2Vcblx0XHRjb25zdCBjb250ZW50Um9sZSA9IHNlY3Rpb25Pbmx5Q29udGVudC5nZXRTZWN0aW9uQ29udGVudFJvbGUgJiYgc2VjdGlvbk9ubHlDb250ZW50LmdldFNlY3Rpb25Db250ZW50Um9sZSgpO1xuXHRcdGlmIChjb250ZW50Um9sZSA9PT0gXCJwcm92aWRlclwiKSB7XG5cdFx0XHRjb25zdCBpbmZvRnJvbVByb3ZpZGVyID1cblx0XHRcdFx0c2VjdGlvbk9ubHlDb250ZW50LmdldERhdGFGcm9tUHJvdmlkZXIgJiYgc2VjdGlvbk9ubHlDb250ZW50LmdldERhdGFGcm9tUHJvdmlkZXIodGhpcy51c2VTaW5nbGVUZXh0QXJlYUZpZWxkQXNOb3Rlcyk7XG5cdFx0XHRpZiAoaW5mb0Zyb21Qcm92aWRlciAmJiB0aGlzLmdldFRpdGxlKCkgPT09IGluZm9Gcm9tUHJvdmlkZXIudGl0bGUpIHtcblx0XHRcdFx0dGhpcy5zZXRUaXRsZShpbmZvRnJvbVByb3ZpZGVyLnRpdGxlKTtcblx0XHRcdFx0dGhpcy5zZXRTaG93VGl0bGUodHJ1ZSk7XG5cdFx0XHRcdC8vIFRPRE86IENoZWNrIGlmIHRoaXMgaXMgcmVhbGx5IG5lZWRlZD9cblx0XHRcdFx0Y2xhc3Nlc1RvQWRkLmFkZChcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIik7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChjb250ZW50Um9sZSA9PT0gXCJjb25zdW1lclwiKSB7XG5cdFx0XHRsZXQgdGl0bGUgPSB0aGlzLmdldFNlY3Rpb25UaXRsZSgpO1xuXHRcdFx0aWYgKHNlY3Rpb25EZXRhaWxzPy5zZWN0aW9uZnJvbUNvbGxlY3Rpb25GYWNldCkge1xuXHRcdFx0XHR0aXRsZSA9IChzZWN0aW9uRGV0YWlscz8uVGl0bGUgYXMgVGl0bGUpPy5nZXRUZXh0KCk7XG5cdFx0XHRcdChzZWN0aW9uRGV0YWlscz8uVGl0bGUgYXMgVGl0bGUpPy5zZXRWaXNpYmxlKGZhbHNlKTtcblx0XHRcdFx0KHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uKT8uc2V0U2hvd1RpdGxlKGZhbHNlKTtcblx0XHRcdH0gZWxzZSBpZiAoc2VjdGlvbkRldGFpbHM/LnNlY3Rpb25Gcm9tUmVmZXJlbmNlRmFjZXQpIHtcblx0XHRcdFx0dGl0bGUgPSAoc2VjdGlvbkRldGFpbHM/LlN1YlNlY3Rpb24gYXMgT2JqZWN0UGFnZVN1YlNlY3Rpb24pPy5nZXRUaXRsZSgpO1xuXHRcdFx0XHQoc2VjdGlvbkRldGFpbHM/LlN1YlNlY3Rpb24gYXMgT2JqZWN0UGFnZVN1YlNlY3Rpb24pPy5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHRpdGxlID09PSBcIlwiICYmIHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uKSB7XG5cdFx0XHRcdHRpdGxlID0gKHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uKS5nZXRUaXRsZSgpO1xuXHRcdFx0fVxuXHRcdFx0aWYgKHNlY3Rpb25Pbmx5Q29udGVudC5zZW5kRGF0YVRvQ29uc3VtZXIpIHtcblx0XHRcdFx0Y29uc3Qgc3ViU2VjdGlvbnMgPSB0aGlzLmdldFN1YlNlY3Rpb25zKCk7XG5cdFx0XHRcdGNvbnN0IGhhc011bHRpcGxlU3Vic2VjdGlvbnMgPSAhIShzdWJTZWN0aW9ucz8ubGVuZ3RoID4gMSk7XG5cblx0XHRcdFx0c2VjdGlvbk9ubHlDb250ZW50LnNlbmREYXRhVG9Db25zdW1lcih7XG5cdFx0XHRcdFx0dGl0bGVMZXZlbDogdGhpcy5nZXRUaXRsZUxldmVsKCksXG5cdFx0XHRcdFx0dGl0bGU6IHRpdGxlLFxuXHRcdFx0XHRcdGhlYWRlclN0eWxlOiBoYXNNdWx0aXBsZVN1YnNlY3Rpb25zID8gXCJINVwiIDogXCJINFwiXG5cdFx0XHRcdH0pO1xuXHRcdFx0XHR0aGlzLnNldFNob3dUaXRsZSghIXNlY3Rpb25EZXRhaWxzPy5zaG93VGl0bGUpO1xuXHRcdFx0XHRjbGFzc2VzVG9BZGQuYWRkKFwic2FwVWlUYWJsZU9uT2JqZWN0UGFnZUFkanVzdG1lbnRzRm9yU2VjdGlvblwiKTtcblxuXHRcdFx0XHQvLyBpZiB0aGUgc2VjdGlvbiBoYXMgb25seSBzdWIgc2VjdGlvbiwgdGhlbiB0aGUgc3ViIHNlY3Rpb24ncyB0aXRsZSBzaG91bGQgbm90IGJlIGRpc3BsYXllZFxuXHRcdFx0XHRpZiAoIWhhc011bHRpcGxlU3Vic2VjdGlvbnMpIHN1YlNlY3Rpb25zWzBdLnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmIChzaW5nbGVDb250ZW50Py5pc0EoXCJzYXAubS5UaXRsZVwiKSkge1xuXHRcdFx0Y29uc3Qgc3ViU2VjdGlvbnMgPSB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpIHx8IFtdO1xuXHRcdFx0Y29uc3QgaGFzTXVsdGlwbGVTdWJzZWN0aW9ucyA9IHN1YlNlY3Rpb25zLmxlbmd0aCA+IDE7XG5cblx0XHRcdC8vIEhhbmRsZSB0aXRsZSBzdHlsaW5nIGFuZCB2aXNpYmlsaXR5IGlmIHJldXNlIGNvbXBvbmVudCBpcyBub3QgZW5hYmxlZFxuXHRcdFx0aWYgKCFzZWN0aW9uRGV0YWlscz8ubXVsdGlwbGVTdWJTZWN0aW9uc1dpdGhSZXVzZUNvbXBvbmVudCkge1xuXHRcdFx0XHRjb25zdCB0aXRsZSA9IHNpbmdsZUNvbnRlbnQgYXMgVGl0bGU7XG5cdFx0XHRcdHRpdGxlLnNldFRleHQodGhpcy5nZXRUaXRsZSgpKTtcblx0XHRcdFx0dGl0bGUuc2V0VGl0bGVTdHlsZShoYXNNdWx0aXBsZVN1YnNlY3Rpb25zID8gXCJINVwiIDogXCJINFwiKTtcblx0XHRcdFx0dGl0bGUuc2V0TGV2ZWwodGhpcy5nZXRUaXRsZUxldmVsKCkpO1xuXHRcdFx0XHR0aGlzLnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHRcdGNsYXNzZXNUb0FkZC5hZGQoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpO1xuXHRcdFx0fVxuXHRcdFx0Ly8gSGlkZSBzdWJzZWN0aW9uIHRpdGxlIGlmIHRoZXJlJ3Mgb25seSBvbmUgdmlzaWJsZSBzdWJzZWN0aW9uXG5cdFx0XHRpZiAoc3ViU2VjdGlvbnMubGVuZ3RoID09PSAxKSB7XG5cdFx0XHRcdHN1YlNlY3Rpb25zWzBdLnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIGlmICh0aGlzLmNoZWNrSWZOb3Rlc1JldXNlQ29tcG9uZW50KHNpbmdsZUNvbnRlbnQpKSB7XG5cdFx0XHQvKipcblx0XHRcdCAqIE5vdGVzIFJldXNlIGNvbXBvbmVudCBoYXMgdGhlIGZvbGxvd2luZyBzdHJ1Y3R1cmUgOlxuXHRcdFx0ICogPFZCb3ggaWQ9XCJOb3RlU2VjdGlvblwiPlxuXHRcdFx0ICogPE1lc3NhZ2VTdHJpcCBpZD1cIm5vdGVzRGVidWdQcm9wZXJ0aWVzXCI+XG5cdFx0XHQgKiA8TGlzdCBpZD1cIk5vdGVzTGlzdFwiPlxuXHRcdFx0ICogPGhlYWRlclRvb2xiYXI+XG5cdFx0XHQgKiA8T3ZlcmZsb3dUb29sYmFyIGlkPVwibm90ZUhlYWRlck92ZXJmbG93VG9vbGJhclwiIHN0eWxlPVwiU3RhbmRhcmRcIj5cblx0XHRcdCAqICAgICAgIDxUaXRsZSBpZD1cIm5vdGVIZWFkZXJPdmVyZmxvd1Rvb2xiYXJUaXRsZVwiLz5cblx0XHRcdCAqXHRcdC4uLi4uLlxuXHRcdFx0ICpcdDwvT3ZlcmZsb3dUb29sYmFyPlxuXHRcdFx0ICpcdDwvaGVhZGVyVG9vbGJhcj5cblx0XHRcdCAqXHQuLi4uLi5cblx0XHRcdCAqXHQ8L0xpc3Q+XG5cdFx0XHQgKlx0PC9WQm94PlxuXHRcdFx0ICpcdC4uLi4uXG5cdFx0XHQgKlxuXHRcdFx0ICogV2UgYXJlIGFwcGx5aW5nIHRoZSB0aXRsZSBtZXJnZSBsb2dpYyBmb3IgdGhlIHRpdGxlIHdpdGhpbiB0aGUgb3ZlcmZsb3cgdG9vbGJhclxuXHRcdFx0ICogaW4gdGhlIGZvbGxvd2luZyBjb2RlXG5cdFx0XHQgKlxuXHRcdFx0ICovXG5cdFx0XHRjb25zdCB2Qm94SXRlbXMgPSAoc2luZ2xlQ29udGVudCBhcyBWQm94KS5nZXRJdGVtcygpO1xuXHRcdFx0dkJveEl0ZW1zLmZvckVhY2goKHZCb3hJdGVtKSA9PiB7XG5cdFx0XHRcdGNvbnN0IGhlYWRlclRvb2xiYXIgPSB2Qm94SXRlbS5nZXRBZ2dyZWdhdGlvbihcImhlYWRlclRvb2xiYXJcIik7XG5cdFx0XHRcdGlmIChoZWFkZXJUb29sYmFyKSB7XG5cdFx0XHRcdFx0KGhlYWRlclRvb2xiYXIgYXMgT3ZlcmZsb3dUb29sYmFyKT8uZ2V0Q29udGVudCgpLmZvckVhY2goKGNvbnRyb2wpID0+IHtcblx0XHRcdFx0XHRcdGlmIChjb250cm9sLmlzQShcInNhcC5tLlRpdGxlXCIpKSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IG5vdGVzVGl0bGUgPSBjb250cm9sIGFzIFRpdGxlO1xuXHRcdFx0XHRcdFx0XHRub3Rlc1RpdGxlLnNldFRleHQodGhpcy5nZXRUaXRsZSgpKTtcblx0XHRcdFx0XHRcdFx0bm90ZXNUaXRsZS5zZXRUaXRsZVN0eWxlKFwiSDRcIik7XG5cdFx0XHRcdFx0XHRcdG5vdGVzVGl0bGUuc2V0TGV2ZWwodGhpcy5nZXRUaXRsZUxldmVsKCkpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9KTtcblx0XHRcdHRoaXMuc2V0U2hvd1RpdGxlKGZhbHNlKTtcblx0XHRcdGNsYXNzZXNUb0FkZC5hZGQoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpO1xuXHRcdH1cblx0XHR0aGlzLmFkZFN0eWxlQ2xhc3MoQXJyYXkuZnJvbShjbGFzc2VzVG9BZGQpLmpvaW4oXCIgXCIpKTtcblx0XHRyZXR1cm4geyB0YWJsZXNBZGp1c3RlZDogY2xhc3Nlc1RvQWRkLmhhcyhcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIikgfTtcblx0fVxufVxuXG5leHBvcnQgZGVmYXVsdCBTZWN0aW9uO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0VBb0JBO0VBQUEsSUFlTUEsT0FBTyxJQUFBQyxJQUFBLEdBRlpDLGNBQWMsQ0FBQyxnQ0FBZ0MsRUFBRTtJQUFFQyxVQUFVLEVBQUU7RUFBbUQsQ0FBQyxDQUFDLEVBQUFDLEtBQUEsR0FDcEhDLEtBQUssQ0FBQ0MsbUJBQW1CLENBQUMsRUFBQUMsS0FBQSxHQUd6QkMsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBRzVCRixRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVUsQ0FBQyxDQUFDLEVBQUFFLEtBQUEsR0FNN0JILFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUcsS0FBQSxHQU01QkosUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFTLENBQUMsQ0FBQyxFQUFBUixJQUFBLENBQUFZLE1BQUEsR0FBQVQsS0FBQSxDQUFBUyxNQUFBLElBQUFD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
|
|
428
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTZWN0aW9uIiwiX2RlYyIsImRlZmluZVVJNUNsYXNzIiwiZGVzaWdudGltZSIsIl9kZWMyIiwibWl4aW4iLCJTZWN0aW9uU3RhdGVIYW5kbGVyIiwiX2RlYzMiLCJwcm9wZXJ0eSIsInR5cGUiLCJfZGVjNCIsIl9kZWM1IiwiX2RlYzYiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX09iamVjdFBhZ2VTZWN0aW9uIiwicHJvcGVydGllcyIsIm90aGVycyIsIl90aGlzIiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfZGVzY3JpcHRvcjIiLCJfZGVzY3JpcHRvcjMiLCJfZGVzY3JpcHRvcjQiLCJyZWdpc3RlckRlbGVnYXRlIiwiX2luaGVyaXRzTG9vc2UiLCJfcHJvdG8iLCJwcm90b3R5cGUiLCJldmVudERlbGVnYXRlcyIsIm9uQWZ0ZXJSZW5kZXJpbmciLCJ2aWV3IiwiQ29tbW9uVXRpbHMiLCJnZXRUYXJnZXRWaWV3Iiwic3ViU2VjdGlvbnMiLCJnZXRTdWJTZWN0aW9ucyIsImxlbmd0aCIsImZvckVhY2giLCJzdWJTZWN0aW9uIiwiZ2V0QmxvY2tzIiwic3ViU2VjdGlvbkV2ZW50RGVsZWdhdGUiLCJvbkJlZm9yZVJlbmRlcmluZyIsInVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzIiwiY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudEZvclRleHRBcmVhIiwiY2hlY2tBbmRBZGp1c3RGb3JTaW5nbGVDb250ZW50IiwicmVtb3ZlRXZlbnREZWxlZ2F0ZSIsImFkZEV2ZW50RGVsZWdhdGUiLCJzZXRPblNlY3Rpb25Mb2FkZWQiLCJvblNlY3Rpb25Mb2FkZWQiLCJsb2FkU3BsaXQiLCJzcGxpdCIsIl9zZWN0aW9uTG9hZE1ldGhvZE5hbWUiLCJwb3AiLCJfc2VjdGlvbkxvYWRNb2R1bGVOYW1lIiwiam9pbiIsInNldFByb3BlcnR5IiwiYXBwbHlTZXR0aW5ncyIsIm1TZXR0aW5ncyIsIm9TY29wZSIsInRlbXBsYXRlQ29tcG9uZW50IiwiQ29tcG9uZW50IiwiZ2V0T3duZXJDb21wb25lbnRGb3IiLCJwYWdlQ29udHJvbGxlciIsImdldFJvb3RDb250cm9sbGVyIiwiSG9va1N1cHBvcnQiLCJpbml0Q29udHJvbGxlckV4dGVuc2lvbkhvb2tIYW5kbGVycyIsInVwZGF0ZU5vblRhYmxlU3ViU2VjdGlvbkJhY2tncm91bmQiLCJhZGp1c3RtZW50UmVzdWx0cyIsImhhc1N0eWxlQ2xhc3MiLCJfcmVmIiwidGFibGVzQWRqdXN0ZWQiLCJyZW1vdmVTdHlsZUNsYXNzIiwiYWRkU3R5bGVDbGFzcyIsInZpc2libGVTdWJTZWN0aW9ucyIsImdldFZpc2libGVTdWJTZWN0aW9ucyIsInJlZHVjZSIsInJlc3VsdHMiLCJjb250ZW50IiwiZ2V0U2luZ2xlQ29udGVudCIsImFkanVzdEZvclNpbmdsZUNvbnRlbnQiLCJwdXNoIiwiZ2V0Vmlld0RhdGEiLCJzZWN0aW9uTGF5b3V0Iiwic2luZ2xlQ29udGVudCIsImlzQSIsImNoZWNrSWZOb3Rlc1JldXNlQ29tcG9uZW50Iiwic2luZ2xlQ29udGVudFRhYmxlQWRqdXN0ZWQiLCJGUE1IZWxwZXIiLCJsb2FkTW9kdWxlQW5kQ2FsbE1ldGhvZCIsImNoZWNrQW5kQWRqdXN0VGl0bGVzIiwiTG9nIiwiZGVidWciLCJnZXRJZCIsImluY2x1ZGVzIiwic2luZ2xlU3ViU2VjdGlvblRhYmxlQWRqdXN0ZWQiLCJhZGp1c3RTZWN0aW9uQ29udGVudFdpdGhUaXRsZSIsInN1YnNlY3Rpb24iLCJibG9ja3MiLCJnZXRBZ2dyZWdhdGlvbiIsInNlY3Rpb25Gcm9tUmVmZXJlbmNlRmFjZXQiLCJTdWJTZWN0aW9uIiwic2hvd1RpdGxlIiwiZ2V0TWFpbkNvbnRlbnQiLCJGdW5jdGlvbiIsImFkanVzdG1lbnRQcm9wcyIsInNlY3Rpb25mcm9tQ29sbGVjdGlvbkZhY2V0IiwiVGl0bGUiLCJnZXRWaXNpYmxlIiwiZ2V0U2VjdGlvblRpdGxlIiwidGl0bGUiLCJnZXRUaXRsZSIsInNlY3Rpb25EZXRhaWxzIiwiY2xhc3Nlc1RvQWRkIiwiU2V0Iiwic2VjdGlvbk9ubHlDb250ZW50IiwiY29udGVudFJvbGUiLCJnZXRTZWN0aW9uQ29udGVudFJvbGUiLCJpbmZvRnJvbVByb3ZpZGVyIiwiZ2V0RGF0YUZyb21Qcm92aWRlciIsInNldFNob3dUaXRsZSIsImFkZCIsImdldFRleHQiLCJzZXRWaXNpYmxlIiwic2VuZERhdGFUb0NvbnN1bWVyIiwiaGFzTXVsdGlwbGVTdWJzZWN0aW9ucyIsInRpdGxlTGV2ZWwiLCJnZXRUaXRsZUxldmVsIiwiaGVhZGVyU3R5bGUiLCJtdWx0aXBsZVN1YlNlY3Rpb25zV2l0aFJldXNlQ29tcG9uZW50Iiwic2V0VGV4dCIsInNldFRpdGxlU3R5bGUiLCJzZXRMZXZlbCIsInZCb3hJdGVtcyIsImdldEl0ZW1zIiwidkJveEl0ZW0iLCJoZWFkZXJUb29sYmFyIiwiZ2V0Q29udGVudCIsImNvbnRyb2wiLCJub3Rlc1RpdGxlIiwiQXJyYXkiLCJmcm9tIiwiaGFzIiwiT2JqZWN0UGFnZVNlY3Rpb24iLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiXSwic291cmNlUm9vdCI6Ii4iLCJzb3VyY2VzIjpbIlNlY3Rpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IExvZyBmcm9tIFwic2FwL2Jhc2UvTG9nXCI7XG5pbXBvcnQgdHlwZSB7IFByb3BlcnRpZXNPZiB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBtaXhpbiwgcHJvcGVydHkgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQ2xhc3NTdXBwb3J0XCI7XG5pbXBvcnQgKiBhcyBIb29rU3VwcG9ydCBmcm9tIFwic2FwL2ZlL2Jhc2UvSG9va1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgRkVWaWV3IH0gZnJvbSBcInNhcC9mZS9jb3JlL0Jhc2VDb250cm9sbGVyXCI7XG5pbXBvcnQgQ29tbW9uVXRpbHMgZnJvbSBcInNhcC9mZS9jb3JlL0NvbW1vblV0aWxzXCI7XG5pbXBvcnQgdHlwZSBUZW1wbGF0ZUNvbXBvbmVudCBmcm9tIFwic2FwL2ZlL2NvcmUvVGVtcGxhdGVDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgT2JqZWN0UGFnZU1hbmlmZXN0U2V0dGluZ3MgfSBmcm9tIFwic2FwL2ZlL2NvcmUvY29udmVydGVycy9NYW5pZmVzdFNldHRpbmdzXCI7XG5pbXBvcnQgRlBNSGVscGVyIGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL0ZQTUhlbHBlclwiO1xuaW1wb3J0IHR5cGUgSVNpbmdsZVNlY3Rpb25Db250cmlidXRvciBmcm9tIFwic2FwL2ZlL21hY3Jvcy9jb250cm9scy9zZWN0aW9uL0lTaW5nbGVTZWN0aW9uQ29udHJpYnV0b3JcIjtcbmltcG9ydCBTZWN0aW9uU3RhdGVIYW5kbGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2NvbnRyb2xzL3NlY3Rpb24vbWl4aW4vU2VjdGlvblN0YXRlSGFuZGxlclwiO1xuaW1wb3J0IHR5cGUgU3ViU2VjdGlvbkJsb2NrIGZyb20gXCJzYXAvZmUvdGVtcGxhdGVzL09iamVjdFBhZ2UvY29udHJvbHMvU3ViU2VjdGlvbkJsb2NrXCI7XG5pbXBvcnQgdHlwZSBPdmVyZmxvd1Rvb2xiYXIgZnJvbSBcInNhcC9tL092ZXJmbG93VG9vbGJhclwiO1xuaW1wb3J0IHR5cGUgVGl0bGUgZnJvbSBcInNhcC9tL1RpdGxlXCI7XG5pbXBvcnQgdHlwZSBWQm94IGZyb20gXCJzYXAvbS9WQm94XCI7XG5pbXBvcnQgdHlwZSBNYW5hZ2VkT2JqZWN0IGZyb20gXCJzYXAvdWkvYmFzZS9NYW5hZ2VkT2JqZWN0XCI7XG5pbXBvcnQgdHlwZSB7ICRNYW5hZ2VkT2JqZWN0U2V0dGluZ3MgfSBmcm9tIFwic2FwL3VpL2Jhc2UvTWFuYWdlZE9iamVjdFwiO1xuaW1wb3J0IENvbXBvbmVudCBmcm9tIFwic2FwL3VpL2NvcmUvQ29tcG9uZW50XCI7XG5pbXBvcnQgdHlwZSBEeW5hbWljU2lkZUNvbnRlbnQgZnJvbSBcInNhcC91aS9sYXlvdXQvRHluYW1pY1NpZGVDb250ZW50XCI7XG5pbXBvcnQgdHlwZSB7ICRPYmplY3RQYWdlU2VjdGlvblNldHRpbmdzIH0gZnJvbSBcInNhcC91eGFwL09iamVjdFBhZ2VTZWN0aW9uXCI7XG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXJlc3RyaWN0ZWQtaW1wb3J0c1xuaW1wb3J0IE9iamVjdFBhZ2VTZWN0aW9uIGZyb20gXCJzYXAvdXhhcC9PYmplY3RQYWdlU2VjdGlvblwiO1xuaW1wb3J0IHR5cGUgT2JqZWN0UGFnZVN1YlNlY3Rpb24gZnJvbSBcInNhcC91eGFwL09iamVjdFBhZ2VTdWJTZWN0aW9uXCI7XG5pbXBvcnQgdHlwZSBTdWJTZWN0aW9uIGZyb20gXCIuL3NlY3Rpb24vU3ViU2VjdGlvblwiO1xuXG50eXBlIEFkanVzdG1lbnRQcm9wcyA9IHtcblx0dGFibGVzQWRqdXN0ZWQ/OiBib29sZWFuO1xufTtcblxudHlwZSBBZGp1c3RtZW50UmVzdWx0cyA9IHtcblx0c3ViU2VjdGlvbjogT2JqZWN0UGFnZVN1YlNlY3Rpb247XG59ICYgQWRqdXN0bWVudFByb3BzO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUubWFjcm9zLmNvbnRyb2xzLlNlY3Rpb25cIiwgeyBkZXNpZ250aW1lOiBcInNhcC91eGFwL2Rlc2lnbnRpbWUvT2JqZWN0UGFnZVNlY3Rpb24uZGVzaWdudGltZVwiIH0pXG5AbWl4aW4oU2VjdGlvblN0YXRlSGFuZGxlcilcbmNsYXNzIFNlY3Rpb24gZXh0ZW5kcyBPYmplY3RQYWdlU2VjdGlvbiB7XG5cdC8vIFRPRE86IHRoaXMgcHJvYmFibHkgbWFrZXMgc2Vuc2UgdG8gYmUgYW4gZXZlbnQuIEJ1dCB3ZSBjYW4gYWRkcmVzcyB0aGlzIGxhdGVyLlxuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdG9uU2VjdGlvbkxvYWRlZCE6IHN0cmluZztcblxuXHRAcHJvcGVydHkoeyB0eXBlOiBcImJvb2xlYW5cIiB9KVxuXHR1c2VTaW5nbGVUZXh0QXJlYUZpZWxkQXNOb3RlcyE6IGJvb2xlYW47XG5cblx0LyoqXG5cdCAqIFBhdGggdG8gdGhlIGFwcGx5IHN0YXRlIGhhbmRsZXIgdG8gYmUgY2FsbGVkIGR1cmluZyBzdGF0ZSBpbnRlcmFjdGlvbnMuXG5cdCAqL1xuXHRAcHJvcGVydHkoeyB0eXBlOiBcInN0cmluZ1wiIH0pXG5cdGFwcGx5U3RhdGVIYW5kbGVyPzogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBQYXRoIHRvIHRoZSByZXRyaWV2ZSBzdGF0ZSBoYW5kbGVyIHRvIGJlIGNhbGxlZCBkdXJpbmcgc3RhdGUgaW50ZXJhY3Rpb25zLlxuXHQgKi9cblx0QHByb3BlcnR5KHsgdHlwZTogXCJzdHJpbmdcIiB9KVxuXHRyZXRyaWV2ZVN0YXRlSGFuZGxlcj86IHN0cmluZztcblxuXHRjb25zdHJ1Y3Rvcihwcm9wZXJ0aWVzOiAkT2JqZWN0UGFnZVNlY3Rpb25TZXR0aW5ncyAmIFByb3BlcnRpZXNPZjxTZWN0aW9uPiwgb3RoZXJzPzogJE9iamVjdFBhZ2VTZWN0aW9uU2V0dGluZ3MpIHtcblx0XHRzdXBlcihwcm9wZXJ0aWVzIGFzIHVua25vd24gYXMgc3RyaW5nLCBvdGhlcnMpO1xuXHRcdHRoaXMucmVnaXN0ZXJEZWxlZ2F0ZSgpO1xuXHR9XG5cblx0X3NlY3Rpb25Mb2FkTWV0aG9kTmFtZTogc3RyaW5nIHwgdW5kZWZpbmVkO1xuXG5cdF9zZWN0aW9uTG9hZE1vZHVsZU5hbWU6IHN0cmluZyB8IHVuZGVmaW5lZDtcblxuXHRwcml2YXRlIHJlZ2lzdGVyRGVsZWdhdGUoKTogdm9pZCB7XG5cdFx0Y29uc3QgZXZlbnREZWxlZ2F0ZXMgPSB7XG5cdFx0XHRvbkFmdGVyUmVuZGVyaW5nOiAoKTogdm9pZCA9PiB7XG5cdFx0XHRcdGNvbnN0IHZpZXcgPSBDb21tb25VdGlscy5nZXRUYXJnZXRWaWV3KHRoaXMpO1xuXHRcdFx0XHRsZXQgc3ViU2VjdGlvbnMgPSB0aGlzLmdldFN1YlNlY3Rpb25zKCk7XG5cdFx0XHRcdGlmIChzdWJTZWN0aW9ucy5sZW5ndGgpIHtcblx0XHRcdFx0XHRzdWJTZWN0aW9ucy5mb3JFYWNoKChzdWJTZWN0aW9uOiBTdWJTZWN0aW9uKSA9PiB7XG5cdFx0XHRcdFx0XHQvKiB3ZSBjaGVjayBpbmRpdmlkdWFsIHN1YnNlY3Rpb24gZm9yIGJsb2Nrcy4gSWYgbm90IGF2YWlsYWJsZSB3ZSB3YWl0IGZvciB0aGVtIHRvIGJlIGFkZGVkKG9uQmVmb3JlUmVuZGVyaW5nKSBiZWZvcmUgdHJpZ2dlcmluZyB0aXRsZSBtZXJnZSBsb2dpY3MgKi9cblx0XHRcdFx0XHRcdGlmIChzdWJTZWN0aW9uLmdldEJsb2NrcygpPy5sZW5ndGggPT09IDApIHtcblx0XHRcdFx0XHRcdFx0Y29uc3Qgc3ViU2VjdGlvbkV2ZW50RGVsZWdhdGUgPSB7XG5cdFx0XHRcdFx0XHRcdFx0b25CZWZvcmVSZW5kZXJpbmc6ICgpOiB2b2lkID0+IHtcblx0XHRcdFx0XHRcdFx0XHRcdGlmICh0aGlzLnVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzKSB7XG5cdFx0XHRcdFx0XHRcdFx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudEZvclRleHRBcmVhKCk7XG5cdFx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0Rm9yU2luZ2xlQ29udGVudCh2aWV3KTtcblx0XHRcdFx0XHRcdFx0XHRcdHN1YlNlY3Rpb24ucmVtb3ZlRXZlbnREZWxlZ2F0ZShzdWJTZWN0aW9uRXZlbnREZWxlZ2F0ZSk7XG5cdFx0XHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdFx0XHR9O1xuXHRcdFx0XHRcdFx0XHRzdWJTZWN0aW9uLmFkZEV2ZW50RGVsZWdhdGUoc3ViU2VjdGlvbkV2ZW50RGVsZWdhdGUpO1xuXHRcdFx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRcdFx0aWYgKHRoaXMudXNlU2luZ2xlVGV4dEFyZWFGaWVsZEFzTm90ZXMpIHtcblx0XHRcdFx0XHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0U2VjdGlvbkNvbnRlbnRGb3JUZXh0QXJlYSgpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RGb3JTaW5nbGVDb250ZW50KHZpZXcpO1xuXHRcdFx0XHRcdFx0fVxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdGlmICh0aGlzLnVzZVNpbmdsZVRleHRBcmVhRmllbGRBc05vdGVzKSB7XG5cdFx0XHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0U2VjdGlvbkNvbnRlbnRGb3JUZXh0QXJlYSgpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHR0aGlzLmNoZWNrQW5kQWRqdXN0Rm9yU2luZ2xlQ29udGVudCh2aWV3KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHR0aGlzLmFkZEV2ZW50RGVsZWdhdGUoZXZlbnREZWxlZ2F0ZXMpO1xuXHR9XG5cblx0c2V0T25TZWN0aW9uTG9hZGVkKG9uU2VjdGlvbkxvYWRlZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgbG9hZFNwbGl0ID0gb25TZWN0aW9uTG9hZGVkLnNwbGl0KFwiLlwiKTtcblx0XHR0aGlzLl9zZWN0aW9uTG9hZE1ldGhvZE5hbWUgPSBsb2FkU3BsaXQ/LnBvcCgpO1xuXHRcdHRoaXMuX3NlY3Rpb25Mb2FkTW9kdWxlTmFtZSA9IGxvYWRTcGxpdD8uam9pbihcIi9cIik7XG5cdFx0dGhpcy5zZXRQcm9wZXJ0eShcIm9uU2VjdGlvbkxvYWRlZFwiLCBvblNlY3Rpb25Mb2FkZWQpO1xuXHR9XG5cblx0Ly8gVE9ETzogQ2hlY2sgaWYgb25BZnRlclJlbmRlcmluZyBjYW4gYmUgdXNlZCBpbnN0ZWFkIG9mIGFwcGx5U2V0dGluZ3MuXG5cdGFwcGx5U2V0dGluZ3MobVNldHRpbmdzOiAkTWFuYWdlZE9iamVjdFNldHRpbmdzLCBvU2NvcGU/OiBvYmplY3QpOiB0aGlzIHtcblx0XHRzdXBlci5hcHBseVNldHRpbmdzKG1TZXR0aW5ncywgb1Njb3BlKTtcblx0XHRjb25zdCB0ZW1wbGF0ZUNvbXBvbmVudCA9IENvbXBvbmVudC5nZXRPd25lckNvbXBvbmVudEZvcih0aGlzKSBhcyBUZW1wbGF0ZUNvbXBvbmVudDtcblx0XHRjb25zdCBwYWdlQ29udHJvbGxlciA9IHRlbXBsYXRlQ29tcG9uZW50LmdldFJvb3RDb250cm9sbGVyKCk7XG5cdFx0aWYgKHBhZ2VDb250cm9sbGVyKSB7XG5cdFx0XHRIb29rU3VwcG9ydC5pbml0Q29udHJvbGxlckV4dGVuc2lvbkhvb2tIYW5kbGVycyh0aGlzLCBwYWdlQ29udHJvbGxlcik7XG5cdFx0fVxuXHRcdHJldHVybiB0aGlzO1xuXHR9XG5cblx0LyoqXG5cdCAqIFVwZGF0ZSBzdWJzZWN0aW9uIGJhY2tncm91bmQgY2xhc3MgYmFzZWQgb24gdGFibGUgYWRqdXN0bWVudHMgbWFkZS5cblx0ICogQHBhcmFtIGFkanVzdG1lbnRSZXN1bHRzIEFycmF5IG9mIGFkanVzdG1lbnQgcmVzdWx0c1xuXHQgKi9cblx0dXBkYXRlTm9uVGFibGVTdWJTZWN0aW9uQmFja2dyb3VuZChhZGp1c3RtZW50UmVzdWx0czogQWRqdXN0bWVudFJlc3VsdHNbXSk6IHZvaWQge1xuXHRcdGlmICh0aGlzLmhhc1N0eWxlQ2xhc3MoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpKSB7XG5cdFx0XHRhZGp1c3RtZW50UmVzdWx0cy5mb3JFYWNoKCh7IHN1YlNlY3Rpb24sIHRhYmxlc0FkanVzdGVkIH0pID0+IHtcblx0XHRcdFx0aWYgKHRhYmxlc0FkanVzdGVkKSB7XG5cdFx0XHRcdFx0c3ViU2VjdGlvbi5yZW1vdmVTdHlsZUNsYXNzKFwic2FwVWlBZGp1c3RlZFNlY3Rpb25TdWJzZWN0aW9uV2l0aG91dFRhYmxlXCIpO1xuXHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdHN1YlNlY3Rpb24uYWRkU3R5bGVDbGFzcyhcInNhcFVpQWRqdXN0ZWRTZWN0aW9uU3Vic2VjdGlvbldpdGhvdXRUYWJsZVwiKTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgbWV0aG9kIGxvb3BzIHRocm91Z2ggYWxsIHRoZSB2aXNpYmxlIHN1YnNlY3Rpb25zIGFuZCB0cmlnZ2VycyB0aGUgdGV4dCBhcmVhIGZsb3cgaWYgdGhhdHMgdGhlIG9ubHkgc2luZ2xlIGNvbnRyb2wgd2l0aGluIHRoZSBzZWN0aW9uLlxuXHQgKi9cblx0Y2hlY2tBbmRBZGp1c3RTZWN0aW9uQ29udGVudEZvclRleHRBcmVhKCk6IHZvaWQge1xuXHRcdGNvbnN0IHZpc2libGVTdWJTZWN0aW9ucyA9IHRoaXMuZ2V0VmlzaWJsZVN1YlNlY3Rpb25zKCk7XG5cdFx0Y29uc3QgYWRqdXN0bWVudFJlc3VsdHMgPSB2aXNpYmxlU3ViU2VjdGlvbnMucmVkdWNlKChyZXN1bHRzOiBBZGp1c3RtZW50UmVzdWx0c1tdLCBzdWJTZWN0aW9uOiBPYmplY3RQYWdlU3ViU2VjdGlvbikgPT4ge1xuXHRcdFx0bGV0IHRhYmxlc0FkanVzdGVkO1xuXHRcdFx0Y29uc3QgY29udGVudCA9IHRoaXMuZ2V0U2luZ2xlQ29udGVudChbc3ViU2VjdGlvbl0pO1xuXHRcdFx0aWYgKGNvbnRlbnQpIHtcblx0XHRcdFx0dGFibGVzQWRqdXN0ZWQgPSB0aGlzLmFkanVzdEZvclNpbmdsZUNvbnRlbnQoY29udGVudCkudGFibGVzQWRqdXN0ZWQ7XG5cdFx0XHR9XG5cdFx0XHRyZXN1bHRzLnB1c2goeyBzdWJTZWN0aW9uLCB0YWJsZXNBZGp1c3RlZCB9KTtcblx0XHRcdHJldHVybiByZXN1bHRzO1xuXHRcdH0sIFtdKTtcblx0XHR0aGlzLnVwZGF0ZU5vblRhYmxlU3ViU2VjdGlvbkJhY2tncm91bmQoYWRqdXN0bWVudFJlc3VsdHMpO1xuXHR9XG5cblx0Y2hlY2tBbmRBZGp1c3RGb3JTaW5nbGVDb250ZW50KHZpZXc6IEZFVmlldyk6IHZvaWQgfCBQcm9taXNlPHVua25vd24+IHtcblx0XHRpZiAoKHZpZXc/LmdldFZpZXdEYXRhKCkgYXMgT2JqZWN0UGFnZU1hbmlmZXN0U2V0dGluZ3MpPy5zZWN0aW9uTGF5b3V0ID09PSBcIlBhZ2VcIikge1xuXHRcdFx0Y29uc3Qgc2luZ2xlQ29udGVudCA9IHRoaXMuZ2V0U2luZ2xlQ29udGVudCgpO1xuXHRcdFx0aWYgKFxuXHRcdFx0XHRzaW5nbGVDb250ZW50ICYmXG5cdFx0XHRcdChzaW5nbGVDb250ZW50LmlzQShcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuc2VjdGlvbi5JU2luZ2xlU2VjdGlvbkNvbnRyaWJ1dG9yXCIpIHx8XG5cdFx0XHRcdFx0dGhpcy5jaGVja0lmTm90ZXNSZXVzZUNvbXBvbmVudChzaW5nbGVDb250ZW50KSlcblx0XHRcdCkge1xuXHRcdFx0XHRjb25zdCB7IHRhYmxlc0FkanVzdGVkOiBzaW5nbGVDb250ZW50VGFibGVBZGp1c3RlZCB9ID0gdGhpcy5hZGp1c3RGb3JTaW5nbGVDb250ZW50KHNpbmdsZUNvbnRlbnQpO1xuXHRcdFx0XHRjb25zdCBzdWJTZWN0aW9ucyA9IHRoaXMuZ2V0VmlzaWJsZVN1YlNlY3Rpb25zKCk7XG5cdFx0XHRcdHRoaXMudXBkYXRlTm9uVGFibGVTdWJTZWN0aW9uQmFja2dyb3VuZChbeyBzdWJTZWN0aW9uOiBzdWJTZWN0aW9uc1swXSwgdGFibGVzQWRqdXN0ZWQ6IHNpbmdsZUNvbnRlbnRUYWJsZUFkanVzdGVkIH1dKTtcblx0XHRcdH0gZWxzZSBpZiAodGhpcy5fc2VjdGlvbkxvYWRNb2R1bGVOYW1lICYmIHRoaXMuX3NlY3Rpb25Mb2FkTWV0aG9kTmFtZSkge1xuXHRcdFx0XHRyZXR1cm4gRlBNSGVscGVyLmxvYWRNb2R1bGVBbmRDYWxsTWV0aG9kKHRoaXMuX3NlY3Rpb25Mb2FkTW9kdWxlTmFtZSwgdGhpcy5fc2VjdGlvbkxvYWRNZXRob2ROYW1lLCB2aWV3LCB0aGlzKTtcblx0XHRcdH0gZWxzZSBpZiAodGhpcy5nZXRTdWJTZWN0aW9ucygpLmxlbmd0aCA+IDEpIHtcblx0XHRcdFx0Ly8gY2FsbCBtZXJnZSB0aXRsZSBsb2dpYyBmb3Igc3Vic2VjdGlvbnNcblx0XHRcdFx0dGhpcy5jaGVja0FuZEFkanVzdFRpdGxlcygpO1xuXHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0TG9nLmRlYnVnKFwiU2VjdGlvbiBjYW5ub3QgYmUgYWRqdXN0ZWQgZm9yIHNpbmdsZSBjb250ZW50IDogSW50ZXJmYWNlICdJU2luZ2xlU2VjdGlvbkNvbnRyaWJ1dG9yJyBpcyBub3QgaW1wbGVtZW50ZWRcIik7XG5cdFx0XHR9XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRoaXMuY2hlY2tBbmRBZGp1c3RUaXRsZXMoKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICpcblx0ICogQHBhcmFtIHNpbmdsZUNvbnRlbnQgT2JqZWN0IG9mIHRoZSBjb250ZW50IHByZXNlbnQgd2l0aGluIHRoZSBzZWN0aW9uLlxuXHQgKiBAcmV0dXJucyBUcnVlIGlmIHRoZSBjb250ZW50IHByZXNlbnQgaXMgYSBub3RlcyByZXVzZSBjb21wb25lbnRcblx0ICovXG5cdGNoZWNrSWZOb3Rlc1JldXNlQ29tcG9uZW50KHNpbmdsZUNvbnRlbnQ6IE1hbmFnZWRPYmplY3QpOiBib29sZWFuIHtcblx0XHRpZiAoc2luZ2xlQ29udGVudC5pc0EoXCJzYXAubS5WQm94XCIpICYmIHNpbmdsZUNvbnRlbnQuZ2V0SWQoKS5pbmNsdWRlcyhcIk5vdGVTZWN0aW9uXCIpKSB7XG5cdFx0XHRyZXR1cm4gdHJ1ZTtcblx0XHR9XG5cdFx0cmV0dXJuIGZhbHNlO1xuXHR9XG5cblx0LyoqXG5cdCAqIFRoaXMgZnVuY3Rpb24gY2hlY2tzIGZvciB0aGUgdmlzaWJsZSBzdWJzZWN0aW9ucyBhbmQgY2hlY2tzIGZvciB0aGUgY29sbGVjdGlvbiBmYWNldCBsYWJlbCwgSWYgcHJlc2VudCB0aGVuIHdlIG1lcmdlIHRoZSB0aXRsZSBhbmQgdGhpcyBmdW5jdGlvbiBoYW5kbGVzIHRoZSBEeW5hbWljU2lkZUNvbmVudCBhcyB3ZWxsLlxuXHQgKi9cblx0Y2hlY2tBbmRBZGp1c3RUaXRsZXMoKTogdm9pZCB7XG5cdFx0Y29uc3QgdmlzaWJsZVN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKTtcblx0XHRpZiAodmlzaWJsZVN1YlNlY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0Y29uc3QgeyB0YWJsZXNBZGp1c3RlZDogc2luZ2xlU3ViU2VjdGlvblRhYmxlQWRqdXN0ZWQgfSA9IHRoaXMuYWRqdXN0U2VjdGlvbkNvbnRlbnRXaXRoVGl0bGUodmlzaWJsZVN1YlNlY3Rpb25zWzBdKTtcblx0XHRcdHRoaXMudXBkYXRlTm9uVGFibGVTdWJTZWN0aW9uQmFja2dyb3VuZChbeyBzdWJTZWN0aW9uOiB2aXNpYmxlU3ViU2VjdGlvbnNbMF0sIHRhYmxlc0FkanVzdGVkOiBzaW5nbGVTdWJTZWN0aW9uVGFibGVBZGp1c3RlZCB9XSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGNvbnN0IGFkanVzdG1lbnRSZXN1bHRzID0gdmlzaWJsZVN1YlNlY3Rpb25zLnJlZHVjZSgocmVzdWx0czogQWRqdXN0bWVudFJlc3VsdHNbXSwgc3Vic2VjdGlvbjogT2JqZWN0UGFnZVN1YlNlY3Rpb24pID0+IHtcblx0XHRcdFx0bGV0IHRhYmxlc0FkanVzdGVkO1xuXHRcdFx0XHRsZXQgY29udGVudDtcblx0XHRcdFx0Y29uc3QgYmxvY2tzID0gc3Vic2VjdGlvbi5nZXRCbG9ja3MoKTtcblx0XHRcdFx0Ly8gSW4gY2FzZSBvZiBUYWIgbGF5b3V0LCB3ZSBuZWVkIHRvIGNoZWNrIGlmIHRoZSBzZWN0aW9uIGhhcyBvbmx5IG9uZSBzdWJzZWN0aW9uIGFuZCB0aGF0IHN1YnNlY3Rpb24gaGFzIG9ubHkgb25lIGNvbnRyb2xcblx0XHRcdFx0Ly8gSW4gY2FzZSBvZiBjb2xsZWN0aW9uIEZhY2V0LCB0aGUgZmlyc3QgYmxvY2sgd2lsbCBiZSBUaXRsZSBhbmQgdGhlIHNlY29uZCBibG9jayB3aWxsIGJlIFN1YlNlY3Rpb25CbG9ja1xuXHRcdFx0XHRpZiAoYmxvY2tzLmxlbmd0aCA9PT0gMiAmJiBibG9ja3NbMV0/LmlzQTxTdWJTZWN0aW9uQmxvY2s+KFwic2FwLmZlLnRlbXBsYXRlcy5PYmplY3RQYWdlLmNvbnRyb2xzLlN1YlNlY3Rpb25CbG9ja1wiKSkge1xuXHRcdFx0XHRcdHRhYmxlc0FkanVzdGVkID0gdGhpcy5hZGp1c3RTZWN0aW9uQ29udGVudFdpdGhUaXRsZShzdWJzZWN0aW9uKS50YWJsZXNBZGp1c3RlZDtcblx0XHRcdFx0fVxuXHRcdFx0XHQvLyBJbiBjYXNlIG9mIFJlZmVyZW5jZSBGYWNldCwgdGhlIGZpcnN0IGJsb2NrIHdpbGwgYmUgU3ViU2VjdGlvbkJsb2NrXG5cdFx0XHRcdGVsc2UgaWYgKGJsb2Nrcy5sZW5ndGggPT09IDEgJiYgYmxvY2tzWzBdPy5pc0E8U3ViU2VjdGlvbkJsb2NrPihcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdWJTZWN0aW9uQmxvY2tcIikpIHtcblx0XHRcdFx0XHRjb250ZW50ID0gYmxvY2tzWzBdLmdldEFnZ3JlZ2F0aW9uKFwiY29udGVudFwiKSBhcyBNYW5hZ2VkT2JqZWN0O1xuXHRcdFx0XHRcdGlmIChjb250ZW50LmlzQShcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuc2VjdGlvbi5JU2luZ2xlU2VjdGlvbkNvbnRyaWJ1dG9yXCIpKSB7XG5cdFx0XHRcdFx0XHR0YWJsZXNBZGp1c3RlZCA9IHRoaXMuYWRqdXN0Rm9yU2luZ2xlQ29udGVudChjb250ZW50LCB7XG5cdFx0XHRcdFx0XHRcdHNlY3Rpb25Gcm9tUmVmZXJlbmNlRmFjZXQ6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFN1YlNlY3Rpb246IHN1YnNlY3Rpb24sXG5cdFx0XHRcdFx0XHRcdHNob3dUaXRsZTogdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKS5sZW5ndGggPiAxXG5cdFx0XHRcdFx0XHR9KS50YWJsZXNBZGp1c3RlZDtcblx0XHRcdFx0XHR9IGVsc2UgaWYgKChjb250ZW50IGFzIER5bmFtaWNTaWRlQ29udGVudCk/LmlzQShcInNhcC51aS5sYXlvdXQuRHluYW1pY1NpZGVDb250ZW50XCIpKSB7XG5cdFx0XHRcdFx0XHRjb250ZW50ID1cblx0XHRcdFx0XHRcdFx0KGNvbnRlbnQgYXMgRHluYW1pY1NpZGVDb250ZW50KS5nZXRNYWluQ29udGVudCBpbnN0YW5jZW9mIEZ1bmN0aW9uICYmXG5cdFx0XHRcdFx0XHRcdChjb250ZW50IGFzIER5bmFtaWNTaWRlQ29udGVudCk/LmdldE1haW5Db250ZW50KCk7XG5cdFx0XHRcdFx0XHRpZiAoY29udGVudCAmJiBjb250ZW50Lmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRcdFx0XHRjb250ZW50ID0gY29udGVudFswXTtcblx0XHRcdFx0XHRcdFx0dGFibGVzQWRqdXN0ZWQgPSB0aGlzLmFkanVzdEZvclNpbmdsZUNvbnRlbnQoY29udGVudCwge1xuXHRcdFx0XHRcdFx0XHRcdHNlY3Rpb25Gcm9tUmVmZXJlbmNlRmFjZXQ6IHRydWUsXG5cdFx0XHRcdFx0XHRcdFx0U3ViU2VjdGlvbjogc3Vic2VjdGlvblxuXHRcdFx0XHRcdFx0XHR9KS50YWJsZXNBZGp1c3RlZDtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0cmVzdWx0cy5wdXNoKHsgc3ViU2VjdGlvbjogc3Vic2VjdGlvbiwgdGFibGVzQWRqdXN0ZWQgfSk7XG5cdFx0XHRcdHJldHVybiByZXN1bHRzO1xuXHRcdFx0fSwgW10pO1xuXHRcdFx0dGhpcy51cGRhdGVOb25UYWJsZVN1YlNlY3Rpb25CYWNrZ3JvdW5kKGFkanVzdG1lbnRSZXN1bHRzKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogVGhpcyBmdW5jdGlvbiBjaGVja3MgZm9yIHRoZSBmb3IgdGhlIGNvbGxlY3Rpb24gZmFjZXQgbGFiZWwsSWYgcHJlc2VudCB0aGVuIHdlIG1lcmdlIHRoZSB0aXRsZS5cblx0ICogQHBhcmFtIHN1YnNlY3Rpb24gT2JqZWN0UGFnZSBTdWJTZWN0aW9uXG5cdCAqL1xuXHRhZGp1c3RTZWN0aW9uQ29udGVudFdpdGhUaXRsZShzdWJzZWN0aW9uOiBPYmplY3RQYWdlU3ViU2VjdGlvbik6IEFkanVzdG1lbnRSZXN1bHRzIHtcblx0XHRsZXQgYWRqdXN0bWVudFByb3BzOiBBZGp1c3RtZW50UHJvcHMgPSB7fTtcblx0XHRjb25zdCBibG9ja3MgPSBzdWJzZWN0aW9uLmdldEJsb2NrcygpO1xuXHRcdGxldCBjb250ZW50O1xuXHRcdGlmIChibG9ja3MubGVuZ3RoID09PSAyICYmIGJsb2Nrc1sxXS5pc0E8U3ViU2VjdGlvbkJsb2NrPihcInNhcC5mZS50ZW1wbGF0ZXMuT2JqZWN0UGFnZS5jb250cm9scy5TdWJTZWN0aW9uQmxvY2tcIikpIHtcblx0XHRcdGNvbnRlbnQgPSBibG9ja3NbMV0uZ2V0QWdncmVnYXRpb24oXCJjb250ZW50XCIpIGFzIE1hbmFnZWRPYmplY3Q7XG5cdFx0XHRpZiAoY29udGVudCAmJiBjb250ZW50LmlzQShcInNhcC5mZS5tYWNyb3MuY29udHJvbHMuc2VjdGlvbi5JU2luZ2xlU2VjdGlvbkNvbnRyaWJ1dG9yXCIpICYmIGJsb2Nrc1swXS5pc0E8VGl0bGU+KFwic2FwLm0uVGl0bGVcIikpIHtcblx0XHRcdFx0YWRqdXN0bWVudFByb3BzID0gdGhpcy5hZGp1c3RGb3JTaW5nbGVDb250ZW50KGNvbnRlbnQsIHtcblx0XHRcdFx0XHRzZWN0aW9uZnJvbUNvbGxlY3Rpb25GYWNldDogdHJ1ZSxcblx0XHRcdFx0XHRUaXRsZTogYmxvY2tzWzBdLFxuXHRcdFx0XHRcdFN1YlNlY3Rpb246IHN1YnNlY3Rpb24sXG5cdFx0XHRcdFx0c2hvd1RpdGxlOiB0aGlzLmdldFZpc2libGVTdWJTZWN0aW9ucygpLmxlbmd0aCA+IDFcblx0XHRcdFx0fSk7XG5cdFx0XHR9IGVsc2UgaWYgKGNvbnRlbnQgJiYgY29udGVudC5pc0E8RHluYW1pY1NpZGVDb250ZW50PihcInNhcC51aS5sYXlvdXQuRHluYW1pY1NpZGVDb250ZW50XCIpKSB7XG5cdFx0XHRcdGNvbnRlbnQgPSBjb250ZW50LmdldE1haW5Db250ZW50IGluc3RhbmNlb2YgRnVuY3Rpb24gJiYgY29udGVudD8uZ2V0TWFpbkNvbnRlbnQoKTtcblx0XHRcdFx0aWYgKGNvbnRlbnQgJiYgY29udGVudC5sZW5ndGggPT09IDEpIHtcblx0XHRcdFx0XHRjb250ZW50ID0gY29udGVudFswXTtcblx0XHRcdFx0XHRhZGp1c3RtZW50UHJvcHMgPSB0aGlzLmFkanVzdEZvclNpbmdsZUNvbnRlbnQoY29udGVudCwge1xuXHRcdFx0XHRcdFx0c2VjdGlvbmZyb21Db2xsZWN0aW9uRmFjZXQ6IHRydWUsXG5cdFx0XHRcdFx0XHRUaXRsZTogYmxvY2tzWzBdIGFzIFRpdGxlLFxuXHRcdFx0XHRcdFx0U3ViU2VjdGlvbjogc3Vic2VjdGlvblxuXHRcdFx0XHRcdH0pO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJldHVybiB7IHN1YlNlY3Rpb246IHN1YnNlY3Rpb24sIHRhYmxlc0FkanVzdGVkOiBhZGp1c3RtZW50UHJvcHMudGFibGVzQWRqdXN0ZWQgfTtcblx0fVxuXG5cdGdldFNpbmdsZUNvbnRlbnQodmlzaWJsZVN1YlNlY3Rpb25zPzogT2JqZWN0UGFnZVN1YlNlY3Rpb25bXSk6IE1hbmFnZWRPYmplY3QgfCB1bmRlZmluZWQge1xuXHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdmlzaWJsZVN1YlNlY3Rpb25zID8/IHRoaXMuZ2V0VmlzaWJsZVN1YlNlY3Rpb25zKCk7XG5cdFx0aWYgKHN1YlNlY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0Y29uc3QgYmxvY2tzID0gc3ViU2VjdGlvbnNbMF0uZ2V0QmxvY2tzKCk7XG5cdFx0XHRpZiAoYmxvY2tzLmxlbmd0aCA9PT0gMSAmJiBibG9ja3NbMF0uaXNBPFN1YlNlY3Rpb25CbG9jaz4oXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuY29udHJvbHMuU3ViU2VjdGlvbkJsb2NrXCIpKSB7XG5cdFx0XHRcdHJldHVybiBibG9ja3NbMF0uZ2V0QWdncmVnYXRpb24oXCJjb250ZW50XCIpIGFzIE1hbmFnZWRPYmplY3Q7XG5cdFx0XHR9XG5cdFx0XHQvL0lmIHRoZXJlIGlzIGFuIGludmlzaWJsZSB0ZXh0IGJlZm9yZSBhIHN0YW5kYXJkIGJ1aWxkaW5nIGJsb2NrLCB0aGVuIGFsc28gdGhlIG1lcmdlIHRpdGxlIGxvZ2ljIHNob3VsZCBiZSBhcHBsaWVkIGFzIGl0cyBzdGlsbCBhIHNpbmdsZSBjb250ZW50XG5cdFx0XHRlbHNlIGlmIChcblx0XHRcdFx0YmxvY2tzLmxlbmd0aCA9PT0gMiAmJlxuXHRcdFx0XHRibG9ja3NbMF0uaXNBKFwic2FwLnVpLmNvcmUuSW52aXNpYmxlVGV4dFwiKSAmJlxuXHRcdFx0XHRibG9ja3NbMV0uaXNBPFN1YlNlY3Rpb25CbG9jaz4oXCJzYXAuZmUudGVtcGxhdGVzLk9iamVjdFBhZ2UuY29udHJvbHMuU3ViU2VjdGlvbkJsb2NrXCIpXG5cdFx0XHQpXG5cdFx0XHRcdHJldHVybiBibG9ja3NbMV0uZ2V0QWdncmVnYXRpb24oXCJjb250ZW50XCIpIGFzIE1hbmFnZWRPYmplY3Q7XG5cdFx0fVxuXHR9XG5cblx0Z2V0VmlzaWJsZVN1YlNlY3Rpb25zKCk6IE9iamVjdFBhZ2VTdWJTZWN0aW9uW10ge1xuXHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRTdWJTZWN0aW9ucygpO1xuXHRcdHJldHVybiBzdWJTZWN0aW9ucy5yZWR1Y2UoKHZpc2libGVTdWJTZWN0aW9uczogT2JqZWN0UGFnZVN1YlNlY3Rpb25bXSwgc3ViU2VjdGlvbikgPT4ge1xuXHRcdFx0aWYgKHN1YlNlY3Rpb24uZ2V0VmlzaWJsZSgpKSB7XG5cdFx0XHRcdHZpc2libGVTdWJTZWN0aW9ucy5wdXNoKHN1YlNlY3Rpb24pO1xuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHZpc2libGVTdWJTZWN0aW9ucztcblx0XHR9LCBbXSBhcyBPYmplY3RQYWdlU3ViU2VjdGlvbltdKTtcblx0fVxuXG5cdGdldFNlY3Rpb25UaXRsZSgpOiBzdHJpbmcge1xuXHRcdGxldCB0aXRsZSA9IHRoaXMuZ2V0VGl0bGUoKTtcblx0XHRpZiAodGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKS5sZW5ndGggPT09IDEpIHtcblx0XHRcdHRpdGxlID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKVswXS5nZXRUaXRsZSgpO1xuXHRcdH1cblx0XHRyZXR1cm4gdGl0bGU7XG5cdH1cblxuXHQvKipcblx0ICogQWRqdXN0IHRoZSBzZWN0aW9uIGFuZCBzdWJzZWN0aW9uIGJhc2VkIG9uIHRoZSBhdmFpbGFibGUgY29udGVudC5cblx0ICogQHBhcmFtIHNpbmdsZUNvbnRlbnQgQ29udGVudFxuXHQgKiBAcGFyYW0gc2VjdGlvbkRldGFpbHMgRGV0YWlsc1xuXHQgKiBAcmV0dXJucyBJcyB0aGUgc2VjdGlvbiBhZGp1c3RlZC5cblx0ICovXG5cdGFkanVzdEZvclNpbmdsZUNvbnRlbnQoXG5cdFx0c2luZ2xlQ29udGVudDogTWFuYWdlZE9iamVjdCxcblx0XHRzZWN0aW9uRGV0YWlscz86IFJlY29yZDxzdHJpbmcsIE9iamVjdFBhZ2VTdWJTZWN0aW9uIHwgVGl0bGUgfCBib29sZWFuPlxuXHQpOiBBZGp1c3RtZW50UHJvcHMge1xuXHRcdC8vIHNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb24gY2xhc3MgYXQgbGV2ZWwgbWFrZXMgYmFja2dyb3VuZCBvZiBzdWJzZWN0aW9uIHRpdGxlcyB0cmFuc3BhcmVudC5cblx0XHQvLyBUaGlzIHRyYW5zcGFyZW50IGJhY2tncm91bmQgaXMgcHJvcGFnYXRlZCB0byBjb250ZW50cyB0aGF0IGFyZSBleHBlY3RlZCB0byBzaG93IG9wYXF1ZSBiYWNrZ3JvdW5kcyBieSBkZWZhdWx0LlxuXHRcdC8vIFdlIG5lZWQgdG8gYWRkIGV4Y2x1c2lvbiBjbGFzcyBcInNhcFVpQWRqdXN0ZWRTZWN0aW9uU3Vic2VjdGlvbldpdGhvdXRUYWJsZVwiIHRvIHRoZSBzdWJzZWN0aW9uIHRoYXQgZG9lc24ndCBuZWVkXG5cdFx0Y29uc3QgY2xhc3Nlc1RvQWRkOiBTZXQ8c3RyaW5nPiA9IG5ldyBTZXQoKTtcblx0XHRjb25zdCBzZWN0aW9uT25seUNvbnRlbnQgPSBzaW5nbGVDb250ZW50IGFzIHVua25vd24gYXMgSVNpbmdsZVNlY3Rpb25Db250cmlidXRvcjtcblx0XHQvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgYWxzbyBiZSBjYWxsZWQgZnJvbSB0aGUgZXh0ZW5zaW9uQVBJIGFsb25nIHdpdGggc29tZSBjb250cm9scyBieSB0aGUgYXBwbGljYXRpb24gZGV2ZWxvcGVyLCB0aGUgYmVsb3cgY2hlY2sgaXMgYWRkZWQgdG8gY292ZXIgdGhlIGNhc2VzIHdoZXJlIHRoZSBjb250cm9scyBwYXNzZWQgbGlrZSBzYXAubS5UaXRsZSBhcmUgbm90IGltcGxlbWVudGluZyB0aGUgaW50ZXJmYWNlXG5cdFx0Y29uc3QgY29udGVudFJvbGUgPSBzZWN0aW9uT25seUNvbnRlbnQuZ2V0U2VjdGlvbkNvbnRlbnRSb2xlICYmIHNlY3Rpb25Pbmx5Q29udGVudC5nZXRTZWN0aW9uQ29udGVudFJvbGUoKTtcblx0XHRpZiAoY29udGVudFJvbGUgPT09IFwicHJvdmlkZXJcIikge1xuXHRcdFx0Y29uc3QgaW5mb0Zyb21Qcm92aWRlciA9XG5cdFx0XHRcdHNlY3Rpb25Pbmx5Q29udGVudC5nZXREYXRhRnJvbVByb3ZpZGVyICYmIHNlY3Rpb25Pbmx5Q29udGVudC5nZXREYXRhRnJvbVByb3ZpZGVyKHRoaXMudXNlU2luZ2xlVGV4dEFyZWFGaWVsZEFzTm90ZXMpO1xuXHRcdFx0aWYgKGluZm9Gcm9tUHJvdmlkZXIgJiYgdGhpcy5nZXRUaXRsZSgpID09PSBpbmZvRnJvbVByb3ZpZGVyLnRpdGxlKSB7XG5cdFx0XHRcdC8vY29tbWVudGluZyBvdXQgdGhpcyByZWR1bmRlbnQgdGl0bGUgc2V0dGluZyB0byBhdm9pZCByZS1yZW5kZXJpbmcgaXNzdWVzXG5cdFx0XHRcdC8vIHRoaXMuc2V0VGl0bGUoaW5mb0Zyb21Qcm92aWRlci50aXRsZSk7XG5cdFx0XHRcdHRoaXMuc2V0U2hvd1RpdGxlKHRydWUpO1xuXHRcdFx0XHQvLyBUT0RPOiBDaGVjayBpZiB0aGlzIGlzIHJlYWxseSBuZWVkZWQ/XG5cdFx0XHRcdGNsYXNzZXNUb0FkZC5hZGQoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoY29udGVudFJvbGUgPT09IFwiY29uc3VtZXJcIikge1xuXHRcdFx0bGV0IHRpdGxlID0gdGhpcy5nZXRTZWN0aW9uVGl0bGUoKTtcblx0XHRcdGlmIChzZWN0aW9uRGV0YWlscz8uc2VjdGlvbmZyb21Db2xsZWN0aW9uRmFjZXQpIHtcblx0XHRcdFx0dGl0bGUgPSAoc2VjdGlvbkRldGFpbHM/LlRpdGxlIGFzIFRpdGxlKT8uZ2V0VGV4dCgpO1xuXHRcdFx0XHQoc2VjdGlvbkRldGFpbHM/LlRpdGxlIGFzIFRpdGxlKT8uc2V0VmlzaWJsZShmYWxzZSk7XG5cdFx0XHRcdChzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbiBhcyBPYmplY3RQYWdlU3ViU2VjdGlvbik/LnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHR9IGVsc2UgaWYgKHNlY3Rpb25EZXRhaWxzPy5zZWN0aW9uRnJvbVJlZmVyZW5jZUZhY2V0KSB7XG5cdFx0XHRcdHRpdGxlID0gKHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uKT8uZ2V0VGl0bGUoKTtcblx0XHRcdFx0KHNlY3Rpb25EZXRhaWxzPy5TdWJTZWN0aW9uIGFzIE9iamVjdFBhZ2VTdWJTZWN0aW9uKT8uc2V0U2hvd1RpdGxlKGZhbHNlKTtcblx0XHRcdH1cblx0XHRcdGlmICh0aXRsZSA9PT0gXCJcIiAmJiBzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbikge1xuXHRcdFx0XHR0aXRsZSA9IChzZWN0aW9uRGV0YWlscz8uU3ViU2VjdGlvbiBhcyBPYmplY3RQYWdlU3ViU2VjdGlvbikuZ2V0VGl0bGUoKTtcblx0XHRcdH1cblx0XHRcdGlmIChzZWN0aW9uT25seUNvbnRlbnQuc2VuZERhdGFUb0NvbnN1bWVyKSB7XG5cdFx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRTdWJTZWN0aW9ucygpO1xuXHRcdFx0XHRjb25zdCBoYXNNdWx0aXBsZVN1YnNlY3Rpb25zID0gISEoc3ViU2VjdGlvbnM/Lmxlbmd0aCA+IDEpO1xuXG5cdFx0XHRcdHNlY3Rpb25Pbmx5Q29udGVudC5zZW5kRGF0YVRvQ29uc3VtZXIoe1xuXHRcdFx0XHRcdHRpdGxlTGV2ZWw6IHRoaXMuZ2V0VGl0bGVMZXZlbCgpLFxuXHRcdFx0XHRcdHRpdGxlOiB0aXRsZSxcblx0XHRcdFx0XHRoZWFkZXJTdHlsZTogaGFzTXVsdGlwbGVTdWJzZWN0aW9ucyA/IFwiSDVcIiA6IFwiSDRcIlxuXHRcdFx0XHR9KTtcblx0XHRcdFx0dGhpcy5zZXRTaG93VGl0bGUoISFzZWN0aW9uRGV0YWlscz8uc2hvd1RpdGxlKTtcblx0XHRcdFx0Y2xhc3Nlc1RvQWRkLmFkZChcInNhcFVpVGFibGVPbk9iamVjdFBhZ2VBZGp1c3RtZW50c0ZvclNlY3Rpb25cIik7XG5cblx0XHRcdFx0Ly8gaWYgdGhlIHNlY3Rpb24gaGFzIG9ubHkgc3ViIHNlY3Rpb24sIHRoZW4gdGhlIHN1YiBzZWN0aW9uJ3MgdGl0bGUgc2hvdWxkIG5vdCBiZSBkaXNwbGF5ZWRcblx0XHRcdFx0aWYgKCFoYXNNdWx0aXBsZVN1YnNlY3Rpb25zKSBzdWJTZWN0aW9uc1swXS5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoc2luZ2xlQ29udGVudD8uaXNBKFwic2FwLm0uVGl0bGVcIikpIHtcblx0XHRcdGNvbnN0IHN1YlNlY3Rpb25zID0gdGhpcy5nZXRWaXNpYmxlU3ViU2VjdGlvbnMoKSB8fCBbXTtcblx0XHRcdGNvbnN0IGhhc011bHRpcGxlU3Vic2VjdGlvbnMgPSBzdWJTZWN0aW9ucy5sZW5ndGggPiAxO1xuXG5cdFx0XHQvLyBIYW5kbGUgdGl0bGUgc3R5bGluZyBhbmQgdmlzaWJpbGl0eSBpZiByZXVzZSBjb21wb25lbnQgaXMgbm90IGVuYWJsZWRcblx0XHRcdGlmICghc2VjdGlvbkRldGFpbHM/Lm11bHRpcGxlU3ViU2VjdGlvbnNXaXRoUmV1c2VDb21wb25lbnQpIHtcblx0XHRcdFx0Y29uc3QgdGl0bGUgPSBzaW5nbGVDb250ZW50IGFzIFRpdGxlO1xuXHRcdFx0XHR0aXRsZS5zZXRUZXh0KHRoaXMuZ2V0VGl0bGUoKSk7XG5cdFx0XHRcdHRpdGxlLnNldFRpdGxlU3R5bGUoaGFzTXVsdGlwbGVTdWJzZWN0aW9ucyA/IFwiSDVcIiA6IFwiSDRcIik7XG5cdFx0XHRcdHRpdGxlLnNldExldmVsKHRoaXMuZ2V0VGl0bGVMZXZlbCgpKTtcblx0XHRcdFx0dGhpcy5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0XHRjbGFzc2VzVG9BZGQuYWRkKFwic2FwVWlUYWJsZU9uT2JqZWN0UGFnZUFkanVzdG1lbnRzRm9yU2VjdGlvblwiKTtcblx0XHRcdH1cblx0XHRcdC8vIEhpZGUgc3Vic2VjdGlvbiB0aXRsZSBpZiB0aGVyZSdzIG9ubHkgb25lIHZpc2libGUgc3Vic2VjdGlvblxuXHRcdFx0aWYgKHN1YlNlY3Rpb25zLmxlbmd0aCA9PT0gMSkge1xuXHRcdFx0XHRzdWJTZWN0aW9uc1swXS5zZXRTaG93VGl0bGUoZmFsc2UpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAodGhpcy5jaGVja0lmTm90ZXNSZXVzZUNvbXBvbmVudChzaW5nbGVDb250ZW50KSkge1xuXHRcdFx0LyoqXG5cdFx0XHQgKiBOb3RlcyBSZXVzZSBjb21wb25lbnQgaGFzIHRoZSBmb2xsb3dpbmcgc3RydWN0dXJlIDpcblx0XHRcdCAqIDxWQm94IGlkPVwiTm90ZVNlY3Rpb25cIj5cblx0XHRcdCAqIDxNZXNzYWdlU3RyaXAgaWQ9XCJub3Rlc0RlYnVnUHJvcGVydGllc1wiPlxuXHRcdFx0ICogPExpc3QgaWQ9XCJOb3Rlc0xpc3RcIj5cblx0XHRcdCAqIDxoZWFkZXJUb29sYmFyPlxuXHRcdFx0ICogPE92ZXJmbG93VG9vbGJhciBpZD1cIm5vdGVIZWFkZXJPdmVyZmxvd1Rvb2xiYXJcIiBzdHlsZT1cIlN0YW5kYXJkXCI+XG5cdFx0XHQgKiAgICAgICA8VGl0bGUgaWQ9XCJub3RlSGVhZGVyT3ZlcmZsb3dUb29sYmFyVGl0bGVcIi8+XG5cdFx0XHQgKlx0XHQuLi4uLi5cblx0XHRcdCAqXHQ8L092ZXJmbG93VG9vbGJhcj5cblx0XHRcdCAqXHQ8L2hlYWRlclRvb2xiYXI+XG5cdFx0XHQgKlx0Li4uLi4uXG5cdFx0XHQgKlx0PC9MaXN0PlxuXHRcdFx0ICpcdDwvVkJveD5cblx0XHRcdCAqXHQuLi4uLlxuXHRcdFx0ICpcblx0XHRcdCAqIFdlIGFyZSBhcHBseWluZyB0aGUgdGl0bGUgbWVyZ2UgbG9naWMgZm9yIHRoZSB0aXRsZSB3aXRoaW4gdGhlIG92ZXJmbG93IHRvb2xiYXJcblx0XHRcdCAqIGluIHRoZSBmb2xsb3dpbmcgY29kZVxuXHRcdFx0ICpcblx0XHRcdCAqL1xuXHRcdFx0Y29uc3QgdkJveEl0ZW1zID0gKHNpbmdsZUNvbnRlbnQgYXMgVkJveCkuZ2V0SXRlbXMoKTtcblx0XHRcdHZCb3hJdGVtcy5mb3JFYWNoKCh2Qm94SXRlbSkgPT4ge1xuXHRcdFx0XHRjb25zdCBoZWFkZXJUb29sYmFyID0gdkJveEl0ZW0uZ2V0QWdncmVnYXRpb24oXCJoZWFkZXJUb29sYmFyXCIpO1xuXHRcdFx0XHRpZiAoaGVhZGVyVG9vbGJhcikge1xuXHRcdFx0XHRcdChoZWFkZXJUb29sYmFyIGFzIE92ZXJmbG93VG9vbGJhcik/LmdldENvbnRlbnQoKS5mb3JFYWNoKChjb250cm9sKSA9PiB7XG5cdFx0XHRcdFx0XHRpZiAoY29udHJvbC5pc0EoXCJzYXAubS5UaXRsZVwiKSkge1xuXHRcdFx0XHRcdFx0XHRjb25zdCBub3Rlc1RpdGxlID0gY29udHJvbCBhcyBUaXRsZTtcblx0XHRcdFx0XHRcdFx0bm90ZXNUaXRsZS5zZXRUZXh0KHRoaXMuZ2V0VGl0bGUoKSk7XG5cdFx0XHRcdFx0XHRcdG5vdGVzVGl0bGUuc2V0VGl0bGVTdHlsZShcIkg0XCIpO1xuXHRcdFx0XHRcdFx0XHRub3Rlc1RpdGxlLnNldExldmVsKHRoaXMuZ2V0VGl0bGVMZXZlbCgpKTtcblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9KTtcblx0XHRcdFx0fVxuXHRcdFx0fSk7XG5cdFx0XHR0aGlzLnNldFNob3dUaXRsZShmYWxzZSk7XG5cdFx0XHRjbGFzc2VzVG9BZGQuYWRkKFwic2FwVWlUYWJsZU9uT2JqZWN0UGFnZUFkanVzdG1lbnRzRm9yU2VjdGlvblwiKTtcblx0XHR9XG5cdFx0dGhpcy5hZGRTdHlsZUNsYXNzKEFycmF5LmZyb20oY2xhc3Nlc1RvQWRkKS5qb2luKFwiIFwiKSk7XG5cdFx0cmV0dXJuIHsgdGFibGVzQWRqdXN0ZWQ6IGNsYXNzZXNUb0FkZC5oYXMoXCJzYXBVaVRhYmxlT25PYmplY3RQYWdlQWRqdXN0bWVudHNGb3JTZWN0aW9uXCIpIH07XG5cdH1cbn1cblxuZXhwb3J0IGRlZmF1bHQgU2VjdGlvbjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztFQW9CQTtFQUFBLElBZU1BLE9BQU8sSUFBQUMsSUFBQSxHQUZaQyxjQUFjLENBQUMsZ0NBQWdDLEVBQUU7SUFBRUMsVUFBVSxFQUFFO0VBQW1ELENBQUMsQ0FBQyxFQUFBQyxLQUFBLEdBQ3BIQyxLQUFLLENBQUNDLG1CQUFtQixDQUFDLEVBQUFDLEtBQUEsR0FHekJDLFFBQVEsQ0FBQztJQUFFQyxJQUFJLEVBQUU7RUFBUyxDQUFDLENBQUMsRUFBQUMsS0FBQSxHQUc1QkYsUUFBUSxDQUFDO0lBQUVDLElBQUksRUFBRTtFQUFVLENBQUMsQ0FBQyxFQUFBRSxLQUFBLEdBTTdCSCxRQUFRLENBQUM7SUFBRUMsSUFBSSxFQUFFO0VBQVMsQ0FBQyxDQUFDLEVBQUFHLEtBQUEsR0FNNUJKLFFBQVEsQ0FBQztJQUFF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
|
|
@@ -322,7 +322,8 @@ class Section extends ObjectPageSection {
|
|
|
322
322
|
const infoFromProvider =
|
|
323
323
|
sectionOnlyContent.getDataFromProvider && sectionOnlyContent.getDataFromProvider(this.useSingleTextAreaFieldAsNotes);
|
|
324
324
|
if (infoFromProvider && this.getTitle() === infoFromProvider.title) {
|
|
325
|
-
this
|
|
325
|
+
//commenting out this redundent title setting to avoid re-rendering issues
|
|
326
|
+
// this.setTitle(infoFromProvider.title);
|
|
326
327
|
this.setShowTitle(true);
|
|
327
328
|
// TODO: Check if this is really needed?
|
|
328
329
|
classesToAdd.add("sapUiTableOnObjectPageAdjustmentsForSection");
|
|
@@ -364,8 +364,8 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
364
364
|
}
|
|
365
365
|
this.dialog = this.createDialog();
|
|
366
366
|
this.dialog.setEscapeHandler(this.onEscape.bind(this));
|
|
367
|
-
this.parentControl?.addDependent(this.dialog);
|
|
368
367
|
this.dialog.setBindingContext(this.contextToUpdate);
|
|
368
|
+
this.parentControl?.addDependent(this.dialog);
|
|
369
369
|
this.dialog.open();
|
|
370
370
|
return this.dialog;
|
|
371
371
|
}
|
|
@@ -414,4 +414,4 @@ sap.ui.define(["sap/fe/base/BindingToolkit", "sap/fe/base/ClassSupport", "sap/fe
|
|
|
414
414
|
_exports = CreateDialog;
|
|
415
415
|
return _exports;
|
|
416
416
|
}, false);
|
|
417
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZXh0VXBkYXRlRGlhbG9nRXZlbnRQcm92aWRlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwiZXZlbnQiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0V2ZW50UHJvdmlkZXIiLCJfdGhpcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfaW5oZXJpdHNMb29zZSIsIkV2ZW50UHJvdmlkZXIiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiLCJDcmVhdGVEaWFsb2ciLCJjb250ZXh0VG9VcGRhdGUiLCJmaWVsZE5hbWVzIiwiYXBwQ29tcG9uZW50IiwibW9kZSIsInBhcmVudENvbnRyb2wiLCJhY3Rpb25QYXJhbWV0ZXJJbmZvcyIsImV2ZW50UHJvdmlkZXIiLCJtb2RlbCIsImdldE1vZGVsIiwibWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibWV0YVBhdGgiLCJnZXRNZXRhUGF0aCIsImdldFBhdGgiLCJyZXF1aXJlZEZpZWxkTmFtZXMiLCJnZXRSZXF1aXJlZFByb3BlcnRpZXNGcm9tSW5zZXJ0UmVzdHJpY3Rpb25zIiwiX2V4cG9ydHMiLCJfcHJvdG8iLCJhdHRhY2hFeGl0RGlhbG9nIiwib0RhdGEiLCJmbkZ1bmN0aW9uIiwib0xpc3RlbmVyIiwiYXR0YWNoRXZlbnQiLCJmaXJlRXhpdERpYWxvZyIsImFjY2VwdCIsImZpcmVFdmVudCIsImdldEVkaXRNb2RlIiwicHJvcGVydHkiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIkZpZWxkQ29udHJvbCIsImZpZWxkQ29udHJvbCIsIiRFbnVtTWVtYmVyIiwiZ2V0RmllbGRWSFR5cGVBaGVhZCIsImZpZWxkTmFtZSIsInByb3BlcnR5T2JqZWN0UGF0aCIsIl9qc3giLCJQb3BvdmVyIiwiY2hpbGRyZW4iLCJNVGFibGUiLCJpZCIsImdlbmVyYXRlIiwiY2FzZVNlbnNpdGl2ZSIsInVzZUNhc2VTZW5zaXRpdmVGaWx0ZXJSZXF1ZXN0cyIsImNvbnZlcnRlZFR5cGVzIiwiZW50aXR5Q29udGFpbmVyIiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyRnVuY3Rpb25zIiwidXNlQXNWYWx1ZUhlbHAiLCJWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMiLCJnZXRGaWVsZFZIRGlhbG9nIiwidmFsdWVPZiIsIlZIRGlhbG9nIiwidW5kZWZpbmVkIiwiZ2V0RmllbGRWYWx1ZUhlbHAiLCJoYXNWYWx1ZUhlbHAiLCJ2aERlbGVnYXRlIiwibmFtZSIsInBheWxvYWQiLCJwcm9wZXJ0eVBhdGgiLCJnZXRUYXJnZXRPYmplY3RQYXRoIiwicXVhbGlmaWVycyIsInZhbHVlSGVscFF1YWxpZmllciIsIlZhbHVlSGVscCIsImRlbGVnYXRlIiwidmFsaWRhdGVJbnB1dCIsInJlcXVpcmVzVmFsaWRhdGlvbiIsInR5cGVhaGVhZCIsImRpYWxvZyIsImNyZWF0ZUZvcm1FbGVtZW50IiwibGlzdE9iamVjdFBhdGgiLCJsaXN0TWV0YVBhdGgiLCJlbmhhbmNlRGF0YU1vZGVsUGF0aCIsInRhcmdldE9iamVjdCIsInByb3BlcnR5TWV0YUNvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsInByb3BlcnR5UGxhY2VIb2xkZXJNZXRhQ29udGV4dCIsImZpZWxkIiwiTURDRmllbGQiLCJyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IiwidGFyZ2V0RW50aXR5VHlwZSIsInZhbHVlIiwiQW5ub3RhdGlvbkhlbHBlciIsImZvcm1hdCIsImdldE9iamVjdCIsImNvbnRleHQiLCJwbGFjZWhvbGRlciIsIndpZHRoIiwicmVxdWlyZWQiLCJjb21waWxlRXhwcmVzc2lvbiIsIm9yIiwiaXNSZXF1aXJlZEV4cHJlc3Npb24iLCJpbmNsdWRlcyIsImRpc3BsYXkiLCJGaWVsZEhlbHBlciIsImdldEFQRGlhbG9nRGlzcGxheUZvcm1hdCIsInZhbHVlSGVscCIsImVkaXRNb2RlIiwiZGVwZW5kZW50cyIsImN1c3RvbURhdGEiLCJDdXN0b21EYXRhIiwibGl2ZUNoYW5nZSIsImhhbmRsZUxpdmVDaGFuZ2UiLCJiaW5kIiwiY2hhbmdlIiwiaGFuZGxlQ2hhbmdlIiwicHVzaCIsImlzTXVsdGlWYWx1ZSIsImdldFZhbHVlIiwidmFsaWRhdGlvblByb21pc2UiLCJoYXNFcnJvciIsIl9qc3hzIiwiX0ZyYWdtZW50IiwiTGFiZWwiLCJ0ZXh0IiwiYWZ0ZXJPcGVuIiwiZmlyc3RGaWVsZCIsImZvY3VzSW5mbyIsImdldEZvY3VzSW5mbyIsInRhcmdldEluZm8iLCJzaWxlbnQiLCJmb2N1cyIsImNyZWF0ZURpYWxvZyIsInJlc291cmNlTW9kZWwiLCJnZXRSZXNvdXJjZU1vZGVsIiwibWV0YUNvbnRleHQiLCJvYmplY3RQYXRoIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiYmVnaW5CdXR0b25MYWJlbCIsImdldFRleHQiLCJlbmRCdXR0b24iLCJCdXR0b24iLCJwcmVzcyIsIm9uQ2FuY2VsIiwiRGlhbG9nIiwidGl0bGUiLCJyZXNpemFibGUiLCJkcmFnZ2FibGUiLCJpbml0aWFsRm9jdXMiLCJiZWdpbkJ1dHRvbiIsIm9uT0siLCJ0eXBlIiwiY29udGVudCIsIlNpbXBsZUZvcm0iLCJtYXAiLCJkaXNwbGF5RXJyb3JNZXNzYWdlcyIsIm1lc3NhZ2VzIiwiY29udGV4dE1ldGFQYXRoIiwibWVzc2FnZSIsInRhcmdldCIsImdldFRhcmdldHMiLCJ0YXJnZXRNZXRhUGF0aCIsInBhcmFtZXRlckluZm8iLCJmaW5kIiwiYWN0aW9uUGFyYW1ldGVySW5mbyIsInNldFZhbHVlU3RhdGUiLCJnZXRUeXBlIiwiTWVzc2FnZVR5cGUiLCJFcnJvciIsInNldFZhbHVlU3RhdGVUZXh0IiwiZ2V0TWVzc2FnZSIsIm1lc3NhZ2VDb250cm9sSURzIiwiZ2V0Q29udHJvbElkcyIsImdldElkIiwicmVtb3ZlTWVzc2FnZXNGb3JBY3Rpb25QYXJhbWV0ZXIiLCJtZXNzYWdlQ29udHJvbElkIiwiYWxsTWVzc2FnZXMiLCJNZXNzYWdpbmciLCJnZXRNZXNzYWdlTW9kZWwiLCJnZXREYXRhIiwicmVsZXZhbnRNZXNzYWdlcyIsImZpbHRlciIsIm1zZyIsInNvbWUiLCJjb250cm9sSWQiLCJyZW1vdmVNZXNzYWdlcyIsImxpdmVDaGFuZ2VFdmVudCIsImZpZWxkSWQiLCJnZXRTb3VyY2UiLCJjaGFuZ2VFdmVudCIsImdldFBhcmFtZXRlciIsIk5vbmUiLCJlcnJvciIsIkFjdGlvblJ1bnRpbWUiLCJ2YWxpZGF0ZVByb3BlcnRpZXMiLCJvbkVzY2FwZSIsInAiLCJyZWplY3QiLCJvcGVuRGlhbG9nIiwic2V0RXNjYXBlSGFuZGxlciIsImFkZERlcGVuZGVudCIsInNldEJpbmRpbmdDb250ZXh0Iiwib3BlbiIsImNsb3NlRGlhbG9nIiwiQnVzeUxvY2tlciIsImlzTG9ja2VkIiwidW5sb2NrIiwiY2xvc2UiLCJkZXN0cm95Iiwic2V0QnVzeSIsImJ1c3kiLCJsb2NrIiwiaXNPcGVuIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDcmVhdGVEaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5U2V0IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiwgb3IgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgQWN0aW9uUGFyYW1ldGVySW5mbyB9IGZyb20gXCJzYXAvZmUvY29yZS9BY3Rpb25SdW50aW1lXCI7XG5pbXBvcnQgQWN0aW9uUnVudGltZSBmcm9tIFwic2FwL2ZlL2NvcmUvQWN0aW9uUnVudGltZVwiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgU3RhbmRhcmREaWFsb2cgfSBmcm9tIFwic2FwL2ZlL2NvcmUvVUlQcm92aWRlclwiO1xuaW1wb3J0IEJ1c3lMb2NrZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0J1c3lMb2NrZXJcIjtcbmltcG9ydCB7IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0UmVxdWlyZWRQcm9wZXJ0aWVzRnJvbUluc2VydFJlc3RyaWN0aW9ucyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01ldGFNb2RlbEZ1bmN0aW9uXCI7XG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1vZGVsIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVzb3VyY2VNb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHsgZW5oYW5jZURhdGFNb2RlbFBhdGgsIGdldFRhcmdldE9iamVjdFBhdGgsIHR5cGUgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7IGlzUmVxdWlyZWRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRmllbGRDb250cm9sSGVscGVyXCI7XG5pbXBvcnQgeyBoYXNWYWx1ZUhlbHAgfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9Qcm9wZXJ0eUhlbHBlclwiO1xuaW1wb3J0IEZpZWxkSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkSGVscGVyXCI7XG5pbXBvcnQgeyByZXF1aXJlc1ZhbGlkYXRpb24sIHVzZUNhc2VTZW5zaXRpdmVGaWx0ZXJSZXF1ZXN0cyB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL3ZhbHVlaGVscC9WYWx1ZUhlbHBUZW1wbGF0aW5nXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBEaWFsb2cgZnJvbSBcInNhcC9tL0RpYWxvZ1wiO1xuaW1wb3J0IExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IEV2ZW50UHJvdmlkZXIgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50UHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBDdXN0b21EYXRhIGZyb20gXCJzYXAvdWkvY29yZS9DdXN0b21EYXRhXCI7XG5pbXBvcnQgTWVzc2FnaW5nIGZyb20gXCJzYXAvdWkvY29yZS9NZXNzYWdpbmdcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IE1lc3NhZ2VUeXBlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VUeXBlXCI7XG5pbXBvcnQgU2ltcGxlRm9ybSBmcm9tIFwic2FwL3VpL2xheW91dC9mb3JtL1NpbXBsZUZvcm1cIjtcbmltcG9ydCBNRENGaWVsZCwgeyB0eXBlIEZpZWxkJENoYW5nZUV2ZW50IH0gZnJvbSBcInNhcC91aS9tZGMvRmllbGRcIjtcbmltcG9ydCBWYWx1ZUhlbHAgZnJvbSBcInNhcC91aS9tZGMvVmFsdWVIZWxwXCI7XG5pbXBvcnQgeyB0eXBlIEZpZWxkQmFzZSRMaXZlQ2hhbmdlRXZlbnQgfSBmcm9tIFwic2FwL3VpL21kYy9maWVsZC9GaWVsZEJhc2VcIjtcbmltcG9ydCBWSERpYWxvZyBmcm9tIFwic2FwL3VpL21kYy92YWx1ZWhlbHAvRGlhbG9nXCI7XG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwic2FwL3VpL21kYy92YWx1ZWhlbHAvUG9wb3ZlclwiO1xuaW1wb3J0IE1UYWJsZSBmcm9tIFwic2FwL3VpL21kYy92YWx1ZWhlbHAvY29udGVudC9NVGFibGVcIjtcbmltcG9ydCBBbm5vdGF0aW9uSGVscGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQW5ub3RhdGlvbkhlbHBlclwiO1xuaW1wb3J0IHR5cGUgT0RhdGFWNENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5Sb3V0aW5nU2VydmljZUV2ZW50aW5nXCIpXG5jbGFzcyBDb250ZXh0VXBkYXRlRGlhbG9nRXZlbnRQcm92aWRlciBleHRlbmRzIEV2ZW50UHJvdmlkZXIge1xuXHRAZXZlbnQoKVxuXHRleGl0RGlhbG9nITogRnVuY3Rpb247XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENyZWF0ZURpYWxvZyBpbXBsZW1lbnRzIFN0YW5kYXJkRGlhbG9nIHtcblx0cHJpdmF0ZSBkaWFsb2c/OiBEaWFsb2c7XG5cblx0cHJpdmF0ZSBtZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsO1xuXG5cdHByaXZhdGUgcmVxdWlyZWRGaWVsZE5hbWVzOiBzdHJpbmdbXTtcblxuXHRwcml2YXRlIGFjdGlvblBhcmFtZXRlckluZm9zOiBBY3Rpb25QYXJhbWV0ZXJJbmZvW10gPSBbXTtcblxuXHRwcml2YXRlIGV2ZW50UHJvdmlkZXIgPSBuZXcgQ29udGV4dFVwZGF0ZURpYWxvZ0V2ZW50UHJvdmlkZXIoKTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIGNvbnRleHRUb1VwZGF0ZTogT0RhdGFWNENvbnRleHQsXG5cdFx0cHJpdmF0ZSBmaWVsZE5hbWVzOiBzdHJpbmdbXSxcblx0XHRwcml2YXRlIGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50LFxuXHRcdHByaXZhdGUgbW9kZTogXCJTdGFuZGFsb25lXCIgfCBcIldpdGhOYXZpZ2F0aW9uXCIsXG5cdFx0cHJpdmF0ZSBwYXJlbnRDb250cm9sPzogQ29udHJvbFxuXHQpIHtcblx0XHRjb25zdCBtb2RlbDogT0RhdGFNb2RlbCA9IGNvbnRleHRUb1VwZGF0ZS5nZXRNb2RlbCgpO1xuXHRcdHRoaXMubWV0YU1vZGVsID0gbW9kZWwuZ2V0TWV0YU1vZGVsKCk7XG5cblx0XHRjb25zdCBtZXRhUGF0aCA9IHRoaXMubWV0YU1vZGVsLmdldE1ldGFQYXRoKGNvbnRleHRUb1VwZGF0ZS5nZXRQYXRoKCkpO1xuXHRcdHRoaXMucmVxdWlyZWRGaWVsZE5hbWVzID0gZ2V0UmVxdWlyZWRQcm9wZXJ0aWVzRnJvbUluc2VydFJlc3RyaWN0aW9ucyhtZXRhUGF0aCwgdGhpcy5tZXRhTW9kZWwpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEF0dGFjaGVzIGFuIGV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xvc2VzIHRoZSBkaWFsb2cgKGVpdGhlciB3aXRoIE9LIG9yIENhbmNlbCkuXG5cdCAqXG5cdCAqIFRoZSBldmVudCBoYXMgYW4gJ2FjY2VwdCcgcGFyYW1ldGVyIHRoYXQgaXMgdHJ1ZSAocmVzcC4gZmFsc2UpIGlmIHRoZSB1c2VyIGNsaWNrZWQgb24gT0sgKHJlc3AuIENhbmNlbCkuXG5cdCAqIEBwYXJhbSBvRGF0YSBQYXlsb2FkIG9iamVjdCB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBldmVudCBoYW5kbGVyIGFsb25nIHdpdGggdGhlIGV2ZW50IG9iamVjdCB3aGVuIGZpcmluZyB0aGUgZXZlbnRcblx0ICogQHBhcmFtIGZuRnVuY3Rpb24gVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBldmVudCBvY2N1cnNcblx0ICogQHBhcmFtIG9MaXN0ZW5lciBDb250ZXh0IG9iamVjdCB0byBjYWxsIHRoZSBldmVudCBoYW5kbGVyIHdpdGhcblx0ICovXG5cdGF0dGFjaEV4aXREaWFsb2cob0RhdGE6IG9iamVjdCwgZm5GdW5jdGlvbjogRnVuY3Rpb24sIG9MaXN0ZW5lcj86IG9iamVjdCk6IHZvaWQge1xuXHRcdHRoaXMuZXZlbnRQcm92aWRlci5hdHRhY2hFdmVudChcImV4aXREaWFsb2dcIiwgb0RhdGEsIGZuRnVuY3Rpb24sIG9MaXN0ZW5lcik7XG5cdH1cblxuXHRwcml2YXRlIGZpcmVFeGl0RGlhbG9nKGFjY2VwdDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuZXZlbnRQcm92aWRlci5maXJlRXZlbnQoXCJleGl0RGlhbG9nXCIsIHsgYWNjZXB0IH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGVkaXRNb2RlIGZvciBhIHByb3BlcnR5LlxuXHQgKiBAcGFyYW0gcHJvcGVydHlcblx0ICogQHJldHVybnMgRGlzcGxheSBvciBFZGl0YWJsZVxuXHQgKi9cblx0cHJpdmF0ZSBnZXRFZGl0TW9kZShwcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcge1xuXHRcdGlmIChwcm9wZXJ0eS5hbm5vdGF0aW9ucy5Db21tb24/LkZpZWxkQ29udHJvbCkge1xuXHRcdFx0Y29uc3QgZmllbGRDb250cm9sID0gcHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uLkZpZWxkQ29udHJvbCBhcyB1bmtub3duIGFzIHsgJEVudW1NZW1iZXI/OiBzdHJpbmcgfTtcblx0XHRcdHJldHVybiBmaWVsZENvbnRyb2wuJEVudW1NZW1iZXIgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkZpZWxkQ29udHJvbFR5cGUvUmVhZE9ubHlcIiA/IFwiRGlzcGxheVwiIDogXCJFZGl0YWJsZVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gXCJFZGl0YWJsZVwiO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBwb3BvdmVyIGZvciB0aGUgVkggdHlwZWFoZWFkLlxuXHQgKiBAcGFyYW0gZmllbGROYW1lXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eVxuXHQgKiBAcGFyYW0gcHJvcGVydHlPYmplY3RQYXRoXG5cdCAqIEByZXR1cm5zIFRoZSBwb3BvdmVyXG5cdCAqL1xuXHRwcml2YXRlIGdldEZpZWxkVkhUeXBlQWhlYWQoZmllbGROYW1lOiBzdHJpbmcsIHByb3BlcnR5OiBQcm9wZXJ0eSwgcHJvcGVydHlPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pik6IFBvcG92ZXIge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8UG9wb3Zlcj5cblx0XHRcdFx0PE1UYWJsZVxuXHRcdFx0XHRcdGlkPXtnZW5lcmF0ZShbZmllbGROYW1lLCBcIlZIXCIsIFwiUG9wb3ZlclwiLCBcInF1YWxpZmllclwiXSl9XG5cdFx0XHRcdFx0Y2FzZVNlbnNpdGl2ZT17dXNlQ2FzZVNlbnNpdGl2ZUZpbHRlclJlcXVlc3RzKFxuXHRcdFx0XHRcdFx0cHJvcGVydHlPYmplY3RQYXRoLFxuXHRcdFx0XHRcdFx0KHByb3BlcnR5T2JqZWN0UGF0aC5jb252ZXJ0ZWRUeXBlcy5lbnRpdHlDb250YWluZXIuYW5ub3RhdGlvbnMuQ2FwYWJpbGl0aWVzXG5cdFx0XHRcdFx0XHRcdD8uRmlsdGVyRnVuY3Rpb25zIGFzIHVua25vd24gYXMgc3RyaW5nW10pID8/IFtdXG5cdFx0XHRcdFx0KX1cblx0XHRcdFx0XHR1c2VBc1ZhbHVlSGVscD17ISFwcm9wZXJ0eS5hbm5vdGF0aW9ucy5Db21tb24/LlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlc31cblx0XHRcdFx0Lz5cblx0XHRcdDwvUG9wb3Zlcj5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIFZIIGRpYWxvZyBmb3IgYSBnaXZlbiBwcm9wZXJ0eS5cblx0ICogQHBhcmFtIHByb3BlcnR5XG5cdCAqIEByZXR1cm5zIEEgZGlhbG9nIGlmIHRoZSBwcm9wZXJ0eSBoYXMgYSBWSCwgdW5kZWZpbmVkIG90aGVyd2lzZVxuXHQgKi9cblx0cHJpdmF0ZSBnZXRGaWVsZFZIRGlhbG9nKHByb3BlcnR5OiBQcm9wZXJ0eSk6IFZIRGlhbG9nIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAocHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uPy5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM/LnZhbHVlT2YoKSAhPT0gdHJ1ZSkge1xuXHRcdFx0cmV0dXJuIDxWSERpYWxvZyAvPjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgVkggZm9yIGEgZ2l2ZW4gZmllbGQuXG5cdCAqIEBwYXJhbSBmaWVsZE5hbWVcblx0ICogQHBhcmFtIHByb3BlcnR5XG5cdCAqIEBwYXJhbSBwcm9wZXJ0eU9iamVjdFBhdGhcblx0ICogQHJldHVybnMgVGhlIFZhbHVlSGVscCBjb250cm9sIGlmIHRoZSBwcm9wZXJ0eSBoYXMgYSBWSCwgdW5kZWZpbmVkIG90aGVyd2lzZVxuXHQgKi9cblx0cHJpdmF0ZSBnZXRGaWVsZFZhbHVlSGVscChcblx0XHRmaWVsZE5hbWU6IHN0cmluZyxcblx0XHRwcm9wZXJ0eTogUHJvcGVydHksXG5cdFx0cHJvcGVydHlPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5PlxuXHQpOiBWYWx1ZUhlbHAgfCB1bmRlZmluZWQge1xuXHRcdGlmICghaGFzVmFsdWVIZWxwKHByb3BlcnR5KSkge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cblx0XHRjb25zdCB2aERlbGVnYXRlID0ge1xuXHRcdFx0bmFtZTogXCJzYXAvZmUvbWFjcm9zL3ZhbHVlaGVscC9WYWx1ZUhlbHBEZWxlZ2F0ZVwiLFxuXHRcdFx0cGF5bG9hZDoge1xuXHRcdFx0XHRwcm9wZXJ0eVBhdGg6IGdldFRhcmdldE9iamVjdFBhdGgocHJvcGVydHlPYmplY3RQYXRoKSxcblx0XHRcdFx0cXVhbGlmaWVyczoge30sXG5cdFx0XHRcdHZhbHVlSGVscFF1YWxpZmllcjogXCJcIlxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gKFxuXHRcdFx0PFZhbHVlSGVscFxuXHRcdFx0XHRpZD17Z2VuZXJhdGUoW2ZpZWxkTmFtZSwgXCJWSFwiXSl9XG5cdFx0XHRcdGRlbGVnYXRlPXt2aERlbGVnYXRlfVxuXHRcdFx0XHR2YWxpZGF0ZUlucHV0PXtyZXF1aXJlc1ZhbGlkYXRpb24ocHJvcGVydHkpfVxuXHRcdFx0XHR0eXBlYWhlYWQ9e3RoaXMuZ2V0RmllbGRWSFR5cGVBaGVhZChmaWVsZE5hbWUsIHByb3BlcnR5LCBwcm9wZXJ0eU9iamVjdFBhdGgpfVxuXHRcdFx0XHRkaWFsb2c9e3RoaXMuZ2V0RmllbGRWSERpYWxvZyhwcm9wZXJ0eSl9XG5cdFx0XHQ+PC9WYWx1ZUhlbHA+XG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBGb3JtIGVsZW1lbnQgKGxhYmVsICsgZmllbGQpIGZvciBhIGdpdmVuIHByb3BlcnR5IG5hbWUuXG5cdCAqIEBwYXJhbSBmaWVsZE5hbWVcblx0ICogQHBhcmFtIGxpc3RPYmplY3RQYXRoXG5cdCAqIEBwYXJhbSBsaXN0TWV0YVBhdGhcblx0ICogQHJldHVybnMgVGhlIGVsZW1lbnRcblx0ICovXG5cdHByaXZhdGUgY3JlYXRlRm9ybUVsZW1lbnQoZmllbGROYW1lOiBzdHJpbmcsIGxpc3RPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPEVudGl0eVNldD4sIGxpc3RNZXRhUGF0aDogc3RyaW5nKTogdW5rbm93biB7XG5cdFx0Y29uc3QgcHJvcGVydHlPYmplY3RQYXRoID0gZW5oYW5jZURhdGFNb2RlbFBhdGg8UHJvcGVydHk+KGxpc3RPYmplY3RQYXRoLCBmaWVsZE5hbWUpO1xuXHRcdGNvbnN0IHByb3BlcnR5ID0gcHJvcGVydHlPYmplY3RQYXRoLnRhcmdldE9iamVjdCBhcyBQcm9wZXJ0eTtcblx0XHRjb25zdCBwcm9wZXJ0eU1ldGFDb250ZXh0ID0gdGhpcy5tZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoYCR7bGlzdE1ldGFQYXRofS8ke2ZpZWxkTmFtZX1gKSE7XG5cdFx0Y29uc3QgcHJvcGVydHlQbGFjZUhvbGRlck1ldGFDb250ZXh0ID0gdGhpcy5tZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXG5cdFx0XHRgJHtsaXN0TWV0YVBhdGh9LyR7ZmllbGROYW1lfUBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5QbGFjZWhvbGRlcmBcblx0XHQpITtcblxuXHRcdGNvbnN0IGZpZWxkID0gKFxuXHRcdFx0PE1EQ0ZpZWxkXG5cdFx0XHRcdGRlbGVnYXRlPXt7IG5hbWU6IFwic2FwL2ZlL21hY3Jvcy9maWVsZC9GaWVsZEJhc2VEZWxlZ2F0ZVwiLCBwYXlsb2FkOiB7IHJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3Q6IHRydWUgfSB9fVxuXHRcdFx0XHRpZD17Z2VuZXJhdGUoW1wiQ3JlYXRlRGlhbG9nXCIsIGxpc3RPYmplY3RQYXRoLnRhcmdldEVudGl0eVR5cGUubmFtZSwgZmllbGROYW1lXSl9XG5cdFx0XHRcdHZhbHVlPXtBbm5vdGF0aW9uSGVscGVyLmZvcm1hdChwcm9wZXJ0eU1ldGFDb250ZXh0LmdldE9iamVjdCgpLCB7IGNvbnRleHQ6IHByb3BlcnR5TWV0YUNvbnRleHQgfSl9XG5cdFx0XHRcdHBsYWNlaG9sZGVyPXtBbm5vdGF0aW9uSGVscGVyLnZhbHVlKHByb3BlcnR5UGxhY2VIb2xkZXJNZXRhQ29udGV4dC5nZXRPYmplY3QoKSwge1xuXHRcdFx0XHRcdGNvbnRleHQ6IHByb3BlcnR5UGxhY2VIb2xkZXJNZXRhQ29udGV4dFxuXHRcdFx0XHR9KX1cblx0XHRcdFx0d2lkdGg9XCIxMDAlXCJcblx0XHRcdFx0cmVxdWlyZWQ9e2NvbXBpbGVFeHByZXNzaW9uKG9yKGlzUmVxdWlyZWRFeHByZXNzaW9uKHByb3BlcnR5KSwgdGhpcy5yZXF1aXJlZEZpZWxkTmFtZXMuaW5jbHVkZXMoZmllbGROYW1lKSkpfVxuXHRcdFx0XHRkaXNwbGF5PXtGaWVsZEhlbHBlci5nZXRBUERpYWxvZ0Rpc3BsYXlGb3JtYXQocHJvcGVydHlNZXRhQ29udGV4dC5nZXRPYmplY3QoKSwgeyBjb250ZXh0OiBwcm9wZXJ0eU1ldGFDb250ZXh0IH0pfVxuXHRcdFx0XHR2YWx1ZUhlbHA9e2hhc1ZhbHVlSGVscChwcm9wZXJ0eSkgPyBnZW5lcmF0ZShbZmllbGROYW1lLCBcIlZIXCJdKSA6IHVuZGVmaW5lZH1cblx0XHRcdFx0ZWRpdE1vZGU9e3RoaXMuZ2V0RWRpdE1vZGUocHJvcGVydHkpfVxuXHRcdFx0XHRkZXBlbmRlbnRzPXt0aGlzLmdldEZpZWxkVmFsdWVIZWxwKGZpZWxkTmFtZSwgcHJvcGVydHksIHByb3BlcnR5T2JqZWN0UGF0aCl9XG5cdFx0XHRcdGN1c3RvbURhdGE9ezxDdXN0b21EYXRhIGtleT1cImZpZWxkTmFtZVwiIHZhbHVlPXtmaWVsZE5hbWV9IC8+fVxuXHRcdFx0XHRsaXZlQ2hhbmdlPXt0aGlzLmhhbmRsZUxpdmVDaGFuZ2UuYmluZCh0aGlzKX1cblx0XHRcdFx0Y2hhbmdlPXt0aGlzLmhhbmRsZUNoYW5nZS5iaW5kKHRoaXMpfVxuXHRcdFx0Lz5cblx0XHQpO1xuXG5cdFx0dGhpcy5hY3Rpb25QYXJhbWV0ZXJJbmZvcy5wdXNoKHtcblx0XHRcdGlzTXVsdGlWYWx1ZTogZmFsc2UsXG5cdFx0XHRmaWVsZDogZmllbGQsXG5cdFx0XHR2YWx1ZTogZmllbGQuZ2V0VmFsdWUoKSxcblx0XHRcdHZhbGlkYXRpb25Qcm9taXNlOiB1bmRlZmluZWQsXG5cdFx0XHRoYXNFcnJvcjogZmFsc2UsXG5cdFx0XHRwcm9wZXJ0eVBhdGg6IGZpZWxkTmFtZVxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDw+XG5cdFx0XHRcdDxMYWJlbCB0ZXh0PXtwcm9wZXJ0eS5hbm5vdGF0aW9ucy5Db21tb24/LkxhYmVsfSAvPlxuXHRcdFx0XHR7ZmllbGR9XG5cdFx0XHQ8Lz5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWQuIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBmaXJzdCBmaWVsZCB3aXRob3V0IG9wZW5pbmcgdGhlIFZIIGRpYWxvZy5cblx0ICovXG5cdHByaXZhdGUgYWZ0ZXJPcGVuKCk6IHZvaWQge1xuXHRcdGNvbnN0IGZpcnN0RmllbGQgPSB0aGlzLmFjdGlvblBhcmFtZXRlckluZm9zWzBdLmZpZWxkO1xuXHRcdGNvbnN0IGZvY3VzSW5mbyA9IGZpcnN0RmllbGQuZ2V0Rm9jdXNJbmZvKCkgYXMgeyB0YXJnZXRJbmZvOiBvYmplY3QgfTtcblx0XHRmb2N1c0luZm8udGFyZ2V0SW5mbyA9IHsgc2lsZW50OiB0cnVlIH07XG5cdFx0Zmlyc3RGaWVsZC5mb2N1cyhmb2N1c0luZm8pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEludGVybmFsIG1ldGhvZCB0byBjcmVhdGUgdGhlIERpYWxvZyBjb250cm9sIGFuZCBpdHMgY29udGVudC5cblx0ICogQHJldHVybnMgVGhlIGRpYWxvZyBjb250cm9sXG5cdCAqL1xuXHRwcml2YXRlIGNyZWF0ZURpYWxvZygpOiBEaWFsb2cge1xuXHRcdGNvbnN0IHJlc291cmNlTW9kZWwgPSBnZXRSZXNvdXJjZU1vZGVsKHRoaXMucGFyZW50Q29udHJvbCA/PyB0aGlzLmFwcENvbXBvbmVudCk7XG5cdFx0Y29uc3QgbWV0YVBhdGggPSB0aGlzLm1ldGFNb2RlbC5nZXRNZXRhUGF0aCh0aGlzLmNvbnRleHRUb1VwZGF0ZS5nZXRQYXRoKCkpO1xuXHRcdGNvbnN0IG1ldGFDb250ZXh0ID0gdGhpcy5tZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQobWV0YVBhdGgpITtcblx0XHRjb25zdCBvYmplY3RQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzPEVudGl0eVNldD4obWV0YUNvbnRleHQpO1xuXG5cdFx0dGhpcy5hY3Rpb25QYXJhbWV0ZXJJbmZvcyA9IFtdO1xuXG5cdFx0Y29uc3QgYmVnaW5CdXR0b25MYWJlbCA9IHJlc291cmNlTW9kZWwuZ2V0VGV4dChcblx0XHRcdHRoaXMubW9kZSA9PT0gXCJTdGFuZGFsb25lXCJcblx0XHRcdFx0PyBcIkNfVFJBTlNBQ1RJT05fSEVMUEVSX1NBUEZFX0FDVElPTl9DUkVBVEVfQlVUVE9OX0NSRUFURVwiXG5cdFx0XHRcdDogXCJDX1RSQU5TQUNUSU9OX0hFTFBFUl9TQVBGRV9BQ1RJT05fQ1JFQVRFX0JVVFRPTl9DT05USU5VRVwiXG5cdFx0KTtcblx0XHRjb25zdCBlbmRCdXR0b24gPSAoXG5cdFx0XHQ8QnV0dG9uIHRleHQ9e3Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX0FDVElPTl9QQVJBTUVURVJfRElBTE9HX0NBTkNFTFwiKX0gcHJlc3M9e3RoaXMub25DYW5jZWwuYmluZCh0aGlzKX0gLz5cblx0XHQpO1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8RGlhbG9nXG5cdFx0XHRcdGlkPXtnZW5lcmF0ZShbXCJDcmVhdGVEaWFsb2dcIiwgbWV0YVBhdGhdKX1cblx0XHRcdFx0dGl0bGU9e3Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfVFJBTlNBQ1RJT05fSEVMUEVSX1NBUEZFX0FDVElPTl9DUkVBVEVcIil9XG5cdFx0XHRcdGFmdGVyT3Blbj17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYWZ0ZXJPcGVuKCk7XG5cdFx0XHRcdH19XG5cdFx0XHRcdHJlc2l6YWJsZT17dHJ1ZX1cblx0XHRcdFx0ZHJhZ2dhYmxlPXt0cnVlfVxuXHRcdFx0XHRpbml0aWFsRm9jdXM9e2VuZEJ1dHRvbn0gLy8gVGhlIGluaXRpYWwgZm9jdXMgaXMgc2V0IHByb2dyYW1tYXRpY2FsbHkgaW4gYWZ0ZXJPcGVuLCB0byBhdm9pZCBvcGVuaW5nIHRoZSBWSCBkaWFsb2dcblx0XHRcdD5cblx0XHRcdFx0e3tcblx0XHRcdFx0XHRiZWdpbkJ1dHRvbjogPEJ1dHRvbiB0ZXh0PXtiZWdpbkJ1dHRvbkxhYmVsfSBwcmVzcz17dGhpcy5vbk9LLmJpbmQodGhpcyl9IHR5cGU9XCJFbXBoYXNpemVkXCIgLz4sXG5cdFx0XHRcdFx0ZW5kQnV0dG9uOiBlbmRCdXR0b24sXG5cdFx0XHRcdFx0Y29udGVudDogKFxuXHRcdFx0XHRcdFx0PFNpbXBsZUZvcm0+XG5cdFx0XHRcdFx0XHRcdHt0aGlzLmZpZWxkTmFtZXMubWFwKChuYW1lKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuY3JlYXRlRm9ybUVsZW1lbnQobmFtZSwgb2JqZWN0UGF0aCwgbWV0YVBhdGgpO1xuXHRcdFx0XHRcdFx0XHR9KX1cblx0XHRcdFx0XHRcdDwvU2ltcGxlRm9ybT5cblx0XHRcdFx0XHQpXG5cdFx0XHRcdH19XG5cdFx0XHQ8L0RpYWxvZz5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGVycm9yIHN0YXRlIGluIHRoZSBkaWFsb2cgZmllbGRzIHRoYXQgY29ycmVzcG9uZCB0byBhbiBlcnJvciBpbiB0aGUgZ2l2ZW4gbWVzc2FnZXMuXG5cdCAqIEBwYXJhbSBtZXNzYWdlc1xuXHQgKi9cblx0cHVibGljIGRpc3BsYXlFcnJvck1lc3NhZ2VzKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiB2b2lkIHtcblx0XHQvLyBJdGVyYXRlIG92ZXIgYWxsIG1lc3NhZ2VzIGFuZCBzZXQgdGhlIGVycm9yIHN0YXRlIGZvciB0aGUgY29ycmVzcG9uZGluZyBmaWVsZFxuXHRcdC8vIFdlIGNhbm5vdCBjb21wYXJlIHRoZSBwYXRocyBkaXJlY3RseSwgYXMgdGhlIGNvbnRleHQgaW4gdGhlIGRpYWxvZyBpcyBhIHRlbXBvcmFyeSBvbmUsIGFuZCBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIHRoYXQgaXMgc2F2ZWRcblx0XHQvLyBUaGVyZWZvcmUgd2UgY29tcGFyZSB0aGUgbWV0YXBhdGhzXG5cdFx0Y29uc3QgY29udGV4dE1ldGFQYXRoID0gdGhpcy5tZXRhTW9kZWwuZ2V0TWV0YVBhdGgodGhpcy5jb250ZXh0VG9VcGRhdGUuZ2V0UGF0aCgpKTtcblxuXHRcdGZvciAoY29uc3QgbWVzc2FnZSBvZiBtZXNzYWdlcykge1xuXHRcdFx0Zm9yIChjb25zdCB0YXJnZXQgb2YgbWVzc2FnZS5nZXRUYXJnZXRzKCkpIHtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0TWV0YVBhdGggPSB0aGlzLm1ldGFNb2RlbC5nZXRNZXRhUGF0aCh0YXJnZXQpO1xuXHRcdFx0XHRjb25zdCBwYXJhbWV0ZXJJbmZvID0gdGhpcy5hY3Rpb25QYXJhbWV0ZXJJbmZvcy5maW5kKFxuXHRcdFx0XHRcdChhY3Rpb25QYXJhbWV0ZXJJbmZvKSA9PiBgJHtjb250ZXh0TWV0YVBhdGh9LyR7YWN0aW9uUGFyYW1ldGVySW5mby5wcm9wZXJ0eVBhdGh9YCA9PT0gdGFyZ2V0TWV0YVBhdGhcblx0XHRcdFx0KTtcblx0XHRcdFx0aWYgKHBhcmFtZXRlckluZm8pIHtcblx0XHRcdFx0XHRwYXJhbWV0ZXJJbmZvLmhhc0Vycm9yID0gdHJ1ZTtcblx0XHRcdFx0XHRwYXJhbWV0ZXJJbmZvLmZpZWxkLnNldFZhbHVlU3RhdGUobWVzc2FnZS5nZXRUeXBlKCkgfHwgTWVzc2FnZVR5cGUuRXJyb3IpO1xuXHRcdFx0XHRcdHBhcmFtZXRlckluZm8uZmllbGQuc2V0VmFsdWVTdGF0ZVRleHQobWVzc2FnZS5nZXRNZXNzYWdlKCkpO1xuXG5cdFx0XHRcdFx0Y29uc3QgbWVzc2FnZUNvbnRyb2xJRHMgPSBtZXNzYWdlLmdldENvbnRyb2xJZHMoKTtcblx0XHRcdFx0XHRpZiAoIW1lc3NhZ2VDb250cm9sSURzLmluY2x1ZGVzKHBhcmFtZXRlckluZm8uZmllbGQuZ2V0SWQoKSkpIHtcblx0XHRcdFx0XHRcdG1lc3NhZ2VDb250cm9sSURzLnB1c2gocGFyYW1ldGVySW5mby5maWVsZC5nZXRJZCgpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZlcyB0aGUgZXJyb3IgbWVzc2FnZXMgZm9yIGEgZ2l2ZW4gZmllbGQuXG5cdCAqIEBwYXJhbSBtZXNzYWdlQ29udHJvbElkIFRoZSBJRCBvZiB0aGUgZmllbGRcblx0ICovXG5cdHByaXZhdGUgcmVtb3ZlTWVzc2FnZXNGb3JBY3Rpb25QYXJhbWV0ZXIobWVzc2FnZUNvbnRyb2xJZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgYWxsTWVzc2FnZXMgPSBNZXNzYWdpbmcuZ2V0TWVzc2FnZU1vZGVsKCkuZ2V0RGF0YSgpO1xuXHRcdC8vIGFsc28gcmVtb3ZlIG1lc3NhZ2VzIGFzc2lnbmVkIHRvIGlubmVyIGNvbnRyb2xzLCBidXQgYXZvaWQgcmVtb3ZpbmcgbWVzc2FnZXMgZm9yIGRpZmZlcmVudCBwYXJhbWV0ZXJzICh3aXRoIG5hbWUgYmVpbmcgc3Vic3RyaW5nIG9mIGFub3RoZXIgcGFyYW1ldGVyIG5hbWUpXG5cdFx0Y29uc3QgcmVsZXZhbnRNZXNzYWdlcyA9IGFsbE1lc3NhZ2VzLmZpbHRlcigobXNnOiBNZXNzYWdlKSA9PlxuXHRcdFx0bXNnLmdldENvbnRyb2xJZHMoKS5zb21lKChjb250cm9sSWQ6IHN0cmluZykgPT4gY29udHJvbElkLmluY2x1ZGVzKG1lc3NhZ2VDb250cm9sSWQpKVxuXHRcdCk7XG5cdFx0TWVzc2FnaW5nLnJlbW92ZU1lc3NhZ2VzKHJlbGV2YW50TWVzc2FnZXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIHdoZW4gdGhlIHVzZXIgaXMgZG9pbmcgc29tZSBsaXZlIGNoYW5nZXMgaW4gYSBmaWVsZC5cblx0ICogQHBhcmFtIGxpdmVDaGFuZ2VFdmVudFxuXHQgKi9cblx0cHJpdmF0ZSBoYW5kbGVMaXZlQ2hhbmdlKGxpdmVDaGFuZ2VFdmVudDogRmllbGRCYXNlJExpdmVDaGFuZ2VFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IGZpZWxkSWQgPSBsaXZlQ2hhbmdlRXZlbnQuZ2V0U291cmNlPE1EQ0ZpZWxkPigpLmdldElkKCk7XG5cdFx0dGhpcy5yZW1vdmVNZXNzYWdlc0ZvckFjdGlvblBhcmFtZXRlcihmaWVsZElkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsYmFjayB3aGVuIHRoZSB1c2VyIGhhcyBjaGFuZ2VkIGEgZmllbGQgdmFsdWUuXG5cdCAqIEBwYXJhbSBjaGFuZ2VFdmVudFxuXHQgKi9cblx0cHJpdmF0ZSBhc3luYyBoYW5kbGVDaGFuZ2UoY2hhbmdlRXZlbnQ6IEZpZWxkJENoYW5nZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgZmllbGQgPSBjaGFuZ2VFdmVudC5nZXRTb3VyY2U8TURDRmllbGQ+KCk7XG5cblx0XHRjb25zdCBhY3Rpb25QYXJhbWV0ZXJJbmZvID0gdGhpcy5hY3Rpb25QYXJhbWV0ZXJJbmZvcy5maW5kKChhY3Rpb25QYXJhbWV0ZXJJbmZvKSA9PiBhY3Rpb25QYXJhbWV0ZXJJbmZvLmZpZWxkID09PSBmaWVsZCk7XG5cdFx0aWYgKGFjdGlvblBhcmFtZXRlckluZm8gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGhpcy5yZW1vdmVNZXNzYWdlc0ZvckFjdGlvblBhcmFtZXRlcihmaWVsZC5nZXRJZCgpKTtcblx0XHRcdGFjdGlvblBhcmFtZXRlckluZm8udmFsaWRhdGlvblByb21pc2UgPSBjaGFuZ2VFdmVudC5nZXRQYXJhbWV0ZXIoXCJwcm9taXNlXCIpO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0YWN0aW9uUGFyYW1ldGVySW5mby52YWx1ZSA9IGF3YWl0IGFjdGlvblBhcmFtZXRlckluZm8udmFsaWRhdGlvblByb21pc2U7XG5cdFx0XHRcdGFjdGlvblBhcmFtZXRlckluZm8uaGFzRXJyb3IgPSBmYWxzZTtcblx0XHRcdFx0YWN0aW9uUGFyYW1ldGVySW5mby5maWVsZC5zZXRWYWx1ZVN0YXRlKE1lc3NhZ2VUeXBlLk5vbmUpO1xuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0ZGVsZXRlIGFjdGlvblBhcmFtZXRlckluZm8udmFsdWU7XG5cdFx0XHRcdGFjdGlvblBhcmFtZXRlckluZm8uaGFzRXJyb3IgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsYmFjayB3aGVuIHRoZSB1c2VyIGNsaWNrZWQgJ09LJy5cblx0ICovXG5cdHByaXZhdGUgYXN5bmMgb25PSygpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHQvLyBWYWxpZGF0aW9uIG9mIG1hbmRhdG9yeSBhbmQgdmFsdWUgc3RhdGUgZm9yIGFjdGlvbiBwYXJhbWV0ZXJzXG5cdFx0Y29uc3QgcmVzb3VyY2VNb2RlbCA9IGdldFJlc291cmNlTW9kZWwodGhpcy5hcHBDb21wb25lbnQpO1xuXHRcdGlmIChhd2FpdCBBY3Rpb25SdW50aW1lLnZhbGlkYXRlUHJvcGVydGllcyh0aGlzLmFjdGlvblBhcmFtZXRlckluZm9zLCByZXNvdXJjZU1vZGVsKSkge1xuXHRcdFx0dGhpcy5maXJlRXhpdERpYWxvZyh0cnVlKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ2FsbGJhY2sgd2hlbiB0aGUgdXNlIGNsaWNrZWQgJ0NhbmNlbCcuXG5cdCAqL1xuXHRwcml2YXRlIG9uQ2FuY2VsKCk6IHZvaWQge1xuXHRcdHRoaXMuZmlyZUV4aXREaWFsb2coZmFsc2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEVzY2FwZSBoYW5kbGVyIChjYWxsZWQgd2hlbiB0aGUgdXNlciB0eXBlZCAnRXNjYXBlJyB0byBsZWF2ZSB0aGUgZGlhbG9nKS5cblx0ICogQHBhcmFtIHBcblx0ICogQHBhcmFtIHAucmVzb2x2ZVxuXHQgKiBAcGFyYW0gcC5yZWplY3Rcblx0ICovXG5cdHByaXZhdGUgb25Fc2NhcGUocDogeyByZXNvbHZlOiBGdW5jdGlvbjsgcmVqZWN0OiBGdW5jdGlvbiB9KTogdm9pZCB7XG5cdFx0cC5yZWplY3QoKTsgLy8gRG8gbm90IGNsb3NlIHRoZSBkaWFsb2dcblx0XHR0aGlzLm9uQ2FuY2VsKCk7XG5cdH1cblxuXHQvKipcblx0ICogT3BlbnMgdGhlIGRpYWxvZy5cblx0ICogQHJldHVybnMgVGhlIGludGVybmFsIERpYWxvZyBjb250cm9sXG5cdCAqL1xuXHRvcGVuRGlhbG9nKCk6IERpYWxvZyB7XG5cdFx0aWYgKHRoaXMuZGlhbG9nKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3Qgb3BlbiB0aGUgQ3JlYXRlIGRpYWxvZyB0d2ljZVwiKTtcblx0XHR9XG5cblx0XHR0aGlzLmRpYWxvZyA9IHRoaXMuY3JlYXRlRGlhbG9nKCk7XG5cdFx0dGhpcy5kaWFsb2cuc2V0RXNjYXBlSGFuZGxlcih0aGlzLm9uRXNjYXBlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMucGFyZW50Q29udHJvbD8uYWRkRGVwZW5kZW50KHRoaXMuZGlhbG9nKTtcblx0XHR0aGlzLmRpYWxvZy5zZXRCaW5kaW5nQ29udGV4dCh0aGlzLmNvbnRleHRUb1VwZGF0ZSk7XG5cblx0XHR0aGlzLmRpYWxvZy5vcGVuKCk7XG5cblx0XHRyZXR1cm4gdGhpcy5kaWFsb2c7XG5cdH1cblxuXHQvKipcblx0ICogQ2xvc2VzIGFuZCBkZXN0cm95cyB0aGUgZGlhbG9nLlxuXHQgKi9cblx0Y2xvc2VEaWFsb2coKTogdm9pZCB7XG5cdFx0LyogV2hlbiB0aGUgZGlhbG9nIGlzIGNhbmNlbGxlZCwgbWVzc2FnZXMgbmVlZCB0byBiZSByZW1vdmVkIGluIGNhc2UgdGhlIHNhbWUgYWN0aW9uIHNob3VsZCBiZSBleGVjdXRlZCBhZ2FpbiAqL1xuXHRcdGZvciAoY29uc3QgYWN0aW9uUGFyYW1ldGVySW5mbyBvZiB0aGlzLmFjdGlvblBhcmFtZXRlckluZm9zKSB7XG5cdFx0XHRjb25zdCBmaWVsZElkID0gYWN0aW9uUGFyYW1ldGVySW5mby5maWVsZC5nZXRJZCgpO1xuXHRcdFx0dGhpcy5yZW1vdmVNZXNzYWdlc0ZvckFjdGlvblBhcmFtZXRlcihmaWVsZElkKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5kaWFsb2cgJiYgQnVzeUxvY2tlci5pc0xvY2tlZCh0aGlzLmRpYWxvZykpIHtcblx0XHRcdEJ1c3lMb2NrZXIudW5sb2NrKHRoaXMuZGlhbG9nKTsgLy8gVG8gYXZvaWQgYW4gZXJyb3IgaW4gdGhlIGNvbnNvbGVcblx0XHR9XG5cdFx0dGhpcy5kaWFsb2c/LmNsb3NlKCk7XG5cdFx0dGhpcy5kaWFsb2c/LmRlc3Ryb3koKTtcblx0XHR0aGlzLmRpYWxvZyA9IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciByZW1vdmVzIGEgYnVzeSBpbmRpY2F0b3Igb24gdGhlIGRpYWxvZy5cblx0ICogQHBhcmFtIGJ1c3lcblx0ICovXG5cdHNldEJ1c3koYnVzeTogYm9vbGVhbik6IHZvaWQge1xuXHRcdGlmICghdGhpcy5kaWFsb2cpIHtcblx0XHRcdHJldHVybjsgLy8gTm90aGluZyB0byBzZXQgYnVzeVxuXHRcdH1cblxuXHRcdGlmIChidXN5KSB7XG5cdFx0XHRCdXN5TG9ja2VyLmxvY2sodGhpcy5kaWFsb2cpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRCdXN5TG9ja2VyLnVubG9jayh0aGlzLmRpYWxvZyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIElzIERpYWxvZyBvcGVuLlxuXHQgKiBAcmV0dXJucyBCb29sZWFuXG5cdCAqL1xuXHRpc09wZW4oKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZGlhbG9nPy5pc09wZW4oKSA/PyBmYWxzZTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bd0NNQSxnQ0FBZ0MsSUFBQUMsSUFBQSxHQURyQ0MsY0FBYyxDQUFDLDZDQUE2QyxDQUFDLEVBQUFDLEtBQUEsR0FFNURDLEtBQUssQ0FBQyxDQUFDLEVBQUFILElBQUEsQ0FBQUksTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxjQUFBO0lBQUEsU0FBQVAsaUNBQUE7TUFBQSxJQUFBUSxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxN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
|
|
417
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDb250ZXh0VXBkYXRlRGlhbG9nRXZlbnRQcm92aWRlciIsIl9kZWMiLCJkZWZpbmVVSTVDbGFzcyIsIl9kZWMyIiwiZXZlbnQiLCJfY2xhc3MiLCJfY2xhc3MyIiwiX0V2ZW50UHJvdmlkZXIiLCJfdGhpcyIsIl9sZW4iLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJhcmdzIiwiQXJyYXkiLCJfa2V5IiwiY2FsbCIsIl9pbml0aWFsaXplckRlZmluZVByb3BlcnR5IiwiX2Rlc2NyaXB0b3IiLCJfaW5oZXJpdHNMb29zZSIsIkV2ZW50UHJvdmlkZXIiLCJfYXBwbHlEZWNvcmF0ZWREZXNjcmlwdG9yIiwicHJvdG90eXBlIiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsIndyaXRhYmxlIiwiaW5pdGlhbGl6ZXIiLCJDcmVhdGVEaWFsb2ciLCJjb250ZXh0VG9VcGRhdGUiLCJmaWVsZE5hbWVzIiwiYXBwQ29tcG9uZW50IiwibW9kZSIsInBhcmVudENvbnRyb2wiLCJhY3Rpb25QYXJhbWV0ZXJJbmZvcyIsImV2ZW50UHJvdmlkZXIiLCJtb2RlbCIsImdldE1vZGVsIiwibWV0YU1vZGVsIiwiZ2V0TWV0YU1vZGVsIiwibWV0YVBhdGgiLCJnZXRNZXRhUGF0aCIsImdldFBhdGgiLCJyZXF1aXJlZEZpZWxkTmFtZXMiLCJnZXRSZXF1aXJlZFByb3BlcnRpZXNGcm9tSW5zZXJ0UmVzdHJpY3Rpb25zIiwiX2V4cG9ydHMiLCJfcHJvdG8iLCJhdHRhY2hFeGl0RGlhbG9nIiwib0RhdGEiLCJmbkZ1bmN0aW9uIiwib0xpc3RlbmVyIiwiYXR0YWNoRXZlbnQiLCJmaXJlRXhpdERpYWxvZyIsImFjY2VwdCIsImZpcmVFdmVudCIsImdldEVkaXRNb2RlIiwicHJvcGVydHkiLCJhbm5vdGF0aW9ucyIsIkNvbW1vbiIsIkZpZWxkQ29udHJvbCIsImZpZWxkQ29udHJvbCIsIiRFbnVtTWVtYmVyIiwiZ2V0RmllbGRWSFR5cGVBaGVhZCIsImZpZWxkTmFtZSIsInByb3BlcnR5T2JqZWN0UGF0aCIsIl9qc3giLCJQb3BvdmVyIiwiY2hpbGRyZW4iLCJNVGFibGUiLCJpZCIsImdlbmVyYXRlIiwiY2FzZVNlbnNpdGl2ZSIsInVzZUNhc2VTZW5zaXRpdmVGaWx0ZXJSZXF1ZXN0cyIsImNvbnZlcnRlZFR5cGVzIiwiZW50aXR5Q29udGFpbmVyIiwiQ2FwYWJpbGl0aWVzIiwiRmlsdGVyRnVuY3Rpb25zIiwidXNlQXNWYWx1ZUhlbHAiLCJWYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXMiLCJnZXRGaWVsZFZIRGlhbG9nIiwidmFsdWVPZiIsIlZIRGlhbG9nIiwidW5kZWZpbmVkIiwiZ2V0RmllbGRWYWx1ZUhlbHAiLCJoYXNWYWx1ZUhlbHAiLCJ2aERlbGVnYXRlIiwibmFtZSIsInBheWxvYWQiLCJwcm9wZXJ0eVBhdGgiLCJnZXRUYXJnZXRPYmplY3RQYXRoIiwicXVhbGlmaWVycyIsInZhbHVlSGVscFF1YWxpZmllciIsIlZhbHVlSGVscCIsImRlbGVnYXRlIiwidmFsaWRhdGVJbnB1dCIsInJlcXVpcmVzVmFsaWRhdGlvbiIsInR5cGVhaGVhZCIsImRpYWxvZyIsImNyZWF0ZUZvcm1FbGVtZW50IiwibGlzdE9iamVjdFBhdGgiLCJsaXN0TWV0YVBhdGgiLCJlbmhhbmNlRGF0YU1vZGVsUGF0aCIsInRhcmdldE9iamVjdCIsInByb3BlcnR5TWV0YUNvbnRleHQiLCJjcmVhdGVCaW5kaW5nQ29udGV4dCIsInByb3BlcnR5UGxhY2VIb2xkZXJNZXRhQ29udGV4dCIsImZpZWxkIiwiTURDRmllbGQiLCJyZXRyaWV2ZVRleHRGcm9tVmFsdWVMaXN0IiwidGFyZ2V0RW50aXR5VHlwZSIsInZhbHVlIiwiQW5ub3RhdGlvbkhlbHBlciIsImZvcm1hdCIsImdldE9iamVjdCIsImNvbnRleHQiLCJwbGFjZWhvbGRlciIsIndpZHRoIiwicmVxdWlyZWQiLCJjb21waWxlRXhwcmVzc2lvbiIsIm9yIiwiaXNSZXF1aXJlZEV4cHJlc3Npb24iLCJpbmNsdWRlcyIsImRpc3BsYXkiLCJGaWVsZEhlbHBlciIsImdldEFQRGlhbG9nRGlzcGxheUZvcm1hdCIsInZhbHVlSGVscCIsImVkaXRNb2RlIiwiZGVwZW5kZW50cyIsImN1c3RvbURhdGEiLCJDdXN0b21EYXRhIiwibGl2ZUNoYW5nZSIsImhhbmRsZUxpdmVDaGFuZ2UiLCJiaW5kIiwiY2hhbmdlIiwiaGFuZGxlQ2hhbmdlIiwicHVzaCIsImlzTXVsdGlWYWx1ZSIsImdldFZhbHVlIiwidmFsaWRhdGlvblByb21pc2UiLCJoYXNFcnJvciIsIl9qc3hzIiwiX0ZyYWdtZW50IiwiTGFiZWwiLCJ0ZXh0IiwiYWZ0ZXJPcGVuIiwiZmlyc3RGaWVsZCIsImZvY3VzSW5mbyIsImdldEZvY3VzSW5mbyIsInRhcmdldEluZm8iLCJzaWxlbnQiLCJmb2N1cyIsImNyZWF0ZURpYWxvZyIsInJlc291cmNlTW9kZWwiLCJnZXRSZXNvdXJjZU1vZGVsIiwibWV0YUNvbnRleHQiLCJvYmplY3RQYXRoIiwiZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzIiwiYmVnaW5CdXR0b25MYWJlbCIsImdldFRleHQiLCJlbmRCdXR0b24iLCJCdXR0b24iLCJwcmVzcyIsIm9uQ2FuY2VsIiwiRGlhbG9nIiwidGl0bGUiLCJyZXNpemFibGUiLCJkcmFnZ2FibGUiLCJpbml0aWFsRm9jdXMiLCJiZWdpbkJ1dHRvbiIsIm9uT0siLCJ0eXBlIiwiY29udGVudCIsIlNpbXBsZUZvcm0iLCJtYXAiLCJkaXNwbGF5RXJyb3JNZXNzYWdlcyIsIm1lc3NhZ2VzIiwiY29udGV4dE1ldGFQYXRoIiwibWVzc2FnZSIsInRhcmdldCIsImdldFRhcmdldHMiLCJ0YXJnZXRNZXRhUGF0aCIsInBhcmFtZXRlckluZm8iLCJmaW5kIiwiYWN0aW9uUGFyYW1ldGVySW5mbyIsInNldFZhbHVlU3RhdGUiLCJnZXRUeXBlIiwiTWVzc2FnZVR5cGUiLCJFcnJvciIsInNldFZhbHVlU3RhdGVUZXh0IiwiZ2V0TWVzc2FnZSIsIm1lc3NhZ2VDb250cm9sSURzIiwiZ2V0Q29udHJvbElkcyIsImdldElkIiwicmVtb3ZlTWVzc2FnZXNGb3JBY3Rpb25QYXJhbWV0ZXIiLCJtZXNzYWdlQ29udHJvbElkIiwiYWxsTWVzc2FnZXMiLCJNZXNzYWdpbmciLCJnZXRNZXNzYWdlTW9kZWwiLCJnZXREYXRhIiwicmVsZXZhbnRNZXNzYWdlcyIsImZpbHRlciIsIm1zZyIsInNvbWUiLCJjb250cm9sSWQiLCJyZW1vdmVNZXNzYWdlcyIsImxpdmVDaGFuZ2VFdmVudCIsImZpZWxkSWQiLCJnZXRTb3VyY2UiLCJjaGFuZ2VFdmVudCIsImdldFBhcmFtZXRlciIsIk5vbmUiLCJlcnJvciIsIkFjdGlvblJ1bnRpbWUiLCJ2YWxpZGF0ZVByb3BlcnRpZXMiLCJvbkVzY2FwZSIsInAiLCJyZWplY3QiLCJvcGVuRGlhbG9nIiwic2V0RXNjYXBlSGFuZGxlciIsInNldEJpbmRpbmdDb250ZXh0IiwiYWRkRGVwZW5kZW50Iiwib3BlbiIsImNsb3NlRGlhbG9nIiwiQnVzeUxvY2tlciIsImlzTG9ja2VkIiwidW5sb2NrIiwiY2xvc2UiLCJkZXN0cm95Iiwic2V0QnVzeSIsImJ1c3kiLCJsb2NrIiwiaXNPcGVuIl0sInNvdXJjZVJvb3QiOiIuIiwic291cmNlcyI6WyJDcmVhdGVEaWFsb2cudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgRW50aXR5U2V0IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgeyB0eXBlIFByb3BlcnR5IH0gZnJvbSBcIkBzYXAtdXgvdm9jYWJ1bGFyaWVzLXR5cGVzXCI7XG5pbXBvcnQgeyBjb21waWxlRXhwcmVzc2lvbiwgb3IgfSBmcm9tIFwic2FwL2ZlL2Jhc2UvQmluZGluZ1Rvb2xraXRcIjtcbmltcG9ydCB7IGRlZmluZVVJNUNsYXNzLCBldmVudCB9IGZyb20gXCJzYXAvZmUvYmFzZS9DbGFzc1N1cHBvcnRcIjtcbmltcG9ydCB0eXBlIHsgQWN0aW9uUGFyYW1ldGVySW5mbyB9IGZyb20gXCJzYXAvZmUvY29yZS9BY3Rpb25SdW50aW1lXCI7XG5pbXBvcnQgQWN0aW9uUnVudGltZSBmcm9tIFwic2FwL2ZlL2NvcmUvQWN0aW9uUnVudGltZVwiO1xuaW1wb3J0IHR5cGUgQXBwQ29tcG9uZW50IGZyb20gXCJzYXAvZmUvY29yZS9BcHBDb21wb25lbnRcIjtcbmltcG9ydCB0eXBlIHsgU3RhbmRhcmREaWFsb2cgfSBmcm9tIFwic2FwL2ZlL2NvcmUvVUlQcm92aWRlclwiO1xuaW1wb3J0IEJ1c3lMb2NrZXIgZnJvbSBcInNhcC9mZS9jb3JlL2NvbnRyb2xsZXJleHRlbnNpb25zL0J1c3lMb2NrZXJcIjtcbmltcG9ydCB7IGdldEludm9sdmVkRGF0YU1vZGVsT2JqZWN0cyB9IGZyb20gXCJzYXAvZmUvY29yZS9jb252ZXJ0ZXJzL01ldGFNb2RlbENvbnZlcnRlclwiO1xuaW1wb3J0IHsgZ2V0UmVxdWlyZWRQcm9wZXJ0aWVzRnJvbUluc2VydFJlc3RyaWN0aW9ucyB9IGZyb20gXCJzYXAvZmUvY29yZS9oZWxwZXJzL01ldGFNb2RlbEZ1bmN0aW9uXCI7XG5pbXBvcnQgeyBnZXRSZXNvdXJjZU1vZGVsIH0gZnJvbSBcInNhcC9mZS9jb3JlL2hlbHBlcnMvUmVzb3VyY2VNb2RlbEhlbHBlclwiO1xuaW1wb3J0IHsgZ2VuZXJhdGUgfSBmcm9tIFwic2FwL2ZlL2NvcmUvaGVscGVycy9TdGFibGVJZEhlbHBlclwiO1xuaW1wb3J0IHsgZW5oYW5jZURhdGFNb2RlbFBhdGgsIGdldFRhcmdldE9iamVjdFBhdGgsIHR5cGUgRGF0YU1vZGVsT2JqZWN0UGF0aCB9IGZyb20gXCJzYXAvZmUvY29yZS90ZW1wbGF0aW5nL0RhdGFNb2RlbFBhdGhIZWxwZXJcIjtcbmltcG9ydCB7IGlzUmVxdWlyZWRFeHByZXNzaW9uIH0gZnJvbSBcInNhcC9mZS9jb3JlL3RlbXBsYXRpbmcvRmllbGRDb250cm9sSGVscGVyXCI7XG5pbXBvcnQgeyBoYXNWYWx1ZUhlbHAgfSBmcm9tIFwic2FwL2ZlL2NvcmUvdGVtcGxhdGluZy9Qcm9wZXJ0eUhlbHBlclwiO1xuaW1wb3J0IEZpZWxkSGVscGVyIGZyb20gXCJzYXAvZmUvbWFjcm9zL2ZpZWxkL0ZpZWxkSGVscGVyXCI7XG5pbXBvcnQgeyByZXF1aXJlc1ZhbGlkYXRpb24sIHVzZUNhc2VTZW5zaXRpdmVGaWx0ZXJSZXF1ZXN0cyB9IGZyb20gXCJzYXAvZmUvbWFjcm9zL2ludGVybmFsL3ZhbHVlaGVscC9WYWx1ZUhlbHBUZW1wbGF0aW5nXCI7XG5pbXBvcnQgQnV0dG9uIGZyb20gXCJzYXAvbS9CdXR0b25cIjtcbmltcG9ydCBEaWFsb2cgZnJvbSBcInNhcC9tL0RpYWxvZ1wiO1xuaW1wb3J0IExhYmVsIGZyb20gXCJzYXAvbS9MYWJlbFwiO1xuaW1wb3J0IEV2ZW50UHJvdmlkZXIgZnJvbSBcInNhcC91aS9iYXNlL0V2ZW50UHJvdmlkZXJcIjtcbmltcG9ydCB0eXBlIENvbnRyb2wgZnJvbSBcInNhcC91aS9jb3JlL0NvbnRyb2xcIjtcbmltcG9ydCBDdXN0b21EYXRhIGZyb20gXCJzYXAvdWkvY29yZS9DdXN0b21EYXRhXCI7XG5pbXBvcnQgTWVzc2FnaW5nIGZyb20gXCJzYXAvdWkvY29yZS9NZXNzYWdpbmdcIjtcbmltcG9ydCB0eXBlIE1lc3NhZ2UgZnJvbSBcInNhcC91aS9jb3JlL21lc3NhZ2UvTWVzc2FnZVwiO1xuaW1wb3J0IE1lc3NhZ2VUeXBlIGZyb20gXCJzYXAvdWkvY29yZS9tZXNzYWdlL01lc3NhZ2VUeXBlXCI7XG5pbXBvcnQgU2ltcGxlRm9ybSBmcm9tIFwic2FwL3VpL2xheW91dC9mb3JtL1NpbXBsZUZvcm1cIjtcbmltcG9ydCBNRENGaWVsZCwgeyB0eXBlIEZpZWxkJENoYW5nZUV2ZW50IH0gZnJvbSBcInNhcC91aS9tZGMvRmllbGRcIjtcbmltcG9ydCBWYWx1ZUhlbHAgZnJvbSBcInNhcC91aS9tZGMvVmFsdWVIZWxwXCI7XG5pbXBvcnQgeyB0eXBlIEZpZWxkQmFzZSRMaXZlQ2hhbmdlRXZlbnQgfSBmcm9tIFwic2FwL3VpL21kYy9maWVsZC9GaWVsZEJhc2VcIjtcbmltcG9ydCBWSERpYWxvZyBmcm9tIFwic2FwL3VpL21kYy92YWx1ZWhlbHAvRGlhbG9nXCI7XG5pbXBvcnQgUG9wb3ZlciBmcm9tIFwic2FwL3VpL21kYy92YWx1ZWhlbHAvUG9wb3ZlclwiO1xuaW1wb3J0IE1UYWJsZSBmcm9tIFwic2FwL3VpL21kYy92YWx1ZWhlbHAvY29udGVudC9NVGFibGVcIjtcbmltcG9ydCBBbm5vdGF0aW9uSGVscGVyIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvQW5ub3RhdGlvbkhlbHBlclwiO1xuaW1wb3J0IHR5cGUgT0RhdGFWNENvbnRleHQgZnJvbSBcInNhcC91aS9tb2RlbC9vZGF0YS92NC9Db250ZXh0XCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1ldGFNb2RlbCBmcm9tIFwic2FwL3VpL21vZGVsL29kYXRhL3Y0L09EYXRhTWV0YU1vZGVsXCI7XG5pbXBvcnQgdHlwZSBPRGF0YU1vZGVsIGZyb20gXCJzYXAvdWkvbW9kZWwvb2RhdGEvdjQvT0RhdGFNb2RlbFwiO1xuXG5AZGVmaW5lVUk1Q2xhc3MoXCJzYXAuZmUuY29yZS5zZXJ2aWNlcy5Sb3V0aW5nU2VydmljZUV2ZW50aW5nXCIpXG5jbGFzcyBDb250ZXh0VXBkYXRlRGlhbG9nRXZlbnRQcm92aWRlciBleHRlbmRzIEV2ZW50UHJvdmlkZXIge1xuXHRAZXZlbnQoKVxuXHRleGl0RGlhbG9nITogRnVuY3Rpb247XG59XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIENyZWF0ZURpYWxvZyBpbXBsZW1lbnRzIFN0YW5kYXJkRGlhbG9nIHtcblx0cHJpdmF0ZSBkaWFsb2c/OiBEaWFsb2c7XG5cblx0cHJpdmF0ZSBtZXRhTW9kZWw6IE9EYXRhTWV0YU1vZGVsO1xuXG5cdHByaXZhdGUgcmVxdWlyZWRGaWVsZE5hbWVzOiBzdHJpbmdbXTtcblxuXHRwcml2YXRlIGFjdGlvblBhcmFtZXRlckluZm9zOiBBY3Rpb25QYXJhbWV0ZXJJbmZvW10gPSBbXTtcblxuXHRwcml2YXRlIGV2ZW50UHJvdmlkZXIgPSBuZXcgQ29udGV4dFVwZGF0ZURpYWxvZ0V2ZW50UHJvdmlkZXIoKTtcblxuXHRjb25zdHJ1Y3Rvcihcblx0XHRwcml2YXRlIGNvbnRleHRUb1VwZGF0ZTogT0RhdGFWNENvbnRleHQsXG5cdFx0cHJpdmF0ZSBmaWVsZE5hbWVzOiBzdHJpbmdbXSxcblx0XHRwcml2YXRlIGFwcENvbXBvbmVudDogQXBwQ29tcG9uZW50LFxuXHRcdHByaXZhdGUgbW9kZTogXCJTdGFuZGFsb25lXCIgfCBcIldpdGhOYXZpZ2F0aW9uXCIsXG5cdFx0cHJpdmF0ZSBwYXJlbnRDb250cm9sPzogQ29udHJvbFxuXHQpIHtcblx0XHRjb25zdCBtb2RlbDogT0RhdGFNb2RlbCA9IGNvbnRleHRUb1VwZGF0ZS5nZXRNb2RlbCgpO1xuXHRcdHRoaXMubWV0YU1vZGVsID0gbW9kZWwuZ2V0TWV0YU1vZGVsKCk7XG5cblx0XHRjb25zdCBtZXRhUGF0aCA9IHRoaXMubWV0YU1vZGVsLmdldE1ldGFQYXRoKGNvbnRleHRUb1VwZGF0ZS5nZXRQYXRoKCkpO1xuXHRcdHRoaXMucmVxdWlyZWRGaWVsZE5hbWVzID0gZ2V0UmVxdWlyZWRQcm9wZXJ0aWVzRnJvbUluc2VydFJlc3RyaWN0aW9ucyhtZXRhUGF0aCwgdGhpcy5tZXRhTW9kZWwpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEF0dGFjaGVzIGFuIGV2ZW50IGhhbmRsZXIgY2FsbGVkIHdoZW4gdGhlIHVzZXIgY2xvc2VzIHRoZSBkaWFsb2cgKGVpdGhlciB3aXRoIE9LIG9yIENhbmNlbCkuXG5cdCAqXG5cdCAqIFRoZSBldmVudCBoYXMgYW4gJ2FjY2VwdCcgcGFyYW1ldGVyIHRoYXQgaXMgdHJ1ZSAocmVzcC4gZmFsc2UpIGlmIHRoZSB1c2VyIGNsaWNrZWQgb24gT0sgKHJlc3AuIENhbmNlbCkuXG5cdCAqIEBwYXJhbSBvRGF0YSBQYXlsb2FkIG9iamVjdCB0aGF0IHdpbGwgYmUgcGFzc2VkIHRvIHRoZSBldmVudCBoYW5kbGVyIGFsb25nIHdpdGggdGhlIGV2ZW50IG9iamVjdCB3aGVuIGZpcmluZyB0aGUgZXZlbnRcblx0ICogQHBhcmFtIGZuRnVuY3Rpb24gVGhlIGZ1bmN0aW9uIHRvIGJlIGNhbGxlZCB3aGVuIHRoZSBldmVudCBvY2N1cnNcblx0ICogQHBhcmFtIG9MaXN0ZW5lciBDb250ZXh0IG9iamVjdCB0byBjYWxsIHRoZSBldmVudCBoYW5kbGVyIHdpdGhcblx0ICovXG5cdGF0dGFjaEV4aXREaWFsb2cob0RhdGE6IG9iamVjdCwgZm5GdW5jdGlvbjogRnVuY3Rpb24sIG9MaXN0ZW5lcj86IG9iamVjdCk6IHZvaWQge1xuXHRcdHRoaXMuZXZlbnRQcm92aWRlci5hdHRhY2hFdmVudChcImV4aXREaWFsb2dcIiwgb0RhdGEsIGZuRnVuY3Rpb24sIG9MaXN0ZW5lcik7XG5cdH1cblxuXHRwcml2YXRlIGZpcmVFeGl0RGlhbG9nKGFjY2VwdDogYm9vbGVhbik6IHZvaWQge1xuXHRcdHRoaXMuZXZlbnRQcm92aWRlci5maXJlRXZlbnQoXCJleGl0RGlhbG9nXCIsIHsgYWNjZXB0IH0pO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIGVkaXRNb2RlIGZvciBhIHByb3BlcnR5LlxuXHQgKiBAcGFyYW0gcHJvcGVydHlcblx0ICogQHJldHVybnMgRGlzcGxheSBvciBFZGl0YWJsZVxuXHQgKi9cblx0cHJpdmF0ZSBnZXRFZGl0TW9kZShwcm9wZXJ0eTogUHJvcGVydHkpOiBzdHJpbmcge1xuXHRcdGlmIChwcm9wZXJ0eS5hbm5vdGF0aW9ucy5Db21tb24/LkZpZWxkQ29udHJvbCkge1xuXHRcdFx0Y29uc3QgZmllbGRDb250cm9sID0gcHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uLkZpZWxkQ29udHJvbCBhcyB1bmtub3duIGFzIHsgJEVudW1NZW1iZXI/OiBzdHJpbmcgfTtcblx0XHRcdHJldHVybiBmaWVsZENvbnRyb2wuJEVudW1NZW1iZXIgPT09IFwiY29tLnNhcC52b2NhYnVsYXJpZXMuQ29tbW9uLnYxLkZpZWxkQ29udHJvbFR5cGUvUmVhZE9ubHlcIiA/IFwiRGlzcGxheVwiIDogXCJFZGl0YWJsZVwiO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRyZXR1cm4gXCJFZGl0YWJsZVwiO1xuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBwb3BvdmVyIGZvciB0aGUgVkggdHlwZWFoZWFkLlxuXHQgKiBAcGFyYW0gZmllbGROYW1lXG5cdCAqIEBwYXJhbSBwcm9wZXJ0eVxuXHQgKiBAcGFyYW0gcHJvcGVydHlPYmplY3RQYXRoXG5cdCAqIEByZXR1cm5zIFRoZSBwb3BvdmVyXG5cdCAqL1xuXHRwcml2YXRlIGdldEZpZWxkVkhUeXBlQWhlYWQoZmllbGROYW1lOiBzdHJpbmcsIHByb3BlcnR5OiBQcm9wZXJ0eSwgcHJvcGVydHlPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5Pik6IFBvcG92ZXIge1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8UG9wb3Zlcj5cblx0XHRcdFx0PE1UYWJsZVxuXHRcdFx0XHRcdGlkPXtnZW5lcmF0ZShbZmllbGROYW1lLCBcIlZIXCIsIFwiUG9wb3ZlclwiLCBcInF1YWxpZmllclwiXSl9XG5cdFx0XHRcdFx0Y2FzZVNlbnNpdGl2ZT17dXNlQ2FzZVNlbnNpdGl2ZUZpbHRlclJlcXVlc3RzKFxuXHRcdFx0XHRcdFx0cHJvcGVydHlPYmplY3RQYXRoLFxuXHRcdFx0XHRcdFx0KHByb3BlcnR5T2JqZWN0UGF0aC5jb252ZXJ0ZWRUeXBlcy5lbnRpdHlDb250YWluZXIuYW5ub3RhdGlvbnMuQ2FwYWJpbGl0aWVzXG5cdFx0XHRcdFx0XHRcdD8uRmlsdGVyRnVuY3Rpb25zIGFzIHVua25vd24gYXMgc3RyaW5nW10pID8/IFtdXG5cdFx0XHRcdFx0KX1cblx0XHRcdFx0XHR1c2VBc1ZhbHVlSGVscD17ISFwcm9wZXJ0eS5hbm5vdGF0aW9ucy5Db21tb24/LlZhbHVlTGlzdFdpdGhGaXhlZFZhbHVlc31cblx0XHRcdFx0Lz5cblx0XHRcdDwvUG9wb3Zlcj5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFJldHVybnMgdGhlIFZIIGRpYWxvZyBmb3IgYSBnaXZlbiBwcm9wZXJ0eS5cblx0ICogQHBhcmFtIHByb3BlcnR5XG5cdCAqIEByZXR1cm5zIEEgZGlhbG9nIGlmIHRoZSBwcm9wZXJ0eSBoYXMgYSBWSCwgdW5kZWZpbmVkIG90aGVyd2lzZVxuXHQgKi9cblx0cHJpdmF0ZSBnZXRGaWVsZFZIRGlhbG9nKHByb3BlcnR5OiBQcm9wZXJ0eSk6IFZIRGlhbG9nIHwgdW5kZWZpbmVkIHtcblx0XHRpZiAocHJvcGVydHkuYW5ub3RhdGlvbnMuQ29tbW9uPy5WYWx1ZUxpc3RXaXRoRml4ZWRWYWx1ZXM/LnZhbHVlT2YoKSAhPT0gdHJ1ZSkge1xuXHRcdFx0cmV0dXJuIDxWSERpYWxvZyAvPjtcblx0XHR9IGVsc2Uge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmV0dXJucyB0aGUgVkggZm9yIGEgZ2l2ZW4gZmllbGQuXG5cdCAqIEBwYXJhbSBmaWVsZE5hbWVcblx0ICogQHBhcmFtIHByb3BlcnR5XG5cdCAqIEBwYXJhbSBwcm9wZXJ0eU9iamVjdFBhdGhcblx0ICogQHJldHVybnMgVGhlIFZhbHVlSGVscCBjb250cm9sIGlmIHRoZSBwcm9wZXJ0eSBoYXMgYSBWSCwgdW5kZWZpbmVkIG90aGVyd2lzZVxuXHQgKi9cblx0cHJpdmF0ZSBnZXRGaWVsZFZhbHVlSGVscChcblx0XHRmaWVsZE5hbWU6IHN0cmluZyxcblx0XHRwcm9wZXJ0eTogUHJvcGVydHksXG5cdFx0cHJvcGVydHlPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPFByb3BlcnR5PlxuXHQpOiBWYWx1ZUhlbHAgfCB1bmRlZmluZWQge1xuXHRcdGlmICghaGFzVmFsdWVIZWxwKHByb3BlcnR5KSkge1xuXHRcdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0XHR9XG5cblx0XHRjb25zdCB2aERlbGVnYXRlID0ge1xuXHRcdFx0bmFtZTogXCJzYXAvZmUvbWFjcm9zL3ZhbHVlaGVscC9WYWx1ZUhlbHBEZWxlZ2F0ZVwiLFxuXHRcdFx0cGF5bG9hZDoge1xuXHRcdFx0XHRwcm9wZXJ0eVBhdGg6IGdldFRhcmdldE9iamVjdFBhdGgocHJvcGVydHlPYmplY3RQYXRoKSxcblx0XHRcdFx0cXVhbGlmaWVyczoge30sXG5cdFx0XHRcdHZhbHVlSGVscFF1YWxpZmllcjogXCJcIlxuXHRcdFx0fVxuXHRcdH07XG5cblx0XHRyZXR1cm4gKFxuXHRcdFx0PFZhbHVlSGVscFxuXHRcdFx0XHRpZD17Z2VuZXJhdGUoW2ZpZWxkTmFtZSwgXCJWSFwiXSl9XG5cdFx0XHRcdGRlbGVnYXRlPXt2aERlbGVnYXRlfVxuXHRcdFx0XHR2YWxpZGF0ZUlucHV0PXtyZXF1aXJlc1ZhbGlkYXRpb24ocHJvcGVydHkpfVxuXHRcdFx0XHR0eXBlYWhlYWQ9e3RoaXMuZ2V0RmllbGRWSFR5cGVBaGVhZChmaWVsZE5hbWUsIHByb3BlcnR5LCBwcm9wZXJ0eU9iamVjdFBhdGgpfVxuXHRcdFx0XHRkaWFsb2c9e3RoaXMuZ2V0RmllbGRWSERpYWxvZyhwcm9wZXJ0eSl9XG5cdFx0XHQ+PC9WYWx1ZUhlbHA+XG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBSZXR1cm5zIHRoZSBGb3JtIGVsZW1lbnQgKGxhYmVsICsgZmllbGQpIGZvciBhIGdpdmVuIHByb3BlcnR5IG5hbWUuXG5cdCAqIEBwYXJhbSBmaWVsZE5hbWVcblx0ICogQHBhcmFtIGxpc3RPYmplY3RQYXRoXG5cdCAqIEBwYXJhbSBsaXN0TWV0YVBhdGhcblx0ICogQHJldHVybnMgVGhlIGVsZW1lbnRcblx0ICovXG5cdHByaXZhdGUgY3JlYXRlRm9ybUVsZW1lbnQoZmllbGROYW1lOiBzdHJpbmcsIGxpc3RPYmplY3RQYXRoOiBEYXRhTW9kZWxPYmplY3RQYXRoPEVudGl0eVNldD4sIGxpc3RNZXRhUGF0aDogc3RyaW5nKTogdW5rbm93biB7XG5cdFx0Y29uc3QgcHJvcGVydHlPYmplY3RQYXRoID0gZW5oYW5jZURhdGFNb2RlbFBhdGg8UHJvcGVydHk+KGxpc3RPYmplY3RQYXRoLCBmaWVsZE5hbWUpO1xuXHRcdGNvbnN0IHByb3BlcnR5ID0gcHJvcGVydHlPYmplY3RQYXRoLnRhcmdldE9iamVjdCBhcyBQcm9wZXJ0eTtcblx0XHRjb25zdCBwcm9wZXJ0eU1ldGFDb250ZXh0ID0gdGhpcy5tZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoYCR7bGlzdE1ldGFQYXRofS8ke2ZpZWxkTmFtZX1gKSE7XG5cdFx0Y29uc3QgcHJvcGVydHlQbGFjZUhvbGRlck1ldGFDb250ZXh0ID0gdGhpcy5tZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQoXG5cdFx0XHRgJHtsaXN0TWV0YVBhdGh9LyR7ZmllbGROYW1lfUBjb20uc2FwLnZvY2FidWxhcmllcy5VSS52MS5QbGFjZWhvbGRlcmBcblx0XHQpITtcblxuXHRcdGNvbnN0IGZpZWxkID0gKFxuXHRcdFx0PE1EQ0ZpZWxkXG5cdFx0XHRcdGRlbGVnYXRlPXt7IG5hbWU6IFwic2FwL2ZlL21hY3Jvcy9maWVsZC9GaWVsZEJhc2VEZWxlZ2F0ZVwiLCBwYXlsb2FkOiB7IHJldHJpZXZlVGV4dEZyb21WYWx1ZUxpc3Q6IHRydWUgfSB9fVxuXHRcdFx0XHRpZD17Z2VuZXJhdGUoW1wiQ3JlYXRlRGlhbG9nXCIsIGxpc3RPYmplY3RQYXRoLnRhcmdldEVudGl0eVR5cGUubmFtZSwgZmllbGROYW1lXSl9XG5cdFx0XHRcdHZhbHVlPXtBbm5vdGF0aW9uSGVscGVyLmZvcm1hdChwcm9wZXJ0eU1ldGFDb250ZXh0LmdldE9iamVjdCgpLCB7IGNvbnRleHQ6IHByb3BlcnR5TWV0YUNvbnRleHQgfSl9XG5cdFx0XHRcdHBsYWNlaG9sZGVyPXtBbm5vdGF0aW9uSGVscGVyLnZhbHVlKHByb3BlcnR5UGxhY2VIb2xkZXJNZXRhQ29udGV4dC5nZXRPYmplY3QoKSwge1xuXHRcdFx0XHRcdGNvbnRleHQ6IHByb3BlcnR5UGxhY2VIb2xkZXJNZXRhQ29udGV4dFxuXHRcdFx0XHR9KX1cblx0XHRcdFx0d2lkdGg9XCIxMDAlXCJcblx0XHRcdFx0cmVxdWlyZWQ9e2NvbXBpbGVFeHByZXNzaW9uKG9yKGlzUmVxdWlyZWRFeHByZXNzaW9uKHByb3BlcnR5KSwgdGhpcy5yZXF1aXJlZEZpZWxkTmFtZXMuaW5jbHVkZXMoZmllbGROYW1lKSkpfVxuXHRcdFx0XHRkaXNwbGF5PXtGaWVsZEhlbHBlci5nZXRBUERpYWxvZ0Rpc3BsYXlGb3JtYXQocHJvcGVydHlNZXRhQ29udGV4dC5nZXRPYmplY3QoKSwgeyBjb250ZXh0OiBwcm9wZXJ0eU1ldGFDb250ZXh0IH0pfVxuXHRcdFx0XHR2YWx1ZUhlbHA9e2hhc1ZhbHVlSGVscChwcm9wZXJ0eSkgPyBnZW5lcmF0ZShbZmllbGROYW1lLCBcIlZIXCJdKSA6IHVuZGVmaW5lZH1cblx0XHRcdFx0ZWRpdE1vZGU9e3RoaXMuZ2V0RWRpdE1vZGUocHJvcGVydHkpfVxuXHRcdFx0XHRkZXBlbmRlbnRzPXt0aGlzLmdldEZpZWxkVmFsdWVIZWxwKGZpZWxkTmFtZSwgcHJvcGVydHksIHByb3BlcnR5T2JqZWN0UGF0aCl9XG5cdFx0XHRcdGN1c3RvbURhdGE9ezxDdXN0b21EYXRhIGtleT1cImZpZWxkTmFtZVwiIHZhbHVlPXtmaWVsZE5hbWV9IC8+fVxuXHRcdFx0XHRsaXZlQ2hhbmdlPXt0aGlzLmhhbmRsZUxpdmVDaGFuZ2UuYmluZCh0aGlzKX1cblx0XHRcdFx0Y2hhbmdlPXt0aGlzLmhhbmRsZUNoYW5nZS5iaW5kKHRoaXMpfVxuXHRcdFx0Lz5cblx0XHQpO1xuXG5cdFx0dGhpcy5hY3Rpb25QYXJhbWV0ZXJJbmZvcy5wdXNoKHtcblx0XHRcdGlzTXVsdGlWYWx1ZTogZmFsc2UsXG5cdFx0XHRmaWVsZDogZmllbGQsXG5cdFx0XHR2YWx1ZTogZmllbGQuZ2V0VmFsdWUoKSxcblx0XHRcdHZhbGlkYXRpb25Qcm9taXNlOiB1bmRlZmluZWQsXG5cdFx0XHRoYXNFcnJvcjogZmFsc2UsXG5cdFx0XHRwcm9wZXJ0eVBhdGg6IGZpZWxkTmFtZVxuXHRcdH0pO1xuXG5cdFx0cmV0dXJuIChcblx0XHRcdDw+XG5cdFx0XHRcdDxMYWJlbCB0ZXh0PXtwcm9wZXJ0eS5hbm5vdGF0aW9ucy5Db21tb24/LkxhYmVsfSAvPlxuXHRcdFx0XHR7ZmllbGR9XG5cdFx0XHQ8Lz5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIHdoZW4gdGhlIGRpYWxvZyBpcyBvcGVuZWQuIFNldHMgdGhlIGZvY3VzIG9uIHRoZSBmaXJzdCBmaWVsZCB3aXRob3V0IG9wZW5pbmcgdGhlIFZIIGRpYWxvZy5cblx0ICovXG5cdHByaXZhdGUgYWZ0ZXJPcGVuKCk6IHZvaWQge1xuXHRcdGNvbnN0IGZpcnN0RmllbGQgPSB0aGlzLmFjdGlvblBhcmFtZXRlckluZm9zWzBdLmZpZWxkO1xuXHRcdGNvbnN0IGZvY3VzSW5mbyA9IGZpcnN0RmllbGQuZ2V0Rm9jdXNJbmZvKCkgYXMgeyB0YXJnZXRJbmZvOiBvYmplY3QgfTtcblx0XHRmb2N1c0luZm8udGFyZ2V0SW5mbyA9IHsgc2lsZW50OiB0cnVlIH07XG5cdFx0Zmlyc3RGaWVsZC5mb2N1cyhmb2N1c0luZm8pO1xuXHR9XG5cblx0LyoqXG5cdCAqIEludGVybmFsIG1ldGhvZCB0byBjcmVhdGUgdGhlIERpYWxvZyBjb250cm9sIGFuZCBpdHMgY29udGVudC5cblx0ICogQHJldHVybnMgVGhlIGRpYWxvZyBjb250cm9sXG5cdCAqL1xuXHRwcml2YXRlIGNyZWF0ZURpYWxvZygpOiBEaWFsb2cge1xuXHRcdGNvbnN0IHJlc291cmNlTW9kZWwgPSBnZXRSZXNvdXJjZU1vZGVsKHRoaXMucGFyZW50Q29udHJvbCA/PyB0aGlzLmFwcENvbXBvbmVudCk7XG5cdFx0Y29uc3QgbWV0YVBhdGggPSB0aGlzLm1ldGFNb2RlbC5nZXRNZXRhUGF0aCh0aGlzLmNvbnRleHRUb1VwZGF0ZS5nZXRQYXRoKCkpO1xuXHRcdGNvbnN0IG1ldGFDb250ZXh0ID0gdGhpcy5tZXRhTW9kZWwuY3JlYXRlQmluZGluZ0NvbnRleHQobWV0YVBhdGgpITtcblx0XHRjb25zdCBvYmplY3RQYXRoID0gZ2V0SW52b2x2ZWREYXRhTW9kZWxPYmplY3RzPEVudGl0eVNldD4obWV0YUNvbnRleHQpO1xuXG5cdFx0dGhpcy5hY3Rpb25QYXJhbWV0ZXJJbmZvcyA9IFtdO1xuXG5cdFx0Y29uc3QgYmVnaW5CdXR0b25MYWJlbCA9IHJlc291cmNlTW9kZWwuZ2V0VGV4dChcblx0XHRcdHRoaXMubW9kZSA9PT0gXCJTdGFuZGFsb25lXCJcblx0XHRcdFx0PyBcIkNfVFJBTlNBQ1RJT05fSEVMUEVSX1NBUEZFX0FDVElPTl9DUkVBVEVfQlVUVE9OX0NSRUFURVwiXG5cdFx0XHRcdDogXCJDX1RSQU5TQUNUSU9OX0hFTFBFUl9TQVBGRV9BQ1RJT05fQ1JFQVRFX0JVVFRPTl9DT05USU5VRVwiXG5cdFx0KTtcblx0XHRjb25zdCBlbmRCdXR0b24gPSAoXG5cdFx0XHQ8QnV0dG9uIHRleHQ9e3Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfQ09NTU9OX0FDVElPTl9QQVJBTUVURVJfRElBTE9HX0NBTkNFTFwiKX0gcHJlc3M9e3RoaXMub25DYW5jZWwuYmluZCh0aGlzKX0gLz5cblx0XHQpO1xuXHRcdHJldHVybiAoXG5cdFx0XHQ8RGlhbG9nXG5cdFx0XHRcdGlkPXtnZW5lcmF0ZShbXCJDcmVhdGVEaWFsb2dcIiwgbWV0YVBhdGhdKX1cblx0XHRcdFx0dGl0bGU9e3Jlc291cmNlTW9kZWwuZ2V0VGV4dChcIkNfVFJBTlNBQ1RJT05fSEVMUEVSX1NBUEZFX0FDVElPTl9DUkVBVEVcIil9XG5cdFx0XHRcdGFmdGVyT3Blbj17KCk6IHZvaWQgPT4ge1xuXHRcdFx0XHRcdHRoaXMuYWZ0ZXJPcGVuKCk7XG5cdFx0XHRcdH19XG5cdFx0XHRcdHJlc2l6YWJsZT17dHJ1ZX1cblx0XHRcdFx0ZHJhZ2dhYmxlPXt0cnVlfVxuXHRcdFx0XHRpbml0aWFsRm9jdXM9e2VuZEJ1dHRvbn0gLy8gVGhlIGluaXRpYWwgZm9jdXMgaXMgc2V0IHByb2dyYW1tYXRpY2FsbHkgaW4gYWZ0ZXJPcGVuLCB0byBhdm9pZCBvcGVuaW5nIHRoZSBWSCBkaWFsb2dcblx0XHRcdD5cblx0XHRcdFx0e3tcblx0XHRcdFx0XHRiZWdpbkJ1dHRvbjogPEJ1dHRvbiB0ZXh0PXtiZWdpbkJ1dHRvbkxhYmVsfSBwcmVzcz17dGhpcy5vbk9LLmJpbmQodGhpcyl9IHR5cGU9XCJFbXBoYXNpemVkXCIgLz4sXG5cdFx0XHRcdFx0ZW5kQnV0dG9uOiBlbmRCdXR0b24sXG5cdFx0XHRcdFx0Y29udGVudDogKFxuXHRcdFx0XHRcdFx0PFNpbXBsZUZvcm0+XG5cdFx0XHRcdFx0XHRcdHt0aGlzLmZpZWxkTmFtZXMubWFwKChuYW1lKSA9PiB7XG5cdFx0XHRcdFx0XHRcdFx0cmV0dXJuIHRoaXMuY3JlYXRlRm9ybUVsZW1lbnQobmFtZSwgb2JqZWN0UGF0aCwgbWV0YVBhdGgpO1xuXHRcdFx0XHRcdFx0XHR9KX1cblx0XHRcdFx0XHRcdDwvU2ltcGxlRm9ybT5cblx0XHRcdFx0XHQpXG5cdFx0XHRcdH19XG5cdFx0XHQ8L0RpYWxvZz5cblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIFNldHMgdGhlIGVycm9yIHN0YXRlIGluIHRoZSBkaWFsb2cgZmllbGRzIHRoYXQgY29ycmVzcG9uZCB0byBhbiBlcnJvciBpbiB0aGUgZ2l2ZW4gbWVzc2FnZXMuXG5cdCAqIEBwYXJhbSBtZXNzYWdlc1xuXHQgKi9cblx0cHVibGljIGRpc3BsYXlFcnJvck1lc3NhZ2VzKG1lc3NhZ2VzOiBNZXNzYWdlW10pOiB2b2lkIHtcblx0XHQvLyBJdGVyYXRlIG92ZXIgYWxsIG1lc3NhZ2VzIGFuZCBzZXQgdGhlIGVycm9yIHN0YXRlIGZvciB0aGUgY29ycmVzcG9uZGluZyBmaWVsZFxuXHRcdC8vIFdlIGNhbm5vdCBjb21wYXJlIHRoZSBwYXRocyBkaXJlY3RseSwgYXMgdGhlIGNvbnRleHQgaW4gdGhlIGRpYWxvZyBpcyBhIHRlbXBvcmFyeSBvbmUsIGFuZCBkaWZmZXJlbnQgZnJvbSB0aGUgb25lIHRoYXQgaXMgc2F2ZWRcblx0XHQvLyBUaGVyZWZvcmUgd2UgY29tcGFyZSB0aGUgbWV0YXBhdGhzXG5cdFx0Y29uc3QgY29udGV4dE1ldGFQYXRoID0gdGhpcy5tZXRhTW9kZWwuZ2V0TWV0YVBhdGgodGhpcy5jb250ZXh0VG9VcGRhdGUuZ2V0UGF0aCgpKTtcblxuXHRcdGZvciAoY29uc3QgbWVzc2FnZSBvZiBtZXNzYWdlcykge1xuXHRcdFx0Zm9yIChjb25zdCB0YXJnZXQgb2YgbWVzc2FnZS5nZXRUYXJnZXRzKCkpIHtcblx0XHRcdFx0Y29uc3QgdGFyZ2V0TWV0YVBhdGggPSB0aGlzLm1ldGFNb2RlbC5nZXRNZXRhUGF0aCh0YXJnZXQpO1xuXHRcdFx0XHRjb25zdCBwYXJhbWV0ZXJJbmZvID0gdGhpcy5hY3Rpb25QYXJhbWV0ZXJJbmZvcy5maW5kKFxuXHRcdFx0XHRcdChhY3Rpb25QYXJhbWV0ZXJJbmZvKSA9PiBgJHtjb250ZXh0TWV0YVBhdGh9LyR7YWN0aW9uUGFyYW1ldGVySW5mby5wcm9wZXJ0eVBhdGh9YCA9PT0gdGFyZ2V0TWV0YVBhdGhcblx0XHRcdFx0KTtcblx0XHRcdFx0aWYgKHBhcmFtZXRlckluZm8pIHtcblx0XHRcdFx0XHRwYXJhbWV0ZXJJbmZvLmhhc0Vycm9yID0gdHJ1ZTtcblx0XHRcdFx0XHRwYXJhbWV0ZXJJbmZvLmZpZWxkLnNldFZhbHVlU3RhdGUobWVzc2FnZS5nZXRUeXBlKCkgfHwgTWVzc2FnZVR5cGUuRXJyb3IpO1xuXHRcdFx0XHRcdHBhcmFtZXRlckluZm8uZmllbGQuc2V0VmFsdWVTdGF0ZVRleHQobWVzc2FnZS5nZXRNZXNzYWdlKCkpO1xuXG5cdFx0XHRcdFx0Y29uc3QgbWVzc2FnZUNvbnRyb2xJRHMgPSBtZXNzYWdlLmdldENvbnRyb2xJZHMoKTtcblx0XHRcdFx0XHRpZiAoIW1lc3NhZ2VDb250cm9sSURzLmluY2x1ZGVzKHBhcmFtZXRlckluZm8uZmllbGQuZ2V0SWQoKSkpIHtcblx0XHRcdFx0XHRcdG1lc3NhZ2VDb250cm9sSURzLnB1c2gocGFyYW1ldGVySW5mby5maWVsZC5nZXRJZCgpKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogUmVtb3ZlcyB0aGUgZXJyb3IgbWVzc2FnZXMgZm9yIGEgZ2l2ZW4gZmllbGQuXG5cdCAqIEBwYXJhbSBtZXNzYWdlQ29udHJvbElkIFRoZSBJRCBvZiB0aGUgZmllbGRcblx0ICovXG5cdHByaXZhdGUgcmVtb3ZlTWVzc2FnZXNGb3JBY3Rpb25QYXJhbWV0ZXIobWVzc2FnZUNvbnRyb2xJZDogc3RyaW5nKTogdm9pZCB7XG5cdFx0Y29uc3QgYWxsTWVzc2FnZXMgPSBNZXNzYWdpbmcuZ2V0TWVzc2FnZU1vZGVsKCkuZ2V0RGF0YSgpO1xuXHRcdC8vIGFsc28gcmVtb3ZlIG1lc3NhZ2VzIGFzc2lnbmVkIHRvIGlubmVyIGNvbnRyb2xzLCBidXQgYXZvaWQgcmVtb3ZpbmcgbWVzc2FnZXMgZm9yIGRpZmZlcmVudCBwYXJhbWV0ZXJzICh3aXRoIG5hbWUgYmVpbmcgc3Vic3RyaW5nIG9mIGFub3RoZXIgcGFyYW1ldGVyIG5hbWUpXG5cdFx0Y29uc3QgcmVsZXZhbnRNZXNzYWdlcyA9IGFsbE1lc3NhZ2VzLmZpbHRlcigobXNnOiBNZXNzYWdlKSA9PlxuXHRcdFx0bXNnLmdldENvbnRyb2xJZHMoKS5zb21lKChjb250cm9sSWQ6IHN0cmluZykgPT4gY29udHJvbElkLmluY2x1ZGVzKG1lc3NhZ2VDb250cm9sSWQpKVxuXHRcdCk7XG5cdFx0TWVzc2FnaW5nLnJlbW92ZU1lc3NhZ2VzKHJlbGV2YW50TWVzc2FnZXMpO1xuXHR9XG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIHdoZW4gdGhlIHVzZXIgaXMgZG9pbmcgc29tZSBsaXZlIGNoYW5nZXMgaW4gYSBmaWVsZC5cblx0ICogQHBhcmFtIGxpdmVDaGFuZ2VFdmVudFxuXHQgKi9cblx0cHJpdmF0ZSBoYW5kbGVMaXZlQ2hhbmdlKGxpdmVDaGFuZ2VFdmVudDogRmllbGRCYXNlJExpdmVDaGFuZ2VFdmVudCk6IHZvaWQge1xuXHRcdGNvbnN0IGZpZWxkSWQgPSBsaXZlQ2hhbmdlRXZlbnQuZ2V0U291cmNlPE1EQ0ZpZWxkPigpLmdldElkKCk7XG5cdFx0dGhpcy5yZW1vdmVNZXNzYWdlc0ZvckFjdGlvblBhcmFtZXRlcihmaWVsZElkKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsYmFjayB3aGVuIHRoZSB1c2VyIGhhcyBjaGFuZ2VkIGEgZmllbGQgdmFsdWUuXG5cdCAqIEBwYXJhbSBjaGFuZ2VFdmVudFxuXHQgKi9cblx0cHJpdmF0ZSBhc3luYyBoYW5kbGVDaGFuZ2UoY2hhbmdlRXZlbnQ6IEZpZWxkJENoYW5nZUV2ZW50KTogUHJvbWlzZTx2b2lkPiB7XG5cdFx0Y29uc3QgZmllbGQgPSBjaGFuZ2VFdmVudC5nZXRTb3VyY2U8TURDRmllbGQ+KCk7XG5cblx0XHRjb25zdCBhY3Rpb25QYXJhbWV0ZXJJbmZvID0gdGhpcy5hY3Rpb25QYXJhbWV0ZXJJbmZvcy5maW5kKChhY3Rpb25QYXJhbWV0ZXJJbmZvKSA9PiBhY3Rpb25QYXJhbWV0ZXJJbmZvLmZpZWxkID09PSBmaWVsZCk7XG5cdFx0aWYgKGFjdGlvblBhcmFtZXRlckluZm8gIT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGhpcy5yZW1vdmVNZXNzYWdlc0ZvckFjdGlvblBhcmFtZXRlcihmaWVsZC5nZXRJZCgpKTtcblx0XHRcdGFjdGlvblBhcmFtZXRlckluZm8udmFsaWRhdGlvblByb21pc2UgPSBjaGFuZ2VFdmVudC5nZXRQYXJhbWV0ZXIoXCJwcm9taXNlXCIpO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0YWN0aW9uUGFyYW1ldGVySW5mby52YWx1ZSA9IGF3YWl0IGFjdGlvblBhcmFtZXRlckluZm8udmFsaWRhdGlvblByb21pc2U7XG5cdFx0XHRcdGFjdGlvblBhcmFtZXRlckluZm8uaGFzRXJyb3IgPSBmYWxzZTtcblx0XHRcdFx0YWN0aW9uUGFyYW1ldGVySW5mby5maWVsZC5zZXRWYWx1ZVN0YXRlKE1lc3NhZ2VUeXBlLk5vbmUpO1xuXHRcdFx0fSBjYXRjaCAoZXJyb3IpIHtcblx0XHRcdFx0ZGVsZXRlIGFjdGlvblBhcmFtZXRlckluZm8udmFsdWU7XG5cdFx0XHRcdGFjdGlvblBhcmFtZXRlckluZm8uaGFzRXJyb3IgPSB0cnVlO1xuXHRcdFx0fVxuXHRcdH1cblx0fVxuXG5cdC8qKlxuXHQgKiBDYWxsYmFjayB3aGVuIHRoZSB1c2VyIGNsaWNrZWQgJ09LJy5cblx0ICovXG5cdHByaXZhdGUgYXN5bmMgb25PSygpOiBQcm9taXNlPHZvaWQ+IHtcblx0XHQvLyBWYWxpZGF0aW9uIG9mIG1hbmRhdG9yeSBhbmQgdmFsdWUgc3RhdGUgZm9yIGFjdGlvbiBwYXJhbWV0ZXJzXG5cdFx0Y29uc3QgcmVzb3VyY2VNb2RlbCA9IGdldFJlc291cmNlTW9kZWwodGhpcy5hcHBDb21wb25lbnQpO1xuXHRcdGlmIChhd2FpdCBBY3Rpb25SdW50aW1lLnZhbGlkYXRlUHJvcGVydGllcyh0aGlzLmFjdGlvblBhcmFtZXRlckluZm9zLCByZXNvdXJjZU1vZGVsKSkge1xuXHRcdFx0dGhpcy5maXJlRXhpdERpYWxvZyh0cnVlKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQ2FsbGJhY2sgd2hlbiB0aGUgdXNlIGNsaWNrZWQgJ0NhbmNlbCcuXG5cdCAqL1xuXHRwcml2YXRlIG9uQ2FuY2VsKCk6IHZvaWQge1xuXHRcdHRoaXMuZmlyZUV4aXREaWFsb2coZmFsc2UpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEVzY2FwZSBoYW5kbGVyIChjYWxsZWQgd2hlbiB0aGUgdXNlciB0eXBlZCAnRXNjYXBlJyB0byBsZWF2ZSB0aGUgZGlhbG9nKS5cblx0ICogQHBhcmFtIHBcblx0ICogQHBhcmFtIHAucmVzb2x2ZVxuXHQgKiBAcGFyYW0gcC5yZWplY3Rcblx0ICovXG5cdHByaXZhdGUgb25Fc2NhcGUocDogeyByZXNvbHZlOiBGdW5jdGlvbjsgcmVqZWN0OiBGdW5jdGlvbiB9KTogdm9pZCB7XG5cdFx0cC5yZWplY3QoKTsgLy8gRG8gbm90IGNsb3NlIHRoZSBkaWFsb2dcblx0XHR0aGlzLm9uQ2FuY2VsKCk7XG5cdH1cblxuXHQvKipcblx0ICogT3BlbnMgdGhlIGRpYWxvZy5cblx0ICogQHJldHVybnMgVGhlIGludGVybmFsIERpYWxvZyBjb250cm9sXG5cdCAqL1xuXHRvcGVuRGlhbG9nKCk6IERpYWxvZyB7XG5cdFx0aWYgKHRoaXMuZGlhbG9nKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJDYW5ub3Qgb3BlbiB0aGUgQ3JlYXRlIGRpYWxvZyB0d2ljZVwiKTtcblx0XHR9XG5cblx0XHR0aGlzLmRpYWxvZyA9IHRoaXMuY3JlYXRlRGlhbG9nKCk7XG5cdFx0dGhpcy5kaWFsb2cuc2V0RXNjYXBlSGFuZGxlcih0aGlzLm9uRXNjYXBlLmJpbmQodGhpcykpO1xuXHRcdHRoaXMuZGlhbG9nLnNldEJpbmRpbmdDb250ZXh0KHRoaXMuY29udGV4dFRvVXBkYXRlKTtcblx0XHR0aGlzLnBhcmVudENvbnRyb2w/LmFkZERlcGVuZGVudCh0aGlzLmRpYWxvZyk7XG5cblx0XHR0aGlzLmRpYWxvZy5vcGVuKCk7XG5cblx0XHRyZXR1cm4gdGhpcy5kaWFsb2c7XG5cdH1cblxuXHQvKipcblx0ICogQ2xvc2VzIGFuZCBkZXN0cm95cyB0aGUgZGlhbG9nLlxuXHQgKi9cblx0Y2xvc2VEaWFsb2coKTogdm9pZCB7XG5cdFx0LyogV2hlbiB0aGUgZGlhbG9nIGlzIGNhbmNlbGxlZCwgbWVzc2FnZXMgbmVlZCB0byBiZSByZW1vdmVkIGluIGNhc2UgdGhlIHNhbWUgYWN0aW9uIHNob3VsZCBiZSBleGVjdXRlZCBhZ2FpbiAqL1xuXHRcdGZvciAoY29uc3QgYWN0aW9uUGFyYW1ldGVySW5mbyBvZiB0aGlzLmFjdGlvblBhcmFtZXRlckluZm9zKSB7XG5cdFx0XHRjb25zdCBmaWVsZElkID0gYWN0aW9uUGFyYW1ldGVySW5mby5maWVsZC5nZXRJZCgpO1xuXHRcdFx0dGhpcy5yZW1vdmVNZXNzYWdlc0ZvckFjdGlvblBhcmFtZXRlcihmaWVsZElkKTtcblx0XHR9XG5cblx0XHRpZiAodGhpcy5kaWFsb2cgJiYgQnVzeUxvY2tlci5pc0xvY2tlZCh0aGlzLmRpYWxvZykpIHtcblx0XHRcdEJ1c3lMb2NrZXIudW5sb2NrKHRoaXMuZGlhbG9nKTsgLy8gVG8gYXZvaWQgYW4gZXJyb3IgaW4gdGhlIGNvbnNvbGVcblx0XHR9XG5cdFx0dGhpcy5kaWFsb2c/LmNsb3NlKCk7XG5cdFx0dGhpcy5kaWFsb2c/LmRlc3Ryb3koKTtcblx0XHR0aGlzLmRpYWxvZyA9IHVuZGVmaW5lZDtcblx0fVxuXG5cdC8qKlxuXHQgKiBEaXNwbGF5cyBvciByZW1vdmVzIGEgYnVzeSBpbmRpY2F0b3Igb24gdGhlIGRpYWxvZy5cblx0ICogQHBhcmFtIGJ1c3lcblx0ICovXG5cdHNldEJ1c3koYnVzeTogYm9vbGVhbik6IHZvaWQge1xuXHRcdGlmICghdGhpcy5kaWFsb2cpIHtcblx0XHRcdHJldHVybjsgLy8gTm90aGluZyB0byBzZXQgYnVzeVxuXHRcdH1cblxuXHRcdGlmIChidXN5KSB7XG5cdFx0XHRCdXN5TG9ja2VyLmxvY2sodGhpcy5kaWFsb2cpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHRCdXN5TG9ja2VyLnVubG9jayh0aGlzLmRpYWxvZyk7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIElzIERpYWxvZyBvcGVuLlxuXHQgKiBAcmV0dXJucyBCb29sZWFuXG5cdCAqL1xuXHRpc09wZW4oKTogYm9vbGVhbiB7XG5cdFx0cmV0dXJuIHRoaXMuZGlhbG9nPy5pc09wZW4oKSA/PyBmYWxzZTtcblx0fVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O01Bd0NNQSxnQ0FBZ0MsSUFBQUMsSUFBQSxHQURyQ0MsY0FBYyxDQUFDLDZDQUE2QyxDQUFDLEVBQUFDLEtBQUEsR0FFNURDLEtBQUssQ0FBQyxDQUFDLEVBQUFILElBQUEsQ0FBQUksTUFBQSxJQUFBQyxPQUFBLDBCQUFBQyxjQUFBO0lBQUEsU0FBQVAsaUNBQUE7TUFBQSxJQUFBUSxLQUFBO01BQUEsU0FBQUMsSUFBQSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsRUFBQUMsSUFBQSxPQUFBQyxLQUFBLENBQUFKLElBQUEsR0FBQUssSUFBQSxN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
|
|
@@ -392,8 +392,8 @@ export default class CreateDialog implements StandardDialog {
|
|
|
392
392
|
|
|
393
393
|
this.dialog = this.createDialog();
|
|
394
394
|
this.dialog.setEscapeHandler(this.onEscape.bind(this));
|
|
395
|
-
this.parentControl?.addDependent(this.dialog);
|
|
396
395
|
this.dialog.setBindingContext(this.contextToUpdate);
|
|
396
|
+
this.parentControl?.addDependent(this.dialog);
|
|
397
397
|
|
|
398
398
|
this.dialog.open();
|
|
399
399
|
|