ANeilan

pledgerreliance.claims-administrator.com_assets.cfm_ss.js deobfuscated

Mar 8th, 2021
13,125
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 53.20 KB | None | 0 0
  1. /*
  2. * Copyright 2016-2017, www.SuperSignature.com
  3. * This code is not a freeware. You need to buy it before use!
  4. * ver 1.5.0.3 October 2017
  5.  
  6. Hi!
  7.  
  8. If you came here for a reason. You know, " curiousity killed the cat ".
  9. If you are in a risky mood, just drop us a line [email protected]
  10.  
  11. */
  12.  
  13. function supports_canvas() {
  14. try {
  15. return document['createElement']('canvas')['getContext']('2d'), !0
  16. } catch (e) {
  17. return !1
  18. }
  19. }
  20.  
  21. function getInternetExplorerVersion() {
  22. var _0x54d2x3 = -1;
  23. if ('Microsoft Internet Explorer' == window['navigator']['appName']) {
  24. var _0x54d2x4 = window['navigator']['userAgent'],
  25. _0x54d2x5 = new RegExp('MSIE ([0-9]{1,}[.0-9]{0,})');
  26. null != _0x54d2x5['exec'](_0x54d2x4) && (_0x54d2x3 = parseFloat(RegExp.$1))
  27. };
  28. return _0x54d2x3
  29. }
  30.  
  31. function SuperSignature() {
  32. function _0x54d2x7(_0x54d2x3, _0x54d2x4, _0x54d2x5) {
  33. _0x54d2x3['myEvents'] || (_0x54d2x3['myEvents'] = {}), _0x54d2x3['myEvents'][_0x54d2x4] || (_0x54d2x3['myEvents'][_0x54d2x4] = []);
  34. var _0x54d2x8 = _0x54d2x3['myEvents'][_0x54d2x4];
  35. _0x54d2x8[_0x54d2x8['length']] = _0x54d2x5
  36. }
  37.  
  38. function _0x54d2x9(_0x54d2x3, _0x54d2x4) {
  39. if (_0x54d2x3 && _0x54d2x3['myEvents'] && _0x54d2x3['myEvents'][_0x54d2x4]) {
  40. for (var _0x54d2x5 = _0x54d2x3['myEvents'][_0x54d2x4], _0x54d2x8 = 0, _0x54d2xa = _0x54d2x5['length']; _0x54d2xa > _0x54d2x8; _0x54d2x8++) {
  41. _0x54d2x5[_0x54d2x8]()
  42. }
  43. }
  44. }
  45.  
  46. function _0x54d2xb(_0x54d2x3) {
  47. _0x54d2xe(_0x54d2x3)
  48. }
  49.  
  50. function _0x54d2xc(_0x54d2x3) {
  51. var _0x54d2x4 = /\s*((\S+\s*)*)/;
  52. return _0x54d2x3['replace'](_0x54d2x4, '$1')
  53. }
  54.  
  55. function _0x54d2xd(_0x54d2x3) {
  56. var _0x54d2x4 = /((\s*\S+)*)\s*/;
  57. return _0x54d2x3['replace'](_0x54d2x4, '$1')
  58. }
  59.  
  60. function _0x54d2xe(_0x54d2x3) {
  61. if (null != _0x54d2x2a && 'undefined' != _0x54d2x2a) {
  62. try {
  63. _0x54d2x2a['innerHTML'] = _0x54d2x3 + '...<br/>' + _0x54d2x2a['innerHTML']
  64. } catch (t) {
  65. alert(t['description'])
  66. }
  67. }
  68. }
  69.  
  70. function _0x54d2xf(_0x54d2x3) {
  71. _0x54d2x3 = _0x54d2x3['replace']('undefined ', ''), _0x54d2x3 = _0x54d2x3['replace']('undefined', '');
  72. var _0x54d2x4, _0x54d2x5, _0x54d2x8, _0x54d2xa, _0x54d2x10, _0x54d2x11, _0x54d2x12, _0x54d2x13 = '',
  73. _0x54d2x14 = 0;
  74. for (_0x54d2x3 = _0x54d2x16(_0x54d2x3); _0x54d2x14 < _0x54d2x3['length'];) {
  75. _0x54d2x4 = _0x54d2x3['charCodeAt'](_0x54d2x14++), _0x54d2x5 = _0x54d2x3['charCodeAt'](_0x54d2x14++), _0x54d2x8 = _0x54d2x3['charCodeAt'](_0x54d2x14++), _0x54d2xa = _0x54d2x4 >> 2, _0x54d2x10 = (3 & _0x54d2x4) << 4 | _0x54d2x5 >> 4, _0x54d2x11 = (15 & _0x54d2x5) << 2 | _0x54d2x8 >> 6, _0x54d2x12 = 63 & _0x54d2x8, isNaN(_0x54d2x5) ? _0x54d2x11 = _0x54d2x12 = 64 : isNaN(_0x54d2x8) && (_0x54d2x12 = 64), _0x54d2x13 = _0x54d2x13 + _0x54d2x1a['charAt'](_0x54d2xa) + _0x54d2x1a['charAt'](_0x54d2x10) + _0x54d2x1a['charAt'](_0x54d2x11) + _0x54d2x1a['charAt'](_0x54d2x12)
  76. };
  77. return _0x54d2x13
  78. }
  79.  
  80. function _0x54d2x15(_0x54d2x3) {
  81. for (var _0x54d2x4 = '', _0x54d2x5 = 0, _0x54d2x8 = c1 = c2 = 0; _0x54d2x5 < _0x54d2x3['length'];) {
  82. _0x54d2x8 = _0x54d2x3['charCodeAt'](_0x54d2x5), 128 > _0x54d2x8 ? (_0x54d2x4 += String['fromCharCode'](_0x54d2x8), _0x54d2x5++) : _0x54d2x8 > 191 && 224 > _0x54d2x8 ? (c2 = _0x54d2x3['charCodeAt'](_0x54d2x5 + 1), _0x54d2x4 += String['fromCharCode']((31 & _0x54d2x8) << 6 | 63 & c2), _0x54d2x5 += 2) : (c2 = _0x54d2x3['charCodeAt'](_0x54d2x5 + 1), c3 = _0x54d2x3['charCodeAt'](_0x54d2x5 + 2), _0x54d2x4 += String['fromCharCode']((15 & _0x54d2x8) << 12 | (63 & c2) << 6 | 63 & c3), _0x54d2x5 += 3)
  83. };
  84. return _0x54d2x4
  85. }
  86.  
  87. function _0x54d2x16(_0x54d2x3) {
  88. _0x54d2x3 = _0x54d2x3['replace'](/\x0d\x0a/g, '\x0A');
  89. for (var _0x54d2x4 = '', _0x54d2x5 = 0; _0x54d2x5 < _0x54d2x3['length']; _0x54d2x5++) {
  90. var _0x54d2x8 = _0x54d2x3['charCodeAt'](_0x54d2x5);
  91. 128 > _0x54d2x8 ? _0x54d2x4 += String['fromCharCode'](_0x54d2x8) : _0x54d2x8 > 127 && 2048 > _0x54d2x8 ? (_0x54d2x4 += String['fromCharCode'](_0x54d2x8 >> 6 | 192), _0x54d2x4 += String['fromCharCode'](63 & _0x54d2x8 | 128)) : (_0x54d2x4 += String['fromCharCode'](_0x54d2x8 >> 12 | 224), _0x54d2x4 += String['fromCharCode'](_0x54d2x8 >> 6 & 63 | 128), _0x54d2x4 += String['fromCharCode'](63 & _0x54d2x8 | 128))
  92. };
  93. return _0x54d2x4
  94. }
  95.  
  96. function _0x54d2x17(_0x54d2x3) {
  97. var _0x54d2x4, _0x54d2x5, _0x54d2x8, _0x54d2xa, _0x54d2x10, _0x54d2x11 = '',
  98. _0x54d2x12 = '',
  99. _0x54d2x16 = '',
  100. _0x54d2x13 = 0,
  101. _0x54d2x14 = _0x54d2x1a,
  102. _0x54d2x18 = /[^A-Za-z0-9\+\/\=]/g;
  103. _0x54d2x18['exec'](_0x54d2x3), _0x54d2x3 = _0x54d2x3['replace'](/[^A-Za-z0-9\+\/\=]/g, '');
  104. do {
  105. _0x54d2x8 = _0x54d2x14['indexOf'](_0x54d2x3['charAt'](_0x54d2x13++)), _0x54d2xa = _0x54d2x14['indexOf'](_0x54d2x3['charAt'](_0x54d2x13++)), _0x54d2x10 = _0x54d2x14['indexOf'](_0x54d2x3['charAt'](_0x54d2x13++)), _0x54d2x16 = _0x54d2x14['indexOf'](_0x54d2x3['charAt'](_0x54d2x13++)), _0x54d2x4 = _0x54d2x8 << 2 | _0x54d2xa >> 4, _0x54d2x5 = (15 & _0x54d2xa) << 4 | _0x54d2x10 >> 2, _0x54d2x12 = (3 & _0x54d2x10) << 6 | _0x54d2x16, _0x54d2x11 += String['fromCharCode'](_0x54d2x4), 64 != _0x54d2x10 && (_0x54d2x11 += String['fromCharCode'](_0x54d2x5)), 64 != _0x54d2x16 && (_0x54d2x11 += String['fromCharCode'](_0x54d2x12)), _0x54d2x4 = _0x54d2x5 = _0x54d2x12 = '', _0x54d2x8 = _0x54d2xa = _0x54d2x10 = _0x54d2x16 = ''
  106. } while (_0x54d2x13 < _0x54d2x3['length']);;
  107. return unescape(_0x54d2x11)
  108. }
  109.  
  110. function _0x54d2x19() {
  111. _0x54d2x30[0] = 0;
  112. for (var _0x54d2x3 = 1; _0x54d2x3 < _0x54d2x30['length']; _0x54d2x3++) {
  113. _0x54d2x30[0] += _0x54d2x30[_0x54d2x3]
  114. };
  115. _0x54d2x43 = _0x54d2x30[0] >= _0x54d2x46, _0x54d2x47 = _0x54d2x30[0];
  116. var _0x54d2x4 = '';
  117. _0x54d2x2e[0] = _0x54d2x33 + ',' + _0x54d2x37 + ',' + _0x54d2x44 + ',' + _0x54d2x3a + ',' + _0x54d2x3b + ',' + _0x54d2x45 + ',' + _0x54d2x30[0] + ',' + _0x54d2x39 + ';';
  118. for (var _0x54d2x5 = 0; _0x54d2x5 < _0x54d2x2e['length']; _0x54d2x5++) {
  119. _0x54d2x4 += _0x54d2x2e[_0x54d2x5]
  120. };
  121. if (_0x54d2x2e['length'] > 1 ? _0x54d2x27['value'] = _0x54d2xf(_0x54d2x4) : _0x54d2x27['value'] = '', !isIE && _0x54d2x52) {
  122. var _0x54d2x8 = '';
  123. if (_0x54d2x31['length'] > 0) {
  124. for (var _0x54d2xa = 0; _0x54d2xa < _0x54d2x31['length']; _0x54d2xa++) {
  125. var _0x54d2x1a = _0x54d2x31[_0x54d2xa];
  126. if (_0x54d2x1a['length']) {
  127. for (var _0x54d2x4 = 0; _0x54d2x4 < _0x54d2x1a['length']; _0x54d2x4++) {
  128. _0x54d2x8 += _0x54d2x1a[_0x54d2x4]['x'] + ' ' + _0x54d2x1a[_0x54d2x4]['y'] + ','
  129. }
  130. } else {
  131. _0x54d2x8 = _0x54d2x8 + _0x54d2x1a['x'] + ' ' + _0x54d2x1a['y'] + ','
  132. };
  133. _0x54d2x8 += ';'
  134. };
  135. _0x54d2x28['value'] = _0x54d2xf(_0x54d2x8);
  136. var _0x54d2x10 = document['getElementById'](_0x54d2x39)['toDataURL']();
  137. 'data:,' == _0x54d2x10 ? _0x54d2x29['value'] = '' : _0x54d2x29['value'] = _0x54d2x10
  138. } else {
  139. _0x54d2x28['value'] = '', _0x54d2x29['value'] = ''
  140. }
  141. }
  142. }
  143.  
  144. function _0x54d2x1b(_0x54d2x3) {
  145. var _0x54d2x4 = _0x54d2x3;
  146. _0x54d2x4['splice'](0, 1);
  147. for (var _0x54d2x5 = [], _0x54d2x8 = 0; _0x54d2x8 < _0x54d2x4['length']; _0x54d2x8++) {
  148. var _0x54d2xa = _0x54d2x4[_0x54d2x8]['split'](',');
  149. _0x54d2x5['push']({
  150. x: parseInt(_0x54d2xa[0]),
  151. y: parseInt(_0x54d2xa[1])
  152. })
  153. };
  154. return _0x54d2x5
  155. }
  156.  
  157. function _0x54d2x1c(_0x54d2x3) {
  158. if (_0x54d2x22['clearRect'](0, 0, _0x54d2x3a, _0x54d2x3b), _0x54d2x42['length'] > 0) {
  159. var _0x54d2x4 = new Image;
  160. $(_0x54d2x4)['bind']('load', function() {}), _0x54d2x4['src'] = _0x54d2x42
  161. } else {
  162. SignatureBackColor(_0x54d2x39, _0x54d2x37)
  163. };
  164. for (var _0x54d2x5 = 0; _0x54d2x5 < _0x54d2x31['length']; _0x54d2x5++) {
  165. var _0x54d2x8 = _0x54d2x31[_0x54d2x5],
  166. _0x54d2xa = _0x54d2x32[_0x54d2x5]['split'](','),
  167. _0x54d2x1a = _0x54d2xa[0],
  168. _0x54d2x10 = _0x54d2xa[1];
  169. if (_0x54d2x8['length']) {
  170. _0x54d2x22['beginPath'](), _0x54d2x22['lineWidth'] = _0x54d2x1a, _0x54d2x22['moveTo'](_0x54d2x8[0]['x'] * _0x54d2x3, _0x54d2x8[0]['y'] * _0x54d2x3);
  171. for (var _0x54d2x11 = 1; _0x54d2x11 <= _0x54d2x8['length'] - 3; _0x54d2x11 += 3) {
  172. _0x54d2x22['bezierCurveTo'](_0x54d2x8[_0x54d2x11]['x'] * _0x54d2x3, _0x54d2x8[_0x54d2x11]['y'] * _0x54d2x3, _0x54d2x8[_0x54d2x11 + 1]['x'] * _0x54d2x3, _0x54d2x8[_0x54d2x11 + 1]['y'] * _0x54d2x3, _0x54d2x8[_0x54d2x11 + 2]['x'] * _0x54d2x3, _0x54d2x8[_0x54d2x11 + 2]['y'] * _0x54d2x3), _0x54d2x22['strokeStyle'] = _0x54d2x10, _0x54d2x22['stroke'](), _0x54d2x22['beginPath'](), _0x54d2x22['moveTo'](_0x54d2x8[_0x54d2x11 + 2]['x'] * _0x54d2x3, _0x54d2x8[_0x54d2x11 + 2]['y'] * _0x54d2x3)
  173. };
  174. _0x54d2x22['closePath']()
  175. } else {
  176. _0x54d2x22['beginPath'](), _0x54d2x22['moveTo'](_0x54d2x8['x'] * _0x54d2x3, _0x54d2x8['y'] * _0x54d2x3), _0x54d2x22['arc'](_0x54d2x8['x'] * _0x54d2x3, _0x54d2x8['y'] * _0x54d2x3, _0x54d2x1a / 2, 0, 2 * Math['PI'], !1), _0x54d2x22['strokeStyle'] = _0x54d2x10, _0x54d2x22['fill'](), _0x54d2x22['stroke'](), _0x54d2x22['closePath']()
  177. }
  178. }
  179. }
  180.  
  181. function _0x54d2x1d(_0x54d2x3) {
  182. var _0x54d2x4 = curtop = 0;
  183. if (_0x54d2x4e) {
  184. _0x54d2x4 = $('#' + _0x54d2x3['id'])['offset']()['left'], curtop = $('#' + _0x54d2x3['id'])['offset']()['top']
  185. } else {
  186. if (_0x54d2x3['offsetParent']) {
  187. do {
  188. _0x54d2x4 += _0x54d2x3['offsetLeft'], curtop += _0x54d2x3['offsetTop']
  189. } while (_0x54d2x3 = _0x54d2x3['offsetParent']);
  190. }
  191. };
  192. return [_0x54d2x4, curtop]
  193. }
  194.  
  195. function _0x54d2x1e() {
  196. if (_0x54d2x2d = !0, _0x54d2x2c = !1, _0x54d2x2f['length'] > 0 && (_0x54d2x2e[_0x54d2x20] = ' ' + _0x54d2x2f['join'](' ') + ';', !isIE && _0x54d2x52)) {
  197. _0x54d2x32['push'](_0x54d2x2f[0]);
  198. var _0x54d2x3 = _0x54d2x1b(_0x54d2x2f);
  199. if (_0x54d2x3['length'] > 0) {
  200. var _0x54d2x4 = new BezierCurves(_0x54d2x3, 30);
  201. _0x54d2x31['push'](_0x54d2x4), _0x54d2x1c(1)
  202. }
  203. };
  204. _0x54d2x19(), _0x54d2x30[0] < _0x54d2x46 ? _0x54d2x25['innerHTML'] = _0x54d2x3d : _0x54d2x25['innerHTML'] = _0x54d2x3e, isIE ? _0x54d2x22['innerHTML'] = _0x54d2x22['innerHTML'] : (_0x54d2x22['closePath'](), _0x54d2x22['restore']()), _0x54d2x21 && (_0x54d2x4c = 0, _0x54d2x4d = 0)
  205. }
  206.  
  207. function _0x54d2x1f(_0x54d2x3) {
  208. _0x54d2x3['preventManipulation'] && _0x54d2x3['preventManipulation'](), _0x54d2x3['preventDefault'] ? _0x54d2x3['preventDefault']() : _0x54d2x3['returnValue'] && (_0x54d2x3['returnValue'] = !1), _0x54d2x3['stopPropagation'] && _0x54d2x3['stopPropagation']()
  209. }
  210. this['SignObject'] = '', this['PenSize'] = 3, this['PenColor'] = '#D24747', this['PenCursor'] = '', this['ClearImage'] = '', this['BorderWidth'] = '2px', this['BorderStyle'] = 'dashed', this['BorderColor'] = '#DCDCDC', this['BackColor'] = '#ffffff', this['BackImageUrl'] = '', this['SignzIndex'] = '99', this['SignWidth'] = 450, this['SignHeight'] = 250, this['CssClass'] = '', this['ApplyStyle'] = !0, this['SignToolbarBgColor'] = 'transparent', this['RequiredPoints'] = 50, this['ErrorMessage'] = 'Please continue your signature.', this['StartMessage'] = 'Please sign', this['SuccessMessage'] = 'Signature OK.', this['ImageScaleFactor'] = 0.5, this['TransparentSign'] = !0, this['Enabled'] = !0, this['Visible'] = !0, this['Edition'] = 'Trial', this['IsCompatible'] = !1, this['InternalError'] = '', this['LicenseKey'] = '', this['IeModalFix'] = !1, this['SuccessFunction'] = '', this['ErrorFunction'] = '', this['ResetFunction'] = '', this['SmoothSign'] = !0, this['jQueryEvent'] = !1, this['forceMouseEvent'] = !1;
  211. for (var _0x54d2x8 in arguments[0]) {
  212. this[_0x54d2x8] = arguments[0][_0x54d2x8]
  213. };
  214. var _0x54d2x20 = 0,
  215. _0x54d2x21 = !1,
  216. _0x54d2x22 = null,
  217. _0x54d2x23 = null,
  218. _0x54d2x24 = null,
  219. _0x54d2x25 = null,
  220. _0x54d2x26 = null,
  221. _0x54d2x27 = null,
  222. _0x54d2x28 = null,
  223. _0x54d2x29 = null,
  224. _0x54d2x2a = null,
  225. _0x54d2x2b = this['Enabled'],
  226. _0x54d2x2c = !1,
  227. _0x54d2x2d = !1,
  228. _0x54d2x2e = [],
  229. _0x54d2x2f = [],
  230. _0x54d2x30 = [],
  231. _0x54d2x31 = [],
  232. _0x54d2x32 = [],
  233. _0x54d2x33 = '1',
  234. _0x54d2x34 = !1,
  235. _0x54d2x35 = this['PenSize'],
  236. _0x54d2x36 = this['PenColor'],
  237. _0x54d2x37 = this['BackColor'],
  238. _0x54d2x38 = this['BorderColor'],
  239. _0x54d2x39 = this['SignObject'],
  240. _0x54d2x3a = this['SignWidth'],
  241. _0x54d2x3b = this['SignHeight'],
  242. _0x54d2x3c = this['StartMessage'],
  243. _0x54d2x3d = this['ErrorMessage'],
  244. _0x54d2x3e = this['SuccessMessage'],
  245. _0x54d2x3f = this['SuccessFunction'],
  246. _0x54d2x40 = this['ErrorFunction'],
  247. _0x54d2x41 = this['ResetFunction'],
  248. _0x54d2x42 = this['BackImageUrl'],
  249. _0x54d2x43 = !1,
  250. _0x54d2x44 = this['ImageScaleFactor'],
  251. _0x54d2x45 = this['TransparentSign'],
  252. _0x54d2x1a = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=',
  253. _0x54d2x46 = this['RequiredPoints'],
  254. _0x54d2x47 = 0,
  255. _0x54d2x48 = '',
  256. _0x54d2x49 = 0,
  257. _0x54d2x4a = 0,
  258. _0x54d2x4b, _0x54d2x4c = 0,
  259. _0x54d2x4d = 0,
  260. _0x54d2x4e = this['IeModalFix'],
  261. _0x54d2x4f = null,
  262. _0x54d2x50 = 0,
  263. _0x54d2x51 = 0,
  264. _0x54d2x52 = this['SmoothSign'],
  265. _0x54d2x53 = this['jQueryEvent'],
  266. _0x54d2x54 = this['forceMouseEvent'],
  267. _0x54d2x55 = !1,
  268. _0x54d2x56 = !1,
  269. _0x54d2x57 = !1,
  270. _0x54d2x58 = !1,
  271. _0x54d2x59 = !1,
  272. _0x54d2x5a = !1;
  273. if (isMobileIE) {
  274. if (_0x54d2x4b = new jsGraphics(_0x54d2x39 + '_Container'), null != _0x54d2x4b && 'undefined' != _0x54d2x4b) {
  275. try {
  276. _0x54d2x4b['clear'](), _0x54d2x4b['paint']()
  277. } catch (ee) {
  278. alert('Graphics object error ' + ee['description'])
  279. }
  280. } else {
  281. alert('Graphics object error')
  282. }
  283. };
  284. this['IsValid'] = function() {
  285. return _0x54d2x43
  286. }, this['CurrentTotalpoints'] = function() {
  287. return _0x54d2x47
  288. }, this['ReturnFalse'] = function(_0x54d2x3) {
  289. _0x54d2x3['preventManipulation'] && _0x54d2x3['preventManipulation'](), _0x54d2x3['preventDefault'] ? _0x54d2x3['preventDefault']() : _0x54d2x3['returnValue'] = !1
  290. }, this['XBrowserAddHandler'] = function(_0x54d2x3, _0x54d2x4, _0x54d2x5) {
  291. if (_0x54d2x3['addEventListener']) {
  292. _0x54d2x3['addEventListener'](_0x54d2x4, _0x54d2x5, !1)
  293. } else {
  294. if (_0x54d2x3['attachEvent']) {
  295. _0x54d2x3['attachEvent']('on' + _0x54d2x4, _0x54d2x5)
  296. } else {
  297. try {
  298. _0x54d2x7(_0x54d2x3, _0x54d2x4, _0x54d2x5), _0x54d2x3['on' + _0x54d2x4] = function() {
  299. _0x54d2x9(_0x54d2x3, _0x54d2x4)
  300. }
  301. } catch (_0x54d2x8) {
  302. alert('Event attaching exception, ' + _0x54d2x8['description'])
  303. }
  304. }
  305. }
  306. }, this['DisableSelection'] = function() {
  307. isIE || ('undefined' != typeof _0x54d2x24['style']['MozUserSelect'] ? _0x54d2x24['style']['MozUserSelect'] = 'none' : _0x54d2x24['style']['cursor'] = 'default')
  308. }, this['ResizeSignature'] = function(_0x54d2x3, _0x54d2x4) {
  309. if (_0x54d2x24['style']['width'] = _0x54d2x3 + 'px', _0x54d2x24['style']['height'] = _0x54d2x4 + 'px', _0x54d2x26['style']['width'] = _0x54d2x3 + 'px', isIE) {
  310. _0x54d2x22['style']['width'] = _0x54d2x3 + 'px', _0x54d2x22['style']['height'] = _0x54d2x4 + 'px'
  311. } else {
  312. var _0x54d2x5 = document['getElementById'](this.SignObject);
  313. _0x54d2x5['width'] = parseInt(_0x54d2x3, 0), _0x54d2x5['height'] = parseInt(_0x54d2x4, 0), _0x54d2x5['style']['width'] = _0x54d2x3 + 'px', _0x54d2x5['style']['height'] = _0x54d2x4 + 'px'
  314. };
  315. this.ResetClick(), this['SignWidth'] = _0x54d2x3, this['SignHeight'] = _0x54d2x4, _0x54d2x3a = _0x54d2x3, _0x54d2x3b = _0x54d2x4
  316. }, this['SignatureColor'] = function(_0x54d2x3) {
  317. this['PenColor'] = _0x54d2x3, _0x54d2x36 = _0x54d2x3
  318. }, this['SignatureBackColor'] = function(_0x54d2x3) {
  319. this['BackColor'] = _0x54d2x3, _0x54d2x37 = _0x54d2x3, isIE ? _0x54d2x22['style']['backgroundColor'] = _0x54d2x3 : (_0x54d2x22['fillStyle'] = _0x54d2x3, _0x54d2x22['fillRect'](0, 0, _0x54d2x3a, _0x54d2x3b))
  320. }, this['SignaturePen'] = function(_0x54d2x3) {
  321. this['PenSize'] = _0x54d2x3, _0x54d2x35 = _0x54d2x3
  322. }, this['SignatureEnabled'] = function(_0x54d2x3) {
  323. this['Enabled'] = _0x54d2x3, _0x54d2x2b = _0x54d2x3
  324. }, this['SignatureStatusBar'] = function(_0x54d2x3) {
  325. _0x54d2x3 ? $('#' + _0x54d2x26['id'])['show']('slow') : $('#' + _0x54d2x26['id'])['hide']('slow')
  326. }, this['UndoSignature'] = function() {
  327. if (_0x54d2x2e['length'] <= 2) {
  328. return void(this.ResetClick())
  329. };
  330. _0x54d2x2e['pop'](), _0x54d2x31['pop'](), _0x54d2x30['pop'](), _0x54d2x32['pop'](), _0x54d2x19();
  331. var _0x54d2x3 = _0x54d2x17('\'' + _0x54d2x27['value'] + '\'');
  332. this.LoadSignature(_0x54d2x3, 1)
  333. }, this['LoadSignature'] = function(_0x54d2x5b, _0x54d2x5c) {
  334. this.ResetClick(), _0x54d2x5b = _0x54d2x5b['replace']('undefined ', ''), _0x54d2x5b = _0x54d2x5b['replace']('undefined', ''), null != _0x54d2x5c && 'undefined' != _0x54d2x5c || (_0x54d2x5c = '1.0'), _0x54d2x5c = parseFloat(_0x54d2x5c);
  335. var _0x54d2x5d = _0x54d2x1d(_0x54d2x24),
  336. _0x54d2x5e = _0x54d2x5d[0],
  337. _0x54d2x5f = _0x54d2x5d[1],
  338. _0x54d2x60 = _0x54d2xd(_0x54d2xc(_0x54d2x5b))['split'](';');
  339. _0x54d2x2e[0] = '';
  340. for (var _0x54d2xa = 0; _0x54d2xa < _0x54d2x60['length'] - 1; _0x54d2xa++) {
  341. _0x54d2x2e[_0x54d2xa] = _0x54d2x60[_0x54d2xa] + ';'
  342. };
  343. for (var _0x54d2xa = 0; _0x54d2xa < _0x54d2x60['length'] - 1; _0x54d2xa++) {
  344. var _0x54d2x61 = _0x54d2xd(_0x54d2xc(_0x54d2x60[_0x54d2xa]))['split'](' ');
  345. 3 == _0x54d2x61['length'] && _0x54d2x61[2] == _0x54d2x61[1] && _0x54d2x61['pop'](), _0x54d2x32[_0x54d2xa] = _0x54d2x61[0], _0x54d2x31[_0x54d2xa] = new BezierCurves(_0x54d2x1b(_0x54d2x61), 30)
  346. };
  347. var _0x54d2x62 = _0x54d2x60[0]['split'](',');
  348. _0x54d2x37 = _0x54d2x62[1], _0x54d2x3a = _0x54d2x62[3], _0x54d2x3b = _0x54d2x62[4], _0x54d2x45 = _0x54d2x62[5], 0 == _0x54d2x42['length'] && this.SignatureBackColor(_0x54d2x37), _0x54d2x30[0] = 0;
  349. for (var _0x54d2xa = 1, _0x54d2x63 = _0x54d2x60['length']; _0x54d2x63 - 1 > _0x54d2xa; _0x54d2xa++) {
  350. var _0x54d2x64 = _0x54d2xd(_0x54d2xc(_0x54d2x60[_0x54d2xa]))['split'](' ');
  351. _0x54d2x30[_0x54d2xa] = parseInt(_0x54d2x64['length'], 0) - 1, _0x54d2x30[0] = parseInt(_0x54d2x30[0], 0) + parseInt(_0x54d2x64['length'], 0);
  352. for (var _0x54d2x65 = 0, _0x54d2x66 = _0x54d2x64['length']; _0x54d2x66 > _0x54d2x65; _0x54d2x65++) {
  353. var _0x54d2x67 = _0x54d2x64[_0x54d2x65]['split'](','),
  354. _0x54d2x68 = _0x54d2x67[0],
  355. _0x54d2x69 = _0x54d2x67[1];
  356. if (0 == _0x54d2x65) {
  357. this.SignaturePen(_0x54d2x68), this.SignatureColor(_0x54d2x69), _0x54d2x22['strokeStyle'] = _0x54d2x69, _0x54d2x22['lineWidth'] = _0x54d2x68
  358. } else {
  359. if (1 == _0x54d2x65) {
  360. if (_0x54d2x68 = Math['abs'](parseInt(_0x54d2x68, 0) * _0x54d2x5c), _0x54d2x69 = Math['abs'](parseInt(_0x54d2x69, 0) * _0x54d2x5c), isIE) {
  361. if (isMobileIE) {
  362. _0x54d2x49 = _0x54d2x68, _0x54d2x4a = _0x54d2x69
  363. } else {
  364. var _0x54d2x6a = '<SuperSignature:stroke weight="' + _0x54d2x35 + '" color="' + _0x54d2x36 + '" />',
  365. _0x54d2x4 = '"m' + _0x54d2x68 + ',' + _0x54d2x69 + ' l' + _0x54d2x68 + ',' + _0x54d2x69,
  366. _0x54d2x6b = '<SuperSignature:shape id="' + _0x54d2x39 + '_l_' + (_0x54d2xa - 1) + '" style="position: absolute; left:0px; top:0px; width:' + _0x54d2x3a + 'px; height: ' + _0x54d2x3b + 'px;" coordsize="' + _0x54d2x3a + ',' + _0x54d2x3b + '"><SuperSignature:path v=' + _0x54d2x4 + ' e" /><SuperSignature:fill on="false" />' + _0x54d2x6a + '</SuperSignature:shape>';
  367. _0x54d2x22['pathCoordString'] = _0x54d2x4, _0x54d2x22['insertAdjacentHTML']('beforeEnd', _0x54d2x6b)
  368. }
  369. } else {
  370. _0x54d2x22['beginPath'](), _0x54d2x22['lineJoin'] = 'round', _0x54d2x22['lineCap'] = 'round', _0x54d2x22['moveTo'](_0x54d2x68, _0x54d2x69)
  371. };
  372. 2 == _0x54d2x64['length'] && eval('obj' + _0x54d2x39).DrawDot(_0x54d2x68, _0x54d2x69)
  373. } else {
  374. if (_0x54d2x68 = Math['abs'](parseInt(_0x54d2x68, 0) * _0x54d2x5c), _0x54d2x69 = Math['abs'](parseInt(_0x54d2x69, 0) * _0x54d2x5c), isIE || _0x54d2x52) {
  375. _0x54d2x22['pathCoordString'] += ' ' + _0x54d2x68 + ',' + _0x54d2x69;
  376. var _0x54d2x14 = document['getElementById'](_0x54d2x39 + '_l_' + (_0x54d2xa - 1));
  377. if (_0x54d2x14) {
  378. var _0x54d2x6c = _0x54d2x14['firstChild'];
  379. if (_0x54d2x6c) {
  380. try {
  381. _0x54d2x6c['setAttribute']('v', _0x54d2x22['pathCoordString'] + ' e')
  382. } catch (je) {
  383. var _0x54d2x6d = je['Description']
  384. }
  385. }
  386. }
  387. } else {
  388. _0x54d2x22['strokeStyle'] = _0x54d2x36, _0x54d2x22['lineWidth'] = _0x54d2x35, _0x54d2x22['lineTo'](_0x54d2x68, _0x54d2x69), _0x54d2x22['stroke'](), _0x54d2x22['moveTo'](_0x54d2x68, _0x54d2x69)
  389. }
  390. }
  391. };
  392. isIE ? _0x54d2x22['innerHTML'] = _0x54d2x22['innerHTML'] : (_0x54d2x22['closePath'](), _0x54d2x22['restore']())
  393. };
  394. _0x54d2x20++
  395. };
  396. !isIE && _0x54d2x52 && _0x54d2x1c(_0x54d2x5c), _0x54d2x19()
  397. }, this['TextSignature'] = function(_0x54d2x3, _0x54d2x4, _0x54d2x5, _0x54d2x8) {
  398. _0x54d2x56 && (_0x54d2x22['font'] = _0x54d2x3, _0x54d2x22['fillText'](_0x54d2x4, _0x54d2x5, _0x54d2x8))
  399. }, this['CheckCompatibility'] = function() {
  400. if (isIE) {
  401. this['IsCompatible'] = !0, isMobileIE || document['namespaces']['SuperSignature'] || document['namespaces']['add']('SuperSignature', 'urn:schemas-microsoft-com:vml', '#default#VML')
  402. } else {
  403. try {
  404. _0x54d2x56 = !!document['createElement']('canvas')['getContext']('2d')
  405. } catch (e) {
  406. _0x54d2x56 = !!document['createElement']('canvas')['getContext']
  407. };
  408. _0x54d2x56 ? this['IsCompatible'] = !0 : document['write']('Your browser does not support our signature control.')
  409. }
  410. }, this['MouseMove'] = function(_0x54d2x3) {
  411. if (_0x54d2x2b && _0x54d2x2c) {
  412. 'undefined' != typeof _0x54d2x3['originalEvent'] && (_0x54d2x3 = _0x54d2x3['originalEvent']), _0x54d2x1f(_0x54d2x3);
  413. var _0x54d2x4 = 0,
  414. _0x54d2x5 = 0,
  415. _0x54d2x8 = $('#' + _0x54d2x24['id'])['offset']();
  416. if (_0x54d2x21 && 'undefined' != typeof _0x54d2x3['targetTouches']) {
  417. var _0x54d2xa = _0x54d2x3['targetTouches'][0];
  418. _0x54d2x4 = _0x54d2xa['clientX'] - _0x54d2x4c, _0x54d2x5 = _0x54d2xa['clientY'] - _0x54d2x4d, _0x54d2x4e && (_0x54d2x5 -= parseInt($(document)['scrollTop']()), _0x54d2x4 -= parseInt($(document)['scrollLeft']()))
  419. } else {
  420. _0x54d2x3['originalEvent'] ? _0x54d2x3['pageX'] ? (_0x54d2x4 = parseInt(_0x54d2x3['pageX'] - _0x54d2x8['left']), _0x54d2x5 = parseInt(_0x54d2x3['pageY'] - _0x54d2x8['top'])) : (_0x54d2x4 = parseInt(_0x54d2x3['originalEvent']['pageX'] - _0x54d2x8['left']), _0x54d2x5 = parseInt(_0x54d2x3['originalEvent']['pageY'] - _0x54d2x8['top'])) : isIE || isIENine ? (_0x54d2x4 = parseInt(_0x54d2x3['x']), _0x54d2x5 = parseInt(_0x54d2x3['y']), iever >= 9 && (_0x54d2x4 = parseInt(_0x54d2x3['pageX'] - _0x54d2x8['left']), _0x54d2x5 = parseInt(_0x54d2x3['pageY'] - _0x54d2x8['top']))) : (_0x54d2x4 = parseInt(_0x54d2x3['pageX'] - _0x54d2x8['left']), _0x54d2x5 = parseInt(_0x54d2x3['pageY'] - _0x54d2x8['top']))
  421. };
  422. if (_0x54d2x58 && _0x54d2x59 && (_0x54d2x4 = parseInt(_0x54d2x3['offsetX'] || _0x54d2x3['layerX']), _0x54d2x5 = parseInt(_0x54d2x3['offsetY'] || _0x54d2x3['layerY'])), (_0x54d2x55 || _0x54d2x57) && -1 == _0x54d2x3['type']['indexOf']('touch') && (_0x54d2x4 = _0x54d2x3['clientX'] - _0x54d2x23['getBoundingClientRect']()['left'], _0x54d2x5 = _0x54d2x3['clientY'] - _0x54d2x23['getBoundingClientRect']()['top']), isMobileIE ? _0x54d2x2f['push'](Math['abs'](parseInt(_0x54d2x4) - parseInt(_0x54d2x24['offsetLeft'])) + ',' + Math['abs'](parseInt(_0x54d2x5) - parseInt(_0x54d2x24['offsetTop']))) : _0x54d2x2f['push'](Math['abs'](parseInt(_0x54d2x4)) + ',' + Math['abs'](parseInt(_0x54d2x5))), _0x54d2x30[_0x54d2x20]++, isIE) {
  423. if (isMobileIE) {
  424. var _0x54d2x1a = _0x54d2x4 - _0x54d2x49,
  425. _0x54d2x10 = _0x54d2x5 - _0x54d2x4a,
  426. _0x54d2x11 = _0x54d2x1a * _0x54d2x1a + _0x54d2x10 * _0x54d2x10,
  427. _0x54d2x12 = 64;
  428. if (_0x54d2x11 > _0x54d2x12) {
  429. if (null != _0x54d2x4b && 'undefined' != _0x54d2x4b) {
  430. try {
  431. _0x54d2x4b['setStroke'](_0x54d2x35), _0x54d2x4b['setColor'](_0x54d2x36), _0x54d2x4b['drawLine'](_0x54d2x49, _0x54d2x4a, _0x54d2x4, _0x54d2x5), _0x54d2x4b['paint']()
  432. } catch (_0x54d2x16) {
  433. _0x54d2xe('Drawing error: ' + _0x54d2x16['description'])
  434. }
  435. } else {
  436. _0x54d2xe('Graphics object NULL')
  437. };
  438. _0x54d2x49 = _0x54d2x4, _0x54d2x4a = _0x54d2x5
  439. }
  440. } else {
  441. _0x54d2x22['pathCoordString'] += ' ' + _0x54d2x4 + ',' + _0x54d2x5;
  442. var _0x54d2x13 = document['getElementById'](_0x54d2x39 + '_l_' + _0x54d2x20);
  443. if (_0x54d2x13) {
  444. var _0x54d2x14 = _0x54d2x13['firstChild'];
  445. if (_0x54d2x14) {
  446. try {
  447. _0x54d2x14['setAttribute']('v', _0x54d2x22['pathCoordString'] + ' e')
  448. } catch (d) {
  449. d['Description']
  450. };
  451. _0x54d2x34 && _0x54d2x30[_0x54d2x20] % 8 == 0 && (_0x54d2x22['innerHTML'] = _0x54d2x22['innerHTML'])
  452. }
  453. }
  454. }
  455. } else {
  456. _0x54d2x22['lineTo'](_0x54d2x4, _0x54d2x5), _0x54d2x22['stroke']()
  457. }
  458. }
  459. }, this['DrawDot'] = function(_0x54d2x3, _0x54d2x4) {
  460. if (_0x54d2x30[_0x54d2x20]++, isIE) {
  461. var _0x54d2x5 = '<SuperSignature:stroke weight="' + _0x54d2x35 + '" color="' + _0x54d2x36 + '" />',
  462. _0x54d2x8 = '<SuperSignature:oval id="' + _0x54d2x39 + '_l_' + _0x54d2x20 + '" style="position: absolute; left:' + _0x54d2x3 + 'px; top:' + _0x54d2x4 + 'px; width:' + _0x54d2x35 + 'px; height: ' + _0x54d2x35 + 'px;"">' + _0x54d2x5 + '</SuperSignature:oval>';
  463. _0x54d2x22['insertAdjacentHTML']('beforeEnd', _0x54d2x8)
  464. } else {
  465. _0x54d2x22['arc'](_0x54d2x3, _0x54d2x4, _0x54d2x35 / 2, 0, 2 * Math['PI'], !1), _0x54d2x22['fill'](), _0x54d2x22['stroke']()
  466. }
  467. }, this['MouseOut'] = function(_0x54d2x3) {
  468. _0x54d2x2b && (_0x54d2x1f(_0x54d2x3), _0x54d2xe('Mouse out'), _0x54d2x2d || _0x54d2x1e())
  469. }, this['MouseUp'] = function(_0x54d2x3) {
  470. if (_0x54d2x2b) {
  471. if ('undefined' != typeof _0x54d2x3['originalEvent'] && (_0x54d2x3 = _0x54d2x3['originalEvent']), _0x54d2x1f(_0x54d2x3), _0x54d2xe('Mouse up'), null != _0x54d2x4f) {
  472. var _0x54d2x6e = parseInt(new Date - _0x54d2x4f);
  473. if (125 > _0x54d2x6e) {
  474. var _0x54d2x68 = 0,
  475. _0x54d2x69 = 0;
  476. if (_0x54d2xe('Time diff ' + _0x54d2x6e), _0x54d2x21) {
  477. _0x54d2x68 = _0x54d2x50, _0x54d2x69 = _0x54d2x51
  478. } else {
  479. var _0x54d2x6f = $('#' + _0x54d2x24['id'])['offset']();
  480. _0x54d2x3['originalEvent'] ? _0x54d2x3['pageX'] ? (_0x54d2x68 = parseInt(_0x54d2x3['pageX'] - _0x54d2x6f['left']), _0x54d2x69 = parseInt(_0x54d2x3['pageY'] - _0x54d2x6f['top'])) : (_0x54d2x68 = parseInt(_0x54d2x3['originalEvent']['pageX'] - _0x54d2x6f['left']), _0x54d2x69 = parseInt(_0x54d2x3['originalEvent']['pageY'] - _0x54d2x6f['top'])) : isIE || isIENine ? (_0x54d2x68 = parseInt(_0x54d2x3['x']), _0x54d2x69 = parseInt(_0x54d2x3['y'])) : (_0x54d2x68 = parseInt(_0x54d2x3['pageX'] - _0x54d2x6f['left']), _0x54d2x69 = parseInt(_0x54d2x3['pageY'] - _0x54d2x6f['top']))
  481. };
  482. isIE && (_0x54d2xe('Drawing Dot At (' + _0x54d2x68 + ',' + _0x54d2x69 + ')'), eval('obj' + _0x54d2x39).DrawDot(_0x54d2x68, _0x54d2x69))
  483. };
  484. _0x54d2x4f = null
  485. };
  486. _0x54d2x2d || _0x54d2x1e()
  487. }
  488. }, this['MouseDown'] = function(_0x54d2x3) {
  489. if (_0x54d2x2b) {
  490. 'undefined' != typeof _0x54d2x3['originalEvent'] && (_0x54d2x3 = _0x54d2x3['originalEvent']), _0x54d2x1f(_0x54d2x3), _0x54d2x4f = new Date, _0x54d2x2c = !0, _0x54d2x2d = !1;
  491. var _0x54d2x4, _0x54d2x5;
  492. if (_0x54d2x21 && 'undefined' != typeof _0x54d2x3['targetTouches']) {
  493. var _0x54d2x8 = _0x54d2x3['targetTouches'][0];
  494. _0x54d2x4c = _0x54d2x23['getBoundingClientRect']()['left'], _0x54d2x4d = _0x54d2x23['getBoundingClientRect']()['top'], _0x54d2x4 = _0x54d2x8['clientX'] - _0x54d2x4c, _0x54d2x5 = _0x54d2x8['clientY'] - _0x54d2x4d, _0x54d2x4e && (_0x54d2x5 -= parseInt($(document)['scrollTop']()), _0x54d2x4 -= parseInt($(document)['scrollLeft']())), _0x54d2x50 = _0x54d2x4, _0x54d2x51 = _0x54d2x5
  495. } else {
  496. var _0x54d2xa = $('#' + _0x54d2x24['id'])['offset']();
  497. _0x54d2x3['originalEvent'] ? _0x54d2x3['pageX'] ? (_0x54d2x4 = parseInt(_0x54d2x3['pageX'] - _0x54d2xa['left']), _0x54d2x5 = parseInt(_0x54d2x3['pageY'] - _0x54d2xa['top'])) : (_0x54d2x4 = parseInt(_0x54d2x3['originalEvent']['pageX'] - _0x54d2xa['left']), _0x54d2x5 = parseInt(_0x54d2x3['originalEvent']['pageY'] - _0x54d2xa['top'])) : isIE || isIENine ? 9 > iever ? (_0x54d2x4 = parseInt(_0x54d2x3['x']), _0x54d2x5 = parseInt(_0x54d2x3['y'])) : isIENine && (_0x54d2x4 = parseInt(_0x54d2x3['pageX']) - parseInt(_0x54d2xa['left']) + parseInt($('html')['css']('margin-left')), _0x54d2x5 = parseInt(_0x54d2x3['pageY']) - parseInt(_0x54d2xa['top']) + parseInt($('html')['css']('margin-top')), iever >= 10 && (_0x54d2x4 = parseInt(_0x54d2x3['pageX'] - _0x54d2xa['left']), _0x54d2x5 = parseInt(_0x54d2x3['pageY'] - _0x54d2xa['top']))) : (_0x54d2x4 = parseInt(_0x54d2x3['pageX'] - _0x54d2xa['left']), _0x54d2x5 = parseInt(_0x54d2x3['pageY'] - _0x54d2xa['top']))
  498. };
  499. if (_0x54d2x58 && _0x54d2x59 && (_0x54d2x4 = parseInt(_0x54d2x3['offsetX'] || _0x54d2x3['layerX']), _0x54d2x5 = parseInt(_0x54d2x3['offsetY'] || _0x54d2x3['layerY'])), (_0x54d2x55 || _0x54d2x57) && -1 == _0x54d2x3['type']['indexOf']('touch') && (_0x54d2x4 = _0x54d2x3['clientX'] - _0x54d2x23['getBoundingClientRect']()['left'], _0x54d2x5 = _0x54d2x3['clientY'] - _0x54d2x23['getBoundingClientRect']()['top']), _0x54d2xe('Down (' + _0x54d2x4 + ',' + _0x54d2x5 + ')'), _0x54d2x20++, _0x54d2x30[_0x54d2x20] = 0, _0x54d2x2f['length'] = 0, _0x54d2x2f[0] = _0x54d2x35 + ',' + _0x54d2x36, isMobileIE ? _0x54d2x2f['push'](Math['abs'](parseInt(_0x54d2x4) - parseInt(_0x54d2x24['offsetLeft'])) + ',' + Math['abs'](parseInt(_0x54d2x5) - parseInt(_0x54d2x24['offsetTop']))) : _0x54d2x2f['push'](Math['abs'](parseInt(_0x54d2x4)) + ',' + Math['abs'](parseInt(_0x54d2x5))), isIE) {
  500. if (isMobileIE) {
  501. _0x54d2x49 = _0x54d2x4, _0x54d2x4a = _0x54d2x5
  502. } else {
  503. var _0x54d2x1a = '<SuperSignature:stroke weight="' + _0x54d2x35 + '" color="' + _0x54d2x36 + '" />',
  504. _0x54d2x10 = '"m' + _0x54d2x4 + ',' + _0x54d2x5 + ' l' + _0x54d2x4 + ',' + _0x54d2x5,
  505. _0x54d2x11 = '<SuperSignature:shape id="' + _0x54d2x39 + '_l_' + _0x54d2x20 + '" style="position: absolute; left:0px; top:0px; width:' + _0x54d2x3a + 'px; height: ' + _0x54d2x3b + 'px;" coordsize="' + _0x54d2x3a + ',' + _0x54d2x3b + '"><SuperSignature:path v=' + _0x54d2x10 + ' e" /><SuperSignature:fill on="false" />' + _0x54d2x1a + '</SuperSignature:shape>';
  506. _0x54d2x22['pathCoordString'] = _0x54d2x10, _0x54d2x22['insertAdjacentHTML']('beforeEnd', _0x54d2x11)
  507. }
  508. } else {
  509. _0x54d2x22['save'](), _0x54d2x22['beginPath'](), _0x54d2x22['lineJoin'] = 'round', _0x54d2x22['lineCap'] = 'round', _0x54d2x22['strokeStyle'] = _0x54d2x36, _0x54d2x22['lineWidth'] = _0x54d2x35, _0x54d2x22['moveTo'](_0x54d2x4, _0x54d2x5)
  510. };
  511. return !1
  512. }
  513. }, this['ResetClick'] = function() {
  514. if (_0x54d2x2b) {
  515. if (isMobileIE || (document['getElementById'](_0x54d2x39)['style']['borderColor'] = _0x54d2x38), isIE) {
  516. _0x54d2x22['innerHTML'] = '', isMobileIE && (_0x54d2x49 = 0, _0x54d2x4a = 0, null != _0x54d2x4b && 'undefined' != _0x54d2x4b && (_0x54d2x4b['clear'](), _0x54d2x4b['paint']())), _0x54d2x42['length'] > 0 && (_0x54d2x22['style']['backgroundImage'] = 'url("' + _0x54d2x42 + '")')
  517. } else {
  518. if (_0x54d2x22['clearRect'](0, 0, _0x54d2x3a, _0x54d2x3b), _0x54d2x42['length'] > 0) {
  519. if (isIE) {
  520. _0x54d2x22['style']['backgroundImage'] = 'url("' + _0x54d2x42 + '")'
  521. } else {
  522. var _0x54d2x3 = new Image;
  523. $(_0x54d2x3)['bind']('load', function() {
  524. _0x54d2x22['drawImage'](this, 0, 0)
  525. }), _0x54d2x3['src'] = _0x54d2x42
  526. }
  527. } else {
  528. SignatureBackColor(_0x54d2x39, _0x54d2x37)
  529. }
  530. };
  531. _0x54d2x2e = [], _0x54d2x2f = [], _0x54d2x30 = [], _0x54d2x31 = [], _0x54d2x32 = [], _0x54d2x19(), _0x54d2x20 = 0, _0x54d2x48 = '', _0x54d2x25['innerHTML'] = _0x54d2x3c
  532. }
  533. }, this['Init'] = function() {
  534. if (!this['Visible']) {
  535. return void(_0x54d2xe('Control hidden'))
  536. };
  537. if (this.CheckCompatibility(), this['IsCompatible']) {
  538. if (_0x54d2x56) {
  539. if ('DIV' == document['getElementById'](this.SignObject)['nodeName']['toUpperCase']()) {
  540. var _0x54d2x3 = '<canvas ID=\'' + this['SignObject'] + '\' width=\'' + _0x54d2x3a + '\' height=\'' + _0x54d2x3b + '\' style=\'left:0px;top:0px;position:absolute;\'></canvas>';
  541. $('#' + this['SignObject'])['replaceWith'](_0x54d2x3), _0x54d2xe('DIV changed to CANVAS'), isIE = !1
  542. }
  543. } else {
  544. if ('CANVAS' == document['getElementById'](this.SignObject)['nodeName']['toUpperCase']()) {
  545. var _0x54d2x4 = '<div ID=\'' + this['SignObject'] + '\' style=\'width:' + _0x54d2x3a + 'px;height:' + _0x54d2x3b + 'px;left:0px;top:0px;\'></div>';
  546. $('#' + this['SignObject'])['replaceWith'](_0x54d2x4), _0x54d2xe('CANVAS changed to DIV'), isIE = !0
  547. }
  548. };
  549. if (_0x54d2x2a = document['getElementById'](this['SignObject'] + '_Debug'), _0x54d2x22 = document['getElementById'](this.SignObject), _0x54d2x24 = document['getElementById'](this['SignObject'] + '_Container'), _0x54d2x22['addEventListener']) {
  550. _0x54d2xe('addEventListener supported')
  551. } else {
  552. if (!_0x54d2x22['attachEvent']) {
  553. return void(_0x54d2xe('Mouse events are not supported'))
  554. };
  555. _0x54d2xe('attachEvent supported')
  556. };
  557. if (this['mouseMoved'] = !1, null != _0x54d2x22 && 'undefined' != _0x54d2x22) {
  558. if (_0x54d2xe('Objects OK'), isIE && !isMobileIE && (_0x54d2x34 = document['documentMode'] ? document['documentMode'] >= 8 : !1), isMobileIE && _0x54d2xe('Mobile IE'), isIENine && _0x54d2xe('IE 9 Or Above'), isOperaMini && _0x54d2xe('Opera Mini, not supported.'), _0x54d2x30[0] = 0, _0x54d2x2e[0] = _0x54d2x33 + ',' + _0x54d2x37 + ',' + _0x54d2x44 + ',' + _0x54d2x3a + ',' + _0x54d2x3b + ',' + _0x54d2x45 + ',' + _0x54d2x30[0] + ',' + _0x54d2x39 + ';', this['ApplyStyle']) {
  559. _0x54d2xe('Setting up style'), _0x54d2x24['style']['zIndex'] = this['SignzIndex'];
  560. try {
  561. isMobileIE ? (_0x54d2x24['style']['borderWidth'] = this['BorderWidth'], _0x54d2x24['style']['borderStyle'] = this['BorderStyle'], _0x54d2x24['style']['borderColor'] = this['BorderColor'], _0x54d2x24['style']['backgroundColor'] = this['BackColor'], this['PenCursor']['length'] > 0 && (_0x54d2x24['style']['cursor'] = 'url(\'' + this['PenCursor'] + '\'), pointer'), this['BackImageUrl']['length'] > 0 && (_0x54d2x24['style']['backgroundImage'] = 'url("' + this['BackImageUrl'] + '")')) : (_0x54d2x22['style']['borderWidth'] = this['BorderWidth'], _0x54d2x22['style']['borderStyle'] = this['BorderStyle'], _0x54d2x22['style']['borderColor'] = this['BorderColor'], _0x54d2x22['style']['backgroundColor'] = this['BackColor'], this['PenCursor']['length'] > 0 && (_0x54d2x22['style']['cursor'] = 'url(\'' + this['PenCursor'] + '\'), pointer'), this['BackImageUrl']['length'] > 0 && (_0x54d2x22['style']['backgroundImage'] = 'url("' + this['BackImageUrl'] + '")'), '' != this['CssClass'] && (_0x54d2x22['className'] = this['CssClass']), _0x54d2x22['style']['width'] = this['SignWidth'] + 'px', _0x54d2x22['style']['height'] = this['SignHeight'] + 'px', 'auto' == _0x54d2x22['style']['cursor'] && (_0x54d2x22['style']['cursor'] = 'url(\'' + this['PenCursor'] + '\'), hand')), _0x54d2xe('Style OK')
  562. } catch (r) {
  563. _0x54d2xe('Style Error : ' + r['description'])
  564. }
  565. };
  566. var _0x54d2x8 = '<div id="' + this['SignObject'] + '_toolbar" style="margin:5px;position:relative;height:20px;width:' + this['SignWidth'] + 'px;background-color:' + this['SignToolbarBgColor'] + ';"><img id="' + this['SignObject'] + '_resetbutton" src="' + this['ClearImage'] + '" style="cursor:pointer;float:right;height:24px;width:24px;border:0px solid transparent" alt="Clear Signature" />';
  567. _0x54d2x8 += '<div id="' + this['SignObject'] + '_status" style="color:blue;height:20px;width:auto;padding:2px;font-family:verdana;font-size:12px;float:left;margin-right:30px;">' + this['StartMessage'] + '</div>', _0x54d2x8 += null == document['getElementById'](this['SignObject'] + '_data') ? '<input type="hidden" id="' + this['SignObject'] + '_data" name="' + this['SignObject'] + '_data" value="">' : '', _0x54d2x8 += null == document['getElementById'](this['SignObject'] + '_data_smooth') ? '<input type="hidden" id="' + this['SignObject'] + '_data_smooth" name="' + this['SignObject'] + '_data_smooth" value="">' : '', _0x54d2x8 += null == document['getElementById'](this['SignObject'] + '_data_canvas') ? '<input type="hidden" id="' + this['SignObject'] + '_data_canvas" name="' + this['SignObject'] + '_data_canvas" value="">' : '', _0x54d2x8 += '</div>', _0x54d2xe('Setting up tools'), $('#' + _0x54d2x24['id'])['after'](_0x54d2x8), _0x54d2x20 = 0;
  568. var _0x54d2xa = 'mousedown',
  569. _0x54d2x1a = 'mouseup',
  570. _0x54d2x10 = 'mousemove',
  571. _0x54d2x11 = 'mouseout';
  572. isIE && (_0x54d2x11 = 'mouseleave'), window['PointerEvent'] && (_0x54d2xe('Pointer events supported'), isPointer = !0, _0x54d2xa = 'pointerdown', _0x54d2x1a = 'pointerup', _0x54d2x10 = 'pointermove', _0x54d2x11 = 'pointerleave'), _0x54d2x21 = new RegExp('iPhone', 'i')['test'](navigator['userAgent']) || new RegExp('iPad', 'i')['test'](navigator['userAgent']) || new RegExp('Android', 'i')['test'](navigator['userAgent']) || new RegExp('playbook', 'i')['test'](navigator['userAgent']) || new RegExp('symbian', 'i')['test'](navigator['userAgent']);
  573. var _0x54d2x12 = new RegExp('Firefox', 'i')['test'](navigator['userAgent']);
  574. _0x54d2x12 && _0x54d2xe('Firefox browser.'), _0x54d2x21 || isIE || (_0x54d2x21 = 'ontouchstart' in window, _0x54d2xe('Touch check ' + _0x54d2x21)), isIETablet && _0x54d2xe('Found Tablet 2.0 or Windows Phone or Touch Screen Device'), winTabletPointerEvt ? (_0x54d2xe('MSPointer supported'), _0x54d2xa = 'MSPointerDown', _0x54d2x1a = 'MSPointerUp', _0x54d2x10 = 'MSPointerMove', _0x54d2x11 = 'MSPointerOut') : _0x54d2xe('MSPointer NOT supported'), 'undefined' != typeof _0x54d2x22['style']['msTouchAction'] && (_0x54d2x22['style']['msTouchAction'] = 'none', $('#' + _0x54d2x22['id'])['css']('-ms-touch-action', 'none'), _0x54d2xe('MS Touch CSS added')), 'undefined' != typeof _0x54d2x24['style']['msTouchAction'] && (_0x54d2x24['style']['msTouchAction'] = 'none', $('#' + _0x54d2x24['id'])['css']('-ms-touch-action', 'none')), isIE || (_0x54d2x23 = document['getElementById'](this.SignObject), _0x54d2x22 = document['getElementById'](this.SignObject)['getContext']('2d'), _0x54d2x22['width'] = this['SignWidth'], _0x54d2x22['height'] = this['SignHeight']), _0x54d2x25 = document['getElementById'](this['SignObject'] + '_status'), _0x54d2x25['innerHTML'] = _0x54d2x3c, _0x54d2x26 = document['getElementById'](this['SignObject'] + '_toolbar'), _0x54d2x27 = document['getElementById'](this['SignObject'] + '_data'), _0x54d2x28 = document['getElementById'](this['SignObject'] + '_data_smooth'), _0x54d2x29 = document['getElementById'](this['SignObject'] + '_data_canvas');
  575. var _0x54d2x16 = document['getElementById'](this['SignObject'] + '_resetbutton');
  576. null != _0x54d2x16 && this.XBrowserAddHandler(_0x54d2x16, 'click', this.ResetClick), _0x54d2xe('Attaching events'), _0x54d2x58 = new RegExp('Tablet PC 2.0', 'i')['test'](navigator['userAgent']), _0x54d2x59 = new RegExp('rv:11.0', 'i')['test'](navigator['userAgent']), _0x54d2x5a = new RegExp('Edge', 'i')['test'](navigator['userAgent']);
  577. var _0x54d2x13 = _0x54d2x58 && _0x54d2x59;
  578. _0x54d2x13 && (_0x54d2x54 = !1, _0x54d2xe('IE Surface Fix'));
  579. var _0x54d2x14 = new RegExp('Windows NT', 'i')['test'](navigator['userAgent']),
  580. _0x54d2x18 = new RegExp('Chrome', 'i')['test'](navigator['userAgent']);
  581. _0x54d2x55 = _0x54d2x14 && _0x54d2x18, _0x54d2x5a && (_0x54d2x55 = !1, _0x54d2x57 = !0), _0x54d2x14 && _0x54d2x58 && _0x54d2x59 && (_0x54d2x57 = !0), _0x54d2x55 && (_0x54d2xe('Chrome Surface Fix'), this['IeModalFix'] = !1, _0x54d2x4e = !1), _0x54d2x57 && (_0x54d2xe('EDGE Surface Fix'), this['IeModalFix'] = !1, _0x54d2x4e = !1), this.XBrowserAddHandler(_0x54d2x22, 'contextmenu', this.ReturnFalse), this.XBrowserAddHandler(_0x54d2x24, 'contextmenu', this.ReturnFalse), this.XBrowserAddHandler(_0x54d2x24, 'contextmenu', this.ReturnFalse), this.XBrowserAddHandler(_0x54d2x24, 'selectstart', this.ReturnFalse), this.XBrowserAddHandler(_0x54d2x24, 'dragstart', this.ReturnFalse), this.XBrowserAddHandler(_0x54d2x22, 'contextmenu', this.ReturnFalse), this.XBrowserAddHandler(_0x54d2x22, 'selectstart', this.ReturnFalse), this.XBrowserAddHandler(_0x54d2x22, 'dragstart', this.ReturnFalse), this['IeModalFix'] && _0x54d2xe('IeModalFix true'), !this['IeModalFix'] || _0x54d2x21 || isIETablet ? isIE && !isMobileIE ? (this.XBrowserAddHandler(_0x54d2x22, _0x54d2xa, this.MouseDown), this.XBrowserAddHandler(_0x54d2x22, _0x54d2x1a, this.MouseUp), this.XBrowserAddHandler(_0x54d2x22, _0x54d2x10, this.MouseMove), this.XBrowserAddHandler(_0x54d2x22, _0x54d2x11, this.MouseOut)) : (this.XBrowserAddHandler(_0x54d2x24, _0x54d2xa, this.MouseDown), this.XBrowserAddHandler(_0x54d2x24, _0x54d2x1a, this.MouseUp), this.XBrowserAddHandler(_0x54d2x24, _0x54d2x10, this.MouseMove), this.XBrowserAddHandler(_0x54d2x24, _0x54d2x11, this.MouseOut), this.XBrowserAddHandler(_0x54d2x22, _0x54d2x11, this.MouseOut)) : ($(_0x54d2x24)['bind'](_0x54d2xa, this.MouseDown), $(_0x54d2x24)['bind'](_0x54d2x1a, this.MouseUp), $(_0x54d2x24)['bind'](_0x54d2x10, this.MouseMove), $(_0x54d2x24)['bind'](_0x54d2x11, this.MouseOut), _0x54d2xe('ModalFix event attached')), _0x54d2x21 && !_0x54d2x12 && (_0x54d2xe('Found iPhone, iPad, Android or Touch Screen Device'), this.XBrowserAddHandler(_0x54d2x24, 'touchstart', this.MouseDown), this.XBrowserAddHandler(_0x54d2x24, 'touchend', this.MouseUp), this.XBrowserAddHandler(_0x54d2x24, 'touchmove', this.MouseMove)), _0x54d2x53 && (_0x54d2xe('Attaching jQuery Events'), $(_0x54d2x24)['bind'](_0x54d2xa, this.MouseDown), $(_0x54d2x24)['bind'](_0x54d2x1a, this.MouseUp), $(_0x54d2x24)['bind'](_0x54d2x10, this.MouseMove), _0x54d2x21 || $(_0x54d2x24)['bind'](_0x54d2x11, this.MouseOut)), _0x54d2xe('isIE ' + isIE), _0x54d2xe('isIE 9+ ' + isIENine), (isIE || isIENine || isIETablet) && _0x54d2xe('IE Ver - ' + iever), supports_canvas() && _0x54d2xe('Canvas - Yes'), _0x54d2x2b || _0x54d2xe('Control is disabled'), _0x54d2xe('Ready')
  582. } else {
  583. _0x54d2xe('Error initializing signature control')
  584. }
  585. }
  586. }
  587. }
  588. ValidateSignature = function(_0x54d2x70) {
  589. var _0x54d2x71 = !0;
  590. if (null == _0x54d2x70 || 'undefined' == _0x54d2x70 || '' == _0x54d2x70) {
  591. for (var _0x54d2xa = 0; _0x54d2xa < signObjects['length']; _0x54d2xa++) {
  592. var _0x54d2x72 = signObjects[_0x54d2xa],
  593. _0x54d2x73 = eval('obj' + _0x54d2x72).IsValid();
  594. _0x54d2x73 || (_0x54d2x71 = !1, isMobileIE || (document['getElementById'](_0x54d2x72)['style']['borderColor'] = 'red'))
  595. }
  596. } else {
  597. _0x54d2x71 = eval('obj' + _0x54d2x70).IsValid(), isMobileIE || 0 != _0x54d2x71 || (document['getElementById'](_0x54d2x70)['style']['borderColor'] = 'red')
  598. };
  599. return _0x54d2x71
  600. }, ClearSignature = function(_0x54d2x70) {
  601. if (null == _0x54d2x70 || 'undefined' == _0x54d2x70 || '' == _0x54d2x70) {
  602. for (var _0x54d2xa = 0; _0x54d2xa < signObjects['length']; _0x54d2xa++) {
  603. var _0x54d2x70 = signObjects[_0x54d2xa];
  604. eval('obj' + _0x54d2x70).ResetClick()
  605. }
  606. } else {
  607. eval('obj' + _0x54d2x70).ResetClick()
  608. }
  609. }, ResizeSignature = function(_0x54d2x70, _0x54d2x6a, _0x54d2x74) {
  610. eval('obj' + _0x54d2x70).ResizeSignature(_0x54d2x6a, _0x54d2x74)
  611. }, SignatureColor = function(_0x54d2x70, _0x54d2x75) {
  612. eval('obj' + _0x54d2x70).SignatureColor(_0x54d2x75)
  613. }, SignatureBackColor = function(_0x54d2x70, _0x54d2x75) {
  614. eval('obj' + _0x54d2x70).SignatureBackColor(_0x54d2x75)
  615. }, SignaturePen = function(_0x54d2x70, _0x54d2x76) {
  616. eval('obj' + _0x54d2x70).SignaturePen(_0x54d2x76)
  617. }, SignatureEnabled = function(_0x54d2x70, _0x54d2x77) {
  618. eval('obj' + _0x54d2x70).SignatureEnabled(_0x54d2x77)
  619. }, SignatureStatusBar = function(_0x54d2x70, _0x54d2x78) {
  620. eval('obj' + _0x54d2x70).SignatureStatusBar(_0x54d2x78)
  621. }, SignatureTotalPoints = function(_0x54d2x70) {
  622. return eval('obj' + _0x54d2x70).CurrentTotalpoints()
  623. }, UndoSignature = function(_0x54d2x70) {
  624. eval('obj' + _0x54d2x70).UndoSignature()
  625. }, LoadSignature = function(_0x54d2x70, _0x54d2x5b) {
  626. eval('obj' + _0x54d2x70).LoadSignature(_0x54d2x5b)
  627. }, TextSignature = function(_0x54d2x70, _0x54d2x79, _0x54d2x7a, _0x54d2x7b, _0x54d2x7c) {
  628. eval('obj' + _0x54d2x70).TextSignature(_0x54d2x79, _0x54d2x7a, _0x54d2x7b, _0x54d2x7c)
  629. };
  630. var msie = window['navigator']['userAgent']['toUpperCase']()['indexOf']('MSIE '),
  631. isIE = !1,
  632. isIENine = !1,
  633. isIETen = !1,
  634. isMobileIE = !1,
  635. isOperaMini = !1,
  636. isIETablet = !1,
  637. winTabletPointerEvt = !1,
  638. iever = getInternetExplorerVersion(),
  639. isPointer = !1;
  640. window['navigator']['userAgent']['toUpperCase']()['indexOf']('OPERA MINI') > 0 && (isOperaMini = !0), window['navigator']['userAgent']['toUpperCase']()['indexOf']('OPERA MOBI') > 0 && (isOperaMini = !0), msie > 0 && (isIE = !0, supports_canvas() && (isIE = !1, iever >= 9 && (isIENine = !0)), window['navigator']['userAgent']['toUpperCase']()['indexOf']('IEMOBILE ') > 0 && (isMobileIE = !0)), isIETablet = new RegExp('Tablet PC', 'i')['test'](window['navigator']['userAgent']), winTabletPointerEvt = !!window['navigator']['msPointerEnabled'], isIETablet || (window['navigator']['userAgent']['toUpperCase']()['indexOf']('WINDOWS PHONE ') > 0 && (isIETablet = !0), window['navigator']['msMaxTouchPoints'] && (isIETablet = !0));
  641. BezierCurves = function(a, t) {
  642. if (a.length < 2) {
  643. return a[0]
  644. }
  645. var b, tmpSmooth;
  646. this.points = [];
  647. for (var i = 0; i < a.length; i++) {
  648. b = new Smooth(a[i].x, a[i].y);
  649. b.CheckValid(tmpSmooth) || this.points.push(b), tmpSmooth = b;
  650. this.offSet = 0;
  651. this.error = t;
  652. this.result = [];
  653. this.result.push({
  654. x: a[0].x,
  655. y: a[0].y + this.offSet
  656. })
  657. }
  658. if (this.points.length == 1) {
  659. return a[0]
  660. }
  661. return this.fit()
  662. };
  663. BezierCurves.prototype = {
  664. fit: function() {
  665. this.processFitPoints(0, this.points.length - 1, this.points[1].MathFunc2(this.points[0]).nOR(), this.points[this.points.length - 2].MathFunc2(this.points[this.points.length - 1]).nOR());
  666. return this.result
  667. },
  668. processFitPoints: function(n, t, i, r) {
  669. var e, c, u, l, o, f;
  670. if (t - n == 1) {
  671. var s = this.points[n],
  672. h = this.points[t],
  673. a = s.MathFunc6(h) / 3;
  674. this.savePoints([s, s.MathFunc1(i.nOR(a)), h.MathFunc1(r.nOR(a)), h]);
  675. return
  676. }
  677. for (e = this.cLP(n, t), c = Math.max(this.error, this.error * this.error), l = 0; l <= 4; l++) {
  678. if (o = this.gB(n, t, e, i, r), f = this.fM(n, t, o, e), f.error < this.error) {
  679. this.savePoints(o);
  680. return
  681. }
  682. if (u = f.index, f.error >= c) break;
  683. this.rP(n, t, e, o), c = f.error
  684. }
  685. var y = this.points[u - 1].MathFunc2(this.points[u]),
  686. p = this.points[u].MathFunc2(this.points[u + 1]),
  687. v = y.MathFunc1(p).MathFunc4(2).nOR();
  688. this.processFitPoints(n, u, i, v), this.processFitPoints(u, t, v.MathFunc5(), r)
  689. },
  690. savePoints: function(n) {
  691. this.result.push({
  692. x: this.r2(n[1].x),
  693. y: this.r2(n[1].y + this.offSet)
  694. }), this.result.push({
  695. x: this.r2(n[2].x),
  696. y: this.r2(n[2].y + this.offSet)
  697. }), this.result.push({
  698. x: this.r2(n[3].x),
  699. y: this.r2(n[3].y + this.offSet)
  700. })
  701. },
  702. r2: function(n) {
  703. return Math.round(n * 100) / 100
  704. },
  705. gB: function(n, t, i, r, u) {
  706. for (var s = 1e-11, v = this.points[n], y = this.points[t], f = [
  707. [0, 0],
  708. [0, 0]
  709. ], e = [0, 0], b, a, o, ut, ft, k, et, d, c = 0, g = t - n + 1; c < g; c++) {
  710. var h = i[c],
  711. l = 1 - h,
  712. nt = 3 * h * l,
  713. ot = l * l * l,
  714. tt = nt * l,
  715. it = nt * h,
  716. st = h * h * h,
  717. p = r.nOR(tt),
  718. w = u.nOR(it),
  719. rt = this.points[n + c].MathFunc2(v.MathFunc3(ot + tt)).MathFunc2(y.MathFunc3(it + st));
  720. f[0][0] += p.dot(p), f[0][1] += p.dot(w), f[1][0] = f[0][1], f[1][1] += w.dot(w), e[0] += p.dot(rt), e[1] += w.dot(rt)
  721. }
  722. return b = f[0][0] * f[1][1] - f[1][0] * f[0][1], Math.abs(b) > s ? (ut = f[0][0] * e[1] - f[1][0] * e[0], ft = e[0] * f[1][1] - e[1] * f[0][1], a = ft / b, o = ut / b) : (k = f[0][0] + f[0][1], et = f[1][0] + f[1][1], a = Math.abs(k) > s ? o = e[0] / k : Math.abs(k) > s ? o = e[1] / et : o = 0), d = y.MathFunc6(v), s *= d, (a < s || o < s) && (a = o = d / 3), [v, v.MathFunc1(r.nOR(a)), y.MathFunc1(u.nOR(o)), y]
  723. },
  724. rP: function(n, t, i, r) {
  725. for (var u = n; u <= t; u++) i[u - n] = this.fR(r, this.points[u], i[u - n])
  726. },
  727. fR: function(n, t, i) {
  728. for (var u = [], e = [], r = 0; r <= 2; r++) u[r] = n[r + 1].MathFunc2(n[r]).MathFunc3(3);
  729. for (r = 0; r <= 1; r++) e[r] = u[r + 1].MathFunc2(u[r]).MathFunc3(2);
  730. var h = this.eV(3, n, i),
  731. f = this.eV(2, u, i),
  732. c = this.eV(1, e, i),
  733. o = h.MathFunc2(t),
  734. s = f.dot(f) + o.dot(c);
  735. return Math.abs(s) < 1e-5 ? i : i - o.dot(f) / s
  736. },
  737. eV: function(n, t, i) {
  738. for (var u = t.slice(), r, f = 1; f <= n; f++)
  739. for (r = 0; r <= n - f; r++) u[r] = u[r].MathFunc3(1 - i).MathFunc1(u[r + 1].MathFunc3(i));
  740. return u[0]
  741. },
  742. cLP: function(n, t) {
  743. for (var r = [0], u, i = n + 1; i <= t; i++) r[i - n] = r[i - n - 1] + this.points[i].MathFunc6(this.points[i - 1]);
  744. for (i = 1, u = t - n; i <= u; i++) r[i] /= r[u];
  745. return r
  746. },
  747. fM: function(n, t, i, r) {
  748. for (var o = Math.floor((t - n + 1) / 2), e = 0, u = n + 1; u < t; u++) {
  749. var h = this.eV(3, i, r[u - n]),
  750. f = h.MathFunc2(this.points[u]),
  751. s = f.x * f.x + f.y * f.y;
  752. s >= e && (e = s, o = u)
  753. }
  754. return {
  755. error: e,
  756. index: o
  757. }
  758. }
  759. };
  760. Smooth = function(a, b) {
  761. this.x = a;
  762. this.y = b
  763. };
  764. Smooth.prototype = {
  765. CheckPtArray: function(a) {
  766. return typeof a == "number" ? {
  767. x: a,
  768. y: a
  769. } : a
  770. },
  771. MathFunc1: function(a) {
  772. a = this.CheckPtArray(a);
  773. return SmoothRet(this.x + a.x, this.y + a.y)
  774. },
  775. MathFunc2: function(a) {
  776. a = this.CheckPtArray(a);
  777. return SmoothRet(this.x - a.x, this.y - a.y)
  778. },
  779. MathFunc3: function(a) {
  780. a = this.CheckPtArray(a);
  781. return SmoothRet(this.x * a.x, this.y * a.y)
  782. },
  783. MathFunc4: function(a) {
  784. a = this.CheckPtArray(a);
  785. return SmoothRet(this.x / a.x, this.y / a.y)
  786. },
  787. MathFunc5: function() {
  788. return SmoothRet(-this.x, -this.y)
  789. },
  790. MathFunc6: function(a, t) {
  791. var i = a.x - this.x,
  792. r = a.y - this.y,
  793. u = i * i + r * r;
  794. return t ? u : Math.sqrt(u)
  795. },
  796. getLength: function() {
  797. var n = this.x * this.x + this.y * this.y;
  798. return arguments[0] ? n : Math.sqrt(n)
  799. },
  800. nOR: function(n) {
  801. if (n === undefined) {
  802. n = 1
  803. }
  804. var t = this.getLength(),
  805. i = t != 0 ? n / t : 0;
  806. return SmoothRet(this.x * i, this.y * i)
  807. },
  808. CheckValid: function(a) {
  809. return a == null ? false : this.x == a.x && this.y == a.y
  810. },
  811. dot: function(n) {
  812. return this.x * n.x + this.y * n.y
  813. }
  814. };
  815. var SmoothRet = function(a, b) {
  816. return new Smooth(a, b)
  817. };
  818. Compress = function(n, t) {
  819. var o = 0,
  820. s = 0,
  821. h = n.length,
  822. r = "",
  823. f, e, u, i;
  824. for (t = Math.pow(10, t), i = 0; i < h; i++) f = Math.round(n[i].y * t), e = Math.round(n[i].x * t), r += EncodeStr(f - o), r += EncodeStr(e - s), o = f, s = e;
  825. for (u = [
  826. ["?", "0"],
  827. ["@", "1"],
  828. ["[", "2"],
  829. ["\\", "3"],
  830. ["]", "4"],
  831. ["^", "5"],
  832. ["`", "6"],
  833. ["{", "7"],
  834. ["|", "8"],
  835. ["}", "9"]
  836. ], i = 0; i < u.length; i++) r = r.replaceAll(u[i][0], u[i][1]);
  837. return r
  838. };
  839. EncodeStr = function(n) {
  840. var n = n << 1,
  841. t;
  842. for (n < 0 && (n = ~n), t = ""; n >= 32;) t += String.fromCharCode((32 | n & 31) + 63), n >>= 5;
  843. return t + String.fromCharCode(n + 63)
  844. };
  845. String.prototype.replaceAll = function(n, t, i) {
  846. return this.replace(new RegExp(n.replace(/([\/\,\!\\\^\$\{\}\[\]\(\)\.\*\+\?\|\<\>\-\&])/g, "\\$&"), i ? "gi" : "g"), typeof t == "string" ? t.replace(/\$/g, "$$$$") : t)
  847. };
Advertisement
Add Comment
Please, Sign In to add comment