New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

react-number-textfield

Package Overview
Dependencies
Maintainers
1
Versions
19
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

react-number-textfield - npm Package Compare versions

Comparing version 1.1.1 to 1.2.0

4

build/react-number-textfield.js

@@ -1,2 +0,2 @@

!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t(require("react")):"function"==typeof define&&define.amd?define(["react"],t):"object"==typeof exports?exports.ReactNumberTextfield=t(require("react")):e.ReactNumberTextfield=t(e.react)}(window,function(e){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var o=t[n]={i:n,l:!1,exports:{}};return e[n].call(o.exports,o,o.exports,r),o.l=!0,o.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(t,r){t.exports=e},function(e,t,r){"use strict";r.r(t);var n=r(0);const o={string_value:""};class i extends n.Component{constructor(e){var t;if(super(e),this.state=o,this.handleKeyPress=(e=>{const t=e.charCode;let r=!1;if(!((t=t)>=48&&t<=57)){String.fromCharCode(t)!==this.props.decimal_character?r=!0:(0===this.props.precision||this.state.string_value.indexOf(this.props.decimal_character)>-1)&&(r=!0)}if(r)return e.preventDefault(),e.stopPropagation(),!1}),this.handleChange=(e=>{const t=s(e.target.value,this.props.decimal_character,this.props.group_separator,this.props.precision);this.setState({string_value:t.string_value}),"function"==typeof this.props.didChangeNumber&&this.props.didChangeNumber(t.number_value)}),e.precision<0||e.precision%1!=0)throw new Error("Maximum precision must be a positive integer.")}static derivedStateFromProps(e,t){if("number"==typeof e.number)return s(e.number.toString(),e.decimal_character,e.group_separator,e.precision)}render(){return n.createElement("input",{type:"text",className:this.props.className,value:this.state.string_value,placeholder:this.props.placeholder,onKeyPress:this.handleKeyPress,onChange:this.handleChange})}}function s(e,t,r,n){const o=new RegExp(`[^0-9${i=t,i.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}]+`,"g");var i;let s=e.replace(o,"").replace(t,"."),a=function(e){let t=void 0;const r=e.indexOf(".")>-1;r&&1===e.length&&(e="0"+e);t=r?parseFloat(e):parseInt(e);return t}(s);if(void 0===a||isNaN(a))return console.warn("String could not be represented as a number. Resetting textfield value."),{number_value:void 0,string_value:""};const c=s.indexOf(".")>-1,u=function(e){const t=e.toString().split(".");if(t.length>1)return t[1].length;return 0}(s);if(a%1!=0&&u>n){console.warn("Additional decimal digit will exceed maximum precision.");const e=Math.pow(10,n);a=Math.floor(a*e)/e}return{number_value:a,string_value:s=function(e,t,r,n){const o=e.toString().split("."),i=o[0],s=o.length>1?o[1]:"",a=Math.floor(i.length/3);let c="";if(a>0)for(let e=1;e<=a;e++)c=i.substr(-3*e,3)+(e>1?t+c:"");const u=i.length%3;u>0&&(c=i.substr(0,u)+(c.length>0?t+c:""));n>-1&&(c+=r+s,n>s.length&&(c+=new Array(n-s.length).fill(0).join("")));return c}(a,r,t,c?Math.max(0,Math.min(u,n)):-1)}}i.defaultProps={decimal_character:".",group_separator:",",precision:2},r.d(t,"NumberTextfield",function(){return i})}])});
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWFjdE51bWJlclRleHRmaWVsZC93ZWJwYWNrL3VuaXZlcnNhbE1vZHVsZURlZmluaXRpb24iLCJ3ZWJwYWNrOi8vUmVhY3ROdW1iZXJUZXh0ZmllbGQvd2VicGFjay9ib290c3RyYXAiLCJ3ZWJwYWNrOi8vUmVhY3ROdW1iZXJUZXh0ZmllbGQvZXh0ZXJuYWwgXCJyZWFjdFwiIiwid2VicGFjazovL1JlYWN0TnVtYmVyVGV4dGZpZWxkLy4vc3JjL051bWJlclRleHRmaWVsZC50c3giXSwibmFtZXMiOlsicm9vdCIsImZhY3RvcnkiLCJleHBvcnRzIiwibW9kdWxlIiwicmVxdWlyZSIsImRlZmluZSIsImFtZCIsIndpbmRvdyIsIl9fV0VCUEFDS19FWFRFUk5BTF9NT0RVTEVfXzBfXyIsImluc3RhbGxlZE1vZHVsZXMiLCJfX3dlYnBhY2tfcmVxdWlyZV9fIiwibW9kdWxlSWQiLCJpIiwibCIsIm1vZHVsZXMiLCJjYWxsIiwibSIsImMiLCJkIiwibmFtZSIsImdldHRlciIsIm8iLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImNvbmZpZ3VyYWJsZSIsImVudW1lcmFibGUiLCJnZXQiLCJyIiwidmFsdWUiLCJuIiwiX19lc01vZHVsZSIsIm9iamVjdCIsInByb3BlcnR5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJwIiwicyIsImluaXRpYWxTdGF0ZSIsInN0cmluZ192YWx1ZSIsIk51bWJlclRleHRmaWVsZF9OdW1iZXJUZXh0ZmllbGQiLCJleHRlcm5hbF9yZWFjdF8iLCJbb2JqZWN0IE9iamVjdF0iLCJwcm9wcyIsImNoYXJDb2RlIiwic3VwZXIiLCJ0aGlzIiwic3RhdGUiLCJoYW5kbGVLZXlQcmVzcyIsImUiLCJzaG91bGRDYW5jZWwiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJkZWNpbWFsX2NoYXJhY3RlciIsInByZWNpc2lvbiIsImluZGV4T2YiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImhhbmRsZUNoYW5nZSIsInBhcnNlUmVzdWx0IiwicGFyc2VTdHJpbmciLCJ0YXJnZXQiLCJncm91cF9zZXBhcmF0b3IiLCJzZXRTdGF0ZSIsImRpZENoYW5nZU51bWJlciIsIm51bWJlcl92YWx1ZSIsIkVycm9yIiwibmV4dFByb3BzIiwiY3VyclN0YXRlIiwibnVtYmVyIiwidG9TdHJpbmciLCJ0eXBlIiwiY2xhc3NOYW1lIiwicGxhY2Vob2xkZXIiLCJvbktleVByZXNzIiwib25DaGFuZ2UiLCJkZWNpbWFsQ2hhciIsImdyb3VwQ2hhciIsIm1heFByZWNpc2lvbiIsInNhbml0emVSZWdFeHAiLCJSZWdFeHAiLCJzdHIiLCJyZXBsYWNlIiwic3RyaW5nVmFsdWUiLCJudW1iZXJWYWx1ZSIsInVuZGVmaW5lZCIsImlzRGVjaW1hbCIsImxlbmd0aCIsInBhcnNlRmxvYXQiLCJwYXJzZUludCIsInN0cmluZ1RvTnVtYmVyIiwiaXNOYU4iLCJjb25zb2xlIiwid2FybiIsInN0cmluZ1BhcnRzIiwic3BsaXQiLCJjb3VudERlY2ltYWxQcmVjaXNpb24iLCJyb3VuZGluZ0NvbnN0YW50IiwiTWF0aCIsInBvdyIsImZsb29yIiwic3RyaW5nVmFsdWVQYXJ0cyIsImludGVnZXJTdHJpbmciLCJkZWNpbWFsU3RyaW5nIiwibnVtR3JvdXBzIiwiZm9ybWF0dGVkU3RyaW5nIiwic3Vic3RyIiwiaW50ZWdlclJlbWFpbmRlciIsIkFycmF5IiwiZmlsbCIsImpvaW4iLCJudW1iZXJUb1N0cmluZyIsIm1heCIsIm1pbiIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6IkNBQUEsU0FBQUEsRUFBQUMsR0FDQSxpQkFBQUMsU0FBQSxpQkFBQUMsT0FDQUEsT0FBQUQsUUFBQUQsRUFBQUcsUUFBQSxVQUNBLG1CQUFBQyxlQUFBQyxJQUNBRCxRQUFBLFNBQUFKLEdBQ0EsaUJBQUFDLFFBQ0FBLFFBQUEscUJBQUFELEVBQUFHLFFBQUEsVUFFQUosRUFBQSxxQkFBQUMsRUFBQUQsRUFBQSxPQVJBLENBU0NPLE9BQUEsU0FBQUMsR0FDRCxtQkNUQSxJQUFBQyxLQUdBLFNBQUFDLEVBQUFDLEdBR0EsR0FBQUYsRUFBQUUsR0FDQSxPQUFBRixFQUFBRSxHQUFBVCxRQUdBLElBQUFDLEVBQUFNLEVBQUFFLElBQ0FDLEVBQUFELEVBQ0FFLEdBQUEsRUFDQVgsWUFVQSxPQU5BWSxFQUFBSCxHQUFBSSxLQUFBWixFQUFBRCxRQUFBQyxJQUFBRCxRQUFBUSxHQUdBUCxFQUFBVSxHQUFBLEVBR0FWLEVBQUFELFFBMkNBLE9BdENBUSxFQUFBTSxFQUFBRixFQUdBSixFQUFBTyxFQUFBUixFQUdBQyxFQUFBUSxFQUFBLFNBQUFoQixFQUFBaUIsRUFBQUMsR0FDQVYsRUFBQVcsRUFBQW5CLEVBQUFpQixJQUNBRyxPQUFBQyxlQUFBckIsRUFBQWlCLEdBQ0FLLGNBQUEsRUFDQUMsWUFBQSxFQUNBQyxJQUFBTixLQU1BVixFQUFBaUIsRUFBQSxTQUFBekIsR0FDQW9CLE9BQUFDLGVBQUFyQixFQUFBLGNBQWlEMEIsT0FBQSxLQUlqRGxCLEVBQUFtQixFQUFBLFNBQUExQixHQUNBLElBQUFpQixFQUFBakIsS0FBQTJCLFdBQ0EsV0FBMkIsT0FBQTNCLEVBQUEsU0FDM0IsV0FBaUMsT0FBQUEsR0FFakMsT0FEQU8sRUFBQVEsRUFBQUUsRUFBQSxJQUFBQSxHQUNBQSxHQUlBVixFQUFBVyxFQUFBLFNBQUFVLEVBQUFDLEdBQXNELE9BQUFWLE9BQUFXLFVBQUFDLGVBQUFuQixLQUFBZ0IsRUFBQUMsSUFHdER0QixFQUFBeUIsRUFBQSxHQUlBekIsSUFBQTBCLEVBQUEsbUJDbkVBakMsRUFBQUQsUUFBQU0sa0RDNkRBLE1BTU02QixHQUNMQyxhQUFjLFVBR0RDLFVBQStCQyxFQUFBLFVBeUI1Q0MsWUFBWUMsR0E2TmIsSUFBeUJDLEVBek52QixHQUhBQyxNQUFNRixHQXRCQUcsS0FBQUMsTUFBUVQsRUFnRFJRLEtBQUFFLGVBQWlCLENBQUNDLElBQ3hCLE1BQU1MLEVBQVdLLEVBQUVMLFNBQ25CLElBQUlNLEdBQWUsRUFFbkIsTUE4THVCTixFQTlMRkEsSUErTEgsSUFBTUEsR0FBWSxJQS9MSixDQUNaTyxPQUFPQyxhQUFhUixLQUdwQkUsS0FBS0gsTUFBTVUsa0JBQzdCSCxHQUFlLEdBR2MsSUFBekJKLEtBQUtILE1BQU1XLFdBQW1CUixLQUFLQyxNQUFNUixhQUFhZ0IsUUFBUVQsS0FBS0gsTUFBTVUsb0JBQXNCLEtBQ2xHSCxHQUFlLEdBS2xCLEdBQUlBLEVBR0gsT0FGQUQsRUFBRU8saUJBQ0ZQLEVBQUVRLG1CQUNLLElBU0ZYLEtBQUFZLGFBQWUsQ0FBQ1QsSUFDdEIsTUFBTVUsRUFBY0MsRUFDbkJYLEVBQUVZLE9BQU9oQyxNQUNUaUIsS0FBS0gsTUFBTVUsa0JBQ1hQLEtBQUtILE1BQU1tQixnQkFDWGhCLEtBQUtILE1BQU1XLFdBR1pSLEtBQUtpQixVQUNKeEIsYUFBY29CLEVBQVlwQixlQUdlLG1CQUEvQk8sS0FBS0gsTUFBTXFCLGlCQUNyQmxCLEtBQUtILE1BQU1xQixnQkFBZ0JMLEVBQVlNLGdCQWxFcEN0QixFQUFNVyxVQUFZLEdBQUtYLEVBQU1XLFVBQVksR0FBTSxFQUNsRCxNQUFNLElBQUlZLE1BQU0saURBakJYeEIsNkJBQTZCeUIsRUFBbUJDLEdBQ3RELEdBQWdDLGlCQUFyQkQsRUFBVUUsT0FDcEIsT0FBT1QsRUFDTk8sRUFBVUUsT0FBT0MsV0FDakJILEVBQVVkLGtCQUNWYyxFQUFVTCxnQkFDVkssRUFBVWIsV0FlTlosU0FDTixPQUNDRCxFQUFBLHVCQUNDOEIsS0FBSyxPQUNMQyxVQUFZMUIsS0FBS0gsTUFBTTZCLFVBQ3ZCM0MsTUFBUWlCLEtBQUtDLE1BQU1SLGFBQ25Ca0MsWUFBYzNCLEtBQUtILE1BQU04QixZQUN6QkMsV0FBYTVCLEtBQUtFLGVBQ2xCMkIsU0FBVzdCLEtBQUtZLGdCQWtFcEIsU0FBQUUsRUFBcUIvQixFQUFlK0MsRUFBcUJDLEVBQW1CQyxHQUMzRSxNQUFNQyxFQUFnQixJQUFJQyxlQWlJTEMsRUFqSWtDTCxFQWtJaERLLEVBQUlDLFFBQVEsc0NBQXVDLFlBbElnQixLQWlJM0UsSUFBc0JELEVBaElyQixJQUFJRSxFQUFjdEQsRUFBTXFELFFBQVFILEVBQWUsSUFBSUcsUUFBUU4sRUFBYSxLQUNwRVEsRUF5Q0wsU0FBd0J2RCxHQUN2QixJQUFJdUQsT0FBZ0NDLEVBR3BDLE1BQU1DLEVBQXFCekQsRUFBTTBCLFFBQVEsTUFBUSxFQUk3QytCLEdBQThCLElBQWpCekQsRUFBTTBELFNBQ3RCMUQsRUFBUSxJQUFNQSxHQUtkdUQsRUFER0UsRUFDV0UsV0FBVzNELEdBRVg0RCxTQUFTNUQsR0FHeEIsT0FBT3VELEVBNURXTSxDQUFlUCxHQUdqQyxRQUEyQixJQUFoQkMsR0FBK0JPLE1BQU1QLEdBRS9DLE9BREFRLFFBQVFDLEtBQUssNEVBRVo1QixrQkFBY29CLEVBQ2Q5QyxhQUFjLElBS2hCLE1BQU0rQyxFQUFZSCxFQUFZNUIsUUFBUSxNQUFRLEVBQ3hDRCxFQW1HUCxTQUErQnpCLEdBQzlCLE1BQU1pRSxFQUFjakUsRUFBTXlDLFdBQVd5QixNQUFNLEtBQzNDLEdBQUlELEVBQVlQLE9BQVMsRUFDeEIsT0FBT08sRUFBWSxHQUFHUCxPQUd2QixPQUFPLEVBekdXUyxDQUFzQmIsR0FDeEMsR0FBSUMsRUFBYyxHQUFNLEdBQUs5QixFQUFZd0IsRUFBYyxDQUV0RGMsUUFBUUMsS0FBSywyREFFYixNQUFNSSxFQUFtQkMsS0FBS0MsSUFBSSxHQUFJckIsR0FDdENNLEVBQWNjLEtBQUtFLE1BQU1oQixFQUFjYSxHQUFvQkEsRUFXNUQsT0FDQ2hDLGFBQWNtQixFQUNkN0MsYUFURDRDLEVBbURELFNBQXdCdEQsRUFBZWdELEVBQW1CRCxFQUFxQnRCLEdBQzlFLE1BQU0rQyxFQUFtQnhFLEVBQU15QyxXQUFXeUIsTUFBTSxLQUMxQ08sRUFBZ0JELEVBQWlCLEdBQ2pDRSxFQUFnQkYsRUFBaUJkLE9BQVMsRUFBSWMsRUFBaUIsR0FBSyxHQUNwRUcsRUFBWU4sS0FBS0UsTUFBTUUsRUFBY2YsT0FBUyxHQUNwRCxJQUFJa0IsRUFBMEIsR0FHOUIsR0FBSUQsRUFBWSxFQUNmLElBQUssSUFBSTNGLEVBQUksRUFBR0EsR0FBSzJGLEVBQVczRixJQUMvQjRGLEVBQWtCSCxFQUFjSSxRQUFZLEVBQUw3RixFQUFRLElBQU1BLEVBQUksRUFBSWdFLEVBQVk0QixFQUFrQixJQUs3RixNQUFNRSxFQUFtQkwsRUFBY2YsT0FBUyxFQUM1Q29CLEVBQW1CLElBQ3RCRixFQUFrQkgsRUFBY0ksT0FBTyxFQUFHQyxJQUFxQkYsRUFBZ0JsQixPQUFTLEVBQUlWLEVBQVk0QixFQUFrQixLQUt2SG5ELEdBQWEsSUFDaEJtRCxHQUFtQjdCLEVBQWMyQixFQUM3QmpELEVBQVlpRCxFQUFjaEIsU0FDN0JrQixHQUFtQixJQUFLRyxNQUFNdEQsRUFBWWlELEVBQWNoQixRQUFTc0IsS0FBSyxHQUFHQyxLQUFLLE1BSWhGLE9BQU9MLEVBaEZPTSxDQUNiM0IsRUFDQVAsRUFDQUQsRUFDQVUsRUFBWVksS0FBS2MsSUFBSSxFQUFHZCxLQUFLZSxJQUFJM0QsRUFBV3dCLEtBQWtCLElBeElqRHRDLEVBQUEwRSxjQVhkN0Qsa0JBQW1CLElBQ25CUyxnQkFBaUIsSUFDakJSLFVBQVciLCJmaWxlIjoicmVhY3QtbnVtYmVyLXRleHRmaWVsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIihmdW5jdGlvbiB3ZWJwYWNrVW5pdmVyc2FsTW9kdWxlRGVmaW5pdGlvbihyb290LCBmYWN0b3J5KSB7XG5cdGlmKHR5cGVvZiBleHBvcnRzID09PSAnb2JqZWN0JyAmJiB0eXBlb2YgbW9kdWxlID09PSAnb2JqZWN0Jylcblx0XHRtb2R1bGUuZXhwb3J0cyA9IGZhY3RvcnkocmVxdWlyZShcInJlYWN0XCIpKTtcblx0ZWxzZSBpZih0eXBlb2YgZGVmaW5lID09PSAnZnVuY3Rpb24nICYmIGRlZmluZS5hbWQpXG5cdFx0ZGVmaW5lKFtcInJlYWN0XCJdLCBmYWN0b3J5KTtcblx0ZWxzZSBpZih0eXBlb2YgZXhwb3J0cyA9PT0gJ29iamVjdCcpXG5cdFx0ZXhwb3J0c1tcIlJlYWN0TnVtYmVyVGV4dGZpZWxkXCJdID0gZmFjdG9yeShyZXF1aXJlKFwicmVhY3RcIikpO1xuXHRlbHNlXG5cdFx0cm9vdFtcIlJlYWN0TnVtYmVyVGV4dGZpZWxkXCJdID0gZmFjdG9yeShyb290W1wicmVhY3RcIl0pO1xufSkod2luZG93LCBmdW5jdGlvbihfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX18wX18pIHtcbnJldHVybiAiLCIgXHQvLyBUaGUgbW9kdWxlIGNhY2hlXG4gXHR2YXIgaW5zdGFsbGVkTW9kdWxlcyA9IHt9O1xuXG4gXHQvLyBUaGUgcmVxdWlyZSBmdW5jdGlvblxuIFx0ZnVuY3Rpb24gX193ZWJwYWNrX3JlcXVpcmVfXyhtb2R1bGVJZCkge1xuXG4gXHRcdC8vIENoZWNrIGlmIG1vZHVsZSBpcyBpbiBjYWNoZVxuIFx0XHRpZihpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSkge1xuIFx0XHRcdHJldHVybiBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXS5leHBvcnRzO1xuIFx0XHR9XG4gXHRcdC8vIENyZWF0ZSBhIG5ldyBtb2R1bGUgKGFuZCBwdXQgaXQgaW50byB0aGUgY2FjaGUpXG4gXHRcdHZhciBtb2R1bGUgPSBpbnN0YWxsZWRNb2R1bGVzW21vZHVsZUlkXSA9IHtcbiBcdFx0XHRpOiBtb2R1bGVJZCxcbiBcdFx0XHRsOiBmYWxzZSxcbiBcdFx0XHRleHBvcnRzOiB7fVxuIFx0XHR9O1xuXG4gXHRcdC8vIEV4ZWN1dGUgdGhlIG1vZHVsZSBmdW5jdGlvblxuIFx0XHRtb2R1bGVzW21vZHVsZUlkXS5jYWxsKG1vZHVsZS5leHBvcnRzLCBtb2R1bGUsIG1vZHVsZS5leHBvcnRzLCBfX3dlYnBhY2tfcmVxdWlyZV9fKTtcblxuIFx0XHQvLyBGbGFnIHRoZSBtb2R1bGUgYXMgbG9hZGVkXG4gXHRcdG1vZHVsZS5sID0gdHJ1ZTtcblxuIFx0XHQvLyBSZXR1cm4gdGhlIGV4cG9ydHMgb2YgdGhlIG1vZHVsZVxuIFx0XHRyZXR1cm4gbW9kdWxlLmV4cG9ydHM7XG4gXHR9XG5cblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGVzIG9iamVjdCAoX193ZWJwYWNrX21vZHVsZXNfXylcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubSA9IG1vZHVsZXM7XG5cbiBcdC8vIGV4cG9zZSB0aGUgbW9kdWxlIGNhY2hlXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLmMgPSBpbnN0YWxsZWRNb2R1bGVzO1xuXG4gXHQvLyBkZWZpbmUgZ2V0dGVyIGZ1bmN0aW9uIGZvciBoYXJtb255IGV4cG9ydHNcbiBcdF9fd2VicGFja19yZXF1aXJlX18uZCA9IGZ1bmN0aW9uKGV4cG9ydHMsIG5hbWUsIGdldHRlcikge1xuIFx0XHRpZighX193ZWJwYWNrX3JlcXVpcmVfXy5vKGV4cG9ydHMsIG5hbWUpKSB7XG4gXHRcdFx0T2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIG5hbWUsIHtcbiBcdFx0XHRcdGNvbmZpZ3VyYWJsZTogZmFsc2UsXG4gXHRcdFx0XHRlbnVtZXJhYmxlOiB0cnVlLFxuIFx0XHRcdFx0Z2V0OiBnZXR0ZXJcbiBcdFx0XHR9KTtcbiBcdFx0fVxuIFx0fTtcblxuIFx0Ly8gZGVmaW5lIF9fZXNNb2R1bGUgb24gZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5yID0gZnVuY3Rpb24oZXhwb3J0cykge1xuIFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgJ19fZXNNb2R1bGUnLCB7IHZhbHVlOiB0cnVlIH0pO1xuIFx0fTtcblxuIFx0Ly8gZ2V0RGVmYXVsdEV4cG9ydCBmdW5jdGlvbiBmb3IgY29tcGF0aWJpbGl0eSB3aXRoIG5vbi1oYXJtb255IG1vZHVsZXNcbiBcdF9fd2VicGFja19yZXF1aXJlX18ubiA9IGZ1bmN0aW9uKG1vZHVsZSkge1xuIFx0XHR2YXIgZ2V0dGVyID0gbW9kdWxlICYmIG1vZHVsZS5fX2VzTW9kdWxlID9cbiBcdFx0XHRmdW5jdGlvbiBnZXREZWZhdWx0KCkgeyByZXR1cm4gbW9kdWxlWydkZWZhdWx0J107IH0gOlxuIFx0XHRcdGZ1bmN0aW9uIGdldE1vZHVsZUV4cG9ydHMoKSB7IHJldHVybiBtb2R1bGU7IH07XG4gXHRcdF9fd2VicGFja19yZXF1aXJlX18uZChnZXR0ZXIsICdhJywgZ2V0dGVyKTtcbiBcdFx0cmV0dXJuIGdldHRlcjtcbiBcdH07XG5cbiBcdC8vIE9iamVjdC5wcm90b3R5cGUuaGFzT3duUHJvcGVydHkuY2FsbFxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5vID0gZnVuY3Rpb24ob2JqZWN0LCBwcm9wZXJ0eSkgeyByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpOyB9O1xuXG4gXHQvLyBfX3dlYnBhY2tfcHVibGljX3BhdGhfX1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5wID0gXCJcIjtcblxuXG4gXHQvLyBMb2FkIGVudHJ5IG1vZHVsZSBhbmQgcmV0dXJuIGV4cG9ydHNcbiBcdHJldHVybiBfX3dlYnBhY2tfcmVxdWlyZV9fKF9fd2VicGFja19yZXF1aXJlX18ucyA9IDEpO1xuIiwibW9kdWxlLmV4cG9ydHMgPSBfX1dFQlBBQ0tfRVhURVJOQUxfTU9EVUxFX18wX187IiwiaW1wb3J0ICogYXMgUmVhY3QgZnJvbSBcInJlYWN0XCI7XG5cbmludGVyZmFjZSBJUHJvcHMge1xuXHQvKipcblx0ICogSW5pdGlhbCBudW1iZXIgdmFsdWUgdG8gZGlzcGxheSBpbiB0aGUgdGV4dGZpZWxkLlxuXHQgKiBAdHlwZSB7bnVtYmVyfVxuXHQgKi9cblx0bnVtYmVyPzogbnVtYmVyO1xuXG5cdC8qKlxuXHQgKiBUaGUgY2hhcmFjdGVyIHVzZWQgdG8gc2VwYXJhdGUgdGhlIGRlY2ltYWwgcGFydHMgZnJvbSB0aGUgd2hvbGUgbnVtYmVyLlxuXHQgKiBUaGlzIGlzIHVzdWFsbHkgYSBjb21tYSBvciBhIGRvdC5cblx0ICogQHR5cGUge3N0cmluZ31cblx0ICovXG5cdGRlY2ltYWxfY2hhcmFjdGVyOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFRoZSBjaGFyYWN0ZXIgdXNlZCB0byBzZXBhcmF0ZSBhIGdyb3VwIG9mIGRpZ2l0cyBpbiB0aGUgbnVtYmVyLlxuXHQgKiBUaGlzIGlzIGRvbmUgZXZlcnkgMyAodGhvdXNhbmQpIHZhbHVlcy5cblx0ICogQHR5cGUge3N0cmluZ31cblx0ICovXG5cdGdyb3VwX3NlcGFyYXRvcjogc3RyaW5nO1xuXG5cdC8qKlxuXHQgKiBUaGUgbWF4aW11bSBudW1iZXIgb2YgZGVjaW1hbCBwbGFjZXMgdG8gYWxsb3cuXG5cdCAqIEBwYXJhbSB7bnVtYmVyfVxuXHQgKi9cblx0cHJlY2lzaW9uOiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIEpTWCBBdHRyaWJ1dGUgZm9yIENTUyBjbGFzc25hbWVzXG5cdCAqIEB0eXBlIHthbnl9XG5cdCAqL1xuXHRjbGFzc05hbWU/OiBhbnk7XG5cblx0LyoqXG5cdCAqIEpTWCBhdHRyaWJ1dGUgZm9yIHRoZSBpbnB1dCBwbGFjZWhvbGRlclxuXHQgKiBAdHlwZSB7YW55fVxuXHQgKi9cblx0IHBsYWNlaG9sZGVyPzogYW55O1xuXG5cdC8qKlxuXHQgKiBDYWxsYmFjayBmdW5jdGlvbiB0byByZWNlaXZlIGNoYW5nZXMgaW4gdGhlIG51bWJlciB2YWx1ZS5cblx0ICogQHBhcmFtIHsodmFsdWU6IG51bWJlcnx1bmRlZmluZWQpID0+IHZvaWR9XG5cdCAqL1xuXHRkaWRDaGFuZ2VOdW1iZXI/OiAodmFsdWU6IG51bWJlcnx1bmRlZmluZWQpID0+IHZvaWQ7XG59O1xuXG5pbnRlcmZhY2UgSVN0YXRlIHtcblx0LyoqXG5cdCAqIFRoZSBzdHJpbmcgdG8gZGlzcGxheSBpbiB0aGUgdGV4dGZpZWxkLlxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0c3RyaW5nX3ZhbHVlOiBzdHJpbmc7XG59O1xuXG5pbnRlcmZhY2UgSVBhcnNlUmVzdWx0IHtcblx0c3RyaW5nX3ZhbHVlOiBzdHJpbmc7XG5cdG51bWJlcl92YWx1ZTogbnVtYmVyfHVuZGVmaW5lZDtcbn1cblxuY29uc3QgZGVmYXVsdFByb3BzOiBJUHJvcHMgPSB7XG5cdGRlY2ltYWxfY2hhcmFjdGVyOiBcIi5cIixcblx0Z3JvdXBfc2VwYXJhdG9yOiBcIixcIixcblx0cHJlY2lzaW9uOiAyLFxufTtcblxuY29uc3QgaW5pdGlhbFN0YXRlOiBJU3RhdGUgPSB7XG5cdHN0cmluZ192YWx1ZTogXCJcIixcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNsYXNzIE51bWJlclRleHRmaWVsZCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUHJvcHMsIElTdGF0ZT4ge1xuXG5cdHB1YmxpYyBzdGF0aWMgZGVmYXVsdFByb3BzID0gZGVmYXVsdFByb3BzO1xuXG5cdHB1YmxpYyBzdGF0ZSA9IGluaXRpYWxTdGF0ZTtcblxuXHQvKipcblx0ICogSWYgYSBudW1iZXIgaXMgcHJvdmlkZWQgYXMgYSBwcm9wLCB0aGlzIHdpbGwgY3JlYXRlIGEgbmV3IGZvcm1hdHRlZCBzdHJpbmdcblx0ICogZm9yIHRoYXQgbnVtYmVyLlxuXHQgKiBAcGFyYW0ge0lQcm9wc30gbmV4dFByb3BzXG5cdCAqIEBwYXJhbSB7SVN0YXRlfSBjdXJyU3RhdGVcblx0ICogQHJldHVybiB7UGFydGlhbDxJU3RhdGU+fHVuZGVmaW5lZH1cblx0ICovXG5cdHB1YmxpYyBzdGF0aWMgZGVyaXZlZFN0YXRlRnJvbVByb3BzKG5leHRQcm9wczogSVByb3BzLCBjdXJyU3RhdGU6IElTdGF0ZSk6IFBhcnRpYWw8SVN0YXRlPnx1bmRlZmluZWQge1xuXHRcdGlmICh0eXBlb2YgbmV4dFByb3BzLm51bWJlciA9PT0gXCJudW1iZXJcIikge1xuXHRcdFx0cmV0dXJuIHBhcnNlU3RyaW5nKFxuXHRcdFx0XHRuZXh0UHJvcHMubnVtYmVyLnRvU3RyaW5nKCksXG5cdFx0XHRcdG5leHRQcm9wcy5kZWNpbWFsX2NoYXJhY3Rlcixcblx0XHRcdFx0bmV4dFByb3BzLmdyb3VwX3NlcGFyYXRvcixcblx0XHRcdFx0bmV4dFByb3BzLnByZWNpc2lvblxuXHRcdFx0KTtcblx0XHR9XG5cdFx0cmV0dXJuIHVuZGVmaW5lZDtcblx0fVxuXG5cdGNvbnN0cnVjdG9yKHByb3BzOiBJUHJvcHMpIHtcblx0XHRzdXBlcihwcm9wcyk7XG5cblx0XHQvLyBwcmVjaXNpb24gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIgdmFsdWUuXG5cdFx0aWYgKHByb3BzLnByZWNpc2lvbiA8IDAgfHwgcHJvcHMucHJlY2lzaW9uICUgMSAhPT0gMCkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiTWF4aW11bSBwcmVjaXNpb24gbXVzdCBiZSBhIHBvc2l0aXZlIGludGVnZXIuXCIpO1xuXHRcdH1cblx0fVxuXG5cdHB1YmxpYyByZW5kZXIoKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdDxpbnB1dFxuXHRcdFx0XHR0eXBlPVwidGV4dFwiXG5cdFx0XHRcdGNsYXNzTmFtZT17IHRoaXMucHJvcHMuY2xhc3NOYW1lIH1cblx0XHRcdFx0dmFsdWU9eyB0aGlzLnN0YXRlLnN0cmluZ192YWx1ZSB9XG5cdFx0XHRcdHBsYWNlaG9sZGVyPXsgdGhpcy5wcm9wcy5wbGFjZWhvbGRlciB9XG5cdFx0XHRcdG9uS2V5UHJlc3M9eyB0aGlzLmhhbmRsZUtleVByZXNzIH1cblx0XHRcdFx0b25DaGFuZ2U9eyB0aGlzLmhhbmRsZUNoYW5nZSB9XG5cdFx0XHQvPlxuXHRcdCk7XG5cdH1cblxuXHQvKipcblx0ICogRXZlbnQgbGlzdGVuZXIgZm9yIHRoZSBLZXlQcmVzcyBldmVudCBmaXJlZCBmcm9tIHRoZSBpbnB1dCBjb250cm9sLlxuXHQgKiBAcGFyYW0ge1JlYWN0LktleWJvYXJkRXZlbnQ8YW55Pn1cblx0ICogQHJldHVybiBib29sZWFuXG5cdCAqL1xuXHRwdWJsaWMgaGFuZGxlS2V5UHJlc3MgPSAoZTogUmVhY3QuS2V5Ym9hcmRFdmVudDxhbnk+KSA9PiB7XG5cdFx0Y29uc3QgY2hhckNvZGUgPSBlLmNoYXJDb2RlO1xuXHRcdGxldCBzaG91bGRDYW5jZWwgPSBmYWxzZTtcblxuXHRcdGlmICghY2hhckNvZGVJc0RpZ2l0KGNoYXJDb2RlKSkge1xuXHRcdFx0Y29uc3QgY2hhclN0cmluZyA9IFN0cmluZy5mcm9tQ2hhckNvZGUoY2hhckNvZGUpO1xuXG5cdFx0XHQvLyBJZiBpdCBpcyBub3QgYSBkaWdpdCBvciBhIGRlY2ltYWwgY2hhcmFjdGVyLCBjYW5jZWwgdGhlIGtleS5cblx0XHRcdGlmIChjaGFyU3RyaW5nICE9PSB0aGlzLnByb3BzLmRlY2ltYWxfY2hhcmFjdGVyKSB7XG5cdFx0XHRcdHNob3VsZENhbmNlbCA9IHRydWU7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHQvLyBJZiB0aGUgaW5wdXQgZmllbGQgZG9lcyBub3QgYWxsb3cgZGVjaW1hbHMsIG9yIGlmIHdlIGFscmVhZHkgdHlwZWQgb25lLCBjYW5jZWwgdGhlIGtleS5cblx0XHRcdFx0aWYgKHRoaXMucHJvcHMucHJlY2lzaW9uID09PSAwIHx8IHRoaXMuc3RhdGUuc3RyaW5nX3ZhbHVlLmluZGV4T2YodGhpcy5wcm9wcy5kZWNpbWFsX2NoYXJhY3RlcikgPiAtMSkge1xuXHRcdFx0XHRcdHNob3VsZENhbmNlbCA9IHRydWU7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHR9XG5cblx0XHRpZiAoc2hvdWxkQ2FuY2VsKSB7XG5cdFx0XHRlLnByZXZlbnREZWZhdWx0KCk7XG5cdFx0XHRlLnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdFx0cmV0dXJuIGZhbHNlO1xuXHRcdH1cblx0fTtcblxuXHQvKipcblx0ICogRXZlbnQgbGlzdGVuZXIgZm9yIHRoZSBjaGFuZ2UgZXZlbnQgZmlyZWQgZnJvbSB0aGUgaW5wdXQgY29udHJvbC5cblx0ICogQHBhcmFtIHtSZWFjdC5DaGFuZ2VFdmVudDxhbnk+fSBlXG5cdCAqIEByZXR1cm4gdm9pZFxuXHQgKi9cblx0cHVibGljIGhhbmRsZUNoYW5nZSA9IChlOiBSZWFjdC5DaGFuZ2VFdmVudDxhbnk+KSA9PiB7XG5cdFx0Y29uc3QgcGFyc2VSZXN1bHQgPSBwYXJzZVN0cmluZyhcblx0XHRcdGUudGFyZ2V0LnZhbHVlLFxuXHRcdFx0dGhpcy5wcm9wcy5kZWNpbWFsX2NoYXJhY3Rlcixcblx0XHRcdHRoaXMucHJvcHMuZ3JvdXBfc2VwYXJhdG9yLFxuXHRcdFx0dGhpcy5wcm9wcy5wcmVjaXNpb25cblx0XHQpO1xuXG5cdFx0dGhpcy5zZXRTdGF0ZSh7XG5cdFx0XHRzdHJpbmdfdmFsdWU6IHBhcnNlUmVzdWx0LnN0cmluZ192YWx1ZSxcblx0XHR9KTtcblxuXHRcdGlmICh0eXBlb2YgdGhpcy5wcm9wcy5kaWRDaGFuZ2VOdW1iZXIgPT09IFwiZnVuY3Rpb25cIikge1xuXHRcdFx0dGhpcy5wcm9wcy5kaWRDaGFuZ2VOdW1iZXIocGFyc2VSZXN1bHQubnVtYmVyX3ZhbHVlKTtcblx0XHR9XG5cdH1cbn07XG5cbi8qKlxuICogUGFyc2VzIGEgc3RyaW5nIGFzIGEgbnVtYmVyLCBhbmQgcmV0dXJucyB0aGUgbnVtYmVyIGFuZCBmb3JtYXR0aW5nIHN0cmluZy5cbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHBhcmFtIHtzdHJpbmd9IGRlY2ltYWxDaGFyXG4gKiBAcGFyYW0ge3N0cmluZ30gZ3JvdXBDaGFyXG4gKiBAcGFyYW0ge251bWJlcn0gbWF4UHJlY2lzaW9uXG4gKiBAcmV0dXJuIHtJUGFyc2VSZXN1bHR9XG4gKi9cbmZ1bmN0aW9uIHBhcnNlU3RyaW5nKHZhbHVlOiBzdHJpbmcsIGRlY2ltYWxDaGFyOiBzdHJpbmcsIGdyb3VwQ2hhcjogc3RyaW5nLCBtYXhQcmVjaXNpb246IG51bWJlcik6IElQYXJzZVJlc3VsdCB7XG5cdGNvbnN0IHNhbml0emVSZWdFeHAgPSBuZXcgUmVnRXhwKGBbXjAtOSR7IGVzY2FwZVJlZ0V4cChkZWNpbWFsQ2hhcikgfV0rYCwgXCJnXCIpO1xuXHRsZXQgc3RyaW5nVmFsdWUgPSB2YWx1ZS5yZXBsYWNlKHNhbml0emVSZWdFeHAsIFwiXCIpLnJlcGxhY2UoZGVjaW1hbENoYXIsIFwiLlwiKTtcblx0bGV0IG51bWJlclZhbHVlID0gc3RyaW5nVG9OdW1iZXIoc3RyaW5nVmFsdWUpO1xuXG5cdC8vIElmIHdlIGNvdWxkIG5vdCBmaW5kIGEgbnVtYmVyLCByZXNldCB0aGUgdGV4dGZpZWxkLlxuXHRpZiAodHlwZW9mIG51bWJlclZhbHVlID09PSBcInVuZGVmaW5lZFwiIHx8IGlzTmFOKG51bWJlclZhbHVlKSkge1xuXHRcdGNvbnNvbGUud2FybihcIlN0cmluZyBjb3VsZCBub3QgYmUgcmVwcmVzZW50ZWQgYXMgYSBudW1iZXIuIFJlc2V0dGluZyB0ZXh0ZmllbGQgdmFsdWUuXCIpO1xuXHRcdHJldHVybiB7XG5cdFx0XHRudW1iZXJfdmFsdWU6IHVuZGVmaW5lZCxcblx0XHRcdHN0cmluZ192YWx1ZTogXCJcIixcblx0XHR9O1xuXHR9XG5cblx0Ly8gSWYgaXQgZXhjZWVkcyB0aGUgbWF4aW11bSBwcmVjaXNpb24sIGNob3Agb2ZmIGV4Y2VzcyBkaWdpdHMuXG5cdGNvbnN0IGlzRGVjaW1hbCA9IHN0cmluZ1ZhbHVlLmluZGV4T2YoXCIuXCIpID4gLTE7XG5cdGNvbnN0IHByZWNpc2lvbiA9IGNvdW50RGVjaW1hbFByZWNpc2lvbihzdHJpbmdWYWx1ZSk7XG5cdGlmIChudW1iZXJWYWx1ZSAlIDEgIT09IDAgJiYgcHJlY2lzaW9uID4gbWF4UHJlY2lzaW9uKSB7XG5cdFx0Ly8gRXhjZWVkcyBwcmVjaXNpb24sIHdlIGNhbm5vdCBhbGxvdyBpdC5cblx0XHRjb25zb2xlLndhcm4oXCJBZGRpdGlvbmFsIGRlY2ltYWwgZGlnaXQgd2lsbCBleGNlZWQgbWF4aW11bSBwcmVjaXNpb24uXCIpO1xuXG5cdFx0Y29uc3Qgcm91bmRpbmdDb25zdGFudCA9IE1hdGgucG93KDEwLCBtYXhQcmVjaXNpb24pO1xuXHRcdG51bWJlclZhbHVlID0gTWF0aC5mbG9vcihudW1iZXJWYWx1ZSAqIHJvdW5kaW5nQ29uc3RhbnQpIC8gcm91bmRpbmdDb25zdGFudDtcblx0fVxuXG5cdC8vIFJlY3JlYXRlIGEgc3RyaW5nIHZhbHVlIHVzaW5nIHRoZSBkZXJpdmVkIG51bWJlclxuXHRzdHJpbmdWYWx1ZSA9IG51bWJlclRvU3RyaW5nKFxuXHRcdG51bWJlclZhbHVlLFxuXHRcdGdyb3VwQ2hhcixcblx0XHRkZWNpbWFsQ2hhcixcblx0XHRpc0RlY2ltYWwgPyBNYXRoLm1heCgwLCBNYXRoLm1pbihwcmVjaXNpb24sIG1heFByZWNpc2lvbikpIDogLTFcblx0KTtcblxuXHRyZXR1cm4ge1xuXHRcdG51bWJlcl92YWx1ZTogbnVtYmVyVmFsdWUsXG5cdFx0c3RyaW5nX3ZhbHVlOiBzdHJpbmdWYWx1ZSxcblx0fTtcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBudW1lcmljYWwgcmVwcmVzZW50YXRpb24gb2YgYSBudW1iZXIuXG4gKiBAcGFyYW0ge3N0cmluZ30gdmFsdWVcbiAqIEByZXR1cm4gbnVtYmVyfHVuZGVmaW5lZFxuICovXG5mdW5jdGlvbiBzdHJpbmdUb051bWJlcih2YWx1ZTogc3RyaW5nKTogbnVtYmVyfHVuZGVmaW5lZCB7XG5cdGxldCBudW1iZXJWYWx1ZTogbnVtYmVyfHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblx0XG5cdC8vIElmIHdlIGhhdmUgYSBkZWNpbWFsIGRvdCBpbiB0aGUgc3RyaW5nLCB0aGVuIGl0IGlzIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLlxuXHRjb25zdCBpc0RlY2ltYWw6IGJvb2xlYW4gPSB2YWx1ZS5pbmRleE9mKFwiLlwiKSA+IC0xO1xuXG5cdC8vIElmIGl0IGlzIGEgZmxvYXRpbmcgcG9pbnQgbnVtYmVyLCBtYWtlIHN1cmUgd2UgaGF2ZSBhdCBsZWFzdCBvbmUgd2hvbGUgbnVtYmVyLlxuXHQvLyBBc3N1bWUgemVybyBpZiBub3RoaW5nIGlzIHRoZXJlLlxuXHRpZiAoaXNEZWNpbWFsICYmIHZhbHVlLmxlbmd0aCA9PT0gMSkge1xuXHRcdHZhbHVlID0gXCIwXCIgKyB2YWx1ZTtcblx0fVxuXG5cdC8vIElmIGl0IGhhcyB0aGUgZGVjaW1hbCBjaGFyYWN0ZXIsIHdlIHdpbGwgcGFyc2UgdGhlIHN0cmluZyBhcyBhIGRlY2ltYWwgdmFsdWUuXG5cdGlmIChpc0RlY2ltYWwpIHtcblx0XHRudW1iZXJWYWx1ZSA9IHBhcnNlRmxvYXQodmFsdWUpO1xuXHR9IGVsc2Uge1xuXHRcdG51bWJlclZhbHVlID0gcGFyc2VJbnQodmFsdWUpO1xuXHR9XG5cblx0cmV0dXJuIG51bWJlclZhbHVlO1xufVxuXG4vKipcbiAqIFJldHVybnMgYSBzdHJpbmcgcmVwcmVzZW50YXRpb24gb2YgYSBudW1iZXIgZ2l2ZW4gYSBzcGVjaWZpYyBncm91cCBjaGFyYWN0ZXIgYW5kIGRlY2ltYWwgY2hhcmFjdGVyLlxuICogUHJvdmlkaW5nIC0xIGZvciBwcmVjaXNpb24gd2lsbCByZW1vdmUgdGhlIGRlY2ltYWwgcG9pbnQgYWx0b2dldGhlci5cbiAqIFByb3ZpZGluZyAwIGZvciBwcmVjaXNpb24gd2lsbCBhZGQganVzdCB0aGUgZGVjaW1hbCBwb2ludC5cbiAqIEFueSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBhZGQgdGhlIGRlY2ltYWwgdmFsdWVzIGFuZCBwYWQgd2l0aCB6ZXJvZXMuXG4gKiBAcGFyYW0ge251bWJlcn0gdmFsdWVcbiAqIEBwYXJhbSB7c3RyaW5nfSBncm91cENoYXJcbiAqIEBwYXJhbSB7c3RyaW5nfSBkZWNpbWFsQ2hhclxuICogQHBhcmFtIHtudW1iZXJ9IHByZWNpc2lvblxuICogQHJldHVybiBzdHJpbmdcbiAqL1xuZnVuY3Rpb24gbnVtYmVyVG9TdHJpbmcodmFsdWU6IG51bWJlciwgZ3JvdXBDaGFyOiBzdHJpbmcsIGRlY2ltYWxDaGFyOiBzdHJpbmcsIHByZWNpc2lvbjogbnVtYmVyKTogc3RyaW5nIHtcblx0Y29uc3Qgc3RyaW5nVmFsdWVQYXJ0cyA9IHZhbHVlLnRvU3RyaW5nKCkuc3BsaXQoXCIuXCIpO1xuXHRjb25zdCBpbnRlZ2VyU3RyaW5nID0gc3RyaW5nVmFsdWVQYXJ0c1swXTtcblx0Y29uc3QgZGVjaW1hbFN0cmluZyA9IHN0cmluZ1ZhbHVlUGFydHMubGVuZ3RoID4gMSA/IHN0cmluZ1ZhbHVlUGFydHNbMV0gOiBcIlwiO1xuXHRjb25zdCBudW1Hcm91cHMgPSBNYXRoLmZsb29yKGludGVnZXJTdHJpbmcubGVuZ3RoIC8gMyk7XG5cdGxldCBmb3JtYXR0ZWRTdHJpbmc6IHN0cmluZyA9IFwiXCI7XG5cblx0Ly8gQWRkIHRoZSB3aG9sZSBpbnRlZ2VyIHZhbHVlcywgc2VwYXJhdGVkIGJ5IGV2ZXJ5IDMgbnVtYmVycyB3aXRoIHRoZSBncm91cENoYXJcblx0aWYgKG51bUdyb3VwcyA+IDApIHtcblx0XHRmb3IgKGxldCBpID0gMTsgaSA8PSBudW1Hcm91cHM7IGkrKykge1xuXHRcdFx0Zm9ybWF0dGVkU3RyaW5nID0gaW50ZWdlclN0cmluZy5zdWJzdHIoaSAqIC0zLCAzKSArIChpID4gMSA/IGdyb3VwQ2hhciArIGZvcm1hdHRlZFN0cmluZyA6IFwiXCIpO1xuXHRcdH1cblx0fVxuXG5cdC8vIEFkZCB0aGUgcmVtYWluaW5nIGludGVnZXJzIHRoYXQgZGlkbid0IGZhbGwgaW50byBhIGdyb3VwIG9mIDNcblx0Y29uc3QgaW50ZWdlclJlbWFpbmRlciA9IGludGVnZXJTdHJpbmcubGVuZ3RoICUgMztcblx0aWYgKGludGVnZXJSZW1haW5kZXIgPiAwKSB7XG5cdFx0Zm9ybWF0dGVkU3RyaW5nID0gaW50ZWdlclN0cmluZy5zdWJzdHIoMCwgaW50ZWdlclJlbWFpbmRlcikgKyAoZm9ybWF0dGVkU3RyaW5nLmxlbmd0aCA+IDAgPyBncm91cENoYXIgKyBmb3JtYXR0ZWRTdHJpbmcgOiBcIlwiKTtcblx0fVxuXG5cdC8vIElmIHdlIGFyZSBpbmNsdWRpbmcgZGVjaW1hbCB2YWx1ZXMsIGFkZCB0aGUgZGVjaW1hbCBjaGFyYWN0ZXIgYW5kIHRoZSBkZWNpbWFsIHN0cmluZyB2YWx1ZXMuXG5cdC8vIEZpbGwgaW4gMHMgZm9yIGFueSByZW1haW5pbmcgcHJlY2lzaW9uLlxuXHRpZiAocHJlY2lzaW9uID4gLTEpIHtcblx0XHRmb3JtYXR0ZWRTdHJpbmcgKz0gZGVjaW1hbENoYXIgKyBkZWNpbWFsU3RyaW5nO1xuXHRcdGlmIChwcmVjaXNpb24gPiBkZWNpbWFsU3RyaW5nLmxlbmd0aCkge1xuXHRcdFx0Zm9ybWF0dGVkU3RyaW5nICs9IChuZXcgQXJyYXkocHJlY2lzaW9uIC0gZGVjaW1hbFN0cmluZy5sZW5ndGgpKS5maWxsKDApLmpvaW4oXCJcIik7XG5cdFx0fVxuXHR9XG5cblx0cmV0dXJuIGZvcm1hdHRlZFN0cmluZztcbn1cblxuLyoqXG4gKiBSZXR1cm5zIHRoZSBwcmVjaXNpb24gKG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcykgaW4gYSBudW1iZXJpY2FsIHN0cmluZy5cbiAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICogQHBhcmFtIHtzdHJpbmd9IGRlY2ltYWxDaGFyIFRoZSBjaGFyYWN0ZXIgdXNlZCBmb3IgYSBkZWNpbWFsLlxuICogQHJldHVybiB7bnVtYmVyfVxuICovXG5mdW5jdGlvbiBjb3VudERlY2ltYWxQcmVjaXNpb24odmFsdWU6IHN0cmluZyk6IG51bWJlciB7XG5cdGNvbnN0IHN0cmluZ1BhcnRzID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdChcIi5cIik7XG5cdGlmIChzdHJpbmdQYXJ0cy5sZW5ndGggPiAxKSB7XG5cdFx0cmV0dXJuIHN0cmluZ1BhcnRzWzFdLmxlbmd0aDtcblx0fVxuXG5cdHJldHVybiAwO1xufVxuXG4vKipcbiAqIEVzY2FwZXMgY2VydGFpbiBjaGFyYWN0ZXJzIGluIGEgc3RyaW5nIGFuZCBwcmVwYXJlcyBpdCBmb3IgdXNlIGFzIGEgcmVndWxhciBleHByZXNzaW9uLlxuICogQHNlZSBodHRwczovL3N0YWNrb3ZlcmZsb3cuY29tL3F1ZXN0aW9ucy8zNDQ2MTcwL2VzY2FwZS1zdHJpbmctZm9yLXVzZS1pbi1qYXZhc2NyaXB0LXJlZ2V4LzY5Njk0ODYjNjk2OTQ4NlxuICogQHBhcmFtIHtzdHJpbmd9IHN0clxuICogQHJldHVybiB7c3RyaW5nfVxuICovXG5mdW5jdGlvbiBlc2NhcGVSZWdFeHAoc3RyOiBzdHJpbmcpOiBzdHJpbmcge1xuXHRyZXR1cm4gc3RyLnJlcGxhY2UoL1tcXC1cXFtcXF1cXC9cXHtcXH1cXChcXClcXCpcXCtcXD9cXC5cXFxcXFxeXFwkXFx8XS9nLCBcIlxcXFwkJlwiKTtcbn1cblxuLyoqXG4gKiBXaGV0aGVyIG9yIG5vdCBhIGdpdmVuIGNoYXJhY3RlciBjb2RlIG1hcHMgdG8gYSBkZWNpbWFsIGRpZ2l0ICgwLTkpLlxuICogQHJldHVybiB7Ym9vbGVhbn1cbiAqL1xuZnVuY3Rpb24gY2hhckNvZGVJc0RpZ2l0KGNoYXJDb2RlOiBudW1iZXIpOiBib29sZWFuIHtcblx0cmV0dXJuIGNoYXJDb2RlID49IDQ4ICYmIGNoYXJDb2RlIDw9IDU3O1xufVxuIl0sInNvdXJjZVJvb3QiOiIifQ==
exports.ReactNumberTextfield=function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{configurable:!1,enumerable:!0,get:n})},r.r=function(e){Object.defineProperty(e,"__esModule",{value:!0})},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,"a",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p="",r(r.s=1)}([function(e,t){e.exports=require("react")},function(e,t,r){"use strict";r.r(t);var n=r(0);const i={string_value:""};class o extends n.Component{constructor(e){var t;if(super(e),this.state=i,this.handleKeyPress=(e=>{const t=e.charCode;let r=!1;if(!((t=t)>=48&&t<=57)){String.fromCharCode(t)!==this.props.decimal_character?r=!0:(0===this.props.precision||this.state.string_value.indexOf(this.props.decimal_character)>-1)&&(r=!0)}if(r)return e.preventDefault(),e.stopPropagation(),!1}),this.handleChange=(e=>{const t=s(e.target.value,this.props.decimal_character,this.props.group_separator,this.props.precision);this.setState({string_value:t.string_value}),"function"==typeof this.props.didChangeNumber&&this.props.didChangeNumber(t.number_value)}),e.precision<0||e.precision%1!=0)throw new Error("Maximum precision must be a positive integer.")}static derivedStateFromProps(e,t){if("number"==typeof e.number)return s(e.number.toString(),e.decimal_character,e.group_separator,e.precision)}render(){return n.createElement("input",{type:"text",className:this.props.className,value:this.state.string_value,placeholder:this.props.placeholder,onKeyPress:this.handleKeyPress,onChange:this.handleChange})}}function s(e,t,r,n){const i=new RegExp(`[^0-9${o=t,o.replace(/[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g,"\\$&")}]+`,"g");var o;let s=e.replace(i,"").replace(t,"."),a=function(e){let t=void 0;const r=e.indexOf(".")>-1;r&&1===e.length&&(e="0"+e);t=r?parseFloat(e):parseInt(e);return t}(s);if(void 0===a||isNaN(a))return console.warn("String could not be represented as a number. Resetting textfield value."),{number_value:void 0,string_value:""};const u=s.indexOf(".")>-1,l=function(e){const t=e.toString().split(".");if(t.length>1)return t[1].length;return 0}(s);if(a%1!=0&&l>n){console.warn("Additional decimal digit will exceed maximum precision.");const e=Math.pow(10,n);a=Math.floor(a*e)/e}return{number_value:a,string_value:s=function(e,t,r,n){const i=e.toString().split("."),o=i[0],s=i.length>1?i[1]:"",a=Math.floor(o.length/3);let u="";if(a>0)for(let e=1;e<=a;e++)u=o.substr(-3*e,3)+(e>1?t+u:"");const l=o.length%3;l>0&&(u=o.substr(0,l)+(u.length>0?t+u:""));n>-1&&(u+=r+s,n>s.length&&(u+=new Array(n-s.length).fill(0).join("")));return u}(a,r,t,u?Math.max(0,Math.min(l,n)):-1)}}o.defaultProps={decimal_character:".",group_separator:",",precision:2},r.d(t,"NumberTextfield",function(){return o})}]);
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9SZWFjdE51bWJlclRleHRmaWVsZC93ZWJwYWNrL2Jvb3RzdHJhcCIsIndlYnBhY2s6Ly9SZWFjdE51bWJlclRleHRmaWVsZC9leHRlcm5hbCBcInJlYWN0XCIiLCJ3ZWJwYWNrOi8vUmVhY3ROdW1iZXJUZXh0ZmllbGQvLi9zcmMvTnVtYmVyVGV4dGZpZWxkLnRzeCJdLCJuYW1lcyI6WyJpbnN0YWxsZWRNb2R1bGVzIiwiX193ZWJwYWNrX3JlcXVpcmVfXyIsIm1vZHVsZUlkIiwiZXhwb3J0cyIsIm1vZHVsZSIsImkiLCJsIiwibW9kdWxlcyIsImNhbGwiLCJtIiwiYyIsImQiLCJuYW1lIiwiZ2V0dGVyIiwibyIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiY29uZmlndXJhYmxlIiwiZW51bWVyYWJsZSIsImdldCIsInIiLCJ2YWx1ZSIsIm4iLCJfX2VzTW9kdWxlIiwib2JqZWN0IiwicHJvcGVydHkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsInAiLCJzIiwicmVxdWlyZSIsImluaXRpYWxTdGF0ZSIsInN0cmluZ192YWx1ZSIsIk51bWJlclRleHRmaWVsZF9OdW1iZXJUZXh0ZmllbGQiLCJleHRlcm5hbF9yZWFjdF8iLCJbb2JqZWN0IE9iamVjdF0iLCJwcm9wcyIsImNoYXJDb2RlIiwic3VwZXIiLCJ0aGlzIiwic3RhdGUiLCJoYW5kbGVLZXlQcmVzcyIsImUiLCJzaG91bGRDYW5jZWwiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJkZWNpbWFsX2NoYXJhY3RlciIsInByZWNpc2lvbiIsImluZGV4T2YiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImhhbmRsZUNoYW5nZSIsInBhcnNlUmVzdWx0IiwicGFyc2VTdHJpbmciLCJ0YXJnZXQiLCJncm91cF9zZXBhcmF0b3IiLCJzZXRTdGF0ZSIsImRpZENoYW5nZU51bWJlciIsIm51bWJlcl92YWx1ZSIsIkVycm9yIiwibmV4dFByb3BzIiwiY3VyclN0YXRlIiwibnVtYmVyIiwidG9TdHJpbmciLCJ0eXBlIiwiY2xhc3NOYW1lIiwicGxhY2Vob2xkZXIiLCJvbktleVByZXNzIiwib25DaGFuZ2UiLCJkZWNpbWFsQ2hhciIsImdyb3VwQ2hhciIsIm1heFByZWNpc2lvbiIsInNhbml0emVSZWdFeHAiLCJSZWdFeHAiLCJzdHIiLCJyZXBsYWNlIiwic3RyaW5nVmFsdWUiLCJudW1iZXJWYWx1ZSIsInVuZGVmaW5lZCIsImlzRGVjaW1hbCIsImxlbmd0aCIsInBhcnNlRmxvYXQiLCJwYXJzZUludCIsInN0cmluZ1RvTnVtYmVyIiwiaXNOYU4iLCJjb25zb2xlIiwid2FybiIsInN0cmluZ1BhcnRzIiwic3BsaXQiLCJjb3VudERlY2ltYWxQcmVjaXNpb24iLCJyb3VuZGluZ0NvbnN0YW50IiwiTWF0aCIsInBvdyIsImZsb29yIiwic3RyaW5nVmFsdWVQYXJ0cyIsImludGVnZXJTdHJpbmciLCJkZWNpbWFsU3RyaW5nIiwibnVtR3JvdXBzIiwiZm9ybWF0dGVkU3RyaW5nIiwic3Vic3RyIiwiaW50ZWdlclJlbWFpbmRlciIsIkFycmF5IiwiZmlsbCIsImpvaW4iLCJudW1iZXJUb1N0cmluZyIsIm1heCIsIm1pbiIsImRlZmF1bHRQcm9wcyJdLCJtYXBwaW5ncyI6InlDQUNBLElBQUFBLEtBR0EsU0FBQUMsRUFBQUMsR0FHQSxHQUFBRixFQUFBRSxHQUNBLE9BQUFGLEVBQUFFLEdBQUFDLFFBR0EsSUFBQUMsRUFBQUosRUFBQUUsSUFDQUcsRUFBQUgsRUFDQUksR0FBQSxFQUNBSCxZQVVBLE9BTkFJLEVBQUFMLEdBQUFNLEtBQUFKLEVBQUFELFFBQUFDLElBQUFELFFBQUFGLEdBR0FHLEVBQUFFLEdBQUEsRUFHQUYsRUFBQUQsUUEyQ0EsT0F0Q0FGLEVBQUFRLEVBQUFGLEVBR0FOLEVBQUFTLEVBQUFWLEVBR0FDLEVBQUFVLEVBQUEsU0FBQVIsRUFBQVMsRUFBQUMsR0FDQVosRUFBQWEsRUFBQVgsRUFBQVMsSUFDQUcsT0FBQUMsZUFBQWIsRUFBQVMsR0FDQUss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RUFDQVAsRUFDQUQsRUFDQVUsRUFBWVksS0FBS2MsSUFBSSxFQUFHZCxLQUFLZSxJQUFJM0QsRUFBV3dCLEtBQWtCLElBeElqRHRDLEVBQUEwRSxjQVhkN0Qsa0JBQW1CLElBQ25CUyxnQkFBaUIsSUFDakJSLFVBQVciLCJmaWxlIjoicmVhY3QtbnVtYmVyLXRleHRmaWVsZC5qcyIsInNvdXJjZXNDb250ZW50IjpbIiBcdC8vIFRoZSBtb2R1bGUgY2FjaGVcbiBcdHZhciBpbnN0YWxsZWRNb2R1bGVzID0ge307XG5cbiBcdC8vIFRoZSByZXF1aXJlIGZ1bmN0aW9uXG4gXHRmdW5jdGlvbiBfX3dlYnBhY2tfcmVxdWlyZV9fKG1vZHVsZUlkKSB7XG5cbiBcdFx0Ly8gQ2hlY2sgaWYgbW9kdWxlIGlzIGluIGNhY2hlXG4gXHRcdGlmKGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdKSB7XG4gXHRcdFx0cmV0dXJuIGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdLmV4cG9ydHM7XG4gXHRcdH1cbiBcdFx0Ly8gQ3JlYXRlIGEgbmV3IG1vZHVsZSAoYW5kIHB1dCBpdCBpbnRvIHRoZSBjYWNoZSlcbiBcdFx0dmFyIG1vZHVsZSA9IGluc3RhbGxlZE1vZHVsZXNbbW9kdWxlSWRdID0ge1xuIFx0XHRcdGk6IG1vZHVsZUlkLFxuIFx0XHRcdGw6IGZhbHNlLFxuIFx0XHRcdGV4cG9ydHM6IHt9XG4gXHRcdH07XG5cbiBcdFx0Ly8gRXhlY3V0ZSB0aGUgbW9kdWxlIGZ1bmN0aW9uXG4gXHRcdG1vZHVsZXNbbW9kdWxlSWRdLmNhbGwobW9kdWxlLmV4cG9ydHMsIG1vZHVsZSwgbW9kdWxlLmV4cG9ydHMsIF9fd2VicGFja19yZXF1aXJlX18pO1xuXG4gXHRcdC8vIEZsYWcgdGhlIG1vZHVsZSBhcyBsb2FkZWRcbiBcdFx0bW9kdWxlLmwgPSB0cnVlO1xuXG4gXHRcdC8vIFJldHVybiB0aGUgZXhwb3J0cyBvZiB0aGUgbW9kdWxlXG4gXHRcdHJldHVybiBtb2R1bGUuZXhwb3J0cztcbiBcdH1cblxuXG4gXHQvLyBleHBvc2UgdGhlIG1vZHVsZXMgb2JqZWN0IChfX3dlYnBhY2tfbW9kdWxlc19fKVxuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5tID0gbW9kdWxlcztcblxuIFx0Ly8gZXhwb3NlIHRoZSBtb2R1bGUgY2FjaGVcbiBcdF9fd2VicGFja19yZXF1aXJlX18uYyA9IGluc3RhbGxlZE1vZHVsZXM7XG5cbiBcdC8vIGRlZmluZSBnZXR0ZXIgZnVuY3Rpb24gZm9yIGhhcm1vbnkgZXhwb3J0c1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kID0gZnVuY3Rpb24oZXhwb3J0cywgbmFtZSwgZ2V0dGVyKSB7XG4gXHRcdGlmKCFfX3dlYnBhY2tfcmVxdWlyZV9fLm8oZXhwb3J0cywgbmFtZSkpIHtcbiBcdFx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywgbmFtZSwge1xuIFx0XHRcdFx0Y29uZmlndXJhYmxlOiBmYWxzZSxcbiBcdFx0XHRcdGVudW1lcmFibGU6IHRydWUsXG4gXHRcdFx0XHRnZXQ6IGdldHRlclxuIFx0XHRcdH0pO1xuIFx0XHR9XG4gXHR9O1xuXG4gXHQvLyBkZWZpbmUgX19lc01vZHVsZSBvbiBleHBvcnRzXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnIgPSBmdW5jdGlvbihleHBvcnRzKSB7XG4gXHRcdE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCAnX19lc01vZHVsZScsIHsgdmFsdWU6IHRydWUgfSk7XG4gXHR9O1xuXG4gXHQvLyBnZXREZWZhdWx0RXhwb3J0IGZ1bmN0aW9uIGZvciBjb21wYXRpYmlsaXR5IHdpdGggbm9uLWhhcm1vbnkgbW9kdWxlc1xuIFx0X193ZWJwYWNrX3JlcXVpcmVfXy5uID0gZnVuY3Rpb24obW9kdWxlKSB7XG4gXHRcdHZhciBnZXR0ZXIgPSBtb2R1bGUgJiYgbW9kdWxlLl9fZXNNb2R1bGUgP1xuIFx0XHRcdGZ1bmN0aW9uIGdldERlZmF1bHQoKSB7IHJldHVybiBtb2R1bGVbJ2RlZmF1bHQnXTsgfSA6XG4gXHRcdFx0ZnVuY3Rpb24gZ2V0TW9kdWxlRXhwb3J0cygpIHsgcmV0dXJuIG1vZHVsZTsgfTtcbiBcdFx0X193ZWJwYWNrX3JlcXVpcmVfXy5kKGdldHRlciwgJ2EnLCBnZXR0ZXIpO1xuIFx0XHRyZXR1cm4gZ2V0dGVyO1xuIFx0fTtcblxuIFx0Ly8gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLm8gPSBmdW5jdGlvbihvYmplY3QsIHByb3BlcnR5KSB7IHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7IH07XG5cbiBcdC8vIF9fd2VicGFja19wdWJsaWNfcGF0aF9fXG4gXHRfX3dlYnBhY2tfcmVxdWlyZV9fLnAgPSBcIlwiO1xuXG5cbiBcdC8vIExvYWQgZW50cnkgbW9kdWxlIGFuZCByZXR1cm4gZXhwb3J0c1xuIFx0cmV0dXJuIF9fd2VicGFja19yZXF1aXJlX18oX193ZWJwYWNrX3JlcXVpcmVfXy5zID0gMSk7XG4iLCJtb2R1bGUuZXhwb3J0cyA9IHJlcXVpcmUoXCJyZWFjdFwiKTsiLCJpbXBvcnQgKiBhcyBSZWFjdCBmcm9tIFwicmVhY3RcIjtcblxuaW50ZXJmYWNlIElQcm9wcyB7XG5cdC8qKlxuXHQgKiBJbml0aWFsIG51bWJlciB2YWx1ZSB0byBkaXNwbGF5IGluIHRoZSB0ZXh0ZmllbGQuXG5cdCAqIEB0eXBlIHtudW1iZXJ9XG5cdCAqL1xuXHRudW1iZXI/OiBudW1iZXI7XG5cblx0LyoqXG5cdCAqIFRoZSBjaGFyYWN0ZXIgdXNlZCB0byBzZXBhcmF0ZSB0aGUgZGVjaW1hbCBwYXJ0cyBmcm9tIHRoZSB3aG9sZSBudW1iZXIuXG5cdCAqIFRoaXMgaXMgdXN1YWxseSBhIGNvbW1hIG9yIGEgZG90LlxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0ZGVjaW1hbF9jaGFyYWN0ZXI6IHN0cmluZztcblxuXHQvKipcblx0ICogVGhlIGNoYXJhY3RlciB1c2VkIHRvIHNlcGFyYXRlIGEgZ3JvdXAgb2YgZGlnaXRzIGluIHRoZSBudW1iZXIuXG5cdCAqIFRoaXMgaXMgZG9uZSBldmVyeSAzICh0aG91c2FuZCkgdmFsdWVzLlxuXHQgKiBAdHlwZSB7c3RyaW5nfVxuXHQgKi9cblx0Z3JvdXBfc2VwYXJhdG9yOiBzdHJpbmc7XG5cblx0LyoqXG5cdCAqIFRoZSBtYXhpbXVtIG51bWJlciBvZiBkZWNpbWFsIHBsYWNlcyB0byBhbGxvdy5cblx0ICogQHBhcmFtIHtudW1iZXJ9XG5cdCAqL1xuXHRwcmVjaXNpb246IG51bWJlcjtcblxuXHQvKipcblx0ICogSlNYIEF0dHJpYnV0ZSBmb3IgQ1NTIGNsYXNzbmFtZXNcblx0ICogQHR5cGUge2FueX1cblx0ICovXG5cdGNsYXNzTmFtZT86IGFueTtcblxuXHQvKipcblx0ICogSlNYIGF0dHJpYnV0ZSBmb3IgdGhlIGlucHV0IHBsYWNlaG9sZGVyXG5cdCAqIEB0eXBlIHthbnl9XG5cdCAqL1xuXHQgcGxhY2Vob2xkZXI/OiBhbnk7XG5cblx0LyoqXG5cdCAqIENhbGxiYWNrIGZ1bmN0aW9uIHRvIHJlY2VpdmUgY2hhbmdlcyBpbiB0aGUgbnVtYmVyIHZhbHVlLlxuXHQgKiBAcGFyYW0geyh2YWx1ZTogbnVtYmVyfHVuZGVmaW5lZCkgPT4gdm9pZH1cblx0ICovXG5cdGRpZENoYW5nZU51bWJlcj86ICh2YWx1ZTogbnVtYmVyfHVuZGVmaW5lZCkgPT4gdm9pZDtcbn07XG5cbmludGVyZmFjZSBJU3RhdGUge1xuXHQvKipcblx0ICogVGhlIHN0cmluZyB0byBkaXNwbGF5IGluIHRoZSB0ZXh0ZmllbGQuXG5cdCAqIEB0eXBlIHtzdHJpbmd9XG5cdCAqL1xuXHRzdHJpbmdfdmFsdWU6IHN0cmluZztcbn07XG5cbmludGVyZmFjZSBJUGFyc2VSZXN1bHQge1xuXHRzdHJpbmdfdmFsdWU6IHN0cmluZztcblx0bnVtYmVyX3ZhbHVlOiBudW1iZXJ8dW5kZWZpbmVkO1xufVxuXG5jb25zdCBkZWZhdWx0UHJvcHM6IElQcm9wcyA9IHtcblx0ZGVjaW1hbF9jaGFyYWN0ZXI6IFwiLlwiLFxuXHRncm91cF9zZXBhcmF0b3I6IFwiLFwiLFxuXHRwcmVjaXNpb246IDIsXG59O1xuXG5jb25zdCBpbml0aWFsU3RhdGU6IElTdGF0ZSA9IHtcblx0c3RyaW5nX3ZhbHVlOiBcIlwiLFxufTtcblxuZXhwb3J0IGRlZmF1bHQgY2xhc3MgTnVtYmVyVGV4dGZpZWxkIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElQcm9wcywgSVN0YXRlPiB7XG5cblx0cHVibGljIHN0YXRpYyBkZWZhdWx0UHJvcHMgPSBkZWZhdWx0UHJvcHM7XG5cblx0cHVibGljIHN0YXRlID0gaW5pdGlhbFN0YXRlO1xuXG5cdC8qKlxuXHQgKiBJZiBhIG51bWJlciBpcyBwcm92aWRlZCBhcyBhIHByb3AsIHRoaXMgd2lsbCBjcmVhdGUgYSBuZXcgZm9ybWF0dGVkIHN0cmluZ1xuXHQgKiBmb3IgdGhhdCBudW1iZXIuXG5cdCAqIEBwYXJhbSB7SVByb3BzfSBuZXh0UHJvcHNcblx0ICogQHBhcmFtIHtJU3RhdGV9IGN1cnJTdGF0ZVxuXHQgKiBAcmV0dXJuIHtQYXJ0aWFsPElTdGF0ZT58dW5kZWZpbmVkfVxuXHQgKi9cblx0cHVibGljIHN0YXRpYyBkZXJpdmVkU3RhdGVGcm9tUHJvcHMobmV4dFByb3BzOiBJUHJvcHMsIGN1cnJTdGF0ZTogSVN0YXRlKTogUGFydGlhbDxJU3RhdGU+fHVuZGVmaW5lZCB7XG5cdFx0aWYgKHR5cGVvZiBuZXh0UHJvcHMubnVtYmVyID09PSBcIm51bWJlclwiKSB7XG5cdFx0XHRyZXR1cm4gcGFyc2VTdHJpbmcoXG5cdFx0XHRcdG5leHRQcm9wcy5udW1iZXIudG9TdHJpbmcoKSxcblx0XHRcdFx0bmV4dFByb3BzLmRlY2ltYWxfY2hhcmFjdGVyLFxuXHRcdFx0XHRuZXh0UHJvcHMuZ3JvdXBfc2VwYXJhdG9yLFxuXHRcdFx0XHRuZXh0UHJvcHMucHJlY2lzaW9uXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHR9XG5cblx0Y29uc3RydWN0b3IocHJvcHM6IElQcm9wcykge1xuXHRcdHN1cGVyKHByb3BzKTtcblxuXHRcdC8vIHByZWNpc2lvbiBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlciB2YWx1ZS5cblx0XHRpZiAocHJvcHMucHJlY2lzaW9uIDwgMCB8fCBwcm9wcy5wcmVjaXNpb24gJSAxICE9PSAwKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoXCJNYXhpbXVtIHByZWNpc2lvbiBtdXN0IGJlIGEgcG9zaXRpdmUgaW50ZWdlci5cIik7XG5cdFx0fVxuXHR9XG5cblx0cHVibGljIHJlbmRlcigpIHtcblx0XHRyZXR1cm4gKFxuXHRcdFx0PGlucHV0XG5cdFx0XHRcdHR5cGU9XCJ0ZXh0XCJcblx0XHRcdFx0Y2xhc3NOYW1lPXsgdGhpcy5wcm9wcy5jbGFzc05hbWUgfVxuXHRcdFx0XHR2YWx1ZT17IHRoaXMuc3RhdGUuc3RyaW5nX3ZhbHVlIH1cblx0XHRcdFx0cGxhY2Vob2xkZXI9eyB0aGlzLnByb3BzLnBsYWNlaG9sZGVyIH1cblx0XHRcdFx0b25LZXlQcmVzcz17IHRoaXMuaGFuZGxlS2V5UHJlc3MgfVxuXHRcdFx0XHRvbkNoYW5nZT17IHRoaXMuaGFuZGxlQ2hhbmdlIH1cblx0XHRcdC8+XG5cdFx0KTtcblx0fVxuXG5cdC8qKlxuXHQgKiBFdmVudCBsaXN0ZW5lciBmb3IgdGhlIEtleVByZXNzIGV2ZW50IGZpcmVkIGZyb20gdGhlIGlucHV0IGNvbnRyb2wuXG5cdCAqIEBwYXJhbSB7UmVhY3QuS2V5Ym9hcmRFdmVudDxhbnk+fVxuXHQgKiBAcmV0dXJuIGJvb2xlYW5cblx0ICovXG5cdHB1YmxpYyBoYW5kbGVLZXlQcmVzcyA9IChlOiBSZWFjdC5LZXlib2FyZEV2ZW50PGFueT4pID0+IHtcblx0XHRjb25zdCBjaGFyQ29kZSA9IGUuY2hhckNvZGU7XG5cdFx0bGV0IHNob3VsZENhbmNlbCA9IGZhbHNlO1xuXG5cdFx0aWYgKCFjaGFyQ29kZUlzRGlnaXQoY2hhckNvZGUpKSB7XG5cdFx0XHRjb25zdCBjaGFyU3RyaW5nID0gU3RyaW5nLmZyb21DaGFyQ29kZShjaGFyQ29kZSk7XG5cblx0XHRcdC8vIElmIGl0IGlzIG5vdCBhIGRpZ2l0IG9yIGEgZGVjaW1hbCBjaGFyYWN0ZXIsIGNhbmNlbCB0aGUga2V5LlxuXHRcdFx0aWYgKGNoYXJTdHJpbmcgIT09IHRoaXMucHJvcHMuZGVjaW1hbF9jaGFyYWN0ZXIpIHtcblx0XHRcdFx0c2hvdWxkQ2FuY2VsID0gdHJ1ZTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdC8vIElmIHRoZSBpbnB1dCBmaWVsZCBkb2VzIG5vdCBhbGxvdyBkZWNpbWFscywgb3IgaWYgd2UgYWxyZWFkeSB0eXBlZCBvbmUsIGNhbmNlbCB0aGUga2V5LlxuXHRcdFx0XHRpZiAodGhpcy5wcm9wcy5wcmVjaXNpb24gPT09IDAgfHwgdGhpcy5zdGF0ZS5zdHJpbmdfdmFsdWUuaW5kZXhPZih0aGlzLnByb3BzLmRlY2ltYWxfY2hhcmFjdGVyKSA+IC0xKSB7XG5cdFx0XHRcdFx0c2hvdWxkQ2FuY2VsID0gdHJ1ZTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGlmIChzaG91bGRDYW5jZWwpIHtcblx0XHRcdGUucHJldmVudERlZmF1bHQoKTtcblx0XHRcdGUuc3RvcFByb3BhZ2F0aW9uKCk7XG5cdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0fVxuXHR9O1xuXG5cdC8qKlxuXHQgKiBFdmVudCBsaXN0ZW5lciBmb3IgdGhlIGNoYW5nZSBldmVudCBmaXJlZCBmcm9tIHRoZSBpbnB1dCBjb250cm9sLlxuXHQgKiBAcGFyYW0ge1JlYWN0LkNoYW5nZUV2ZW50PGFueT59IGVcblx0ICogQHJldHVybiB2b2lkXG5cdCAqL1xuXHRwdWJsaWMgaGFuZGxlQ2hhbmdlID0gKGU6IFJlYWN0LkNoYW5nZUV2ZW50PGFueT4pID0+IHtcblx0XHRjb25zdCBwYXJzZVJlc3VsdCA9IHBhcnNlU3RyaW5nKFxuXHRcdFx0ZS50YXJnZXQudmFsdWUsXG5cdFx0XHR0aGlzLnByb3BzLmRlY2ltYWxfY2hhcmFjdGVyLFxuXHRcdFx0dGhpcy5wcm9wcy5ncm91cF9zZXBhcmF0b3IsXG5cdFx0XHR0aGlzLnByb3BzLnByZWNpc2lvblxuXHRcdCk7XG5cblx0XHR0aGlzLnNldFN0YXRlKHtcblx0XHRcdHN0cmluZ192YWx1ZTogcGFyc2VSZXN1bHQuc3RyaW5nX3ZhbHVlLFxuXHRcdH0pO1xuXG5cdFx0aWYgKHR5cGVvZiB0aGlzLnByb3BzLmRpZENoYW5nZU51bWJlciA9PT0gXCJmdW5jdGlvblwiKSB7XG5cdFx0XHR0aGlzLnByb3BzLmRpZENoYW5nZU51bWJlcihwYXJzZVJlc3VsdC5udW1iZXJfdmFsdWUpO1xuXHRcdH1cblx0fVxufTtcblxuLyoqXG4gKiBQYXJzZXMgYSBzdHJpbmcgYXMgYSBudW1iZXIsIGFuZCByZXR1cm5zIHRoZSBudW1iZXIgYW5kIGZvcm1hdHRpbmcgc3RyaW5nLlxuICogQHBhcmFtIHtzdHJpbmd9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gZGVjaW1hbENoYXJcbiAqIEBwYXJhbSB7c3RyaW5nfSBncm91cENoYXJcbiAqIEBwYXJhbSB7bnVtYmVyfSBtYXhQcmVjaXNpb25cbiAqIEByZXR1cm4ge0lQYXJzZVJlc3VsdH1cbiAqL1xuZnVuY3Rpb24gcGFyc2VTdHJpbmcodmFsdWU6IHN0cmluZywgZGVjaW1hbENoYXI6IHN0cmluZywgZ3JvdXBDaGFyOiBzdHJpbmcsIG1heFByZWNpc2lvbjogbnVtYmVyKTogSVBhcnNlUmVzdWx0IHtcblx0Y29uc3Qgc2FuaXR6ZVJlZ0V4cCA9IG5ldyBSZWdFeHAoYFteMC05JHsgZXNjYXBlUmVnRXhwKGRlY2ltYWxDaGFyKSB9XStgLCBcImdcIik7XG5cdGxldCBzdHJpbmdWYWx1ZSA9IHZhbHVlLnJlcGxhY2Uoc2FuaXR6ZVJlZ0V4cCwgXCJcIikucmVwbGFjZShkZWNpbWFsQ2hhciwgXCIuXCIpO1xuXHRsZXQgbnVtYmVyVmFsdWUgPSBzdHJpbmdUb051bWJlcihzdHJpbmdWYWx1ZSk7XG5cblx0Ly8gSWYgd2UgY291bGQgbm90IGZpbmQgYSBudW1iZXIsIHJlc2V0IHRoZSB0ZXh0ZmllbGQuXG5cdGlmICh0eXBlb2YgbnVtYmVyVmFsdWUgPT09IFwidW5kZWZpbmVkXCIgfHwgaXNOYU4obnVtYmVyVmFsdWUpKSB7XG5cdFx0Y29uc29sZS53YXJuKFwiU3RyaW5nIGNvdWxkIG5vdCBiZSByZXByZXNlbnRlZCBhcyBhIG51bWJlci4gUmVzZXR0aW5nIHRleHRmaWVsZCB2YWx1ZS5cIik7XG5cdFx0cmV0dXJuIHtcblx0XHRcdG51bWJlcl92YWx1ZTogdW5kZWZpbmVkLFxuXHRcdFx0c3RyaW5nX3ZhbHVlOiBcIlwiLFxuXHRcdH07XG5cdH1cblxuXHQvLyBJZiBpdCBleGNlZWRzIHRoZSBtYXhpbXVtIHByZWNpc2lvbiwgY2hvcCBvZmYgZXhjZXNzIGRpZ2l0cy5cblx0Y29uc3QgaXNEZWNpbWFsID0gc3RyaW5nVmFsdWUuaW5kZXhPZihcIi5cIikgPiAtMTtcblx0Y29uc3QgcHJlY2lzaW9uID0gY291bnREZWNpbWFsUHJlY2lzaW9uKHN0cmluZ1ZhbHVlKTtcblx0aWYgKG51bWJlclZhbHVlICUgMSAhPT0gMCAmJiBwcmVjaXNpb24gPiBtYXhQcmVjaXNpb24pIHtcblx0XHQvLyBFeGNlZWRzIHByZWNpc2lvbiwgd2UgY2Fubm90IGFsbG93IGl0LlxuXHRcdGNvbnNvbGUud2FybihcIkFkZGl0aW9uYWwgZGVjaW1hbCBkaWdpdCB3aWxsIGV4Y2VlZCBtYXhpbXVtIHByZWNpc2lvbi5cIik7XG5cblx0XHRjb25zdCByb3VuZGluZ0NvbnN0YW50ID0gTWF0aC5wb3coMTAsIG1heFByZWNpc2lvbik7XG5cdFx0bnVtYmVyVmFsdWUgPSBNYXRoLmZsb29yKG51bWJlclZhbHVlICogcm91bmRpbmdDb25zdGFudCkgLyByb3VuZGluZ0NvbnN0YW50O1xuXHR9XG5cblx0Ly8gUmVjcmVhdGUgYSBzdHJpbmcgdmFsdWUgdXNpbmcgdGhlIGRlcml2ZWQgbnVtYmVyXG5cdHN0cmluZ1ZhbHVlID0gbnVtYmVyVG9TdHJpbmcoXG5cdFx0bnVtYmVyVmFsdWUsXG5cdFx0Z3JvdXBDaGFyLFxuXHRcdGRlY2ltYWxDaGFyLFxuXHRcdGlzRGVjaW1hbCA/IE1hdGgubWF4KDAsIE1hdGgubWluKHByZWNpc2lvbiwgbWF4UHJlY2lzaW9uKSkgOiAtMVxuXHQpO1xuXG5cdHJldHVybiB7XG5cdFx0bnVtYmVyX3ZhbHVlOiBudW1iZXJWYWx1ZSxcblx0XHRzdHJpbmdfdmFsdWU6IHN0cmluZ1ZhbHVlLFxuXHR9O1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIG51bWVyaWNhbCByZXByZXNlbnRhdGlvbiBvZiBhIG51bWJlci5cbiAqIEBwYXJhbSB7c3RyaW5nfSB2YWx1ZVxuICogQHJldHVybiBudW1iZXJ8dW5kZWZpbmVkXG4gKi9cbmZ1bmN0aW9uIHN0cmluZ1RvTnVtYmVyKHZhbHVlOiBzdHJpbmcpOiBudW1iZXJ8dW5kZWZpbmVkIHtcblx0bGV0IG51bWJlclZhbHVlOiBudW1iZXJ8dW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXHRcblx0Ly8gSWYgd2UgaGF2ZSBhIGRlY2ltYWwgZG90IGluIHRoZSBzdHJpbmcsIHRoZW4gaXQgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIuXG5cdGNvbnN0IGlzRGVjaW1hbDogYm9vbGVhbiA9IHZhbHVlLmluZGV4T2YoXCIuXCIpID4gLTE7XG5cblx0Ly8gSWYgaXQgaXMgYSBmbG9hdGluZyBwb2ludCBudW1iZXIsIG1ha2Ugc3VyZSB3ZSBoYXZlIGF0IGxlYXN0IG9uZSB3aG9sZSBudW1iZXIuXG5cdC8vIEFzc3VtZSB6ZXJvIGlmIG5vdGhpbmcgaXMgdGhlcmUuXG5cdGlmIChpc0RlY2ltYWwgJiYgdmFsdWUubGVuZ3RoID09PSAxKSB7XG5cdFx0dmFsdWUgPSBcIjBcIiArIHZhbHVlO1xuXHR9XG5cblx0Ly8gSWYgaXQgaGFzIHRoZSBkZWNpbWFsIGNoYXJhY3Rlciwgd2Ugd2lsbCBwYXJzZSB0aGUgc3RyaW5nIGFzIGEgZGVjaW1hbCB2YWx1ZS5cblx0aWYgKGlzRGVjaW1hbCkge1xuXHRcdG51bWJlclZhbHVlID0gcGFyc2VGbG9hdCh2YWx1ZSk7XG5cdH0gZWxzZSB7XG5cdFx0bnVtYmVyVmFsdWUgPSBwYXJzZUludCh2YWx1ZSk7XG5cdH1cblxuXHRyZXR1cm4gbnVtYmVyVmFsdWU7XG59XG5cbi8qKlxuICogUmV0dXJucyBhIHN0cmluZyByZXByZXNlbnRhdGlvbiBvZiBhIG51bWJlciBnaXZlbiBhIHNwZWNpZmljIGdyb3VwIGNoYXJhY3RlciBhbmQgZGVjaW1hbCBjaGFyYWN0ZXIuXG4gKiBQcm92aWRpbmcgLTEgZm9yIHByZWNpc2lvbiB3aWxsIHJlbW92ZSB0aGUgZGVjaW1hbCBwb2ludCBhbHRvZ2V0aGVyLlxuICogUHJvdmlkaW5nIDAgZm9yIHByZWNpc2lvbiB3aWxsIGFkZCBqdXN0IHRoZSBkZWNpbWFsIHBvaW50LlxuICogQW55IHBvc2l0aXZlIG51bWJlciB3aWxsIGFkZCB0aGUgZGVjaW1hbCB2YWx1ZXMgYW5kIHBhZCB3aXRoIHplcm9lcy5cbiAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICogQHBhcmFtIHtzdHJpbmd9IGdyb3VwQ2hhclxuICogQHBhcmFtIHtzdHJpbmd9IGRlY2ltYWxDaGFyXG4gKiBAcGFyYW0ge251bWJlcn0gcHJlY2lzaW9uXG4gKiBAcmV0dXJuIHN0cmluZ1xuICovXG5mdW5jdGlvbiBudW1iZXJUb1N0cmluZyh2YWx1ZTogbnVtYmVyLCBncm91cENoYXI6IHN0cmluZywgZGVjaW1hbENoYXI6IHN0cmluZywgcHJlY2lzaW9uOiBudW1iZXIpOiBzdHJpbmcge1xuXHRjb25zdCBzdHJpbmdWYWx1ZVBhcnRzID0gdmFsdWUudG9TdHJpbmcoKS5zcGxpdChcIi5cIik7XG5cdGNvbnN0IGludGVnZXJTdHJpbmcgPSBzdHJpbmdWYWx1ZVBhcnRzWzBdO1xuXHRjb25zdCBkZWNpbWFsU3RyaW5nID0gc3RyaW5nVmFsdWVQYXJ0cy5sZW5ndGggPiAxID8gc3RyaW5nVmFsdWVQYXJ0c1sxXSA6IFwiXCI7XG5cdGNvbnN0IG51bUdyb3VwcyA9IE1hdGguZmxvb3IoaW50ZWdlclN0cmluZy5sZW5ndGggLyAzKTtcblx0bGV0IGZvcm1hdHRlZFN0cmluZzogc3RyaW5nID0gXCJcIjtcblxuXHQvLyBBZGQgdGhlIHdob2xlIGludGVnZXIgdmFsdWVzLCBzZXBhcmF0ZWQgYnkgZXZlcnkgMyBudW1iZXJzIHdpdGggdGhlIGdyb3VwQ2hhclxuXHRpZiAobnVtR3JvdXBzID4gMCkge1xuXHRcdGZvciAobGV0IGkgPSAxOyBpIDw9IG51bUdyb3VwczsgaSsrKSB7XG5cdFx0XHRmb3JtYXR0ZWRTdHJpbmcgPSBpbnRlZ2VyU3RyaW5nLnN1YnN0cihpICogLTMsIDMpICsgKGkgPiAxID8gZ3JvdXBDaGFyICsgZm9ybWF0dGVkU3RyaW5nIDogXCJcIik7XG5cdFx0fVxuXHR9XG5cblx0Ly8gQWRkIHRoZSByZW1haW5pbmcgaW50ZWdlcnMgdGhhdCBkaWRuJ3QgZmFsbCBpbnRvIGEgZ3JvdXAgb2YgM1xuXHRjb25zdCBpbnRlZ2VyUmVtYWluZGVyID0gaW50ZWdlclN0cmluZy5sZW5ndGggJSAzO1xuXHRpZiAoaW50ZWdlclJlbWFpbmRlciA+IDApIHtcblx0XHRmb3JtYXR0ZWRTdHJpbmcgPSBpbnRlZ2VyU3RyaW5nLnN1YnN0cigwLCBpbnRlZ2VyUmVtYWluZGVyKSArIChmb3JtYXR0ZWRTdHJpbmcubGVuZ3RoID4gMCA/IGdyb3VwQ2hhciArIGZvcm1hdHRlZFN0cmluZyA6IFwiXCIpO1xuXHR9XG5cblx0Ly8gSWYgd2UgYXJlIGluY2x1ZGluZyBkZWNpbWFsIHZhbHVlcywgYWRkIHRoZSBkZWNpbWFsIGNoYXJhY3RlciBhbmQgdGhlIGRlY2ltYWwgc3RyaW5nIHZhbHVlcy5cblx0Ly8gRmlsbCBpbiAwcyBmb3IgYW55IHJlbWFpbmluZyBwcmVjaXNpb24uXG5cdGlmIChwcmVjaXNpb24gPiAtMSkge1xuXHRcdGZvcm1hdHRlZFN0cmluZyArPSBkZWNpbWFsQ2hhciArIGRlY2ltYWxTdHJpbmc7XG5cdFx0aWYgKHByZWNpc2lvbiA+IGRlY2ltYWxTdHJpbmcubGVuZ3RoKSB7XG5cdFx0XHRmb3JtYXR0ZWRTdHJpbmcgKz0gKG5ldyBBcnJheShwcmVjaXNpb24gLSBkZWNpbWFsU3RyaW5nLmxlbmd0aCkpLmZpbGwoMCkuam9pbihcIlwiKTtcblx0XHR9XG5cdH1cblxuXHRyZXR1cm4gZm9ybWF0dGVkU3RyaW5nO1xufVxuXG4vKipcbiAqIFJldHVybnMgdGhlIHByZWNpc2lvbiAobnVtYmVyIG9mIGRlY2ltYWwgcGxhY2VzKSBpbiBhIG51bWJlcmljYWwgc3RyaW5nLlxuICogQHBhcmFtIHtudW1iZXJ9IHZhbHVlXG4gKiBAcGFyYW0ge3N0cmluZ30gZGVjaW1hbENoYXIgVGhlIGNoYXJhY3RlciB1c2VkIGZvciBhIGRlY2ltYWwuXG4gKiBAcmV0dXJuIHtudW1iZXJ9XG4gKi9cbmZ1bmN0aW9uIGNvdW50RGVjaW1hbFByZWNpc2lvbih2YWx1ZTogc3RyaW5nKTogbnVtYmVyIHtcblx0Y29uc3Qgc3RyaW5nUGFydHMgPSB2YWx1ZS50b1N0cmluZygpLnNwbGl0KFwiLlwiKTtcblx0aWYgKHN0cmluZ1BhcnRzLmxlbmd0aCA+IDEpIHtcblx0XHRyZXR1cm4gc3RyaW5nUGFydHNbMV0ubGVuZ3RoO1xuXHR9XG5cblx0cmV0dXJuIDA7XG59XG5cbi8qKlxuICogRXNjYXBlcyBjZXJ0YWluIGNoYXJhY3RlcnMgaW4gYSBzdHJpbmcgYW5kIHByZXBhcmVzIGl0IGZvciB1c2UgYXMgYSByZWd1bGFyIGV4cHJlc3Npb24uXG4gKiBAc2VlIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0NDYxNzAvZXNjYXBlLXN0cmluZy1mb3ItdXNlLWluLWphdmFzY3JpcHQtcmVnZXgvNjk2OTQ4NiM2OTY5NDg2XG4gKiBAcGFyYW0ge3N0cmluZ30gc3RyXG4gKiBAcmV0dXJuIHtzdHJpbmd9XG4gKi9cbmZ1bmN0aW9uIGVzY2FwZVJlZ0V4cChzdHI6IHN0cmluZyk6IHN0cmluZyB7XG5cdHJldHVybiBzdHIucmVwbGFjZSgvW1xcLVxcW1xcXVxcL1xce1xcfVxcKFxcKVxcKlxcK1xcP1xcLlxcXFxcXF5cXCRcXHxdL2csIFwiXFxcXCQmXCIpO1xufVxuXG4vKipcbiAqIFdoZXRoZXIgb3Igbm90IGEgZ2l2ZW4gY2hhcmFjdGVyIGNvZGUgbWFwcyB0byBhIGRlY2ltYWwgZGlnaXQgKDAtOSkuXG4gKiBAcmV0dXJuIHtib29sZWFufVxuICovXG5mdW5jdGlvbiBjaGFyQ29kZUlzRGlnaXQoY2hhckNvZGU6IG51bWJlcik6IGJvb2xlYW4ge1xuXHRyZXR1cm4gY2hhckNvZGUgPj0gNDggJiYgY2hhckNvZGUgPD0gNTc7XG59XG4iXSwic291cmNlUm9vdCI6IiJ9
{
"name": "react-number-textfield",
"version": "1.1.1",
"version": "1.2.0",
"description": "Controlled ReactJS component for entering numbers.",
"main": "index.ts",
"main": "build/react-number-textfield.js",
"scripts": {

@@ -7,0 +7,0 @@ "dev": "webpack --mode development",

@@ -11,3 +11,3 @@ const path = require("path");

library: "ReactNumberTextfield",
libraryTarget: "umd"
libraryTarget: "commonjs"
},

@@ -14,0 +14,0 @@ resolve: {

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc