Comparing version 1.0.0-alpha.23 to 1.0.0-beta.0
import * as React from "react"; | ||
import PropTypes from "prop-types"; | ||
import { Option, OptGroup } from "rc-select"; | ||
import OptGroup from "./OptGroup"; | ||
import Option from "./Option"; | ||
import { IconNames } from "../icon"; | ||
@@ -5,0 +6,0 @@ import { Placement } from "../pop-trigger"; |
@@ -16,4 +16,8 @@ "use strict"; | ||
var _rcSelect = _interopRequireWildcard(require("rc-select")); | ||
var _rcSelect = _interopRequireDefault(require("rc-select")); | ||
var _OptGroup = _interopRequireDefault(require("./OptGroup")); | ||
var _Option = _interopRequireDefault(require("./Option")); | ||
var _omit = _interopRequireDefault(require("../_util/omit")); | ||
@@ -385,4 +389,4 @@ | ||
Select.type = "Select"; | ||
Select.Option = _rcSelect.Option; | ||
Select.OptGroup = _rcSelect.OptGroup; | ||
Select.Option = _Option["default"]; | ||
Select.OptGroup = _OptGroup["default"]; | ||
Select.propTypes = { | ||
@@ -450,2 +454,2 @@ children: _propTypes["default"].node, | ||
exports["default"] = _default; | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvc2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsibm9vcCIsInByZWZpeCIsIlNlbGVjdCIsInByb3BzIiwibG9ja2VkIiwic2VsZWN0Iiwic2VhcmNoIiwibWVudSIsInNhdmVTZWxlY3QiLCJub2RlIiwic2F2ZVNlYXJjaCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwib3BlbiIsIm9wZW5Qcm9wIiwic3RhdGUiLCJ2YWx1ZSIsInNlbGVjdElkIiwic2V0U3RhdGUiLCJwcmV2ZW50VmlzaWJsZUNoYW5nZSIsInNldFRpbWVvdXQiLCJpZCIsInBhcmVudE5vZGUiLCJuZXh0U2libGluZyIsImVsIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJjaGlsZHJlbiIsInBsYWNlaG9sZGVyVGV4dCIsImRhdGFzZXQiLCJodG1sIiwiaW5uZXJIVE1MIiwiZm9jdXMiLCJwbGFjZWhvbGRlclNob3ciLCJvblNlbGVjdCIsIm9wdGlvbiIsInZhbHVlUHJvcCIsInNldElucHV0VmFsdWUiLCJoYW5kbGVEcm9wZG93blJlbmRlciIsInNlYXJjaGFibGUiLCJzZWFyY2hQbGFjZWhvbGRlciIsImhhbmRsZVNlYXJjaCIsImhhbmRsZVNlYXJjaEtleURvd24iLCJlIiwidmFsIiwidGFyZ2V0IiwicmVhbElucHV0IiwicXVlcnlTZWxlY3RvciIsImxhc3RWYWx1ZSIsImV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwidHJhY2tlciIsIl92YWx1ZVRyYWNrZXIiLCJzZXRWYWx1ZSIsImRpc3BhdGNoRXZlbnQiLCJvbklucHV0S2V5RG93biIsImRlZmF1bHRPcGVuIiwiZGVmYXVsdFZhbHVlIiwidmFsdWVTdGF0ZSIsInVuZGVmaW5lZCIsIm9wZW5TdGF0ZSIsImNsYXNzTmFtZSIsImdldFBvcHVwQ29udGFpbmVyIiwicGxhY2Vob2xkZXIiLCJwbGFjZW1lbnQiLCJyaWdodEljb24iLCJzaXplIiwidGhlbWUiLCJvdGhlclByb3BzIiwicmVzdFByb3BzIiwib3BlblByb3BzIiwiZ2V0UG9wdXBDb250YWluZXJDb250ZXh0IiwiYWxpZ25FZGdlIiwiX19odG1sIiwiUmVhY3QiLCJDb21wb25lbnQiLCJ0eXBlIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJib29sIiwib25lT2ZUeXBlIiwibnVtYmVyIiwiZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoIiwiZnVuYyIsImFueSIsIm9uZU9mIiwiT2JqZWN0Iiwia2V5cyIsIkljb25TdmdQYXRocyIsImRlZmF1bHRQcm9wcyIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsIm5ld1N0YXRlIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxJQUFNQSxJQUFJLEdBQUcsU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7O0FBQ0EsSUFBTUMsTUFBTSxHQUFHLGFBQWY7O0lBZ0dNQyxNOzs7QUFzSUosa0JBQVlDLEtBQVosRUFBaUM7QUFBQTs7QUFBQTs7QUFDL0IsZ0ZBQU1BLEtBQU47QUFEK0IsVUFSMUJDLE1BUTBCLEdBUmpCLEtBUWlCO0FBQUEsVUFOMUJDLE1BTTBCO0FBQUEsVUFKMUJDLE1BSTBCO0FBQUEsVUFGMUJDLElBRTBCOztBQUFBLFVBOEIxQkMsVUE5QjBCLEdBOEJiLFVBQUNDLElBQUQsRUFBbUI7QUFDckMsWUFBS0osTUFBTCxHQUFjSSxJQUFkO0FBQ0QsS0FoQ2dDOztBQUFBLFVBa0MxQkMsVUFsQzBCLEdBa0NiLFVBQUNELElBQUQsRUFBNEI7QUFDOUMsWUFBS0gsTUFBTCxHQUFjRyxJQUFkO0FBQ0QsS0FwQ2dDOztBQUFBLFVBc0MxQkUsdUJBdEMwQixHQXNDQSxVQUFDQyxJQUFELEVBQW1CO0FBQUEsd0JBQ0UsTUFBS1QsS0FEUDtBQUFBLFVBQzFDUSx1QkFEMEMsZUFDMUNBLHVCQUQwQztBQUFBLFVBQ1hFLFFBRFcsZUFDakJELElBRGlCO0FBQUEsd0JBRXRCLE1BQUtFLEtBRmlCO0FBQUEsVUFFMUNDLEtBRjBDLGVBRTFDQSxLQUYwQztBQUFBLFVBRW5DQyxRQUZtQyxlQUVuQ0EsUUFGbUM7O0FBSWxELFVBQUksTUFBS1osTUFBVCxFQUFpQjtBQUNmO0FBQ0Q7O0FBQ0QsVUFBSVMsUUFBUSxLQUFLLElBQWpCLEVBQXVCO0FBQ3JCLGNBQUtJLFFBQUwsQ0FBYztBQUFFTCxVQUFBQSxJQUFJLEVBQUpBO0FBQUYsU0FBZDtBQUNEOztBQUNELFVBQUlBLElBQUosRUFBVTtBQUNSLGNBQUtNLG9CQUFMOztBQUNBQyxRQUFBQSxVQUFVLENBQUMsWUFBTTtBQUNmLGNBQUksTUFBS2IsTUFBVCxFQUFpQjtBQUNmLGdCQUFJUyxLQUFKLEVBQVc7QUFDVCxrQkFBSUssRUFBRSxHQUFHSixRQUFUOztBQUNBLGtCQUFJLENBQUNBLFFBQUwsRUFBZTtBQUFBOztBQUNiSSxnQkFBQUEsRUFBRSxvQ0FBSSxNQUFLZCxNQUFMLENBQVllLFVBQWhCLDBEQUFJLHNCQUF3QkMsV0FBNUIseUNBQUcsS0FBa0RGLEVBQXZEOztBQUNBLHNCQUFLSCxRQUFMLENBQWM7QUFBRUQsa0JBQUFBLFFBQVEsRUFBRUk7QUFBWixpQkFBZDtBQUNEOztBQUNELGtCQUFJQSxFQUFKLEVBQVE7QUFBQTs7QUFDTixvQkFBTUcsRUFBRSxxQ0FBSUMsUUFBUSxDQUFDQyxjQUFULENBQXdCTCxFQUF4QixDQUFKLDBEQUFJLHNCQUNSRSxXQURJLG1FQUFHLE1BQ2tCSSxzQkFEbEIsQ0FFVCxrQ0FGUyxFQUdULENBSFMsQ0FBSCwwREFBRyxzQkFHTEMsUUFISyxDQUdJLENBSEosQ0FBWDs7QUFJQSxvQkFBSUosRUFBSixFQUFRO0FBQ04sd0JBQUtOLFFBQUwsQ0FBYztBQUNaVyxvQkFBQUEsZUFBZSxFQUFFTCxFQUFFLENBQUNNLE9BQUgsQ0FBV0MsSUFBWCxJQUFtQlAsRUFBRSxDQUFDUTtBQUQzQixtQkFBZDtBQUdEO0FBQ0Y7QUFDRjs7QUFDRCxrQkFBS3pCLE1BQUwsQ0FBWTBCLEtBQVo7QUFDRDtBQUNGLFNBdEJTLEVBc0JQLEdBdEJPLENBQVY7QUF1QkQsT0F6QkQsTUF5Qk87QUFDTCxZQUFJLE1BQUsxQixNQUFULEVBQWlCO0FBQ2YsZ0JBQUtBLE1BQUwsQ0FBWVMsS0FBWixHQUFvQixFQUFwQjtBQUNEOztBQUNELGNBQUtFLFFBQUwsQ0FBYztBQUNaZ0IsVUFBQUEsZUFBZSxFQUFFO0FBREwsU0FBZDtBQUdEOztBQUNELFVBQUl0Qix1QkFBSixFQUE2QjtBQUMzQkEsUUFBQUEsdUJBQXVCLENBQUNDLElBQUQsQ0FBdkI7QUFDRDtBQUNGLEtBcEZnQzs7QUFBQSxVQXNGMUJzQixRQXRGMEIsR0FzRmYsVUFBQ25CLEtBQUQsRUFBeUJvQixNQUF6QixFQUF5QztBQUFBLHlCQUNsQixNQUFLaEMsS0FEYTtBQUFBLFVBQ2pEK0IsUUFEaUQsZ0JBQ2pEQSxRQURpRDtBQUFBLFVBQ2hDRSxTQURnQyxnQkFDdkNyQixLQUR1Qzs7QUFHekQsVUFBSXFCLFNBQVMsS0FBSyxJQUFsQixFQUF3QjtBQUN0QixjQUFLbkIsUUFBTCxDQUFjO0FBQ1pGLFVBQUFBLEtBQUssRUFBTEE7QUFEWSxTQUFkO0FBR0Q7O0FBQ0QsVUFBSW1CLFFBQVEsSUFBSUUsU0FBUyxLQUFLckIsS0FBOUIsRUFBcUM7QUFDbkNtQixRQUFBQSxRQUFRLENBQUNuQixLQUFELEVBQVFvQixNQUFSLENBQVI7QUFDRDs7QUFFRCxVQUFJLE1BQUs3QixNQUFULEVBQWlCO0FBQ2YsY0FBS0EsTUFBTCxDQUFZUyxLQUFaLEdBQW9CLEVBQXBCO0FBQ0Q7O0FBQ0QsVUFBSSxNQUFLVixNQUFMLElBQWUsTUFBS0EsTUFBTCxDQUFZZ0MsYUFBL0IsRUFBOEM7QUFDNUMsY0FBS2hDLE1BQUwsQ0FBWWdDLGFBQVosQ0FBMEIsRUFBMUI7QUFDRDtBQUNGLEtBeEdnQzs7QUFBQSxVQTBHMUJDLG9CQTFHMEIsR0EwR0gsVUFBQy9CLElBQUQsRUFBdUI7QUFDbkQsWUFBS0EsSUFBTCxHQUFZQSxJQUFaO0FBRG1ELHlCQUVULE1BQUtKLEtBRkk7QUFBQSxVQUUzQ29DLFVBRjJDLGdCQUUzQ0EsVUFGMkM7QUFBQSxVQUUvQkMsaUJBRitCLGdCQUUvQkEsaUJBRitCOztBQUduRCxVQUFJRCxVQUFKLEVBQWdCO0FBQ2QsZUFDRSxpQ0FDRTtBQUFLLFVBQUEsU0FBUyxZQUFLdEMsTUFBTDtBQUFkLFdBQ0U7QUFDRSxVQUFBLEdBQUcsRUFBRSxNQUFLUyxVQURaO0FBRUUsVUFBQSxXQUFXLEVBQUU4QixpQkFGZjtBQUdFLFVBQUEsUUFBUSxFQUFFLE1BQUtDLFlBSGpCO0FBSUUsVUFBQSxTQUFTLEVBQUUsTUFBS0MsbUJBSmxCO0FBS0UsVUFBQSxXQUFXLEVBQUUsTUFBS3hCLG9CQUxwQjtBQU1FLFVBQUEsU0FBUyxFQUFFLE1BQUtBO0FBTmxCLFVBREYsRUFTRSxvQkFBQyxnQkFBRDtBQUFNLFVBQUEsSUFBSSxFQUFDLFFBQVg7QUFBb0IsVUFBQSxTQUFTLFlBQUtqQixNQUFMO0FBQTdCLFVBVEYsQ0FERixFQVlHTSxJQVpILENBREY7QUFnQkQ7O0FBQ0QsYUFBT0EsSUFBUDtBQUNELEtBaElnQzs7QUFBQSxVQWtJMUJrQyxZQWxJMEIsR0FrSVgsVUFBQ0UsQ0FBRCxFQUE0QztBQUNoRSxVQUFNQyxHQUFHLEdBQUdELENBQUMsQ0FBQ0UsTUFBRixDQUFTOUIsS0FBckI7QUFEZ0UseUJBRTFCLE1BQUtELEtBRnFCO0FBQUEsVUFFeERtQixlQUZ3RCxnQkFFeERBLGVBRndEO0FBQUEsVUFFdkNqQixRQUZ1QyxnQkFFdkNBLFFBRnVDOztBQUdoRSxVQUFJNEIsR0FBRyxJQUFJLENBQUNYLGVBQVosRUFBNkI7QUFDM0IsY0FBS2hCLFFBQUwsQ0FBYztBQUFFZ0IsVUFBQUEsZUFBZSxFQUFFO0FBQW5CLFNBQWQ7QUFDRDs7QUFDRCxVQUFJLENBQUNXLEdBQUQsSUFBUVgsZUFBWixFQUE2QjtBQUMzQixjQUFLaEIsUUFBTCxDQUFjO0FBQUVnQixVQUFBQSxlQUFlLEVBQUU7QUFBbkIsU0FBZDtBQUNEOztBQUNELFVBQUksTUFBSzVCLE1BQVQsRUFBaUI7QUFDZixZQUFJZSxFQUFFLEdBQUdKLFFBQVQ7O0FBQ0EsWUFBSSxDQUFDQSxRQUFMLEVBQWU7QUFBQTs7QUFDYkksVUFBQUEsRUFBRSxvQ0FBSXVCLENBQUMsQ0FBQ0UsTUFBRixDQUFTeEIsVUFBYix5REFBSSxxQkFBcUJDLFdBQXpCLDBDQUFHLE1BQStDRixFQUFwRDs7QUFDQSxnQkFBS0gsUUFBTCxDQUFjO0FBQUVELFlBQUFBLFFBQVEsRUFBRUk7QUFBWixXQUFkO0FBQ0Q7O0FBQ0QsWUFBTTBCLFNBQVMsR0FBR3RCLFFBQVEsQ0FBQ3VCLGFBQVQsd0JBQXNDM0IsRUFBdEMsU0FBbEI7O0FBQ0EsWUFBSTBCLFNBQUosRUFBZTtBQUNiLGNBQU1FLFNBQVMsR0FBR0YsU0FBUyxDQUFDL0IsS0FBNUI7QUFDQStCLFVBQUFBLFNBQVMsQ0FBQy9CLEtBQVYsR0FBa0I2QixHQUFsQjtBQUNBLGNBQU1LLEtBQUssR0FBRyxJQUFJQyxLQUFKLENBQVUsT0FBVixFQUFtQjtBQUFFQyxZQUFBQSxPQUFPLEVBQUU7QUFBWCxXQUFuQixDQUFkO0FBRUEsY0FBTUMsT0FBTyxHQUFHTixTQUFTLENBQUNPLGFBQTFCOztBQUNBLGNBQUlELE9BQUosRUFBYTtBQUNYQSxZQUFBQSxPQUFPLENBQUNFLFFBQVIsQ0FBaUJOLFNBQWpCO0FBQ0Q7O0FBQ0RGLFVBQUFBLFNBQVMsQ0FBQ1MsYUFBVixDQUF3Qk4sS0FBeEI7QUFDRDtBQUNGO0FBQ0YsS0E5SmdDOztBQUFBLFVBZ0sxQlAsbUJBaEswQixHQWdLSixVQUFDQyxDQUFELEVBQThDO0FBQ3pFLFVBQUksTUFBS3RDLE1BQUwsSUFBZSxNQUFLQSxNQUFMLENBQVltRCxjQUEvQixFQUErQztBQUM3QyxjQUFLbkQsTUFBTCxDQUFZbUQsY0FBWixDQUEyQmIsQ0FBM0I7QUFDRDtBQUNGLEtBcEtnQzs7QUFBQSxVQXNLMUJ6QixvQkF0SzBCLEdBc0tILFlBQU07QUFDbEMsWUFBS2QsTUFBTCxHQUFjLElBQWQ7QUFDQWUsTUFBQUEsVUFBVSxDQUFDLFlBQU07QUFDZixjQUFLZixNQUFMLEdBQWMsS0FBZDs7QUFDQSxjQUFLYSxRQUFMLENBQWM7QUFBRUwsVUFBQUEsSUFBSSxFQUFFO0FBQVIsU0FBZDtBQUNELE9BSFMsRUFHUCxHQUhPLENBQVY7QUFJRCxLQTVLZ0M7O0FBQUEsUUFFdkI2QyxXQUZ1QixHQUVvQnRELEtBRnBCLENBRXZCc0QsV0FGdUI7QUFBQSxRQUVWQyxZQUZVLEdBRW9CdkQsS0FGcEIsQ0FFVnVELFlBRlU7QUFBQSxRQUVJOUMsS0FGSixHQUVvQlQsS0FGcEIsQ0FFSVMsSUFGSjtBQUFBLFFBRVVHLE1BRlYsR0FFb0JaLEtBRnBCLENBRVVZLEtBRlY7QUFJL0IsUUFBSTRDLFVBQUo7O0FBQ0EsUUFBSTVDLE1BQUssS0FBSyxJQUFkLEVBQW9CO0FBQ2xCLFVBQUlBLE1BQUssS0FBSyxFQUFkLEVBQWtCO0FBQ2hCNEMsUUFBQUEsVUFBVSxHQUFHQyxTQUFiO0FBQ0QsT0FGRCxNQUVPO0FBQ0xELFFBQUFBLFVBQVUsR0FBRzVDLE1BQWI7QUFDRDtBQUNGLEtBTkQsTUFNTyxJQUFJMkMsWUFBWSxLQUFLLElBQXJCLEVBQTJCO0FBQ2hDQyxNQUFBQSxVQUFVLEdBQUdELFlBQWI7QUFDRDs7QUFFRCxRQUFJRyxTQUFKOztBQUNBLFFBQUlqRCxLQUFJLEtBQUssSUFBYixFQUFtQjtBQUNqQmlELE1BQUFBLFNBQVMsR0FBR2pELEtBQVo7QUFDRCxLQUZELE1BRU8sSUFBSTZDLFdBQVcsS0FBSyxJQUFwQixFQUEwQjtBQUMvQkksTUFBQUEsU0FBUyxHQUFHSixXQUFaO0FBQ0Q7O0FBQ0QsVUFBSzNDLEtBQUwsR0FBYTtBQUNYRixNQUFBQSxJQUFJLEVBQUVpRCxTQURLO0FBRVg1QixNQUFBQSxlQUFlLEVBQUUsS0FGTjtBQUdYakIsTUFBQUEsUUFBUSxFQUFFLEVBSEM7QUFJWFksTUFBQUEsZUFBZSxFQUFFLEVBSk47QUFLWGIsTUFBQUEsS0FBSyxFQUFFNEM7QUFMSSxLQUFiO0FBckIrQjtBQTRCaEM7Ozs7NkJBa0plO0FBQUE7O0FBQUEseUJBWVYsS0FBS3hELEtBWks7QUFBQSxVQUVaMkQsU0FGWSxnQkFFWkEsU0FGWTtBQUFBLFVBR1pDLGlCQUhZLGdCQUdaQSxpQkFIWTtBQUFBLFVBSVpDLFdBSlksZ0JBSVpBLFdBSlk7QUFBQSxVQUtaQyxTQUxZLGdCQUtaQSxTQUxZO0FBQUEsVUFNWkMsU0FOWSxnQkFNWkEsU0FOWTtBQUFBLFVBT1ozQixVQVBZLGdCQU9aQSxVQVBZO0FBQUEsVUFRWjRCLElBUlksZ0JBUVpBLElBUlk7QUFBQSxVQVNaQyxLQVRZLGdCQVNaQSxLQVRZO0FBQUEsVUFVTGhDLFNBVkssZ0JBVVpyQixLQVZZO0FBQUEsVUFXVHNELFVBWFM7O0FBY2QsVUFBTUMsU0FBUyxHQUFHLHNCQUFLRCxVQUFMLEVBQWlCLENBQ2pDLGNBRGlDLEVBRWpDLE1BRmlDLEVBR2pDLHlCQUhpQyxFQUlqQyxVQUppQyxFQUtqQyxtQkFMaUMsQ0FBakIsQ0FBbEI7QUFkYyx5QkEyQlYsS0FBS3ZELEtBM0JLO0FBQUEsVUF1Qk4rQyxTQXZCTSxnQkF1QlpqRCxJQXZCWTtBQUFBLFVBd0JacUIsZUF4QlksZ0JBd0JaQSxlQXhCWTtBQUFBLFVBeUJaTCxlQXpCWSxnQkF5QlpBLGVBekJZO0FBQUEsVUEwQkwrQixVQTFCSyxnQkEwQlo1QyxLQTFCWTtBQThCZCxVQUFNd0QsU0FBNkQsR0FBRyxFQUF0RTs7QUFDQSxVQUFJLE9BQU9WLFNBQVAsS0FBcUIsU0FBekIsRUFBb0M7QUFDbENVLFFBQUFBLFNBQVMsQ0FBQzNELElBQVYsR0FBaUJpRCxTQUFqQjtBQUNEOztBQUNELFVBQUlGLFVBQVUsS0FBSyxJQUFuQixFQUF5QjtBQUN2QlksUUFBQUEsU0FBUyxDQUFDeEQsS0FBVixHQUFrQnFCLFNBQVMsS0FBSyxFQUFkLEdBQW1CNEIsV0FBbkIsR0FBaUNMLFVBQW5EO0FBQ0Q7O0FBRUQsYUFDRSxvQkFBQyw2QkFBRCxDQUFlLFFBQWYsUUFDRztBQUFBOztBQUFBLFlBQXNCYSx3QkFBdEIsU0FBR1QsaUJBQUg7QUFBQSxlQUNDLG9CQUFDLG9CQUFEO0FBQ0UsVUFBQSxTQUFTLEVBQUUsNEJBQ1RELFNBRFMsWUFFTjdELE1BRk0sd0JBR05BLE1BSE0sY0FHSWtFLElBSEosNkRBS0hsRSxNQUxHLGFBS2NtRSxLQUFLLEtBQUssT0FMeEIsMENBTUhuRSxNQU5HLDhCQU0rQmdDLGVBTi9CLGdCQURiO0FBVUUsd0JBQVkwQixVQUFVLElBQUlLLFdBVjVCO0FBV0UsVUFBQSxvQkFBb0IsRUFBRSxJQVh4QjtBQVlFLFVBQUEsYUFBYSxFQUNYLDRCQUFjO0FBQUVTLFlBQUFBLFNBQVMsRUFBRTtBQUFiLFdBQWQsRUFBbUNSLFNBQVMsSUFBSSxZQUFoRCxDQWJKO0FBZUUsVUFBQSxpQkFBaUIsaUNBQTBCRSxJQUExQixjQUNmNUIsVUFBVSxHQUFHLGlDQUFILEdBQXVDLEVBRGxDLENBZm5CO0FBa0JFLFVBQUEsY0FBYyxFQUFFLE1BQUksQ0FBQ0Qsb0JBbEJ2QjtBQW1CRSxVQUFBLFNBQVMsRUFDUCwwQ0FDR0wsZUFBZSxLQUNiLFFBQVFMLGVBQWUsSUFBSW9DLFdBQW5CLElBQWtDLEVBQTFDLE1BQ0QsUUFEQyxHQUVDO0FBQ0UsWUFBQSxTQUFTLFlBQUsvRCxNQUFMLHNCQURYO0FBRUUsWUFBQSx1QkFBdUIsRUFBRTtBQUN2QnlFLGNBQUFBLE1BQU0sWUFBSzlDLGVBQWUsSUFBSW9DLFdBQW5CLElBQWtDLEVBQXZDO0FBRGlCO0FBRjNCLFlBRkQsR0FTQztBQUFLLFlBQUEsU0FBUyxZQUFLL0QsTUFBTDtBQUFkLGFBQ0cyQixlQUFlLElBQUlvQyxXQUFuQixJQUFrQyxFQURyQyxDQVZZLENBRGxCLEVBZUUsb0JBQUMsZ0JBQUQ7QUFDRSxZQUFBLElBQUksRUFBRUUsU0FBUyxJQUFJLGVBRHJCO0FBRUUsWUFBQSxLQUFLLEVBQUM7QUFGUixZQWZGLENBcEJKO0FBeUNFLFVBQUEsVUFBVSxFQUFFLEdBekNkO0FBMENFLFVBQUEsZUFBZSxFQUFDLGdDQTFDbEI7QUEyQ0UsVUFBQSx1QkFBdUIsRUFBRSxNQUFJLENBQUN2RCx1QkEzQ2hDO0FBNENFLFVBQUEsUUFBUSxFQUFFLE1BQUksQ0FBQ3VCLFFBNUNqQjtBQTZDRSxVQUFBLHdCQUF3QixFQUFFLEtBN0M1QjtBQThDRSxVQUFBLGlCQUFpQixFQUFFNkIsaUJBQWlCLElBQUlTLHdCQTlDMUM7QUErQ0UsVUFBQSxlQUFlLEVBQUMsVUEvQ2xCO0FBZ0RFLFVBQUEsZ0JBQWdCLEVBQUMsVUFoRG5CO0FBaURFLFVBQUEsV0FBVyxFQUFFUixXQWpEZjtBQWtERSxVQUFBLFNBQVMsRUFBQyxhQWxEWjtBQW9ERSxVQUFBLFVBQVUsTUFwRFo7QUFxREUsVUFBQSxHQUFHLEVBQUUsTUFBSSxDQUFDeEQsVUFyRFo7QUFzREUsVUFBQSxjQUFjLEVBQUM7QUF0RGpCLFdBdURNK0QsU0F2RE4sRUF3RE1ELFNBeEROLEVBREQ7QUFBQSxPQURILENBREY7QUFnRUQ7Ozs7RUExWmtCSyxLQUFLLENBQUNDLFM7O0FBQXJCMUUsTSxDQUNVMkUsSSxHQUFPLFE7QUFEakIzRSxNLENBR1U0RSxNLEdBQXdCQSxnQjtBQUhsQzVFLE0sQ0FLVTZFLFEsR0FBNEJBLGtCO0FBTHRDN0UsTSxDQU9VOEUsUyxHQUFZO0FBSXhCckQsRUFBQUEsUUFBUSxFQUFFc0Qsc0JBQVV4RSxJQUpJO0FBUXhCcUQsRUFBQUEsU0FBUyxFQUFFbUIsc0JBQVVDLE1BUkc7QUFZeEJ6QixFQUFBQSxXQUFXLEVBQUV3QixzQkFBVUUsSUFaQztBQWdCeEJ6QixFQUFBQSxZQUFZLEVBQUV1QixzQkFBVUcsU0FBVixDQUFvQixDQUFDSCxzQkFBVUMsTUFBWCxFQUFtQkQsc0JBQVVJLE1BQTdCLENBQXBCLENBaEJVO0FBb0J4QkMsRUFBQUEsd0JBQXdCLEVBQUVMLHNCQUFVRSxJQXBCWjtBQXdCeEJwQixFQUFBQSxpQkFBaUIsRUFBRWtCLHNCQUFVTSxJQXhCTDtBQTRCeEI1RSxFQUFBQSx1QkFBdUIsRUFBRXNFLHNCQUFVTSxJQTVCWDtBQWdDeEJyRCxFQUFBQSxRQUFRLEVBQUUrQyxzQkFBVU0sSUFoQ0k7QUFvQ3hCM0UsRUFBQUEsSUFBSSxFQUFFcUUsc0JBQVVFLElBcENRO0FBd0N4Qm5CLEVBQUFBLFdBQVcsRUFBRWlCLHNCQUFVTyxHQXhDQztBQTRDeEJ2QixFQUFBQSxTQUFTLEVBQUVnQixzQkFBVVEsS0FBVixDQUFnQixDQUN6QixLQUR5QixFQUV6QixNQUZ5QixFQUd6QixPQUh5QixFQUl6QixRQUp5QixFQUt6QixTQUx5QixFQU16QixVQU55QixFQU96QixZQVB5QixFQVF6QixhQVJ5QixFQVN6QixTQVR5QixFQVV6QixZQVZ5QixFQVd6QixVQVh5QixFQVl6QixhQVp5QixDQUFoQixDQTVDYTtBQTZEeEJ2QixFQUFBQSxTQUFTLEVBQUVlLHNCQUFVUSxLQUFWLENBQWdCQyxNQUFNLENBQUNDLElBQVAsQ0FBWUMsd0JBQVosQ0FBaEIsQ0E3RGE7QUFpRXhCcEQsRUFBQUEsaUJBQWlCLEVBQUV5QyxzQkFBVUMsTUFqRUw7QUFxRXhCM0MsRUFBQUEsVUFBVSxFQUFFMEMsc0JBQVVFLElBckVFO0FBeUV4QmhCLEVBQUFBLElBQUksRUFBRWMsc0JBQVVRLEtBQVYsQ0FBZ0IsQ0FBQyxNQUFELEVBQVMsT0FBVCxFQUFrQixRQUFsQixFQUE0QixPQUE1QixDQUFoQixDQXpFa0I7QUE2RXhCckIsRUFBQUEsS0FBSyxFQUFFYSxzQkFBVVEsS0FBVixDQUFnQixDQUFDLElBQUQsRUFBTyxPQUFQLENBQWhCLENBN0VpQjtBQWlGeEIxRSxFQUFBQSxLQUFLLEVBQUVrRSxzQkFBVUcsU0FBVixDQUFvQixDQUFDSCxzQkFBVUMsTUFBWCxFQUFtQkQsc0JBQVVJLE1BQTdCLENBQXBCO0FBakZpQixDO0FBUHRCbkYsTSxDQTJGVTJGLFksR0FBNkI7QUFDekNsRSxFQUFBQSxRQUFRLEVBQUUsSUFEK0I7QUFFekNtQyxFQUFBQSxTQUFTLEVBQUVGLFNBRjhCO0FBR3pDSCxFQUFBQSxXQUFXLEVBQUUsSUFINEI7QUFJekNDLEVBQUFBLFlBQVksRUFBRSxJQUoyQjtBQUt6QzRCLEVBQUFBLHdCQUF3QixFQUFFLElBTGU7QUFNekN2QixFQUFBQSxpQkFBaUIsRUFBRSxJQU5zQjtBQU96Q3BELEVBQUFBLHVCQUF1QixFQUFFWCxJQVBnQjtBQVF6Q2tDLEVBQUFBLFFBQVEsRUFBRWxDLElBUitCO0FBU3pDWSxFQUFBQSxJQUFJLEVBQUUsSUFUbUM7QUFVekNvRCxFQUFBQSxXQUFXLEVBQUUsS0FWNEI7QUFXekNDLEVBQUFBLFNBQVMsRUFBRSxZQVg4QjtBQVl6Q0MsRUFBQUEsU0FBUyxFQUFFLGVBWjhCO0FBYXpDMUIsRUFBQUEsaUJBQWlCLEVBQUUsSUFic0I7QUFjekNELEVBQUFBLFVBQVUsRUFBRSxLQWQ2QjtBQWV6QzRCLEVBQUFBLElBQUksRUFBRSxPQWZtQztBQWdCekNDLEVBQUFBLEtBQUssRUFBRSxJQWhCa0M7QUFpQnpDckQsRUFBQUEsS0FBSyxFQUFFO0FBakJrQyxDOztBQTNGdkNiLE0sQ0ErR1U0Rix3QixHQUEyQixpQkFBbUM7QUFBQSxNQUFoQ2xGLElBQWdDLFNBQWhDQSxJQUFnQztBQUFBLE1BQTFCRyxLQUEwQixTQUExQkEsS0FBMEI7QUFDMUUsTUFBTWdGLFFBQXNCLEdBQUcsRUFBL0I7O0FBQ0EsTUFBSW5GLElBQUksS0FBSyxJQUFiLEVBQW1CO0FBQ2pCbUYsSUFBQUEsUUFBUSxDQUFDbkYsSUFBVCxHQUFnQkEsSUFBaEI7QUFDRDs7QUFDRCxNQUFJRyxLQUFLLEtBQUssSUFBZCxFQUFvQjtBQUNsQixRQUFJQSxLQUFLLEtBQUssRUFBZCxFQUFrQjtBQUNoQmdGLE1BQUFBLFFBQVEsQ0FBQ2hGLEtBQVQsR0FBaUI2QyxTQUFqQjtBQUNELEtBRkQsTUFFTztBQUNMbUMsTUFBQUEsUUFBUSxDQUFDaEYsS0FBVCxHQUFpQkEsS0FBakI7QUFDRDtBQUNGOztBQUNELFNBQU8yRSxNQUFNLENBQUNDLElBQVAsQ0FBWUksUUFBWixFQUFzQkMsTUFBdEIsR0FBK0IsQ0FBL0IsR0FBbUNELFFBQW5DLEdBQThDLElBQXJEO0FBQ0QsQzs7QUFpU0gscUNBQVM3RixNQUFUO2VBRWVBLE0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3Qvbm8tZGFuZ2VyICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgeyBwb2x5ZmlsbCB9IGZyb20gXCJyZWFjdC1saWZlY3ljbGVzLWNvbXBhdFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgUmNTZWxlY3QsIHsgT3B0aW9uLCBPcHRHcm91cCB9IGZyb20gXCJyYy1zZWxlY3RcIlxuaW1wb3J0IG9taXQgZnJvbSBcIi4uL191dGlsL29taXRcIlxuaW1wb3J0IEljb24sIHsgSWNvbk5hbWVzIH0gZnJvbSBcIi4uL2ljb25cIlxuaW1wb3J0IHsgQ29uZmlnQ29udGV4dCB9IGZyb20gXCIuLi9jb25maWctcHJvdmlkZXJcIlxuLy8gSWNvblN2Z1BhdGhzIOeUqOS7peWIpOaWrSBpY29uIOebuOWFs+eahCBwcm9wIOaYr+WQpuWQiOazlVxuaW1wb3J0IEljb25TdmdQYXRocyBmcm9tIFwiLi4vaWNvbi9JY29uU3ZnUGF0aHNcIlxuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSBcIi4uL3BvcC10cmlnZ2VyXCJcbmltcG9ydCBnZXRQbGFjZW1lbnRzIGZyb20gXCIuLi90b29sdGlwL3BsYWNlbWVudHNcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbi8qKlxuICogU2VsZWN0IOWwgeijheS6jiByYy1zZWxlY3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1jb21wb25lbnQvc2VsZWN0XG4gKiByYy1zZWxlY3Qg5pys6LqrIHByb3BzIOmdnuW4uOmdnuW4uOWkmuOAguiAjOWmgiBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSDov5nmoLfnmoQgcHJvcCDnlJroh7PkuI3lnKjmlofmoaPkuK3vvJtcbiAqIOiwg+eUqCByYy1zZWxlY3Qg55qE5YaF572u5pa55rOV77yMU2VsZWN0IOWunueOsOS6huWKn+iDveeahOWGjeWwgeijhe+8jOWmguWGheW1jOaQnOe0ouS+nemdoOeahOaYryB0aGlzLnNlbGVjdC5vbklucHV0Q2hhbmdl77ybXG4gKiByYy1zZWxlY3Qg5LuN54S25pyJ6K645aSa5YC85b6X5YaN5bCB6KOF5ZKM57un57ut5a2m5Lmg55qE5L2Z5Zyw77yMKirmnKrmnaXnmoTlj6/nu7TmiqTnqbrpl7TmmK/pnZ7luLjlpKfnmoQqKuOAglxuICovXG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fVxuY29uc3QgcHJlZml4ID0gXCJhZHVpLXNlbGVjdFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdCB7XG4gIGZvcmNlUG9wdXBBbGlnbj86ICgpID0+IHZvaWRcbiAgZ2V0Um9vdERvbU5vZGU/OiAoKSA9PiBIVE1MRWxlbWVudFxuICBvbklucHV0Q2hhbmdlPzogKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uSW5wdXRLZXlEb3duPzogKGU6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgc2V0SW5wdXRWYWx1ZT86ICh2YWx1ZT86IHN0cmluZykgPT4gdm9pZFxuICBnZXRQb3B1cERPTU5vZGU6ICgpID0+IEhUTUxFbGVtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdFByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5YaF6YOo6amx5Yqo77ya5piv5ZCm5bGV5byAXG4gICAqL1xuICBkZWZhdWx0T3Blbj86IGJvb2xlYW4gfCBudWxsXG4gIC8qKlxuICAgKiDlhoXpg6jpqbHliqjvvJrlvZPliY3pgInkuK3pobnnmoTlgLxcbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IFJlYWN0LlJlYWN0VGV4dCB8IG51bGxcbiAgLyoqXG4gICAqIOS4i+aLieiPnOWNleWSjOmAieaLqeWZqOWQjOWuvVxuICAgKi9cbiAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoPzogYm9vbGVhblxuICAvKipcbiAgICog5oyH5a6a5by55Ye65bGC55qE54i257qn77yM6buY6K6k5Li6IGRvY3VtZW50LmJvZHlcbiAgICovXG4gIGdldFBvcHVwQ29udGFpbmVyPzogbnVsbCB8ICgobm9kZTogSFRNTEVsZW1lbnQpID0+IEhUTUxFbGVtZW50KVxuICAvKipcbiAgICog5LiL5ouJ5bGV56S65Y+R55Sf5Y+Y5YyW5pe255qEIGhhbmRsZXLvvIzlj4LmlbDvvJpib29sXG4gICAqL1xuICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT86IChvcGVuOiBib29sZWFuKSA9PiB2b2lkXG4gIC8qKlxuICAgKiDpgInmi6nml7bnmoQgaGFuZGxlcu+8jOWPguaVsO+8mih2YWx1ZSwgb3B0aW9uKVxuICAgKi9cbiAgb25TZWxlY3Q/OiAodmFsdWU6IFJlYWN0LlJlYWN0VGV4dCwgb3B0aW9uOiBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PikgPT4gdm9pZFxuICAvKipcbiAgICog5aSW6YOo5o6n5Yi277ya5piv5ZCm5bGV5byAXG4gICAqL1xuICBvcGVuPzogbnVsbCB8IGJvb2xlYW5cbiAgLyoqXG4gICAqIOmAieaLqeahhum7mOiupOaWh+Wtl1xuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqXG4gICAqIOiuvue9riBwbGFjZW1lbnRcbiAgICovXG4gIHBsYWNlbWVudD86IFBsYWNlbWVudFxuICAvKipcbiAgICog6K6+572u5Y+z5Zu+5qCHXG4gICAqL1xuICByaWdodEljb24/OiBJY29uTmFtZXNcbiAgLyoqXG4gICAqIOaQnOe0ouahhum7mOiupOaWh+Wtl1xuICAgKi9cbiAgc2VhcmNoYWJsZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIOaYr+WQpumcgOimgeWGheW1jOaQnOe0olxuICAgKi9cbiAgc2VhcmNoUGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOiuvue9ruWwuuWvuO+8jOi3n+edgCBidXR0b24g6LWwXG4gICAqL1xuICBzaXplPzogXCJtaW5pXCIgfCBcInNtYWxsXCIgfCBcIm1lZGl1bVwiIHwgXCJsYXJnZVwiXG4gIC8qKlxuICAgKiDorr7nva7kuLvpophcbiAgICovXG4gIHRoZW1lPzogbnVsbCB8IFwibGlnaHRcIlxuICAvKipcbiAgICog5aSW6YOo5o6n5Yi277ya5b2T5YmN6YCJ5Lit6aG555qE5YC8XG4gICAqL1xuICB2YWx1ZT86IFJlYWN0LlJlYWN0VGV4dCB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0U3RhdGUge1xuICBvcGVuPzogYm9vbGVhblxuICBwbGFjZWhvbGRlclNob3c/OiBib29sZWFuXG4gIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZ1xuICB2YWx1ZT86IFJlYWN0LlJlYWN0VGV4dCB8IG51bGxcbiAgc2VsZWN0SWQ/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiDpgInmi6nlmajnlKjkuo7pgInmi6nmn5DpobnlhoXlrrnjgIJcbiAqIOmAieaLqeWZqOWvueavlOWNlemAiSBSYWRpbyDnmoTkvJjlir/mmK/vvIzlvZPpgInpobnov4flpJrml7bvvIzpgInmi6nlmajlj6/lr7nlhoXlrrnmlLbotbfvvIzlubbmm7TlhbPms6jkuo7lt7LpgInpobnjgIJcbiAqIOmAmuW4uO+8jOW9k+eUqOaIt+iDveWkn+mAmui/h+W3sumAiemhue+8jOi9u+aYk+W+l+efpeWFtuS9memAiemhueeahOinhOW+i+aXtu+8iOWmguW5tOS7veOAgeWfjuW4guetie+8ie+8jOmAieaLqeWZqCBTZWxlY3Qg5piv5q+U6L6D5aW955qE6YCJ5oup44CCXG4gKi9cbmNsYXNzIFNlbGVjdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJU2VsZWN0UHJvcHMsIElTZWxlY3RTdGF0ZT4ge1xuICBwdWJsaWMgc3RhdGljIHR5cGUgPSBcIlNlbGVjdFwiXG5cbiAgcHVibGljIHN0YXRpYyBPcHRpb246IHR5cGVvZiBPcHRpb24gPSBPcHRpb25cblxuICBwdWJsaWMgc3RhdGljIE9wdEdyb3VwOiB0eXBlb2YgT3B0R3JvdXAgPSBPcHRHcm91cFxuXG4gIHB1YmxpYyBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIC8qKlxuICAgICAqIOWtkOiKgueCuVxuICAgICAqL1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICAvKipcbiAgICAgKiDpmYTliqDnsbvlkI1cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqXG4gICAgICog5YaF6YOo6amx5Yqo77ya5piv5ZCm5bGV5byAXG4gICAgICovXG4gICAgZGVmYXVsdE9wZW46IFByb3BUeXBlcy5ib29sLFxuICAgIC8qKlxuICAgICAqIOWGhemDqOmpseWKqO+8muW9k+WJjemAieS4remhueeahOWAvFxuICAgICAqL1xuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIC8qKlxuICAgICAqIOS4i+aLieiPnOWNleWSjOmAieaLqeWZqOWQjOWuvVxuICAgICAqL1xuICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aDogUHJvcFR5cGVzLmJvb2wsXG4gICAgLyoqXG4gICAgICog5oyH5a6a5by55Ye65bGC55qE54i257qn77yM6buY6K6k5Li6IGRvY3VtZW50LmJvZHlcbiAgICAgKi9cbiAgICBnZXRQb3B1cENvbnRhaW5lcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqXG4gICAgICog5LiL5ouJ5bGV56S65Y+R55Sf5Y+Y5YyW5pe255qEIGhhbmRsZXLvvIzlj4LmlbDvvJpib29sXG4gICAgICovXG4gICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIC8qKlxuICAgICAqIOmAieaLqeaXtueahCBoYW5kbGVy77yM5Y+C5pWw77yaKHZhbHVlLCBvcHRpb24pXG4gICAgICovXG4gICAgb25TZWxlY3Q6IFByb3BUeXBlcy5mdW5jLFxuICAgIC8qKlxuICAgICAqIOWklumDqOaOp+WItu+8muaYr+WQpuWxleW8gFxuICAgICAqL1xuICAgIG9wZW46IFByb3BUeXBlcy5ib29sLFxuICAgIC8qKlxuICAgICAqIOmAieaLqeahhum7mOiupOaWh+Wtl1xuICAgICAqL1xuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuYW55LFxuICAgIC8qKlxuICAgICAqIOiuvue9riBwbGFjZW1lbnRcbiAgICAgKi9cbiAgICBwbGFjZW1lbnQ6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICBcInRvcFwiLFxuICAgICAgXCJsZWZ0XCIsXG4gICAgICBcInJpZ2h0XCIsXG4gICAgICBcImJvdHRvbVwiLFxuICAgICAgXCJ0b3BMZWZ0XCIsXG4gICAgICBcInRvcFJpZ2h0XCIsXG4gICAgICBcImJvdHRvbUxlZnRcIixcbiAgICAgIFwiYm90dG9tUmlnaHRcIixcbiAgICAgIFwibGVmdFRvcFwiLFxuICAgICAgXCJsZWZ0Qm90dG9tXCIsXG4gICAgICBcInJpZ2h0VG9wXCIsXG4gICAgICBcInJpZ2h0Qm90dG9tXCIsXG4gICAgXSksXG4gICAgLyoqXG4gICAgICog6K6+572u5Y+z5Zu+5qCHXG4gICAgICovXG4gICAgcmlnaHRJY29uOiBQcm9wVHlwZXMub25lT2YoT2JqZWN0LmtleXMoSWNvblN2Z1BhdGhzKSksXG4gICAgLyoqXG4gICAgICog5pCc57Si5qGG6buY6K6k5paH5a2XXG4gICAgICovXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqXG4gICAgICog5piv5ZCm6ZyA6KaB5YaF5bWM5pCc57SiXG4gICAgICovXG4gICAgc2VhcmNoYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgLyoqXG4gICAgICog6K6+572u5bC65a+477yM6Lef552AIGJ1dHRvbiDotbBcbiAgICAgKi9cbiAgICBzaXplOiBQcm9wVHlwZXMub25lT2YoW1wibWluaVwiLCBcInNtYWxsXCIsIFwibWVkaXVtXCIsIFwibGFyZ2VcIl0pLFxuICAgIC8qKlxuICAgICAqIOiuvue9ruS4u+mimFxuICAgICAqL1xuICAgIHRoZW1lOiBQcm9wVHlwZXMub25lT2YoW251bGwsIFwibGlnaHRcIl0pLFxuICAgIC8qKlxuICAgICAqIOWklumDqOaOp+WItu+8muW9k+WJjemAieS4remhueeahOWAvFxuICAgICAqL1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRQcm9wczogSVNlbGVjdFByb3BzID0ge1xuICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICAgIGRlZmF1bHRPcGVuOiBudWxsLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg6IHRydWUsXG4gICAgZ2V0UG9wdXBDb250YWluZXI6IG51bGwsXG4gICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U6IG5vb3AsXG4gICAgb25TZWxlY3Q6IG5vb3AsXG4gICAgb3BlbjogbnVsbCxcbiAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcbiAgICBwbGFjZW1lbnQ6IFwiYm90dG9tTGVmdFwiLFxuICAgIHJpZ2h0SWNvbjogXCJ0cmlhbmdsZS1kb3duXCIsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6IFwi5pCc57SiXCIsXG4gICAgc2VhcmNoYWJsZTogZmFsc2UsXG4gICAgc2l6ZTogXCJzbWFsbFwiLFxuICAgIHRoZW1lOiBudWxsLFxuICAgIHZhbHVlOiBudWxsLFxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSAoeyBvcGVuLCB2YWx1ZSB9OiBJU2VsZWN0UHJvcHMpID0+IHtcbiAgICBjb25zdCBuZXdTdGF0ZTogSVNlbGVjdFN0YXRlID0ge31cbiAgICBpZiAob3BlbiAhPT0gbnVsbCkge1xuICAgICAgbmV3U3RhdGUub3BlbiA9IG9wZW5cbiAgICB9XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBpZiAodmFsdWUgPT09IFwiXCIpIHtcbiAgICAgICAgbmV3U3RhdGUudmFsdWUgPSB1bmRlZmluZWRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1N0YXRlLnZhbHVlID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG5ld1N0YXRlKS5sZW5ndGggPiAwID8gbmV3U3RhdGUgOiBudWxsXG4gIH1cblxuICBwdWJsaWMgbG9ja2VkID0gZmFsc2VcblxuICBwdWJsaWMgc2VsZWN0OiBJU2VsZWN0XG5cbiAgcHVibGljIHNlYXJjaDogSFRNTElucHV0RWxlbWVudFxuXG4gIHB1YmxpYyBtZW51OiBKU1guRWxlbWVudFxuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBJU2VsZWN0UHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcylcbiAgICBjb25zdCB7IGRlZmF1bHRPcGVuLCBkZWZhdWx0VmFsdWUsIG9wZW4sIHZhbHVlIH0gPSBwcm9wc1xuXG4gICAgbGV0IHZhbHVlU3RhdGVcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gXCJcIikge1xuICAgICAgICB2YWx1ZVN0YXRlID0gdW5kZWZpbmVkXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZVN0YXRlID0gdmFsdWVcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWVTdGF0ZSA9IGRlZmF1bHRWYWx1ZVxuICAgIH1cblxuICAgIGxldCBvcGVuU3RhdGVcbiAgICBpZiAob3BlbiAhPT0gbnVsbCkge1xuICAgICAgb3BlblN0YXRlID0gb3BlblxuICAgIH0gZWxzZSBpZiAoZGVmYXVsdE9wZW4gIT09IG51bGwpIHtcbiAgICAgIG9wZW5TdGF0ZSA9IGRlZmF1bHRPcGVuXG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBvcGVuOiBvcGVuU3RhdGUsXG4gICAgICBwbGFjZWhvbGRlclNob3c6IGZhbHNlLFxuICAgICAgc2VsZWN0SWQ6IFwiXCIsXG4gICAgICBwbGFjZWhvbGRlclRleHQ6IFwiXCIsXG4gICAgICB2YWx1ZTogdmFsdWVTdGF0ZSxcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZVNlbGVjdCA9IChub2RlOiBJU2VsZWN0KSA9PiB7XG4gICAgdGhpcy5zZWxlY3QgPSBub2RlXG4gIH1cblxuICBwdWJsaWMgc2F2ZVNlYXJjaCA9IChub2RlOiBIVE1MSW5wdXRFbGVtZW50KSA9PiB7XG4gICAgdGhpcy5zZWFyY2ggPSBub2RlXG4gIH1cblxuICBwdWJsaWMgb25Ecm9wZG93blZpc2libGVDaGFuZ2UgPSAob3BlbjogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHsgb25Ecm9wZG93blZpc2libGVDaGFuZ2UsIG9wZW46IG9wZW5Qcm9wIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgeyB2YWx1ZSwgc2VsZWN0SWQgfSA9IHRoaXMuc3RhdGVcblxuICAgIGlmICh0aGlzLmxvY2tlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmIChvcGVuUHJvcCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IG9wZW4gfSlcbiAgICB9XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIHRoaXMucHJldmVudFZpc2libGVDaGFuZ2UoKVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaCkge1xuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgbGV0IGlkID0gc2VsZWN0SWRcbiAgICAgICAgICAgIGlmICghc2VsZWN0SWQpIHtcbiAgICAgICAgICAgICAgaWQgPSAodGhpcy5zZWFyY2gucGFyZW50Tm9kZT8ubmV4dFNpYmxpbmcgYXMgRWxlbWVudCk/LmlkXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RJZDogaWQgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgICBjb25zdCBlbCA9IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZClcbiAgICAgICAgICAgICAgICA/Lm5leHRTaWJsaW5nIGFzIEVsZW1lbnQpPy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFxuICAgICAgICAgICAgICAgIFwiYWR1aS1zZWxlY3QtaXRlbS1vcHRpb24tc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICApWzBdPy5jaGlsZHJlblswXSBhcyBIVE1MRWxlbWVudFxuICAgICAgICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogZWwuZGF0YXNldC5odG1sIHx8IGVsLmlubmVySFRNTCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc2VhcmNoLmZvY3VzKClcbiAgICAgICAgfVxuICAgICAgfSwgMTUwKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zZWFyY2gpIHtcbiAgICAgICAgdGhpcy5zZWFyY2gudmFsdWUgPSBcIlwiXG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgcGxhY2Vob2xkZXJTaG93OiBmYWxzZSxcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSkge1xuICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2Uob3BlbilcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3QgPSAodmFsdWU6IFJlYWN0LlJlYWN0VGV4dCwgb3B0aW9uOiBhbnkpID0+IHtcbiAgICBjb25zdCB7IG9uU2VsZWN0LCB2YWx1ZTogdmFsdWVQcm9wIH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAodmFsdWVQcm9wID09PSBudWxsKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdmFsdWUsXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAob25TZWxlY3QgJiYgdmFsdWVQcm9wICE9PSB2YWx1ZSkge1xuICAgICAgb25TZWxlY3QodmFsdWUsIG9wdGlvbilcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWFyY2gpIHtcbiAgICAgIHRoaXMuc2VhcmNoLnZhbHVlID0gXCJcIlxuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3QgJiYgdGhpcy5zZWxlY3Quc2V0SW5wdXRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3Quc2V0SW5wdXRWYWx1ZShcIlwiKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVEcm9wZG93blJlbmRlciA9IChtZW51OiBKU1guRWxlbWVudCkgPT4ge1xuICAgIHRoaXMubWVudSA9IG1lbnVcbiAgICBjb25zdCB7IHNlYXJjaGFibGUsIHNlYXJjaFBsYWNlaG9sZGVyIH0gPSB0aGlzLnByb3BzXG4gICAgaWYgKHNlYXJjaGFibGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tc2VhcmNoYH0+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnNhdmVTZWFyY2h9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlU2VhcmNofVxuICAgICAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlU2VhcmNoS2V5RG93bn1cbiAgICAgICAgICAgICAgb25Nb3VzZURvd249e3RoaXMucHJldmVudFZpc2libGVDaGFuZ2V9XG4gICAgICAgICAgICAgIG9uTW91c2VVcD17dGhpcy5wcmV2ZW50VmlzaWJsZUNoYW5nZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8SWNvbiBpY29uPVwic2VhcmNoXCIgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWljb25gfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHttZW51fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIG1lbnVcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTZWFyY2ggPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCB2YWwgPSBlLnRhcmdldC52YWx1ZVxuICAgIGNvbnN0IHsgcGxhY2Vob2xkZXJTaG93LCBzZWxlY3RJZCB9ID0gdGhpcy5zdGF0ZVxuICAgIGlmICh2YWwgJiYgIXBsYWNlaG9sZGVyU2hvdykge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBsYWNlaG9sZGVyU2hvdzogdHJ1ZSB9KVxuICAgIH1cbiAgICBpZiAoIXZhbCAmJiBwbGFjZWhvbGRlclNob3cpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBwbGFjZWhvbGRlclNob3c6IGZhbHNlIH0pXG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdCkge1xuICAgICAgbGV0IGlkID0gc2VsZWN0SWRcbiAgICAgIGlmICghc2VsZWN0SWQpIHtcbiAgICAgICAgaWQgPSAoZS50YXJnZXQucGFyZW50Tm9kZT8ubmV4dFNpYmxpbmcgYXMgRWxlbWVudCk/LmlkXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RJZDogaWQgfSlcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlYWxJbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYFthcmlhLW93bnM9XCIke2lkfVwiXWApIGFzIGFueVxuICAgICAgaWYgKHJlYWxJbnB1dCkge1xuICAgICAgICBjb25zdCBsYXN0VmFsdWUgPSByZWFsSW5wdXQudmFsdWVcbiAgICAgICAgcmVhbElucHV0LnZhbHVlID0gdmFsXG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KFwiaW5wdXRcIiwgeyBidWJibGVzOiB0cnVlIH0pXG4gICAgICAgIC8vIGhhY2sgUmVhY3QxNiDlhoXpg6jlrprkuYnkuoZkZXNjcmlwdG9y5oum5oiqdmFsdWXvvIzmraTlpITph43nva7nirbmgIFcbiAgICAgICAgY29uc3QgdHJhY2tlciA9IHJlYWxJbnB1dC5fdmFsdWVUcmFja2VyXG4gICAgICAgIGlmICh0cmFja2VyKSB7XG4gICAgICAgICAgdHJhY2tlci5zZXRWYWx1ZShsYXN0VmFsdWUpXG4gICAgICAgIH1cbiAgICAgICAgcmVhbElucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZVNlYXJjaEtleURvd24gPSAoZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGlmICh0aGlzLnNlbGVjdCAmJiB0aGlzLnNlbGVjdC5vbklucHV0S2V5RG93bikge1xuICAgICAgdGhpcy5zZWxlY3Qub25JbnB1dEtleURvd24oZSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcHJldmVudFZpc2libGVDaGFuZ2UgPSAoKSA9PiB7XG4gICAgdGhpcy5sb2NrZWQgPSB0cnVlXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmxvY2tlZCA9IGZhbHNlXG4gICAgICB0aGlzLnNldFN0YXRlKHsgb3BlbjogdHJ1ZSB9KVxuICAgIH0sIDIwMClcbiAgfVxuXG4gIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2xhc3NOYW1lLFxuICAgICAgZ2V0UG9wdXBDb250YWluZXIsXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHBsYWNlbWVudCxcbiAgICAgIHJpZ2h0SWNvbixcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBzaXplLFxuICAgICAgdGhlbWUsXG4gICAgICB2YWx1ZTogdmFsdWVQcm9wLFxuICAgICAgLi4ub3RoZXJQcm9wc1xuICAgIH0gPSB0aGlzLnByb3BzXG5cbiAgICBjb25zdCByZXN0UHJvcHMgPSBvbWl0KG90aGVyUHJvcHMsIFtcbiAgICAgIFwiZGVmYXVsdFZhbHVlXCIsXG4gICAgICBcIm9wZW5cIixcbiAgICAgIFwib25Ecm9wZG93blZpc2libGVDaGFuZ2VcIixcbiAgICAgIFwib25TZWxlY3RcIixcbiAgICAgIFwic2VhcmNoUGxhY2Vob2xkZXJcIixcbiAgICBdKVxuXG4gICAgY29uc3Qge1xuICAgICAgb3Blbjogb3BlblN0YXRlLFxuICAgICAgcGxhY2Vob2xkZXJTaG93LFxuICAgICAgcGxhY2Vob2xkZXJUZXh0LFxuICAgICAgdmFsdWU6IHZhbHVlU3RhdGUsXG4gICAgfSA9IHRoaXMuc3RhdGVcblxuICAgIC8vIG9wZW5TdGF0ZSDlj6/og73mmK8gdW5kZWZpbmVkIG9yIG51bGxcbiAgICBjb25zdCBvcGVuUHJvcHM6IHsgb3Blbj86IGJvb2xlYW47IHZhbHVlPzogUmVhY3QuUmVhY3ROb2RlIHwgbnVsbCB9ID0ge31cbiAgICBpZiAodHlwZW9mIG9wZW5TdGF0ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIG9wZW5Qcm9wcy5vcGVuID0gb3BlblN0YXRlXG4gICAgfVxuICAgIGlmICh2YWx1ZVN0YXRlICE9PSBudWxsKSB7XG4gICAgICBvcGVuUHJvcHMudmFsdWUgPSB2YWx1ZVByb3AgPT09IFwiXCIgPyBwbGFjZWhvbGRlciA6IHZhbHVlU3RhdGVcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbmZpZ0NvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgIHsoeyBnZXRQb3B1cENvbnRhaW5lcjogZ2V0UG9wdXBDb250YWluZXJDb250ZXh0IH0pID0+IChcbiAgICAgICAgICA8UmNTZWxlY3RcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICBgJHtwcmVmaXh9LXNlbGVjdGAsXG4gICAgICAgICAgICAgIGAke3ByZWZpeH0tJHtzaXplfWAsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBbYCR7cHJlZml4fS1saWdodGBdOiB0aGVtZSA9PT0gXCJsaWdodFwiLFxuICAgICAgICAgICAgICAgIFtgJHtwcmVmaXh9LXNlbGVjdF9wbGFjZWhvbGRlclNob3dgXTogcGxhY2Vob2xkZXJTaG93LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgZGF0YS12YWx1ZT17dmFsdWVTdGF0ZSB8fCBwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIG1lbnVJdGVtU2VsZWN0ZWRJY29uPXtudWxsfVxuICAgICAgICAgICAgZHJvcGRvd25BbGlnbj17XG4gICAgICAgICAgICAgIGdldFBsYWNlbWVudHMoeyBhbGlnbkVkZ2U6IHRydWUgfSlbcGxhY2VtZW50IHx8IFwiYm90dG9tTGVmdFwiXVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZHJvcGRvd25DbGFzc05hbWU9e2BhZHVpLXNlbGVjdC1kcm9wZG93bi0ke3NpemV9ICR7XG4gICAgICAgICAgICAgIHNlYXJjaGFibGUgPyBcImFkdWktc2VsZWN0LWRyb3Bkb3duLXNlYXJjaGFibGVcIiA6IFwiXCJcbiAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgZHJvcGRvd25SZW5kZXI9e3RoaXMuaGFuZGxlRHJvcGRvd25SZW5kZXJ9XG4gICAgICAgICAgICBpbnB1dEljb249e1xuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3cgJiZcbiAgICAgICAgICAgICAgICAgICh0eXBlb2YgKHBsYWNlaG9sZGVyVGV4dCB8fCBwbGFjZWhvbGRlciB8fCBcIlwiKSA9PT1cbiAgICAgICAgICAgICAgICAgIFwic3RyaW5nXCIgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeH0tcGxhY2Vob2xkZXItdGV4dGB9XG4gICAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIF9faHRtbDogYCR7cGxhY2Vob2xkZXJUZXh0IHx8IHBsYWNlaG9sZGVyIHx8IFwiXCJ9YCxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tcGxhY2Vob2xkZXItdGV4dGB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclRleHQgfHwgcGxhY2Vob2xkZXIgfHwgXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICAgICAgaWNvbj17cmlnaHRJY29uIHx8IFwidHJpYW5nbGUtZG93blwifVxuICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1ncmF5LTgwMClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGlzdEhlaWdodD17MjUwfVxuICAgICAgICAgICAgbm90Rm91bmRDb250ZW50PVwi5peg5Yy56YWN57uT5p6cXCJcbiAgICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlfVxuICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMub25TZWxlY3R9XG4gICAgICAgICAgICBkZWZhdWx0QWN0aXZlRmlyc3RPcHRpb249e2ZhbHNlfVxuICAgICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9e2dldFBvcHVwQ29udGFpbmVyIHx8IGdldFBvcHVwQ29udGFpbmVyQ29udGV4dH1cbiAgICAgICAgICAgIG9wdGlvbkxhYmVsUHJvcD1cImNoaWxkcmVuXCJcbiAgICAgICAgICAgIG9wdGlvbkZpbHRlclByb3A9XCJjaGlsZHJlblwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBwcmVmaXhDbHM9XCJhZHVpLXNlbGVjdFwiXG4gICAgICAgICAgICAvLyDlvIDlkK8gc2hvd1NlYXJjaCDmiY3lj6/og70gaGFjayDlvI/lnLDop6blj5EgaW5wdXQgY2hhbmdlIOS6i+S7tlxuICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgcmVmPXt0aGlzLnNhdmVTZWxlY3R9XG4gICAgICAgICAgICB0cmFuc2l0aW9uTmFtZT1cInNsaWRlLXVwXCJcbiAgICAgICAgICAgIHsuLi5vcGVuUHJvcHN9XG4gICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L0NvbmZpZ0NvbnRleHQuQ29uc3VtZXI+XG4gICAgKVxuICB9XG59XG5cbnBvbHlmaWxsKFNlbGVjdClcblxuZXhwb3J0IGRlZmF1bHQgU2VsZWN0XG4iXX0= | ||
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL2NvbXBvbmVudHMvc2VsZWN0L1NlbGVjdC50c3giXSwibmFtZXMiOlsibm9vcCIsInByZWZpeCIsIlNlbGVjdCIsInByb3BzIiwibG9ja2VkIiwic2VsZWN0Iiwic2VhcmNoIiwibWVudSIsInNhdmVTZWxlY3QiLCJub2RlIiwic2F2ZVNlYXJjaCIsIm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlIiwib3BlbiIsIm9wZW5Qcm9wIiwic3RhdGUiLCJ2YWx1ZSIsInNlbGVjdElkIiwic2V0U3RhdGUiLCJwcmV2ZW50VmlzaWJsZUNoYW5nZSIsInNldFRpbWVvdXQiLCJpZCIsInBhcmVudE5vZGUiLCJuZXh0U2libGluZyIsImVsIiwiZG9jdW1lbnQiLCJnZXRFbGVtZW50QnlJZCIsImdldEVsZW1lbnRzQnlDbGFzc05hbWUiLCJjaGlsZHJlbiIsInBsYWNlaG9sZGVyVGV4dCIsImRhdGFzZXQiLCJodG1sIiwiaW5uZXJIVE1MIiwiZm9jdXMiLCJwbGFjZWhvbGRlclNob3ciLCJvblNlbGVjdCIsIm9wdGlvbiIsInZhbHVlUHJvcCIsInNldElucHV0VmFsdWUiLCJoYW5kbGVEcm9wZG93blJlbmRlciIsInNlYXJjaGFibGUiLCJzZWFyY2hQbGFjZWhvbGRlciIsImhhbmRsZVNlYXJjaCIsImhhbmRsZVNlYXJjaEtleURvd24iLCJlIiwidmFsIiwidGFyZ2V0IiwicmVhbElucHV0IiwicXVlcnlTZWxlY3RvciIsImxhc3RWYWx1ZSIsImV2ZW50IiwiRXZlbnQiLCJidWJibGVzIiwidHJhY2tlciIsIl92YWx1ZVRyYWNrZXIiLCJzZXRWYWx1ZSIsImRpc3BhdGNoRXZlbnQiLCJvbklucHV0S2V5RG93biIsImRlZmF1bHRPcGVuIiwiZGVmYXVsdFZhbHVlIiwidmFsdWVTdGF0ZSIsInVuZGVmaW5lZCIsIm9wZW5TdGF0ZSIsImNsYXNzTmFtZSIsImdldFBvcHVwQ29udGFpbmVyIiwicGxhY2Vob2xkZXIiLCJwbGFjZW1lbnQiLCJyaWdodEljb24iLCJzaXplIiwidGhlbWUiLCJvdGhlclByb3BzIiwicmVzdFByb3BzIiwib3BlblByb3BzIiwiZ2V0UG9wdXBDb250YWluZXJDb250ZXh0IiwiYWxpZ25FZGdlIiwiX19odG1sIiwiUmVhY3QiLCJDb21wb25lbnQiLCJ0eXBlIiwiT3B0aW9uIiwiT3B0R3JvdXAiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzdHJpbmciLCJib29sIiwib25lT2ZUeXBlIiwibnVtYmVyIiwiZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoIiwiZnVuYyIsImFueSIsIm9uZU9mIiwiT2JqZWN0Iiwia2V5cyIsIkljb25TdmdQYXRocyIsImRlZmF1bHRQcm9wcyIsImdldERlcml2ZWRTdGF0ZUZyb21Qcm9wcyIsIm5ld1N0YXRlIiwibGVuZ3RoIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBRUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBRUE7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFTQSxJQUFNQSxJQUFJLEdBQUcsU0FBUEEsSUFBTyxHQUFNLENBQUUsQ0FBckI7O0FBQ0EsSUFBTUMsTUFBTSxHQUFHLGFBQWY7O0lBZ0dNQyxNOzs7QUFzSUosa0JBQVlDLEtBQVosRUFBaUM7QUFBQTs7QUFBQTs7QUFDL0IsZ0ZBQU1BLEtBQU47QUFEK0IsVUFSMUJDLE1BUTBCLEdBUmpCLEtBUWlCO0FBQUEsVUFOMUJDLE1BTTBCO0FBQUEsVUFKMUJDLE1BSTBCO0FBQUEsVUFGMUJDLElBRTBCOztBQUFBLFVBOEIxQkMsVUE5QjBCLEdBOEJiLFVBQUNDLElBQUQsRUFBbUI7QUFDckMsWUFBS0osTUFBTCxHQUFjSSxJQUFkO0FBQ0QsS0FoQ2dDOztBQUFBLFVBa0MxQkMsVUFsQzBCLEdBa0NiLFVBQUNELElBQUQsRUFBNEI7QUFDOUMsWUFBS0gsTUFBTCxHQUFjRyxJQUFkO0FBQ0QsS0FwQ2dDOztBQUFBLFVBc0MxQkUsdUJBdEMwQixHQXNDQSxVQUFD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QUFpU0gscUNBQVM3RixNQUFUO2VBRWVBLE0iLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlcnNjb3JlLWRhbmdsZSAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3Qvbm8tZGFuZ2VyICovXG5pbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIlxuaW1wb3J0IFByb3BUeXBlcyBmcm9tIFwicHJvcC10eXBlc1wiXG5pbXBvcnQgeyBwb2x5ZmlsbCB9IGZyb20gXCJyZWFjdC1saWZlY3ljbGVzLWNvbXBhdFwiXG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tIFwiY2xhc3NuYW1lc1wiXG5pbXBvcnQgUmNTZWxlY3QgZnJvbSBcInJjLXNlbGVjdFwiXG5pbXBvcnQgT3B0R3JvdXAgZnJvbSBcIi4vT3B0R3JvdXBcIlxuaW1wb3J0IE9wdGlvbiBmcm9tIFwiLi9PcHRpb25cIlxuaW1wb3J0IG9taXQgZnJvbSBcIi4uL191dGlsL29taXRcIlxuaW1wb3J0IEljb24sIHsgSWNvbk5hbWVzIH0gZnJvbSBcIi4uL2ljb25cIlxuaW1wb3J0IHsgQ29uZmlnQ29udGV4dCB9IGZyb20gXCIuLi9jb25maWctcHJvdmlkZXJcIlxuLy8gSWNvblN2Z1BhdGhzIOeUqOS7peWIpOaWrSBpY29uIOebuOWFs+eahCBwcm9wIOaYr+WQpuWQiOazlVxuaW1wb3J0IEljb25TdmdQYXRocyBmcm9tIFwiLi4vaWNvbi9JY29uU3ZnUGF0aHNcIlxuaW1wb3J0IHsgUGxhY2VtZW50IH0gZnJvbSBcIi4uL3BvcC10cmlnZ2VyXCJcbmltcG9ydCBnZXRQbGFjZW1lbnRzIGZyb20gXCIuLi90b29sdGlwL3BsYWNlbWVudHNcIlxuaW1wb3J0IFwiLi9zdHlsZVwiXG5cbi8qKlxuICogU2VsZWN0IOWwgeijheS6jiByYy1zZWxlY3Q6IGh0dHBzOi8vZ2l0aHViLmNvbS9yZWFjdC1jb21wb25lbnQvc2VsZWN0XG4gKiByYy1zZWxlY3Qg5pys6LqrIHByb3BzIOmdnuW4uOmdnuW4uOWkmuOAguiAjOWmgiBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSDov5nmoLfnmoQgcHJvcCDnlJroh7PkuI3lnKjmlofmoaPkuK3vvJtcbiAqIOiwg+eUqCByYy1zZWxlY3Qg55qE5YaF572u5pa55rOV77yMU2VsZWN0IOWunueOsOS6huWKn+iDveeahOWGjeWwgeijhe+8jOWmguWGheW1jOaQnOe0ouS+nemdoOeahOaYryB0aGlzLnNlbGVjdC5vbklucHV0Q2hhbmdl77ybXG4gKiByYy1zZWxlY3Qg5LuN54S25pyJ6K645aSa5YC85b6X5YaN5bCB6KOF5ZKM57un57ut5a2m5Lmg55qE5L2Z5Zyw77yMKirmnKrmnaXnmoTlj6/nu7TmiqTnqbrpl7TmmK/pnZ7luLjlpKfnmoQqKuOAglxuICovXG5cbmNvbnN0IG5vb3AgPSAoKSA9PiB7fVxuY29uc3QgcHJlZml4ID0gXCJhZHVpLXNlbGVjdFwiXG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdCB7XG4gIGZvcmNlUG9wdXBBbGlnbj86ICgpID0+IHZvaWRcbiAgZ2V0Um9vdERvbU5vZGU/OiAoKSA9PiBIVE1MRWxlbWVudFxuICBvbklucHV0Q2hhbmdlPzogKGU6IFJlYWN0LkNoYW5nZUV2ZW50PEhUTUxJbnB1dEVsZW1lbnQ+KSA9PiB2b2lkXG4gIG9uSW5wdXRLZXlEb3duPzogKGU6IFJlYWN0LktleWJvYXJkRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHZvaWRcbiAgc2V0SW5wdXRWYWx1ZT86ICh2YWx1ZT86IHN0cmluZykgPT4gdm9pZFxuICBnZXRQb3B1cERPTU5vZGU6ICgpID0+IEhUTUxFbGVtZW50XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlbGVjdFByb3BzIHtcbiAgW2tleTogc3RyaW5nXTogYW55XG4gIC8qKlxuICAgKiDlrZDoioLngrlcbiAgICovXG4gIGNoaWxkcmVuPzogUmVhY3QuUmVhY3ROb2RlXG4gIC8qKlxuICAgKiDpmYTliqDnsbvlkI1cbiAgICovXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICAvKipcbiAgICog5YaF6YOo6amx5Yqo77ya5piv5ZCm5bGV5byAXG4gICAqL1xuICBkZWZhdWx0T3Blbj86IGJvb2xlYW4gfCBudWxsXG4gIC8qKlxuICAgKiDlhoXpg6jpqbHliqjvvJrlvZPliY3pgInkuK3pobnnmoTlgLxcbiAgICovXG4gIGRlZmF1bHRWYWx1ZT86IFJlYWN0LlJlYWN0VGV4dCB8IG51bGxcbiAgLyoqXG4gICAqIOS4i+aLieiPnOWNleWSjOmAieaLqeWZqOWQjOWuvVxuICAgKi9cbiAgZHJvcGRvd25NYXRjaFNlbGVjdFdpZHRoPzogYm9vbGVhblxuICAvKipcbiAgICog5oyH5a6a5by55Ye65bGC55qE54i257qn77yM6buY6K6k5Li6IGRvY3VtZW50LmJvZHlcbiAgICovXG4gIGdldFBvcHVwQ29udGFpbmVyPzogbnVsbCB8ICgobm9kZTogSFRNTEVsZW1lbnQpID0+IEhUTUxFbGVtZW50KVxuICAvKipcbiAgICog5LiL5ouJ5bGV56S65Y+R55Sf5Y+Y5YyW5pe255qEIGhhbmRsZXLvvIzlj4LmlbDvvJpib29sXG4gICAqL1xuICBvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZT86IChvcGVuOiBib29sZWFuKSA9PiB2b2lkXG4gIC8qKlxuICAgKiDpgInmi6nml7bnmoQgaGFuZGxlcu+8jOWPguaVsO+8mih2YWx1ZSwgb3B0aW9uKVxuICAgKi9cbiAgb25TZWxlY3Q/OiAodmFsdWU6IFJlYWN0LlJlYWN0VGV4dCwgb3B0aW9uOiBSZWFjdC5SZWFjdEVsZW1lbnQ8YW55PikgPT4gdm9pZFxuICAvKipcbiAgICog5aSW6YOo5o6n5Yi277ya5piv5ZCm5bGV5byAXG4gICAqL1xuICBvcGVuPzogbnVsbCB8IGJvb2xlYW5cbiAgLyoqXG4gICAqIOmAieaLqeahhum7mOiupOaWh+Wtl1xuICAgKi9cbiAgcGxhY2Vob2xkZXI/OiBSZWFjdC5SZWFjdE5vZGVcbiAgLyoqXG4gICAqIOiuvue9riBwbGFjZW1lbnRcbiAgICovXG4gIHBsYWNlbWVudD86IFBsYWNlbWVudFxuICAvKipcbiAgICog6K6+572u5Y+z5Zu+5qCHXG4gICAqL1xuICByaWdodEljb24/OiBJY29uTmFtZXNcbiAgLyoqXG4gICAqIOaQnOe0ouahhum7mOiupOaWh+Wtl1xuICAgKi9cbiAgc2VhcmNoYWJsZT86IGJvb2xlYW5cbiAgLyoqXG4gICAqIOaYr+WQpumcgOimgeWGheW1jOaQnOe0olxuICAgKi9cbiAgc2VhcmNoUGxhY2Vob2xkZXI/OiBzdHJpbmdcbiAgLyoqXG4gICAqIOiuvue9ruWwuuWvuO+8jOi3n+edgCBidXR0b24g6LWwXG4gICAqL1xuICBzaXplPzogXCJtaW5pXCIgfCBcInNtYWxsXCIgfCBcIm1lZGl1bVwiIHwgXCJsYXJnZVwiXG4gIC8qKlxuICAgKiDorr7nva7kuLvpophcbiAgICovXG4gIHRoZW1lPzogbnVsbCB8IFwibGlnaHRcIlxuICAvKipcbiAgICog5aSW6YOo5o6n5Yi277ya5b2T5YmN6YCJ5Lit6aG555qE5YC8XG4gICAqL1xuICB2YWx1ZT86IFJlYWN0LlJlYWN0VGV4dCB8IG51bGxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VsZWN0U3RhdGUge1xuICBvcGVuPzogYm9vbGVhblxuICBwbGFjZWhvbGRlclNob3c/OiBib29sZWFuXG4gIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZ1xuICB2YWx1ZT86IFJlYWN0LlJlYWN0VGV4dCB8IG51bGxcbiAgc2VsZWN0SWQ/OiBzdHJpbmdcbn1cblxuLyoqXG4gKiDpgInmi6nlmajnlKjkuo7pgInmi6nmn5DpobnlhoXlrrnjgIJcbiAqIOmAieaLqeWZqOWvueavlOWNlemAiSBSYWRpbyDnmoTkvJjlir/mmK/vvIzlvZPpgInpobnov4flpJrml7bvvIzpgInmi6nlmajlj6/lr7nlhoXlrrnmlLbotbfvvIzlubbmm7TlhbPms6jkuo7lt7LpgInpobnjgIJcbiAqIOmAmuW4uO+8jOW9k+eUqOaIt+iDveWkn+mAmui/h+W3sumAiemhue+8jOi9u+aYk+W+l+efpeWFtuS9memAiemhueeahOinhOW+i+aXtu+8iOWmguW5tOS7veOAgeWfjuW4guetie+8ie+8jOmAieaLqeWZqCBTZWxlY3Qg5piv5q+U6L6D5aW955qE6YCJ5oup44CCXG4gKi9cbmNsYXNzIFNlbGVjdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJU2VsZWN0UHJvcHMsIElTZWxlY3RTdGF0ZT4ge1xuICBwdWJsaWMgc3RhdGljIHR5cGUgPSBcIlNlbGVjdFwiXG5cbiAgcHVibGljIHN0YXRpYyBPcHRpb246IHR5cGVvZiBPcHRpb24gPSBPcHRpb25cblxuICBwdWJsaWMgc3RhdGljIE9wdEdyb3VwOiB0eXBlb2YgT3B0R3JvdXAgPSBPcHRHcm91cFxuXG4gIHB1YmxpYyBzdGF0aWMgcHJvcFR5cGVzID0ge1xuICAgIC8qKlxuICAgICAqIOWtkOiKgueCuVxuICAgICAqL1xuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZSxcbiAgICAvKipcbiAgICAgKiDpmYTliqDnsbvlkI1cbiAgICAgKi9cbiAgICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqXG4gICAgICog5YaF6YOo6amx5Yqo77ya5piv5ZCm5bGV5byAXG4gICAgICovXG4gICAgZGVmYXVsdE9wZW46IFByb3BUeXBlcy5ib29sLFxuICAgIC8qKlxuICAgICAqIOWGhemDqOmpseWKqO+8muW9k+WJjemAieS4remhueeahOWAvFxuICAgICAqL1xuICAgIGRlZmF1bHRWYWx1ZTogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLnN0cmluZywgUHJvcFR5cGVzLm51bWJlcl0pLFxuICAgIC8qKlxuICAgICAqIOS4i+aLieiPnOWNleWSjOmAieaLqeWZqOWQjOWuvVxuICAgICAqL1xuICAgIGRyb3Bkb3duTWF0Y2hTZWxlY3RXaWR0aDogUHJvcFR5cGVzLmJvb2wsXG4gICAgLyoqXG4gICAgICog5oyH5a6a5by55Ye65bGC55qE54i257qn77yM6buY6K6k5Li6IGRvY3VtZW50LmJvZHlcbiAgICAgKi9cbiAgICBnZXRQb3B1cENvbnRhaW5lcjogUHJvcFR5cGVzLmZ1bmMsXG4gICAgLyoqXG4gICAgICog5LiL5ouJ5bGV56S65Y+R55Sf5Y+Y5YyW5pe255qEIGhhbmRsZXLvvIzlj4LmlbDvvJpib29sXG4gICAgICovXG4gICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U6IFByb3BUeXBlcy5mdW5jLFxuICAgIC8qKlxuICAgICAqIOmAieaLqeaXtueahCBoYW5kbGVy77yM5Y+C5pWw77yaKHZhbHVlLCBvcHRpb24pXG4gICAgICovXG4gICAgb25TZWxlY3Q6IFByb3BUeXBlcy5mdW5jLFxuICAgIC8qKlxuICAgICAqIOWklumDqOaOp+WItu+8muaYr+WQpuWxleW8gFxuICAgICAqL1xuICAgIG9wZW46IFByb3BUeXBlcy5ib29sLFxuICAgIC8qKlxuICAgICAqIOmAieaLqeahhum7mOiupOaWh+Wtl1xuICAgICAqL1xuICAgIHBsYWNlaG9sZGVyOiBQcm9wVHlwZXMuYW55LFxuICAgIC8qKlxuICAgICAqIOiuvue9riBwbGFjZW1lbnRcbiAgICAgKi9cbiAgICBwbGFjZW1lbnQ6IFByb3BUeXBlcy5vbmVPZihbXG4gICAgICBcInRvcFwiLFxuICAgICAgXCJsZWZ0XCIsXG4gICAgICBcInJpZ2h0XCIsXG4gICAgICBcImJvdHRvbVwiLFxuICAgICAgXCJ0b3BMZWZ0XCIsXG4gICAgICBcInRvcFJpZ2h0XCIsXG4gICAgICBcImJvdHRvbUxlZnRcIixcbiAgICAgIFwiYm90dG9tUmlnaHRcIixcbiAgICAgIFwibGVmdFRvcFwiLFxuICAgICAgXCJsZWZ0Qm90dG9tXCIsXG4gICAgICBcInJpZ2h0VG9wXCIsXG4gICAgICBcInJpZ2h0Qm90dG9tXCIsXG4gICAgXSksXG4gICAgLyoqXG4gICAgICog6K6+572u5Y+z5Zu+5qCHXG4gICAgICovXG4gICAgcmlnaHRJY29uOiBQcm9wVHlwZXMub25lT2YoT2JqZWN0LmtleXMoSWNvblN2Z1BhdGhzKSksXG4gICAgLyoqXG4gICAgICog5pCc57Si5qGG6buY6K6k5paH5a2XXG4gICAgICovXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgLyoqXG4gICAgICog5piv5ZCm6ZyA6KaB5YaF5bWM5pCc57SiXG4gICAgICovXG4gICAgc2VhcmNoYWJsZTogUHJvcFR5cGVzLmJvb2wsXG4gICAgLyoqXG4gICAgICog6K6+572u5bC65a+477yM6Lef552AIGJ1dHRvbiDotbBcbiAgICAgKi9cbiAgICBzaXplOiBQcm9wVHlwZXMub25lT2YoW1wibWluaVwiLCBcInNtYWxsXCIsIFwibWVkaXVtXCIsIFwibGFyZ2VcIl0pLFxuICAgIC8qKlxuICAgICAqIOiuvue9ruS4u+mimFxuICAgICAqL1xuICAgIHRoZW1lOiBQcm9wVHlwZXMub25lT2YoW251bGwsIFwibGlnaHRcIl0pLFxuICAgIC8qKlxuICAgICAqIOWklumDqOaOp+WItu+8muW9k+WJjemAieS4remhueeahOWAvFxuICAgICAqL1xuICAgIHZhbHVlOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMuc3RyaW5nLCBQcm9wVHlwZXMubnVtYmVyXSksXG4gIH1cblxuICBwdWJsaWMgc3RhdGljIGRlZmF1bHRQcm9wczogSVNlbGVjdFByb3BzID0ge1xuICAgIGNoaWxkcmVuOiBudWxsLFxuICAgIGNsYXNzTmFtZTogdW5kZWZpbmVkLFxuICAgIGRlZmF1bHRPcGVuOiBudWxsLFxuICAgIGRlZmF1bHRWYWx1ZTogbnVsbCxcbiAgICBkcm9wZG93bk1hdGNoU2VsZWN0V2lkdGg6IHRydWUsXG4gICAgZ2V0UG9wdXBDb250YWluZXI6IG51bGwsXG4gICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2U6IG5vb3AsXG4gICAgb25TZWxlY3Q6IG5vb3AsXG4gICAgb3BlbjogbnVsbCxcbiAgICBwbGFjZWhvbGRlcjogXCLor7fpgInmi6lcIixcbiAgICBwbGFjZW1lbnQ6IFwiYm90dG9tTGVmdFwiLFxuICAgIHJpZ2h0SWNvbjogXCJ0cmlhbmdsZS1kb3duXCIsXG4gICAgc2VhcmNoUGxhY2Vob2xkZXI6IFwi5pCc57SiXCIsXG4gICAgc2VhcmNoYWJsZTogZmFsc2UsXG4gICAgc2l6ZTogXCJzbWFsbFwiLFxuICAgIHRoZW1lOiBudWxsLFxuICAgIHZhbHVlOiBudWxsLFxuICB9XG5cbiAgcHVibGljIHN0YXRpYyBnZXREZXJpdmVkU3RhdGVGcm9tUHJvcHMgPSAoeyBvcGVuLCB2YWx1ZSB9OiBJU2VsZWN0UHJvcHMpID0+IHtcbiAgICBjb25zdCBuZXdTdGF0ZTogSVNlbGVjdFN0YXRlID0ge31cbiAgICBpZiAob3BlbiAhPT0gbnVsbCkge1xuICAgICAgbmV3U3RhdGUub3BlbiA9IG9wZW5cbiAgICB9XG4gICAgaWYgKHZhbHVlICE9PSBudWxsKSB7XG4gICAgICBpZiAodmFsdWUgPT09IFwiXCIpIHtcbiAgICAgICAgbmV3U3RhdGUudmFsdWUgPSB1bmRlZmluZWRcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5ld1N0YXRlLnZhbHVlID0gdmFsdWVcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIE9iamVjdC5rZXlzKG5ld1N0YXRlKS5sZW5ndGggPiAwID8gbmV3U3RhdGUgOiBudWxsXG4gIH1cblxuICBwdWJsaWMgbG9ja2VkID0gZmFsc2VcblxuICBwdWJsaWMgc2VsZWN0OiBJU2VsZWN0XG5cbiAgcHVibGljIHNlYXJjaDogSFRNTElucHV0RWxlbWVudFxuXG4gIHB1YmxpYyBtZW51OiBKU1guRWxlbWVudFxuXG4gIGNvbnN0cnVjdG9yKHByb3BzOiBJU2VsZWN0UHJvcHMpIHtcbiAgICBzdXBlcihwcm9wcylcbiAgICBjb25zdCB7IGRlZmF1bHRPcGVuLCBkZWZhdWx0VmFsdWUsIG9wZW4sIHZhbHVlIH0gPSBwcm9wc1xuXG4gICAgbGV0IHZhbHVlU3RhdGVcbiAgICBpZiAodmFsdWUgIT09IG51bGwpIHtcbiAgICAgIGlmICh2YWx1ZSA9PT0gXCJcIikge1xuICAgICAgICB2YWx1ZVN0YXRlID0gdW5kZWZpbmVkXG4gICAgICB9IGVsc2Uge1xuICAgICAgICB2YWx1ZVN0YXRlID0gdmFsdWVcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKGRlZmF1bHRWYWx1ZSAhPT0gbnVsbCkge1xuICAgICAgdmFsdWVTdGF0ZSA9IGRlZmF1bHRWYWx1ZVxuICAgIH1cblxuICAgIGxldCBvcGVuU3RhdGVcbiAgICBpZiAob3BlbiAhPT0gbnVsbCkge1xuICAgICAgb3BlblN0YXRlID0gb3BlblxuICAgIH0gZWxzZSBpZiAoZGVmYXVsdE9wZW4gIT09IG51bGwpIHtcbiAgICAgIG9wZW5TdGF0ZSA9IGRlZmF1bHRPcGVuXG4gICAgfVxuICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICBvcGVuOiBvcGVuU3RhdGUsXG4gICAgICBwbGFjZWhvbGRlclNob3c6IGZhbHNlLFxuICAgICAgc2VsZWN0SWQ6IFwiXCIsXG4gICAgICBwbGFjZWhvbGRlclRleHQ6IFwiXCIsXG4gICAgICB2YWx1ZTogdmFsdWVTdGF0ZSxcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgc2F2ZVNlbGVjdCA9IChub2RlOiBJU2VsZWN0KSA9PiB7XG4gICAgdGhpcy5zZWxlY3QgPSBub2RlXG4gIH1cblxuICBwdWJsaWMgc2F2ZVNlYXJjaCA9IChub2RlOiBIVE1MSW5wdXRFbGVtZW50KSA9PiB7XG4gICAgdGhpcy5zZWFyY2ggPSBub2RlXG4gIH1cblxuICBwdWJsaWMgb25Ecm9wZG93blZpc2libGVDaGFuZ2UgPSAob3BlbjogYm9vbGVhbikgPT4ge1xuICAgIGNvbnN0IHsgb25Ecm9wZG93blZpc2libGVDaGFuZ2UsIG9wZW46IG9wZW5Qcm9wIH0gPSB0aGlzLnByb3BzXG4gICAgY29uc3QgeyB2YWx1ZSwgc2VsZWN0SWQgfSA9IHRoaXMuc3RhdGVcblxuICAgIGlmICh0aGlzLmxvY2tlZCkge1xuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGlmIChvcGVuUHJvcCA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IG9wZW4gfSlcbiAgICB9XG4gICAgaWYgKG9wZW4pIHtcbiAgICAgIHRoaXMucHJldmVudFZpc2libGVDaGFuZ2UoKVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGlmICh0aGlzLnNlYXJjaCkge1xuICAgICAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICAgICAgbGV0IGlkID0gc2VsZWN0SWRcbiAgICAgICAgICAgIGlmICghc2VsZWN0SWQpIHtcbiAgICAgICAgICAgICAgaWQgPSAodGhpcy5zZWFyY2gucGFyZW50Tm9kZT8ubmV4dFNpYmxpbmcgYXMgRWxlbWVudCk/LmlkXG4gICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RJZDogaWQgfSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpZCkge1xuICAgICAgICAgICAgICBjb25zdCBlbCA9IChkb2N1bWVudC5nZXRFbGVtZW50QnlJZChpZClcbiAgICAgICAgICAgICAgICA/Lm5leHRTaWJsaW5nIGFzIEVsZW1lbnQpPy5nZXRFbGVtZW50c0J5Q2xhc3NOYW1lKFxuICAgICAgICAgICAgICAgIFwiYWR1aS1zZWxlY3QtaXRlbS1vcHRpb24tc2VsZWN0ZWRcIlxuICAgICAgICAgICAgICApWzBdPy5jaGlsZHJlblswXSBhcyBIVE1MRWxlbWVudFxuICAgICAgICAgICAgICBpZiAoZWwpIHtcbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogZWwuZGF0YXNldC5odG1sIHx8IGVsLmlubmVySFRNTCxcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIHRoaXMuc2VhcmNoLmZvY3VzKClcbiAgICAgICAgfVxuICAgICAgfSwgMTUwKVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAodGhpcy5zZWFyY2gpIHtcbiAgICAgICAgdGhpcy5zZWFyY2gudmFsdWUgPSBcIlwiXG4gICAgICB9XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgcGxhY2Vob2xkZXJTaG93OiBmYWxzZSxcbiAgICAgIH0pXG4gICAgfVxuICAgIGlmIChvbkRyb3Bkb3duVmlzaWJsZUNoYW5nZSkge1xuICAgICAgb25Ecm9wZG93blZpc2libGVDaGFuZ2Uob3BlbilcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgb25TZWxlY3QgPSAodmFsdWU6IFJlYWN0LlJlYWN0VGV4dCwgb3B0aW9uOiBhbnkpID0+IHtcbiAgICBjb25zdCB7IG9uU2VsZWN0LCB2YWx1ZTogdmFsdWVQcm9wIH0gPSB0aGlzLnByb3BzXG5cbiAgICBpZiAodmFsdWVQcm9wID09PSBudWxsKSB7XG4gICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgdmFsdWUsXG4gICAgICB9KVxuICAgIH1cbiAgICBpZiAob25TZWxlY3QgJiYgdmFsdWVQcm9wICE9PSB2YWx1ZSkge1xuICAgICAgb25TZWxlY3QodmFsdWUsIG9wdGlvbilcbiAgICB9XG5cbiAgICBpZiAodGhpcy5zZWFyY2gpIHtcbiAgICAgIHRoaXMuc2VhcmNoLnZhbHVlID0gXCJcIlxuICAgIH1cbiAgICBpZiAodGhpcy5zZWxlY3QgJiYgdGhpcy5zZWxlY3Quc2V0SW5wdXRWYWx1ZSkge1xuICAgICAgdGhpcy5zZWxlY3Quc2V0SW5wdXRWYWx1ZShcIlwiKVxuICAgIH1cbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVEcm9wZG93blJlbmRlciA9IChtZW51OiBKU1guRWxlbWVudCkgPT4ge1xuICAgIHRoaXMubWVudSA9IG1lbnVcbiAgICBjb25zdCB7IHNlYXJjaGFibGUsIHNlYXJjaFBsYWNlaG9sZGVyIH0gPSB0aGlzLnByb3BzXG4gICAgaWYgKHNlYXJjaGFibGUpIHtcbiAgICAgIHJldHVybiAoXG4gICAgICAgIDxkaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tc2VhcmNoYH0+XG4gICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgcmVmPXt0aGlzLnNhdmVTZWFyY2h9XG4gICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtzZWFyY2hQbGFjZWhvbGRlcn1cbiAgICAgICAgICAgICAgb25DaGFuZ2U9e3RoaXMuaGFuZGxlU2VhcmNofVxuICAgICAgICAgICAgICBvbktleURvd249e3RoaXMuaGFuZGxlU2VhcmNoS2V5RG93bn1cbiAgICAgICAgICAgICAgb25Nb3VzZURvd249e3RoaXMucHJldmVudFZpc2libGVDaGFuZ2V9XG4gICAgICAgICAgICAgIG9uTW91c2VVcD17dGhpcy5wcmV2ZW50VmlzaWJsZUNoYW5nZX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8SWNvbiBpY29uPVwic2VhcmNoXCIgY2xhc3NOYW1lPXtgJHtwcmVmaXh9LWljb25gfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIHttZW51fVxuICAgICAgICA8L2Rpdj5cbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIG1lbnVcbiAgfVxuXG4gIHB1YmxpYyBoYW5kbGVTZWFyY2ggPSAoZTogUmVhY3QuQ2hhbmdlRXZlbnQ8SFRNTElucHV0RWxlbWVudD4pID0+IHtcbiAgICBjb25zdCB2YWwgPSBlLnRhcmdldC52YWx1ZVxuICAgIGNvbnN0IHsgcGxhY2Vob2xkZXJTaG93LCBzZWxlY3RJZCB9ID0gdGhpcy5zdGF0ZVxuICAgIGlmICh2YWwgJiYgIXBsYWNlaG9sZGVyU2hvdykge1xuICAgICAgdGhpcy5zZXRTdGF0ZSh7IHBsYWNlaG9sZGVyU2hvdzogdHJ1ZSB9KVxuICAgIH1cbiAgICBpZiAoIXZhbCAmJiBwbGFjZWhvbGRlclNob3cpIHtcbiAgICAgIHRoaXMuc2V0U3RhdGUoeyBwbGFjZWhvbGRlclNob3c6IGZhbHNlIH0pXG4gICAgfVxuICAgIGlmICh0aGlzLnNlbGVjdCkge1xuICAgICAgbGV0IGlkID0gc2VsZWN0SWRcbiAgICAgIGlmICghc2VsZWN0SWQpIHtcbiAgICAgICAgaWQgPSAoZS50YXJnZXQucGFyZW50Tm9kZT8ubmV4dFNpYmxpbmcgYXMgRWxlbWVudCk/LmlkXG4gICAgICAgIHRoaXMuc2V0U3RhdGUoeyBzZWxlY3RJZDogaWQgfSlcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlYWxJbnB1dCA9IGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoYFthcmlhLW93bnM9XCIke2lkfVwiXWApIGFzIGFueVxuICAgICAgaWYgKHJlYWxJbnB1dCkge1xuICAgICAgICBjb25zdCBsYXN0VmFsdWUgPSByZWFsSW5wdXQudmFsdWVcbiAgICAgICAgcmVhbElucHV0LnZhbHVlID0gdmFsXG4gICAgICAgIGNvbnN0IGV2ZW50ID0gbmV3IEV2ZW50KFwiaW5wdXRcIiwgeyBidWJibGVzOiB0cnVlIH0pXG4gICAgICAgIC8vIGhhY2sgUmVhY3QxNiDlhoXpg6jlrprkuYnkuoZkZXNjcmlwdG9y5oum5oiqdmFsdWXvvIzmraTlpITph43nva7nirbmgIFcbiAgICAgICAgY29uc3QgdHJhY2tlciA9IHJlYWxJbnB1dC5fdmFsdWVUcmFja2VyXG4gICAgICAgIGlmICh0cmFja2VyKSB7XG4gICAgICAgICAgdHJhY2tlci5zZXRWYWx1ZShsYXN0VmFsdWUpXG4gICAgICAgIH1cbiAgICAgICAgcmVhbElucHV0LmRpc3BhdGNoRXZlbnQoZXZlbnQpXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcHVibGljIGhhbmRsZVNlYXJjaEtleURvd24gPSAoZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxIVE1MSW5wdXRFbGVtZW50PikgPT4ge1xuICAgIGlmICh0aGlzLnNlbGVjdCAmJiB0aGlzLnNlbGVjdC5vbklucHV0S2V5RG93bikge1xuICAgICAgdGhpcy5zZWxlY3Qub25JbnB1dEtleURvd24oZSlcbiAgICB9XG4gIH1cblxuICBwdWJsaWMgcHJldmVudFZpc2libGVDaGFuZ2UgPSAoKSA9PiB7XG4gICAgdGhpcy5sb2NrZWQgPSB0cnVlXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICB0aGlzLmxvY2tlZCA9IGZhbHNlXG4gICAgICB0aGlzLnNldFN0YXRlKHsgb3BlbjogdHJ1ZSB9KVxuICAgIH0sIDIwMClcbiAgfVxuXG4gIHB1YmxpYyByZW5kZXIoKSB7XG4gICAgY29uc3Qge1xuICAgICAgY2xhc3NOYW1lLFxuICAgICAgZ2V0UG9wdXBDb250YWluZXIsXG4gICAgICBwbGFjZWhvbGRlcixcbiAgICAgIHBsYWNlbWVudCxcbiAgICAgIHJpZ2h0SWNvbixcbiAgICAgIHNlYXJjaGFibGUsXG4gICAgICBzaXplLFxuICAgICAgdGhlbWUsXG4gICAgICB2YWx1ZTogdmFsdWVQcm9wLFxuICAgICAgLi4ub3RoZXJQcm9wc1xuICAgIH0gPSB0aGlzLnByb3BzXG5cbiAgICBjb25zdCByZXN0UHJvcHMgPSBvbWl0KG90aGVyUHJvcHMsIFtcbiAgICAgIFwiZGVmYXVsdFZhbHVlXCIsXG4gICAgICBcIm9wZW5cIixcbiAgICAgIFwib25Ecm9wZG93blZpc2libGVDaGFuZ2VcIixcbiAgICAgIFwib25TZWxlY3RcIixcbiAgICAgIFwic2VhcmNoUGxhY2Vob2xkZXJcIixcbiAgICBdKVxuXG4gICAgY29uc3Qge1xuICAgICAgb3Blbjogb3BlblN0YXRlLFxuICAgICAgcGxhY2Vob2xkZXJTaG93LFxuICAgICAgcGxhY2Vob2xkZXJUZXh0LFxuICAgICAgdmFsdWU6IHZhbHVlU3RhdGUsXG4gICAgfSA9IHRoaXMuc3RhdGVcblxuICAgIC8vIG9wZW5TdGF0ZSDlj6/og73mmK8gdW5kZWZpbmVkIG9yIG51bGxcbiAgICBjb25zdCBvcGVuUHJvcHM6IHsgb3Blbj86IGJvb2xlYW47IHZhbHVlPzogUmVhY3QuUmVhY3ROb2RlIHwgbnVsbCB9ID0ge31cbiAgICBpZiAodHlwZW9mIG9wZW5TdGF0ZSA9PT0gXCJib29sZWFuXCIpIHtcbiAgICAgIG9wZW5Qcm9wcy5vcGVuID0gb3BlblN0YXRlXG4gICAgfVxuICAgIGlmICh2YWx1ZVN0YXRlICE9PSBudWxsKSB7XG4gICAgICBvcGVuUHJvcHMudmFsdWUgPSB2YWx1ZVByb3AgPT09IFwiXCIgPyBwbGFjZWhvbGRlciA6IHZhbHVlU3RhdGVcbiAgICB9XG5cbiAgICByZXR1cm4gKFxuICAgICAgPENvbmZpZ0NvbnRleHQuQ29uc3VtZXI+XG4gICAgICAgIHsoeyBnZXRQb3B1cENvbnRhaW5lcjogZ2V0UG9wdXBDb250YWluZXJDb250ZXh0IH0pID0+IChcbiAgICAgICAgICA8UmNTZWxlY3RcbiAgICAgICAgICAgIGNsYXNzTmFtZT17Y2xhc3NOYW1lcyhcbiAgICAgICAgICAgICAgY2xhc3NOYW1lLFxuICAgICAgICAgICAgICBgJHtwcmVmaXh9LXNlbGVjdGAsXG4gICAgICAgICAgICAgIGAke3ByZWZpeH0tJHtzaXplfWAsXG4gICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICBbYCR7cHJlZml4fS1saWdodGBdOiB0aGVtZSA9PT0gXCJsaWdodFwiLFxuICAgICAgICAgICAgICAgIFtgJHtwcmVmaXh9LXNlbGVjdF9wbGFjZWhvbGRlclNob3dgXTogcGxhY2Vob2xkZXJTaG93LFxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICApfVxuICAgICAgICAgICAgZGF0YS12YWx1ZT17dmFsdWVTdGF0ZSB8fCBwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIG1lbnVJdGVtU2VsZWN0ZWRJY29uPXtudWxsfVxuICAgICAgICAgICAgZHJvcGRvd25BbGlnbj17XG4gICAgICAgICAgICAgIGdldFBsYWNlbWVudHMoeyBhbGlnbkVkZ2U6IHRydWUgfSlbcGxhY2VtZW50IHx8IFwiYm90dG9tTGVmdFwiXVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgZHJvcGRvd25DbGFzc05hbWU9e2BhZHVpLXNlbGVjdC1kcm9wZG93bi0ke3NpemV9ICR7XG4gICAgICAgICAgICAgIHNlYXJjaGFibGUgPyBcImFkdWktc2VsZWN0LWRyb3Bkb3duLXNlYXJjaGFibGVcIiA6IFwiXCJcbiAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgZHJvcGRvd25SZW5kZXI9e3RoaXMuaGFuZGxlRHJvcGRvd25SZW5kZXJ9XG4gICAgICAgICAgICBpbnB1dEljb249e1xuICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclNob3cgJiZcbiAgICAgICAgICAgICAgICAgICh0eXBlb2YgKHBsYWNlaG9sZGVyVGV4dCB8fCBwbGFjZWhvbGRlciB8fCBcIlwiKSA9PT1cbiAgICAgICAgICAgICAgICAgIFwic3RyaW5nXCIgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake3ByZWZpeH0tcGxhY2Vob2xkZXItdGV4dGB9XG4gICAgICAgICAgICAgICAgICAgICAgZGFuZ2Vyb3VzbHlTZXRJbm5lckhUTUw9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIF9faHRtbDogYCR7cGxhY2Vob2xkZXJUZXh0IHx8IHBsYWNlaG9sZGVyIHx8IFwiXCJ9YCxcbiAgICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e2Ake3ByZWZpeH0tcGxhY2Vob2xkZXItdGV4dGB9PlxuICAgICAgICAgICAgICAgICAgICAgIHtwbGFjZWhvbGRlclRleHQgfHwgcGxhY2Vob2xkZXIgfHwgXCJcIn1cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICA8SWNvblxuICAgICAgICAgICAgICAgICAgaWNvbj17cmlnaHRJY29uIHx8IFwidHJpYW5nbGUtZG93blwifVxuICAgICAgICAgICAgICAgICAgY29sb3I9XCJ2YXIoLS1ncmF5LTgwMClcIlxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgbGlzdEhlaWdodD17MjUwfVxuICAgICAgICAgICAgbm90Rm91bmRDb250ZW50PVwi5peg5Yy56YWN57uT5p6cXCJcbiAgICAgICAgICAgIG9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlPXt0aGlzLm9uRHJvcGRvd25WaXNpYmxlQ2hhbmdlfVxuICAgICAgICAgICAgb25TZWxlY3Q9e3RoaXMub25TZWxlY3R9XG4gICAgICAgICAgICBkZWZhdWx0QWN0aXZlRmlyc3RPcHRpb249e2ZhbHNlfVxuICAgICAgICAgICAgZ2V0UG9wdXBDb250YWluZXI9e2dldFBvcHVwQ29udGFpbmVyIHx8IGdldFBvcHVwQ29udGFpbmVyQ29udGV4dH1cbiAgICAgICAgICAgIG9wdGlvbkxhYmVsUHJvcD1cImNoaWxkcmVuXCJcbiAgICAgICAgICAgIG9wdGlvbkZpbHRlclByb3A9XCJjaGlsZHJlblwiXG4gICAgICAgICAgICBwbGFjZWhvbGRlcj17cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICBwcmVmaXhDbHM9XCJhZHVpLXNlbGVjdFwiXG4gICAgICAgICAgICAvLyDlvIDlkK8gc2hvd1NlYXJjaCDmiY3lj6/og70gaGFjayDlvI/lnLDop6blj5EgaW5wdXQgY2hhbmdlIOS6i+S7tlxuICAgICAgICAgICAgc2hvd1NlYXJjaFxuICAgICAgICAgICAgcmVmPXt0aGlzLnNhdmVTZWxlY3R9XG4gICAgICAgICAgICB0cmFuc2l0aW9uTmFtZT1cInNsaWRlLXVwXCJcbiAgICAgICAgICAgIHsuLi5vcGVuUHJvcHN9XG4gICAgICAgICAgICB7Li4ucmVzdFByb3BzfVxuICAgICAgICAgIC8+XG4gICAgICAgICl9XG4gICAgICA8L0NvbmZpZ0NvbnRleHQuQ29uc3VtZXI+XG4gICAgKVxuICB9XG59XG5cbnBvbHlmaWxsKFNlbGVjdClcblxuZXhwb3J0IGRlZmF1bHQgU2VsZWN0XG4iXX0= |
{ | ||
"name": "adui", | ||
"author": "yijiejiang <yijiejiang@tencent.com>", | ||
"version": "1.0.0-alpha.23", | ||
"version": "1.0.0-beta.0", | ||
"files": [ | ||
@@ -6,0 +6,0 @@ "lib", |
Sorry, the diff of this file is not supported yet
Sorry, the diff of this file is too big to display
2981321
436
24467