react-menu-list
Advanced tools
Comparing version 2.0.0 to 2.0.1
@@ -371,2 +371,4 @@ 'use strict'; | ||
value: function moveCursor(direction, prevCursorLocation) { | ||
if (this._listItems.length == 0) return; | ||
switch (direction) { | ||
@@ -421,2 +423,2 @@ case 'up': | ||
module.exports = exports['default']; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uL3NyYy9NZW51TGlzdC5qcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBOzs7O0FBQ0E7O0FBQ0E7Ozs7QUFDQTs7OztBQUNBOzs7O0FBQ0E7Ozs7QUFFQTs7OztBQUNBOzs7Ozs7Ozs7Ozs7Ozs7SUF3Q3FCOzs7Ozs7Ozs7Ozs7Ozs0TkFRbkIsV0FBbUIscUNBQ25CLGFBR0s7Ozs2QkFaYzs7a0RBa0JvQjtBQUNyQyxhQUFPLEtBQUssdUJBQUwsSUFBZ0MsSUFBaEMsR0FDTCxLQUFLLHVCQUFMLEdBQStCLEtBQUssd0JBQUwsQ0FGSTs7OztzQ0FhYjs7O0FBQ3hCLFVBQU0sV0FBNEI7QUFDaEMsc0JBQWMsc0JBQUMsS0FBRCxFQUFRLE9BQVIsRUFBaUIsRUFBakIsRUFBd0I7QUFDcEMsY0FBTSxPQUFPLEVBQUMsWUFBRCxFQUFRLGdCQUFSLEVBQWlCLE1BQWpCLEVBQVAsQ0FEOEI7O0FBR3BDLGNBQU0sV0FBVyxTQUFYLFFBQVcsR0FBTTtBQUNyQixnQkFBSSxJQUFJLENBQUMsQ0FBRCxDQURhO0FBRXJCLGdCQUFJLEtBQUssS0FBTCxDQUFXLEtBQVgsSUFBb0IsSUFBcEIsRUFBMEI7QUFDNUIsa0JBQUksOEJBQ0YsT0FBSyxVQUFMLEVBQ0E7dUJBQ0UsQ0FBQyxLQUFLLEVBQUwsQ0FBUSx1QkFBUixDQUFnQyxNQUFNLEVBQU4sQ0FBaEMsR0FBMEMsS0FBSywyQkFBTCxDQUEzQyxLQUFpRixDQUFqRjtlQURGLENBRkYsQ0FENEI7YUFBOUIsTUFNTztBQUNMLGtCQUFJLDhCQUNGLE9BQUssVUFBTCxFQUNBO3VCQUFTLE1BQU0sS0FBTixDQUFZLEtBQVosSUFBcUIsSUFBckIsSUFBNkIsS0FBSyxLQUFMLENBQVcsS0FBWCxHQUFtQixNQUFNLEtBQU4sQ0FBWSxLQUFaO2VBQXpELENBRkYsQ0FESzthQU5QO0FBWUEsZ0JBQUksSUFBSSxDQUFKLEVBQU87QUFDVCxxQkFBSyxVQUFMLENBQWdCLElBQWhCLENBQXFCLElBQXJCLEVBRFM7YUFBWCxNQUVPO0FBQ0wscUJBQUssVUFBTCxDQUFnQixNQUFoQixDQUF1QixDQUF2QixFQUEwQixDQUExQixFQUE2QixJQUE3QixFQURLO0FBRUwsa0JBQUksT0FBSyx3QkFBTCxJQUFpQyxJQUFqQyxJQUF5QyxLQUFLLE9BQUssd0JBQUwsRUFBK0I7QUFDL0UsdUJBQUssd0JBQUwsR0FEK0U7ZUFBakY7QUFHQSxrQkFBSSxPQUFLLHVCQUFMLElBQWdDLElBQWhDLElBQXdDLEtBQUssT0FBSyx1QkFBTCxFQUE4QjtBQUM3RSx1QkFBSyx1QkFBTCxHQUQ2RTtlQUEvRTtBQUdBLGtCQUFJLE9BQUsscUJBQUwsSUFBOEIsSUFBOUIsSUFBc0MsS0FBSyxPQUFLLHFCQUFMLEVBQTRCO0FBQ3pFLHVCQUFLLHFCQUFMLEdBRHlFO2VBQTNFO2FBVkY7V0FkZSxDQUhtQjs7QUFpQ3BDLHFCQWpDb0M7O0FBbUNwQyxjQUFNLGlCQUFpQztBQUNyQyx1QkFBVyxtQkFBQyxVQUFELEVBQXlCO0FBQ2xDLGtCQUFNLElBQUksT0FBSyxVQUFMLENBQWdCLE9BQWhCLENBQXdCLElBQXhCLENBQUosQ0FENEI7QUFFbEMsa0JBQUksSUFBSSxDQUFKLEVBQU8sTUFBTSxJQUFJLEtBQUosQ0FBVSwrQkFBVixDQUFOLENBQVg7QUFDQSxxQkFBSyxpQkFBTCxDQUF1QixDQUF2QixFQUEwQixVQUExQixFQUhrQzthQUF6QjtBQUtYLHlCQUFhLHVCQUFNO0FBQ2pCLGtCQUFNLElBQUksT0FBSyxVQUFMLENBQWdCLE9BQWhCLENBQXdCLElBQXhCLENBQUosQ0FEVztBQUVqQixrQkFBSSxJQUFJLENBQUosRUFBTyxNQUFNLElBQUksS0FBSixDQUFVLCtCQUFWLENBQU4sQ0FBWDtBQUNBLGtCQUFJLE9BQUssd0JBQUwsS0FBa0MsQ0FBbEMsRUFBcUM7QUFDdkMsdUJBQUssaUJBQUwsQ0FBdUIsSUFBdkIsRUFBNkIsS0FBN0IsRUFEdUM7ZUFBekM7YUFIVztBQU9iLHdCQUFZLHNCQUFNO0FBQ2hCLHFCQUFLLGNBQUwsQ0FBb0IsT0FBcEIsRUFBNkIsMEJBQWdCLFFBQWhCLEVBQTBCLEtBQTFCLENBQTdCLEVBRGdCO2FBQU47QUFHWiwwQkFBYyx3QkFBTTtBQUNsQixrQkFBTSxJQUFJLE9BQUssVUFBTCxDQUFnQixPQUFoQixDQUF3QixJQUF4QixDQUFKLENBRFk7QUFFbEIsa0JBQUksSUFBSSxDQUFKLEVBQU8sTUFBTSxJQUFJLEtBQUosQ0FBVSwrQkFBVixDQUFOLENBQVg7QUFDQSxxQkFBSyxxQkFBTCxHQUE2QixDQUE3QixDQUhrQjthQUFOO0FBS2QsNkJBQWlCLDJCQUFNO0FBQ3JCLGtCQUFNLElBQUksT0FBSyxVQUFMLENBQWdCLE9BQWhCLENBQXdCLElBQXhCLENBQUosQ0FEZTtBQUVyQixrQkFBSSxJQUFJLENBQUosRUFBTyxNQUFNLElBQUksS0FBSixDQUFVLCtCQUFWLENBQU4sQ0FBWDtBQUNBLGtCQUFJLE9BQUsscUJBQUwsS0FBK0IsQ0FBL0IsRUFBa0M7QUFDcEMsdUJBQUsscUJBQUwsR0FBNkIsSUFBN0IsQ0FEb0M7ZUFBdEM7YUFIZTtBQU9qQiwyQkFBZSx5QkFBTTtBQUNuQixrQkFBTSxJQUFJLE9BQUssVUFBTCxDQUFnQixPQUFoQixDQUF3QixJQUF4QixDQUFKLENBRGE7QUFFbkIsa0JBQUksSUFBSSxDQUFKLEVBQU8sTUFBTSxJQUFJLEtBQUosQ0FBVSwrQkFBVixDQUFOLENBQVg7QUFDQSxxQkFBSyxjQUFMLENBQW9CLENBQXBCLEVBSG1CO2FBQU47QUFLZiw2QkFBaUIsMkJBQU07QUFDckIsa0JBQU0sSUFBSSxPQUFLLFVBQUwsQ0FBZ0IsT0FBaEIsQ0FBd0IsSUFBeEIsQ0FBSixDQURlO0FBRXJCLGtCQUFJLElBQUksQ0FBSixFQUFPLE1BQU0sSUFBSSxLQUFKLENBQVUsK0JBQVYsQ0FBTixDQUFYO0FBQ0Esa0JBQUksT0FBSyx1QkFBTCxLQUFpQyxDQUFqQyxFQUFvQztBQUN0Qyx1QkFBSyxjQUFMLENBQW9CLElBQXBCLEVBRHNDO2VBQXhDO2FBSGU7QUFPakIsd0JBQVksb0JBQUMsU0FBRCxFQUF1QixrQkFBdkIsRUFBcUQ7QUFDL0QscUJBQUssVUFBTCxDQUFnQixTQUFoQixFQUEyQixrQkFBM0IsRUFEK0Q7YUFBckQ7QUFHWix5QkFBYSxxQkFBQyxRQUFELEVBQTZCO0FBQ3hDLGtCQUFJLEtBQUssS0FBTCxDQUFXLEtBQVgsS0FBcUIsU0FBUyxLQUFULEVBQWdCO0FBQ3ZDLCtCQUFlLFVBQWYsR0FEdUM7QUFFdkMsd0JBQVEsUUFBUixDQUZ1QztBQUd2QyxxQkFBSyxLQUFMLEdBQWEsUUFBYixDQUh1QztBQUl2QywyQkFKdUM7ZUFBekMsTUFLTztBQUNMLHdCQUFRLFFBQVIsQ0FESztBQUVMLHFCQUFLLEtBQUwsR0FBYSxRQUFiLENBRks7ZUFMUDthQURXO0FBV2Isd0JBQVksc0JBQU07QUFDaEIsa0JBQU0sSUFBSSxPQUFLLFVBQUwsQ0FBZ0IsT0FBaEIsQ0FBd0IsSUFBeEIsQ0FBSixDQURVO0FBRWhCLGtCQUFJLElBQUksQ0FBSixFQUFPLE1BQU0sSUFBSSxLQUFKLENBQVUsK0JBQVYsQ0FBTixDQUFYO0FBQ0Esa0JBQUksTUFBTSxPQUFLLHdCQUFMLEVBQStCO0FBQ3ZDLHVCQUFLLHdCQUFMLEdBQWdDLElBQWhDLENBRHVDO2VBQXpDLE1BRU8sSUFBSSxPQUFLLHdCQUFMLElBQWlDLElBQWpDLElBQXlDLElBQUksT0FBSyx3QkFBTCxFQUErQjtBQUNyRix1QkFBSyx3QkFBTCxHQURxRjtlQUFoRjtBQUdQLGtCQUFJLE1BQU0sT0FBSyx1QkFBTCxFQUE4QjtBQUN0Qyx1QkFBSyx1QkFBTCxHQUErQixJQUEvQixDQURzQztlQUF4QyxNQUVPLElBQUksT0FBSyx1QkFBTCxJQUFnQyxJQUFoQyxJQUF3QyxJQUFJLE9BQUssdUJBQUwsRUFBOEI7QUFDbkYsdUJBQUssdUJBQUwsR0FEbUY7ZUFBOUU7QUFHUCxrQkFBSSxNQUFNLE9BQUsscUJBQUwsRUFBNEI7QUFDcEMsdUJBQUsscUJBQUwsR0FBNkIsSUFBN0IsQ0FEb0M7ZUFBdEMsTUFFTyxJQUFJLE9BQUsscUJBQUwsSUFBOEIsSUFBOUIsSUFBc0MsSUFBSSxPQUFLLHFCQUFMLEVBQTRCO0FBQy9FLHVCQUFLLHFCQUFMLEdBRCtFO2VBQTFFO0FBR1AscUJBQUssVUFBTCxDQUFnQixNQUFoQixDQUF1QixDQUF2QixFQUEwQixDQUExQixFQWxCZ0I7YUFBTjtXQXREUixDQW5DOEI7QUE4R3BDLGlCQUFPLGNBQVAsQ0E5R29DO1NBQXhCO09BRFYsQ0FEa0I7QUFtSHhCLGFBQU8sRUFBQyxrQkFBRCxFQUFQLENBbkh3Qjs7OztpQ0FzSGM7QUFDdEMsYUFBTyxLQUFLLE9BQUwsQ0FBYSxpQkFBYixDQUQrQjs7Ozt3Q0FJcEI7OztBQUNsQixVQUFNLG9CQUFvQixTQUFwQixpQkFBb0I7ZUFDeEIsQ0FBQyxDQUFFLEtBQUYsS0FBWSxFQUFaLElBQW9CLE1BQU0sRUFBRSxLQUFGLElBQVcsRUFBRSxLQUFGLElBQVcsRUFBWDtPQURkLENBRFI7QUFHbEIsVUFBTSxLQUFLLDJCQUFZLElBQVosQ0FBTDs7Ozs7QUFIWSxxQkFRbEIsQ0FBTSxLQUFOLENBQVksQ0FDVixnQkFBTSxVQUFOLENBQWlCLE1BQWpCLEVBQXlCLFNBQXpCLEVBQW9DLE1BQXBDLENBQTJDLGlCQUEzQyxFQUNHLE1BREgsQ0FDVTtlQUFLLEdBQUcsUUFBSCxDQUFZLEVBQUUsTUFBRjtPQUFqQixDQUZBLEVBR1YsaUNBQWtCLE1BQWxCLEVBQTBCLFNBQTFCLEVBQXFDLE1BQXJDLENBQTRDLGlCQUE1QyxFQUNHLE1BREgsQ0FDVTtlQUFLLENBQUMsR0FBRyxRQUFILENBQVksRUFBRSxNQUFGLENBQWI7T0FBTCxDQUpBLENBQVosRUFNRyxXQU5ILENBTWUsS0FBSyxRQUFMLENBTmYsQ0FPRyxPQVBILENBT1c7ZUFBUyxPQUFLLElBQUwsQ0FBVSxLQUFWO09BQVQsQ0FQWCxDQVJrQjs7QUFpQmxCLFVBQU0sWUFBWSxLQUFLLFVBQUwsRUFBWixDQWpCWTtBQWtCbEIsVUFBSSxTQUFKLEVBQWU7QUFDYixrQkFBVSxnQkFBVixDQUEyQixJQUEzQixFQURhO09BQWY7Ozs7MkNBS3FCO0FBQ3JCLFdBQUssUUFBTCxDQUFjLE9BQWQsR0FEcUI7O0FBR3JCLFVBQU0sWUFBWSxLQUFLLFVBQUwsRUFBWixDQUhlO0FBSXJCLFVBQUksU0FBSixFQUFlO0FBQ2Isa0JBQVUsa0JBQVYsQ0FBNkIsSUFBN0IsRUFEYTtPQUFmOzs7O3NDQUtnQixPQUFnQixZQUFxQixXQUF1QixvQkFBMkI7QUFDdkcsVUFBTSwwQkFBMEIsS0FBSywyQkFBTCxFQUExQixDQURpRzs7QUFHdkcsVUFBSSxLQUFLLHVCQUFMLElBQWdDLElBQWhDLElBQXdDLFVBQXhDLEVBQW9EO0FBQ3RELGFBQUssdUJBQUwsR0FBK0IsSUFBL0IsQ0FEc0Q7T0FBeEQ7QUFHQSxXQUFLLHdCQUFMLEdBQWdDLEtBQWhDLENBTnVHO0FBT3ZHLFVBQUksS0FBSyx1QkFBTCxJQUFnQyxJQUFoQyxFQUFzQztBQUN4QyxZQUFJLFNBQVMsSUFBVCxFQUFlO0FBQ2pCLGVBQUssVUFBTCxDQUFnQixLQUFoQixFQUF1QixPQUF2QixDQUErQixpQkFBL0IsQ0FBaUQsSUFBakQsRUFBdUQsVUFBdkQsRUFBbUUsU0FBbkUsRUFBOEUsa0JBQTlFLEVBRGlCO1NBQW5CO0FBR0EsWUFBSSwyQkFBMkIsSUFBM0IsSUFBbUMsMkJBQTJCLEtBQTNCLEVBQWtDO0FBQ3ZFLGVBQUssVUFBTCxDQUFnQix1QkFBaEIsRUFBeUMsT0FBekMsQ0FBaUQsaUJBQWpELENBQW1FLEtBQW5FLEVBRHVFO1NBQXpFO09BSkY7Ozs7bUNBVWEsT0FBZ0I7QUFDN0IsVUFBSSxVQUFVLEtBQUssdUJBQUwsRUFBOEIsT0FBNUM7QUFDQSxVQUFNLDBCQUEwQixLQUFLLDJCQUFMLEVBQTFCLENBRnVCO0FBRzdCLFdBQUssdUJBQUwsR0FBK0IsS0FBL0IsQ0FINkI7QUFJN0IsVUFBTSw2QkFBNkIsS0FBSywyQkFBTCxFQUE3QixDQUp1QjtBQUs3QixVQUFJLDJCQUEyQixJQUEzQixJQUFtQyw4QkFBOEIsSUFBOUIsRUFBb0M7OztBQUd6RSxhQUFLLHdCQUFMLEdBQWdDLHVCQUFoQyxDQUh5RTtPQUEzRSxNQUlPLElBQUksMkJBQTJCLDBCQUEzQixFQUF1RDtBQUNoRSxZQUFJLDJCQUEyQixJQUEzQixFQUFpQztBQUNuQyxlQUFLLFVBQUwsQ0FBZ0IsdUJBQWhCLEVBQXlDLE9BQXpDLENBQWlELGlCQUFqRCxDQUFtRSxLQUFuRSxFQURtQztTQUFyQztBQUdBLFlBQUksOEJBQThCLElBQTlCLEVBQW9DO0FBQ3RDLGVBQUssVUFBTCxDQUFnQiwwQkFBaEIsRUFBNEMsT0FBNUMsQ0FBb0QsaUJBQXBELENBQXNFLElBQXRFLEVBQTRFLEtBQTVFLEVBRHNDO1NBQXhDLE1BRU8sSUFBSSxLQUFLLHdCQUFMLElBQWlDLElBQWpDLEVBQXVDO0FBQ2hELGVBQUssVUFBTCxDQUFnQixLQUFLLHdCQUFMLENBQWhCLENBQStDLE9BQS9DLENBQXVELGlCQUF2RCxDQUF5RSxJQUF6RSxFQUErRSxLQUEvRSxFQURnRDtTQUEzQztPQU5GOzs7O21DQVlNLFNBQTJCLE9BQWtCO0FBQzFELFVBQUksT0FBSixFQUFhO0FBQ1gsZ0JBQVEsV0FBUixDQUFvQixLQUFwQixFQURXO0FBRVgsWUFBSSxNQUFNLFlBQU4sRUFBb0IsT0FBeEI7T0FGRjtBQUlBLGNBQVEsTUFBTSxJQUFOO0FBQ1IsYUFBSyxRQUFMO0FBQ0UsY0FBSSxLQUFLLEtBQUwsQ0FBVyxZQUFYLEVBQXlCLEtBQUssS0FBTCxDQUFXLFlBQVgsQ0FBd0IsS0FBeEIsRUFBN0I7QUFDQSxnQkFGRjs7Ozs7QUFEQSxhQVFLLE1BQUw7QUFDRSxjQUFJLEtBQUssS0FBTCxDQUFXLFlBQVgsRUFBeUIsS0FBSyxLQUFMLENBQVcsWUFBWCxDQUF3QixLQUF4QixFQUE3QjtBQUNBLGdCQUZGO0FBUkEsYUFXSyxPQUFMO0FBQ0UsY0FBSSxLQUFLLEtBQUwsQ0FBVyxhQUFYLEVBQTBCLEtBQUssS0FBTCxDQUFXLGFBQVgsQ0FBeUIsS0FBekIsRUFBOUI7QUFDQSxnQkFGRjtBQVhBLE9BTDBEO0FBb0IxRCxVQUFJLE1BQU0sWUFBTixFQUFvQixPQUF4QjtBQUNBLFVBQU0sWUFBWSxLQUFLLFVBQUwsRUFBWixDQXJCb0Q7QUFzQjFELFVBQUksU0FBSixFQUFlO0FBQ2Isa0JBQVUsYUFBVixDQUF3QixLQUF4QixFQURhO09BQWY7Ozs7eUJBS0csT0FBc0I7QUFDekIsVUFBSSxLQUFLLHFCQUFMLElBQThCLElBQTlCLEVBQW9DO0FBQ3RDLGVBRHNDO09BQXhDOztBQUlBLFVBQU0sMEJBQTBCLEtBQUssMkJBQUwsRUFBMUI7Ozs7OztBQUxtQixVQVdyQixTQUFTLElBQVQsQ0FYcUI7O0FBYXpCLGNBQVEsTUFBTSxLQUFOO0FBQ1IsYUFBSyxFQUFMOztBQUNFLG1CQUFTLDBCQUFnQixRQUFoQixFQUEwQixJQUExQixDQUFULENBREY7QUFFRSxnQkFBTSxjQUFOLEdBRkY7QUFHRSxnQkFBTSxlQUFOLEdBSEY7QUFJRSxnQkFKRjtBQURBLGFBTUssRUFBTDs7QUFDRSxtQkFBUyx3QkFBYyxNQUFkLENBQVQsQ0FERjtBQUVFLGdCQUZGO0FBTkEsYUFTSyxFQUFMOztBQUNFLG1CQUFTLHdCQUFjLE9BQWQsQ0FBVCxDQURGO0FBRUUsZ0JBRkY7QUFUQSxhQVlLLEVBQUw7O0FBQ0UsZ0JBQU0sY0FBTixHQURGO0FBRUUsZ0JBQU0sZUFBTixHQUZGO0FBR0UsZUFBSyxVQUFMLENBQWdCLElBQWhCLEVBSEY7QUFJRSxnQkFKRjtBQVpBLGFBaUJLLEVBQUw7O0FBQ0UsZ0JBQU0sY0FBTixHQURGO0FBRUUsZ0JBQU0sZUFBTixHQUZGO0FBR0UsZUFBSyxVQUFMLENBQWdCLE1BQWhCLEVBSEY7QUFJRSxnQkFKRjtBQWpCQSxPQWJ5Qjs7QUFxQ3pCLFVBQUksTUFBSixFQUFZO0FBQ1YsWUFBTSxXQUFVLDJCQUEyQixJQUEzQixHQUFrQyxJQUFsQyxHQUNkLEtBQUssVUFBTCxDQUFnQix1QkFBaEIsRUFBeUMsT0FBekMsQ0FGUTtBQUdWLGFBQUssY0FBTCxDQUFvQixRQUFwQixFQUE2QixNQUE3QixFQUhVO0FBSVYsWUFBSSxPQUFPLGdCQUFQLEVBQXlCLE1BQU0sY0FBTixHQUE3QjtBQUNBLFlBQUksT0FBTyxnQkFBUCxJQUEyQixPQUFPLFlBQVAsRUFBcUIsTUFBTSxlQUFOLEdBQXBEO09BTEY7Ozs7K0JBU1MsV0FBc0Isb0JBQTJCO0FBQzFELGNBQVEsU0FBUjtBQUNBLGFBQUssSUFBTDtBQUNFLGNBQUksS0FBSyx3QkFBTCxJQUFpQyxJQUFqQyxJQUF5QyxLQUFLLHdCQUFMLElBQWlDLENBQWpDLEVBQW9DO0FBQy9FLGlCQUFLLGlCQUFMLENBQXVCLEtBQUssVUFBTCxDQUFnQixNQUFoQixHQUF1QixDQUF2QixFQUEwQixJQUFqRCxFQUF1RCxTQUF2RCxFQUFrRSxrQkFBbEUsRUFEK0U7V0FBakYsTUFFTztBQUNMLGlCQUFLLGlCQUFMLENBQXVCLEtBQUssd0JBQUwsR0FBOEIsQ0FBOUIsRUFBaUMsSUFBeEQsRUFBOEQsU0FBOUQsRUFBeUUsa0JBQXpFLEVBREs7V0FGUDtBQUtBLGdCQU5GO0FBREEsYUFRSyxNQUFMO0FBQ0UsY0FBSSxLQUFLLHdCQUFMLElBQWlDLElBQWpDLElBQXlDLEtBQUssd0JBQUwsSUFBaUMsS0FBSyxVQUFMLENBQWdCLE1BQWhCLEdBQXVCLENBQXZCLEVBQTBCO0FBQ3RHLGlCQUFLLGlCQUFMLENBQXVCLENBQXZCLEVBQTBCLElBQTFCLEVBQWdDLFNBQWhDLEVBQTJDLGtCQUEzQyxFQURzRztXQUF4RyxNQUVPO0FBQ0wsaUJBQUssaUJBQUwsQ0FBdUIsS0FBSyx3QkFBTCxHQUE4QixDQUE5QixFQUFpQyxJQUF4RCxFQUE4RCxTQUE5RCxFQUF5RSxrQkFBekUsRUFESztXQUZQO0FBS0EsZ0JBTkY7QUFSQSxPQUQwRDs7Ozs2QkFtQm5EO0FBQ1AsYUFDRTs7O0FBQ0UsdUJBQWE7bUJBQUcsRUFBRSxjQUFGO1dBQUg7QUFDYixnQkFBSyxNQUFMO1NBRkY7UUFJRyxLQUFLLEtBQUwsQ0FBVyxRQUFYO09BTEwsQ0FETzs7O1NBM1RVO0VBQWlCLGdCQUFNLFNBQU47O0FBQWpCLFNBQ1osWUFBWTtBQUNqQixnQkFBYyxpQkFBVSxJQUFWO0FBQ2QsZ0JBQWMsaUJBQVUsSUFBVjtBQUNkLGlCQUFlLGlCQUFVLElBQVY7QUFDZixZQUFVLGlCQUFVLElBQVY7O0FBTE8sU0F1Qlosb0JBQW9CO0FBQ3pCLFlBQVUsZ0JBQU0sU0FBTixDQUFnQixNQUFoQjs7QUF4Qk8sU0EyQlosZUFBZTtBQUNwQixxQkFBbUIsZ0JBQU0sU0FBTixDQUFnQixNQUFoQjs7a0JBNUJGIiwiZmlsZSI6Ik1lbnVMaXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZpbmRET01Ob2RlfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpclN0b3BwZXIgZnJvbSAna2VmaXItc3RvcHBlcic7XG5pbXBvcnQgZmluZEluZGV4IGZyb20gJ2FycmF5LWZpbmQtaW5kZXgnO1xuaW1wb3J0IGZyb21FdmVudHNDYXB0dXJlIGZyb20gJy4vbGliL2Zyb21FdmVudHNDYXB0dXJlJztcblxuaW1wb3J0IE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcbmltcG9ydCB0eXBlIHtQcm9wcyBhcyBNZW51SXRlbVByb3BzfSBmcm9tICcuL01lbnVJdGVtJztcbmltcG9ydCB0eXBlIHtNZW51TGlzdEluc3BlY3RvckNvbnRleHR9IGZyb20gJy4vTWVudUxpc3RJbnNwZWN0b3InO1xuaW1wb3J0IHR5cGUge0RpcmVjdGlvbiwgUmVjdH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFRoaXMgdHlwZSBvZiBvYmplY3QgaXMgZ2l2ZW4gdG8gYSBNZW51SXRlbSB0byB0YWxrIHRvIHRoZSBNZW51TGlzdC5cbmV4cG9ydCB0eXBlIE1lbnVMaXN0SGFuZGxlID0ge1xuICBoaWdobGlnaHQoYnlLZXlib2FyZDogYm9vbGVhbik6IHZvaWQ7XG4gIHVuaGlnaGxpZ2h0KCk6IHZvaWQ7XG4gIG1vdmVDdXJzb3IoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpOiB2b2lkO1xuICBpdGVtQ2hvc2VuKCk6IHZvaWQ7XG4gIHRha2VLZXlib2FyZCgpOiB2b2lkO1xuICByZWxlYXNlS2V5Ym9hcmQoKTogdm9pZDtcbiAgbG9ja0hpZ2hsaWdodCgpOiB2b2lkO1xuICB1bmxvY2tIaWdobGlnaHQoKTogdm9pZDtcbiAgdXBkYXRlUHJvcHMocHJvcHM6IE1lbnVJdGVtUHJvcHMpOiB2b2lkO1xuICB1bnJlZ2lzdGVyKCk6IHZvaWQ7XG59O1xuXG4vLyBUaGlzIHR5cGUgb2Ygb2JqZWN0IGlzIGdpdmVuIHRvIGEgTWVudUxpc3QgdG8gdGFsayB0byBhIE1lbnVJdGVtLlxuZXhwb3J0IHR5cGUgTWVudUl0ZW1Db250cm9sID0ge1xuICBub3RpZnlIaWdobGlnaHRlZChcbiAgICBoaWdobGlnaHRlZDogYm9vbGVhbixcbiAgICBieUtleWJvYXJkOiA/Ym9vbGVhbixcbiAgICBkaXJlY3Rpb246ID9EaXJlY3Rpb24sXG4gICAgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdFxuICApOiB2b2lkO1xuICBub3RpZnlFdmVudChldmVudDogTWVudUV2ZW50KTogdm9pZDtcbn07XG5cbi8vIFRoaXMgaXMgdGhlIHR5cGUgb2YgdGhlIG9iamVjdCB0aGF0IE1lbnVMaXN0IGdpdmVzIGFzIGNvbnRleHQgdG8gaXRzXG4vLyBkZXNjZW5kYW50cy5cbmV4cG9ydCB0eXBlIE1lbnVMaXN0Q29udGV4dCA9IHtcbiAgcmVnaXN0ZXJJdGVtKFxuICAgIHByb3BzOiBNZW51SXRlbVByb3BzLFxuICAgIGNvbnRyb2w6IE1lbnVJdGVtQ29udHJvbCxcbiAgICBlbDogSFRNTEVsZW1lbnRcbiAgKTogTWVudUxpc3RIYW5kbGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51TGlzdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25JdGVtQ2hvc2VuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkxlZnRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmlnaHRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xuXG4gIF9zdG9wcGVyOiBPYmplY3QgPSBrZWZpclN0b3BwZXIoKTtcbiAgX2xpc3RJdGVtczogQXJyYXk8e1xuICAgIHByb3BzOiBNZW51SXRlbVByb3BzO1xuICAgIGNvbnRyb2w6IE1lbnVJdGVtQ29udHJvbDtcbiAgfT4gPSBbXTtcblxuICBfbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXg6ID9udW1iZXI7XG4gIF9sb2NrZWRIaWdobGlnaHRlZEluZGV4OiA/bnVtYmVyO1xuICBfa2V5Ym9hcmRUYWtlbkJ5SW5kZXg6ID9udW1iZXI7XG5cbiAgX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCk6ID9udW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgP1xuICAgICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA6IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4O1xuICB9XG5cbiAgc3RhdGljIGNoaWxkQ29udGV4dFR5cGVzID0ge1xuICAgIG1lbnVMaXN0OiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0XG4gIH07XG5cbiAgc3RhdGljIGNvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdEluc3BlY3RvcjogUmVhY3QuUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIGdldENoaWxkQ29udGV4dCgpOiBPYmplY3Qge1xuICAgIGNvbnN0IG1lbnVMaXN0OiBNZW51TGlzdENvbnRleHQgPSB7XG4gICAgICByZWdpc3Rlckl0ZW06IChwcm9wcywgY29udHJvbCwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHtwcm9wcywgY29udHJvbCwgZWx9O1xuXG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyID0gKCkgPT4ge1xuICAgICAgICAgIGxldCBpID0gLTE7XG4gICAgICAgICAgaWYgKGl0ZW0ucHJvcHMuaW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgaSA9IGZpbmRJbmRleChcbiAgICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLFxuICAgICAgICAgICAgICBfaXRlbSA9PlxuICAgICAgICAgICAgICAgIChpdGVtLmVsLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKF9pdGVtLmVsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORykgPT09IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGkgPSBmaW5kSW5kZXgoXG4gICAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcyxcbiAgICAgICAgICAgICAgX2l0ZW0gPT4gX2l0ZW0ucHJvcHMuaW5kZXggIT0gbnVsbCAmJiBpdGVtLnByb3BzLmluZGV4IDwgX2l0ZW0ucHJvcHMuaW5kZXhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcy5zcGxpY2UoaSwgMCwgaXRlbSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPD0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJlZ2lzdGVyKCk7XG5cbiAgICAgICAgY29uc3QgbWVudUxpc3RIYW5kbGU6IE1lbnVMaXN0SGFuZGxlID0ge1xuICAgICAgICAgIGhpZ2hsaWdodDogKGJ5S2V5Ym9hcmQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodChpLCBieUtleWJvYXJkKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHVuaGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KG51bGwsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGl0ZW1DaG9zZW46ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbmV3IENob3NlbkV2ZW50KCdjaG9zZW4nLCBmYWxzZSkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdGFrZUtleWJvYXJkOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID0gaTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlbGVhc2VLZXlib2FyZDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbG9ja0hpZ2hsaWdodDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICB0aGlzLl9sb2NrSGlnaGxpZ2h0KGkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdW5sb2NrSGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tIaWdobGlnaHQobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBtb3ZlQ3Vyc29yOiAoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW92ZUN1cnNvcihkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1cGRhdGVQcm9wczogKG5ld1Byb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5wcm9wcy5pbmRleCAhPT0gbmV3UHJvcHMuaW5kZXgpIHtcbiAgICAgICAgICAgICAgbWVudUxpc3RIYW5kbGUudW5yZWdpc3RlcigpO1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHJlZ2lzdGVyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1bnJlZ2lzdGVyOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaSA9PT0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPCB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIG1lbnVMaXN0SGFuZGxlO1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHttZW51TGlzdH07XG4gIH1cblxuICBfcGFyZW50Q3R4KCk6ID9NZW51TGlzdEluc3BlY3RvckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQubWVudUxpc3RJbnNwZWN0b3I7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCBpc0VudGVyT3JBcnJvd0tleSA9IGUgPT5cbiAgICAgIChlLndoaWNoID09PSAxMykgfHwgKDM3IDw9IGUud2hpY2ggJiYgZS53aGljaCA8PSA0MCk7XG4gICAgY29uc3QgZWwgPSBmaW5kRE9NTm9kZSh0aGlzKTtcblxuICAgIC8vIFRoZSBvbmx5IHRoaW5ncyB0aGF0IHNob3VsZCByZWNlaXZlIGtleWRvd24va2V5cHJlc3MgZXZlbnRzIGJlZm9yZSB1c1xuICAgIC8vIGFyZSBvdXIgY2hpbGRyZW4uIFRoaXMgYWxsb3dzIGEgTWVudUl0ZW0gdG8gY29udGFpbiBhIHRleHQgaW5wdXRcbiAgICAvLyB3aGljaCBzZWxlY3RpdmVseSBzdG9wcyBwcm9wYWdhdGlvbiBvbiBrZXkgZXZlbnRzIGZvciBleGFtcGxlLlxuICAgIEtlZmlyLm1lcmdlKFtcbiAgICAgIEtlZmlyLmZyb21FdmVudHMod2luZG93LCAna2V5ZG93bicpLmZpbHRlcihpc0VudGVyT3JBcnJvd0tleSlcbiAgICAgICAgLmZpbHRlcihlID0+IGVsLmNvbnRhaW5zKGUudGFyZ2V0KSksXG4gICAgICBmcm9tRXZlbnRzQ2FwdHVyZSh3aW5kb3csICdrZXlkb3duJykuZmlsdGVyKGlzRW50ZXJPckFycm93S2V5KVxuICAgICAgICAuZmlsdGVyKGUgPT4gIWVsLmNvbnRhaW5zKGUudGFyZ2V0KSlcbiAgICBdKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAub25WYWx1ZShldmVudCA9PiB0aGlzLl9rZXkoZXZlbnQpKTtcblxuICAgIGNvbnN0IHBhcmVudEN0eCA9IHRoaXMuX3BhcmVudEN0eCgpO1xuICAgIGlmIChwYXJlbnRDdHgpIHtcbiAgICAgIHBhcmVudEN0eC5yZWdpc3Rlck1lbnVMaXN0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX3N0b3BwZXIuZGVzdHJveSgpO1xuXG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LnVucmVnaXN0ZXJNZW51TGlzdCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBfbmF0dXJhbEhpZ2hsaWdodChpbmRleDogP251bWJlciwgYnlLZXlib2FyZDogYm9vbGVhbiwgZGlyZWN0aW9uOiA/RGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgY29uc3QgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuXG4gICAgaWYgKHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBieUtleWJvYXJkKSB7XG4gICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPSBpbmRleDtcbiAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsKSB7XG4gICAgICBpZiAoaW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbaW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgYnlLZXlib2FyZCwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gaW5kZXgpIHtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zW3Zpc2libGVIaWdobGlnaHRlZEluZGV4XS5jb250cm9sLm5vdGlmeUhpZ2hsaWdodGVkKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfbG9ja0hpZ2hsaWdodChpbmRleDogP251bWJlcikge1xuICAgIGlmIChpbmRleCA9PT0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkgcmV0dXJuO1xuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcbiAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gaW5kZXg7XG4gICAgY29uc3QgbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIG5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4ID09IG51bGwpIHtcbiAgICAgIC8vIFdoZW4gdW5sb2NraW5nLCBwcmVmZXIgdG8ga2VlcCB0aGUgY3VycmVudCBzZWxlY3Rpb24gb3ZlciBkZS1zZWxlY3RpbmdcbiAgICAgIC8vIGV2ZXJ5dGhpbmcuXG4gICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IHZpc2libGVIaWdobGlnaHRlZEluZGV4O1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgpIHtcbiAgICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZChmYWxzZSk7XG4gICAgICB9XG4gICAgICBpZiAobmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgZmFsc2UpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZCh0cnVlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX2Rpc3BhdGNoRXZlbnQoY29udHJvbDogP01lbnVJdGVtQ29udHJvbCwgZXZlbnQ6IE1lbnVFdmVudCkge1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb250cm9sLm5vdGlmeUV2ZW50KGV2ZW50KTtcbiAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgY2FzZSAnY2hvc2VuJzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uSXRlbUNob3NlbikgdGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4oZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgLy8gY2FzZSAndXAnOlxuICAgIC8vICAgYnJlYWs7XG4gICAgLy8gY2FzZSAnZG93bic6XG4gICAgLy8gICBicmVhaztcbiAgICBjYXNlICdsZWZ0JzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uTGVmdFB1c2hlZCkgdGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQoZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgaWYgKHRoaXMucHJvcHMub25SaWdodFB1c2hlZCkgdGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKGV2ZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY2FuY2VsQnViYmxlKSByZXR1cm47XG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9rZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcblxuICAgIC8vIGVudGVyLCBsZWZ0LCByaWdodCBhY3RpdmF0ZSBmb3IgdGhlIGN1cnJlbnQgdmlzaWJseSBzZWxlY3RlZCBpdGVtLlxuICAgIC8vIHVwIGFuZCBkb3duIGRlLWFjdGl2YXRlIGFueSBsb2NrcyBpbiBwbGFjZSwgc28gdGhhdCB0aGV5IGFjdCBmcm9tIHRoZSBsYXN0XG4gICAgLy8gbmF0dXJhbGx5LXNlbGVjdGVkIGl0ZW0uXG5cbiAgICBsZXQgbUV2ZW50ID0gbnVsbDtcblxuICAgIHN3aXRjaCAoZXZlbnQud2hpY2gpIHtcbiAgICBjYXNlIDEzOiAvL2VudGVyXG4gICAgICBtRXZlbnQgPSBuZXcgQ2hvc2VuRXZlbnQoJ2Nob3NlbicsIHRydWUpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzNzogLy9sZWZ0XG4gICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdsZWZ0Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIDM5OiAvL3JpZ2h0XG4gICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdyaWdodCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzODogLy91cFxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5tb3ZlQ3Vyc29yKCd1cCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA0MDogLy9kb3duXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChtRXZlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsID8gbnVsbCA6XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbDtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbUV2ZW50KTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCBtRXZlbnQuY2FuY2VsQnViYmxlKSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlQ3Vyc29yKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICBjYXNlICd1cCc6XG4gICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gbnVsbCB8fCB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PSAwKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQodGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LTEsIHRydWUsIGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID09IG51bGwgfHwgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gdGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQoMCwgdHJ1ZSwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodCh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCsxLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgb25Nb3VzZURvd249e2U9PmUucHJldmVudERlZmF1bHQoKX1cbiAgICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgPlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,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O0FBQWpCLFNBQ1osWUFBWTtBQUNqQixnQkFBYyxpQkFBVSxJQUFWO0FBQ2QsZ0JBQWMsaUJBQVUsSUFBVjtBQUNkLGlCQUFlLGlCQUFVLElBQVY7QUFDZixZQUFVLGlCQUFVLElBQVY7O0FBTE8sU0F1Qlosb0JBQW9CO0FBQ3pCLFlBQVUsZ0JBQU0sU0FBTixDQUFnQixNQUFoQjs7QUF4Qk8sU0EyQlosZUFBZTtBQUNwQixxQkFBbUIsZ0JBQU0sU0FBTixDQUFnQixNQUFoQjs7a0JBNUJGIiwiZmlsZSI6Ik1lbnVMaXN0LmpzIiwic291cmNlc0NvbnRlbnQiOlsiLyogQGZsb3cgKi9cblxuaW1wb3J0IFJlYWN0LCB7UHJvcFR5cGVzfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQge2ZpbmRET01Ob2RlfSBmcm9tICdyZWFjdC1kb20nO1xuaW1wb3J0IEtlZmlyIGZyb20gJ2tlZmlyJztcbmltcG9ydCBrZWZpclN0b3BwZXIgZnJvbSAna2VmaXItc3RvcHBlcic7XG5pbXBvcnQgZmluZEluZGV4IGZyb20gJ2FycmF5LWZpbmQtaW5kZXgnO1xuaW1wb3J0IGZyb21FdmVudHNDYXB0dXJlIGZyb20gJy4vbGliL2Zyb21FdmVudHNDYXB0dXJlJztcblxuaW1wb3J0IE1lbnVFdmVudCBmcm9tICcuL2V2ZW50cy9NZW51RXZlbnQnO1xuaW1wb3J0IENob3NlbkV2ZW50IGZyb20gJy4vZXZlbnRzL0Nob3NlbkV2ZW50JztcbmltcG9ydCB0eXBlIHtQcm9wcyBhcyBNZW51SXRlbVByb3BzfSBmcm9tICcuL01lbnVJdGVtJztcbmltcG9ydCB0eXBlIHtNZW51TGlzdEluc3BlY3RvckNvbnRleHR9IGZyb20gJy4vTWVudUxpc3RJbnNwZWN0b3InO1xuaW1wb3J0IHR5cGUge0RpcmVjdGlvbiwgUmVjdH0gZnJvbSAnLi90eXBlcyc7XG5cbi8vIFRoaXMgdHlwZSBvZiBvYmplY3QgaXMgZ2l2ZW4gdG8gYSBNZW51SXRlbSB0byB0YWxrIHRvIHRoZSBNZW51TGlzdC5cbmV4cG9ydCB0eXBlIE1lbnVMaXN0SGFuZGxlID0ge1xuICBoaWdobGlnaHQoYnlLZXlib2FyZDogYm9vbGVhbik6IHZvaWQ7XG4gIHVuaGlnaGxpZ2h0KCk6IHZvaWQ7XG4gIG1vdmVDdXJzb3IoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpOiB2b2lkO1xuICBpdGVtQ2hvc2VuKCk6IHZvaWQ7XG4gIHRha2VLZXlib2FyZCgpOiB2b2lkO1xuICByZWxlYXNlS2V5Ym9hcmQoKTogdm9pZDtcbiAgbG9ja0hpZ2hsaWdodCgpOiB2b2lkO1xuICB1bmxvY2tIaWdobGlnaHQoKTogdm9pZDtcbiAgdXBkYXRlUHJvcHMocHJvcHM6IE1lbnVJdGVtUHJvcHMpOiB2b2lkO1xuICB1bnJlZ2lzdGVyKCk6IHZvaWQ7XG59O1xuXG4vLyBUaGlzIHR5cGUgb2Ygb2JqZWN0IGlzIGdpdmVuIHRvIGEgTWVudUxpc3QgdG8gdGFsayB0byBhIE1lbnVJdGVtLlxuZXhwb3J0IHR5cGUgTWVudUl0ZW1Db250cm9sID0ge1xuICBub3RpZnlIaWdobGlnaHRlZChcbiAgICBoaWdobGlnaHRlZDogYm9vbGVhbixcbiAgICBieUtleWJvYXJkOiA/Ym9vbGVhbixcbiAgICBkaXJlY3Rpb246ID9EaXJlY3Rpb24sXG4gICAgcHJldkN1cnNvckxvY2F0aW9uOiA/UmVjdFxuICApOiB2b2lkO1xuICBub3RpZnlFdmVudChldmVudDogTWVudUV2ZW50KTogdm9pZDtcbn07XG5cbi8vIFRoaXMgaXMgdGhlIHR5cGUgb2YgdGhlIG9iamVjdCB0aGF0IE1lbnVMaXN0IGdpdmVzIGFzIGNvbnRleHQgdG8gaXRzXG4vLyBkZXNjZW5kYW50cy5cbmV4cG9ydCB0eXBlIE1lbnVMaXN0Q29udGV4dCA9IHtcbiAgcmVnaXN0ZXJJdGVtKFxuICAgIHByb3BzOiBNZW51SXRlbVByb3BzLFxuICAgIGNvbnRyb2w6IE1lbnVJdGVtQ29udHJvbCxcbiAgICBlbDogSFRNTEVsZW1lbnRcbiAgKTogTWVudUxpc3RIYW5kbGU7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjbGFzcyBNZW51TGlzdCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudCB7XG4gIHN0YXRpYyBwcm9wVHlwZXMgPSB7XG4gICAgb25JdGVtQ2hvc2VuOiBQcm9wVHlwZXMuZnVuYyxcbiAgICBvbkxlZnRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIG9uUmlnaHRQdXNoZWQ6IFByb3BUeXBlcy5mdW5jLFxuICAgIGNoaWxkcmVuOiBQcm9wVHlwZXMubm9kZVxuICB9O1xuXG4gIF9zdG9wcGVyOiBPYmplY3QgPSBrZWZpclN0b3BwZXIoKTtcbiAgX2xpc3RJdGVtczogQXJyYXk8e1xuICAgIHByb3BzOiBNZW51SXRlbVByb3BzO1xuICAgIGNvbnRyb2w6IE1lbnVJdGVtQ29udHJvbDtcbiAgfT4gPSBbXTtcblxuICBfbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXg6ID9udW1iZXI7XG4gIF9sb2NrZWRIaWdobGlnaHRlZEluZGV4OiA/bnVtYmVyO1xuICBfa2V5Ym9hcmRUYWtlbkJ5SW5kZXg6ID9udW1iZXI7XG5cbiAgX2dldFZpc2libGVIaWdobGlnaHRlZEluZGV4KCk6ID9udW1iZXIge1xuICAgIHJldHVybiB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgP1xuICAgICAgdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA6IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4O1xuICB9XG5cbiAgc3RhdGljIGNoaWxkQ29udGV4dFR5cGVzID0ge1xuICAgIG1lbnVMaXN0OiBSZWFjdC5Qcm9wVHlwZXMub2JqZWN0XG4gIH07XG5cbiAgc3RhdGljIGNvbnRleHRUeXBlcyA9IHtcbiAgICBtZW51TGlzdEluc3BlY3RvcjogUmVhY3QuUHJvcFR5cGVzLm9iamVjdFxuICB9O1xuXG4gIGdldENoaWxkQ29udGV4dCgpOiBPYmplY3Qge1xuICAgIGNvbnN0IG1lbnVMaXN0OiBNZW51TGlzdENvbnRleHQgPSB7XG4gICAgICByZWdpc3Rlckl0ZW06IChwcm9wcywgY29udHJvbCwgZWwpID0+IHtcbiAgICAgICAgY29uc3QgaXRlbSA9IHtwcm9wcywgY29udHJvbCwgZWx9O1xuXG4gICAgICAgIGNvbnN0IHJlZ2lzdGVyID0gKCkgPT4ge1xuICAgICAgICAgIGxldCBpID0gLTE7XG4gICAgICAgICAgaWYgKGl0ZW0ucHJvcHMuaW5kZXggPT0gbnVsbCkge1xuICAgICAgICAgICAgaSA9IGZpbmRJbmRleChcbiAgICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLFxuICAgICAgICAgICAgICBfaXRlbSA9PlxuICAgICAgICAgICAgICAgIChpdGVtLmVsLmNvbXBhcmVEb2N1bWVudFBvc2l0aW9uKF9pdGVtLmVsKSZOb2RlLkRPQ1VNRU5UX1BPU0lUSU9OX1BSRUNFRElORykgPT09IDBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIGkgPSBmaW5kSW5kZXgoXG4gICAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcyxcbiAgICAgICAgICAgICAgX2l0ZW0gPT4gX2l0ZW0ucHJvcHMuaW5kZXggIT0gbnVsbCAmJiBpdGVtLnByb3BzLmluZGV4IDwgX2l0ZW0ucHJvcHMuaW5kZXhcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGlmIChpIDwgMCkge1xuICAgICAgICAgICAgdGhpcy5fbGlzdEl0ZW1zLnB1c2goaXRlbSk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHRoaXMuX2xpc3RJdGVtcy5zcGxpY2UoaSwgMCwgaXRlbSk7XG4gICAgICAgICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPD0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCAmJiBpIDw9IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4Kys7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9O1xuXG4gICAgICAgIHJlZ2lzdGVyKCk7XG5cbiAgICAgICAgY29uc3QgbWVudUxpc3RIYW5kbGU6IE1lbnVMaXN0SGFuZGxlID0ge1xuICAgICAgICAgIGhpZ2hsaWdodDogKGJ5S2V5Ym9hcmQ6IGJvb2xlYW4pID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGkgPSB0aGlzLl9saXN0SXRlbXMuaW5kZXhPZihpdGVtKTtcbiAgICAgICAgICAgIGlmIChpIDwgMCkgdGhyb3cgbmV3IEVycm9yKCdBbHJlYWR5IHVucmVnaXN0ZXJlZCBNZW51SXRlbScpO1xuICAgICAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodChpLCBieUtleWJvYXJkKTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHVuaGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PT0gaSkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KG51bGwsIGZhbHNlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9LFxuICAgICAgICAgIGl0ZW1DaG9zZW46ICgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbmV3IENob3NlbkV2ZW50KCdjaG9zZW4nLCBmYWxzZSkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdGFrZUtleWJvYXJkOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ID0gaTtcbiAgICAgICAgICB9LFxuICAgICAgICAgIHJlbGVhc2VLZXlib2FyZDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPT09IGkpIHtcbiAgICAgICAgICAgICAgdGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggPSBudWxsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH0sXG4gICAgICAgICAgbG9ja0hpZ2hsaWdodDogKCkgPT4ge1xuICAgICAgICAgICAgY29uc3QgaSA9IHRoaXMuX2xpc3RJdGVtcy5pbmRleE9mKGl0ZW0pO1xuICAgICAgICAgICAgaWYgKGkgPCAwKSB0aHJvdyBuZXcgRXJyb3IoJ0FscmVhZHkgdW5yZWdpc3RlcmVkIE1lbnVJdGVtJyk7XG4gICAgICAgICAgICB0aGlzLl9sb2NrSGlnaGxpZ2h0KGkpO1xuICAgICAgICAgIH0sXG4gICAgICAgICAgdW5sb2NrSGlnaGxpZ2h0OiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmICh0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID09PSBpKSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tIaWdobGlnaHQobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICBtb3ZlQ3Vyc29yOiAoZGlyZWN0aW9uOiBEaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbjogP1JlY3QpID0+IHtcbiAgICAgICAgICAgIHRoaXMubW92ZUN1cnNvcihkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1cGRhdGVQcm9wczogKG5ld1Byb3BzOiBNZW51SXRlbVByb3BzKSA9PiB7XG4gICAgICAgICAgICBpZiAoaXRlbS5wcm9wcy5pbmRleCAhPT0gbmV3UHJvcHMuaW5kZXgpIHtcbiAgICAgICAgICAgICAgbWVudUxpc3RIYW5kbGUudW5yZWdpc3RlcigpO1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICAgIHJlZ2lzdGVyKCk7XG4gICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICBwcm9wcyA9IG5ld1Byb3BzO1xuICAgICAgICAgICAgICBpdGVtLnByb3BzID0gbmV3UHJvcHM7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB1bnJlZ2lzdGVyOiAoKSA9PiB7XG4gICAgICAgICAgICBjb25zdCBpID0gdGhpcy5fbGlzdEl0ZW1zLmluZGV4T2YoaXRlbSk7XG4gICAgICAgICAgICBpZiAoaSA8IDApIHRocm93IG5ldyBFcnJvcignQWxyZWFkeSB1bnJlZ2lzdGVyZWQgTWVudUl0ZW0nKTtcbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBpZiAoaSA9PT0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIGkgPCB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXgtLTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGlmIChpID09PSB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCkge1xuICAgICAgICAgICAgICB0aGlzLl9rZXlib2FyZFRha2VuQnlJbmRleCA9IG51bGw7XG4gICAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4ICE9IG51bGwgJiYgaSA8IHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4KSB7XG4gICAgICAgICAgICAgIHRoaXMuX2tleWJvYXJkVGFrZW5CeUluZGV4LS07XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB0aGlzLl9saXN0SXRlbXMuc3BsaWNlKGksIDEpO1xuICAgICAgICAgIH1cbiAgICAgICAgfTtcbiAgICAgICAgcmV0dXJuIG1lbnVMaXN0SGFuZGxlO1xuICAgICAgfVxuICAgIH07XG4gICAgcmV0dXJuIHttZW51TGlzdH07XG4gIH1cblxuICBfcGFyZW50Q3R4KCk6ID9NZW51TGlzdEluc3BlY3RvckNvbnRleHQge1xuICAgIHJldHVybiB0aGlzLmNvbnRleHQubWVudUxpc3RJbnNwZWN0b3I7XG4gIH1cblxuICBjb21wb25lbnREaWRNb3VudCgpIHtcbiAgICBjb25zdCBpc0VudGVyT3JBcnJvd0tleSA9IGUgPT5cbiAgICAgIChlLndoaWNoID09PSAxMykgfHwgKDM3IDw9IGUud2hpY2ggJiYgZS53aGljaCA8PSA0MCk7XG4gICAgY29uc3QgZWwgPSBmaW5kRE9NTm9kZSh0aGlzKTtcblxuICAgIC8vIFRoZSBvbmx5IHRoaW5ncyB0aGF0IHNob3VsZCByZWNlaXZlIGtleWRvd24va2V5cHJlc3MgZXZlbnRzIGJlZm9yZSB1c1xuICAgIC8vIGFyZSBvdXIgY2hpbGRyZW4uIFRoaXMgYWxsb3dzIGEgTWVudUl0ZW0gdG8gY29udGFpbiBhIHRleHQgaW5wdXRcbiAgICAvLyB3aGljaCBzZWxlY3RpdmVseSBzdG9wcyBwcm9wYWdhdGlvbiBvbiBrZXkgZXZlbnRzIGZvciBleGFtcGxlLlxuICAgIEtlZmlyLm1lcmdlKFtcbiAgICAgIEtlZmlyLmZyb21FdmVudHMod2luZG93LCAna2V5ZG93bicpLmZpbHRlcihpc0VudGVyT3JBcnJvd0tleSlcbiAgICAgICAgLmZpbHRlcihlID0+IGVsLmNvbnRhaW5zKGUudGFyZ2V0KSksXG4gICAgICBmcm9tRXZlbnRzQ2FwdHVyZSh3aW5kb3csICdrZXlkb3duJykuZmlsdGVyKGlzRW50ZXJPckFycm93S2V5KVxuICAgICAgICAuZmlsdGVyKGUgPT4gIWVsLmNvbnRhaW5zKGUudGFyZ2V0KSlcbiAgICBdKVxuICAgICAgLnRha2VVbnRpbEJ5KHRoaXMuX3N0b3BwZXIpXG4gICAgICAub25WYWx1ZShldmVudCA9PiB0aGlzLl9rZXkoZXZlbnQpKTtcblxuICAgIGNvbnN0IHBhcmVudEN0eCA9IHRoaXMuX3BhcmVudEN0eCgpO1xuICAgIGlmIChwYXJlbnRDdHgpIHtcbiAgICAgIHBhcmVudEN0eC5yZWdpc3Rlck1lbnVMaXN0KHRoaXMpO1xuICAgIH1cbiAgfVxuXG4gIGNvbXBvbmVudFdpbGxVbm1vdW50KCkge1xuICAgIHRoaXMuX3N0b3BwZXIuZGVzdHJveSgpO1xuXG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LnVucmVnaXN0ZXJNZW51TGlzdCh0aGlzKTtcbiAgICB9XG4gIH1cblxuICBfbmF0dXJhbEhpZ2hsaWdodChpbmRleDogP251bWJlciwgYnlLZXlib2FyZDogYm9vbGVhbiwgZGlyZWN0aW9uOiA/RGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgY29uc3QgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuXG4gICAgaWYgKHRoaXMuX2xvY2tlZEhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCAmJiBieUtleWJvYXJkKSB7XG4gICAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gbnVsbDtcbiAgICB9XG4gICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPSBpbmRleDtcbiAgICBpZiAodGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsKSB7XG4gICAgICBpZiAoaW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbaW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgYnlLZXlib2FyZCwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfVxuICAgICAgaWYgKHZpc2libGVIaWdobGlnaHRlZEluZGV4ICE9IG51bGwgJiYgdmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gaW5kZXgpIHtcbiAgICAgICAgdGhpcy5fbGlzdEl0ZW1zW3Zpc2libGVIaWdobGlnaHRlZEluZGV4XS5jb250cm9sLm5vdGlmeUhpZ2hsaWdodGVkKGZhbHNlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBfbG9ja0hpZ2hsaWdodChpbmRleDogP251bWJlcikge1xuICAgIGlmIChpbmRleCA9PT0gdGhpcy5fbG9ja2VkSGlnaGxpZ2h0ZWRJbmRleCkgcmV0dXJuO1xuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcbiAgICB0aGlzLl9sb2NrZWRIaWdobGlnaHRlZEluZGV4ID0gaW5kZXg7XG4gICAgY29uc3QgbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggPSB0aGlzLl9nZXRWaXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCgpO1xuICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsICYmIG5ld1Zpc2libGVIaWdobGlnaHRlZEluZGV4ID09IG51bGwpIHtcbiAgICAgIC8vIFdoZW4gdW5sb2NraW5nLCBwcmVmZXIgdG8ga2VlcCB0aGUgY3VycmVudCBzZWxlY3Rpb24gb3ZlciBkZS1zZWxlY3RpbmdcbiAgICAgIC8vIGV2ZXJ5dGhpbmcuXG4gICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9IHZpc2libGVIaWdobGlnaHRlZEluZGV4O1xuICAgIH0gZWxzZSBpZiAodmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgpIHtcbiAgICAgIGlmICh2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZChmYWxzZSk7XG4gICAgICB9XG4gICAgICBpZiAobmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXggIT0gbnVsbCkge1xuICAgICAgICB0aGlzLl9saXN0SXRlbXNbbmV3VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXhdLmNvbnRyb2wubm90aWZ5SGlnaGxpZ2h0ZWQodHJ1ZSwgZmFsc2UpO1xuICAgICAgfSBlbHNlIGlmICh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCAhPSBudWxsKSB7XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbC5ub3RpZnlIaWdobGlnaHRlZCh0cnVlLCBmYWxzZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgX2Rpc3BhdGNoRXZlbnQoY29udHJvbDogP01lbnVJdGVtQ29udHJvbCwgZXZlbnQ6IE1lbnVFdmVudCkge1xuICAgIGlmIChjb250cm9sKSB7XG4gICAgICBjb250cm9sLm5vdGlmeUV2ZW50KGV2ZW50KTtcbiAgICAgIGlmIChldmVudC5jYW5jZWxCdWJibGUpIHJldHVybjtcbiAgICB9XG4gICAgc3dpdGNoIChldmVudC50eXBlKSB7XG4gICAgY2FzZSAnY2hvc2VuJzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uSXRlbUNob3NlbikgdGhpcy5wcm9wcy5vbkl0ZW1DaG9zZW4oZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgLy8gY2FzZSAndXAnOlxuICAgIC8vICAgYnJlYWs7XG4gICAgLy8gY2FzZSAnZG93bic6XG4gICAgLy8gICBicmVhaztcbiAgICBjYXNlICdsZWZ0JzpcbiAgICAgIGlmICh0aGlzLnByb3BzLm9uTGVmdFB1c2hlZCkgdGhpcy5wcm9wcy5vbkxlZnRQdXNoZWQoZXZlbnQpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAncmlnaHQnOlxuICAgICAgaWYgKHRoaXMucHJvcHMub25SaWdodFB1c2hlZCkgdGhpcy5wcm9wcy5vblJpZ2h0UHVzaGVkKGV2ZW50KTtcbiAgICAgIGJyZWFrO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuY2FuY2VsQnViYmxlKSByZXR1cm47XG4gICAgY29uc3QgcGFyZW50Q3R4ID0gdGhpcy5fcGFyZW50Q3R4KCk7XG4gICAgaWYgKHBhcmVudEN0eCkge1xuICAgICAgcGFyZW50Q3R4LmRpc3BhdGNoRXZlbnQoZXZlbnQpO1xuICAgIH1cbiAgfVxuXG4gIF9rZXkoZXZlbnQ6IEtleWJvYXJkRXZlbnQpIHtcbiAgICBpZiAodGhpcy5fa2V5Ym9hcmRUYWtlbkJ5SW5kZXggIT0gbnVsbCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHZpc2libGVIaWdobGlnaHRlZEluZGV4ID0gdGhpcy5fZ2V0VmlzaWJsZUhpZ2hsaWdodGVkSW5kZXgoKTtcblxuICAgIC8vIGVudGVyLCBsZWZ0LCByaWdodCBhY3RpdmF0ZSBmb3IgdGhlIGN1cnJlbnQgdmlzaWJseSBzZWxlY3RlZCBpdGVtLlxuICAgIC8vIHVwIGFuZCBkb3duIGRlLWFjdGl2YXRlIGFueSBsb2NrcyBpbiBwbGFjZSwgc28gdGhhdCB0aGV5IGFjdCBmcm9tIHRoZSBsYXN0XG4gICAgLy8gbmF0dXJhbGx5LXNlbGVjdGVkIGl0ZW0uXG5cbiAgICBsZXQgbUV2ZW50ID0gbnVsbDtcblxuICAgIHN3aXRjaCAoZXZlbnQud2hpY2gpIHtcbiAgICBjYXNlIDEzOiAvL2VudGVyXG4gICAgICBtRXZlbnQgPSBuZXcgQ2hvc2VuRXZlbnQoJ2Nob3NlbicsIHRydWUpO1xuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzNzogLy9sZWZ0XG4gICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdsZWZ0Jyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlIDM5OiAvL3JpZ2h0XG4gICAgICBtRXZlbnQgPSBuZXcgTWVudUV2ZW50KCdyaWdodCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAzODogLy91cFxuICAgICAgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuICAgICAgdGhpcy5tb3ZlQ3Vyc29yKCd1cCcpO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSA0MDogLy9kb3duXG4gICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XG4gICAgICB0aGlzLm1vdmVDdXJzb3IoJ2Rvd24nKTtcbiAgICAgIGJyZWFrO1xuICAgIH1cblxuICAgIGlmIChtRXZlbnQpIHtcbiAgICAgIGNvbnN0IGNvbnRyb2wgPSB2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleCA9PSBudWxsID8gbnVsbCA6XG4gICAgICAgIHRoaXMuX2xpc3RJdGVtc1t2aXNpYmxlSGlnaGxpZ2h0ZWRJbmRleF0uY29udHJvbDtcbiAgICAgIHRoaXMuX2Rpc3BhdGNoRXZlbnQoY29udHJvbCwgbUV2ZW50KTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCkgZXZlbnQucHJldmVudERlZmF1bHQoKTtcbiAgICAgIGlmIChtRXZlbnQuZGVmYXVsdFByZXZlbnRlZCB8fCBtRXZlbnQuY2FuY2VsQnViYmxlKSBldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICB9XG4gIH1cblxuICBtb3ZlQ3Vyc29yKGRpcmVjdGlvbjogRGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb246ID9SZWN0KSB7XG4gICAgaWYgKHRoaXMuX2xpc3RJdGVtcy5sZW5ndGggPT0gMCkgcmV0dXJuO1xuXG4gICAgc3dpdGNoIChkaXJlY3Rpb24pIHtcbiAgICBjYXNlICd1cCc6XG4gICAgICBpZiAodGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gbnVsbCB8fCB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCA9PSAwKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQodGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICB0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0KHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4LTEsIHRydWUsIGRpcmVjdGlvbiwgcHJldkN1cnNvckxvY2F0aW9uKTtcbiAgICAgIH1cbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2Rvd24nOlxuICAgICAgaWYgKHRoaXMuX25hdHVyYWxIaWdobGlnaHRlZEluZGV4ID09IG51bGwgfHwgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodGVkSW5kZXggPT0gdGhpcy5fbGlzdEl0ZW1zLmxlbmd0aC0xKSB7XG4gICAgICAgIHRoaXMuX25hdHVyYWxIaWdobGlnaHQoMCwgdHJ1ZSwgZGlyZWN0aW9uLCBwcmV2Q3Vyc29yTG9jYXRpb24pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5fbmF0dXJhbEhpZ2hsaWdodCh0aGlzLl9uYXR1cmFsSGlnaGxpZ2h0ZWRJbmRleCsxLCB0cnVlLCBkaXJlY3Rpb24sIHByZXZDdXJzb3JMb2NhdGlvbik7XG4gICAgICB9XG4gICAgICBicmVhaztcbiAgICB9XG4gIH1cblxuICByZW5kZXIoKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxkaXZcbiAgICAgICAgb25Nb3VzZURvd249e2U9PmUucHJldmVudERlZmF1bHQoKX1cbiAgICAgICAgcm9sZT1cIm1lbnVcIlxuICAgICAgPlxuICAgICAgICB7dGhpcy5wcm9wcy5jaGlsZHJlbn1cbiAgICAgIDwvZGl2PlxuICAgICk7XG4gIH1cbn1cbiJdfQ== |
{ | ||
"name": "react-menu-list", | ||
"version": "2.0.0", | ||
"version": "2.0.1", | ||
"description": "React component for menu lists and submenus", | ||
@@ -5,0 +5,0 @@ "main": "js/index.js", |
Sorry, the diff of this file is not supported yet
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
License Policy Violation
LicenseThis package is not allowed per your license policy. Review the package's license to ensure compliance.
Found 1 instance in 1 package
174213
1297