bundle.js 36 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323
  1. require=(function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({"Focm2+":[function(require,module,exports){
  2. /*!
  3. * The buffer module from node.js, for the browser.
  4. *
  5. * @author Feross Aboukhadijeh <feross@feross.org> <http://feross.org>
  6. * @license MIT
  7. */
  8. var base64 = require('base64-js')
  9. var ieee754 = require('ieee754')
  10. exports.Buffer = Buffer
  11. exports.SlowBuffer = Buffer
  12. exports.INSPECT_MAX_BYTES = 50
  13. Buffer.poolSize = 8192
  14. /**
  15. * If `Buffer._useTypedArrays`:
  16. * === true Use Uint8Array implementation (fastest)
  17. * === false Use Object implementation (compatible down to IE6)
  18. */
  19. Buffer._useTypedArrays = (function () {
  20. // Detect if browser supports Typed Arrays. Supported browsers are IE 10+, Firefox 4+,
  21. // Chrome 7+, Safari 5.1+, Opera 11.6+, iOS 4.2+. If the browser does not support adding
  22. // properties to `Uint8Array` instances, then that's the same as no `Uint8Array` support
  23. // because we need to be able to add all the node Buffer API methods. This is an issue
  24. // in Firefox 4-29. Now fixed: https://bugzilla.mozilla.org/show_bug.cgi?id=695438
  25. try {
  26. var buf = new ArrayBuffer(0)
  27. var arr = new Uint8Array(buf)
  28. arr.foo = function () { return 42 }
  29. return 42 === arr.foo() &&
  30. typeof arr.subarray === 'function' // Chrome 9-10 lack `subarray`
  31. } catch (e) {
  32. return false
  33. }
  34. })()
  35. /**
  36. * Class: Buffer
  37. * =============
  38. *
  39. * The Buffer constructor returns instances of `Uint8Array` that are augmented
  40. * with function properties for all the node `Buffer` API functions. We use
  41. * `Uint8Array` so that square bracket notation works as expected -- it returns
  42. * a single octet.
  43. *
  44. * By augmenting the instances, we can avoid modifying the `Uint8Array`
  45. * prototype.
  46. */
  47. function Buffer (subject, encoding, noZero) {
  48. if (!(this instanceof Buffer))
  49. return new Buffer(subject, encoding, noZero)
  50. var type = typeof subject
  51. // Workaround: node's base64 implementation allows for non-padded strings
  52. // while base64-js does not.
  53. if (encoding === 'base64' && type === 'string') {
  54. subject = stringtrim(subject)
  55. while (subject.length % 4 !== 0) {
  56. subject = subject + '='
  57. }
  58. }
  59. // Find the length
  60. var length
  61. if (type === 'number')
  62. length = coerce(subject)
  63. else if (type === 'string')
  64. length = Buffer.byteLength(subject, encoding)
  65. else if (type === 'object')
  66. length = coerce(subject.length) // assume that object is array-like
  67. else
  68. throw new Error('First argument needs to be a number, array or string.')
  69. var buf
  70. if (Buffer._useTypedArrays) {
  71. // Preferred: Return an augmented `Uint8Array` instance for best performance
  72. buf = Buffer._augment(new Uint8Array(length))
  73. } else {
  74. // Fallback: Return THIS instance of Buffer (created by `new`)
  75. buf = this
  76. buf.length = length
  77. buf._isBuffer = true
  78. }
  79. var i
  80. if (Buffer._useTypedArrays && typeof subject.byteLength === 'number') {
  81. // Speed optimization -- use set if we're copying from a typed array
  82. buf._set(subject)
  83. } else if (isArrayish(subject)) {
  84. // Treat array-ish objects as a byte array
  85. for (i = 0; i < length; i++) {
  86. if (Buffer.isBuffer(subject))
  87. buf[i] = subject.readUInt8(i)
  88. else
  89. buf[i] = subject[i]
  90. }
  91. } else if (type === 'string') {
  92. buf.write(subject, 0, encoding)
  93. } else if (type === 'number' && !Buffer._useTypedArrays && !noZero) {
  94. for (i = 0; i < length; i++) {
  95. buf[i] = 0
  96. }
  97. }
  98. return buf
  99. }
  100. // STATIC METHODS
  101. // ==============
  102. Buffer.isEncoding = function (encoding) {
  103. switch (String(encoding).toLowerCase()) {
  104. case 'hex':
  105. case 'utf8':
  106. case 'utf-8':
  107. case 'ascii':
  108. case 'binary':
  109. case 'base64':
  110. case 'raw':
  111. case 'ucs2':
  112. case 'ucs-2':
  113. case 'utf16le':
  114. case 'utf-16le':
  115. return true
  116. default:
  117. return false
  118. }
  119. }
  120. Buffer.isBuffer = function (b) {
  121. return !!(b !== null && b !== undefined && b._isBuffer)
  122. }
  123. Buffer.byteLength = function (str, encoding) {
  124. var ret
  125. str = str + ''
  126. switch (encoding || 'utf8') {
  127. case 'hex':
  128. ret = str.length / 2
  129. break
  130. case 'utf8':
  131. case 'utf-8':
  132. ret = utf8ToBytes(str).length
  133. break
  134. case 'ascii':
  135. case 'binary':
  136. case 'raw':
  137. ret = str.length
  138. break
  139. case 'base64':
  140. ret = base64ToBytes(str).length
  141. break
  142. case 'ucs2':
  143. case 'ucs-2':
  144. case 'utf16le':
  145. case 'utf-16le':
  146. ret = str.length * 2
  147. break
  148. default:
  149. throw new Error('Unknown encoding')
  150. }
  151. return ret
  152. }
  153. Buffer.concat = function (list, totalLength) {
  154. assert(isArray(list), 'Usage: Buffer.concat(list, [totalLength])\n' +
  155. 'list should be an Array.')
  156. if (list.length === 0) {
  157. return new Buffer(0)
  158. } else if (list.length === 1) {
  159. return list[0]
  160. }
  161. var i
  162. if (typeof totalLength !== 'number') {
  163. totalLength = 0
  164. for (i = 0; i < list.length; i++) {
  165. totalLength += list[i].length
  166. }
  167. }
  168. var buf = new Buffer(totalLength)
  169. var pos = 0
  170. for (i = 0; i < list.length; i++) {
  171. var item = list[i]
  172. item.copy(buf, pos)
  173. pos += item.length
  174. }
  175. return buf
  176. }
  177. // BUFFER INSTANCE METHODS
  178. // =======================
  179. function _hexWrite (buf, string, offset, length) {
  180. offset = Number(offset) || 0
  181. var remaining = buf.length - offset
  182. if (!length) {
  183. length = remaining
  184. } else {
  185. length = Number(length)
  186. if (length > remaining) {
  187. length = remaining
  188. }
  189. }
  190. // must be an even number of digits
  191. var strLen = string.length
  192. assert(strLen % 2 === 0, 'Invalid hex string')
  193. if (length > strLen / 2) {
  194. length = strLen / 2
  195. }
  196. for (var i = 0; i < length; i++) {
  197. var byte = parseInt(string.substr(i * 2, 2), 16)
  198. assert(!isNaN(byte), 'Invalid hex string')
  199. buf[offset + i] = byte
  200. }
  201. Buffer._charsWritten = i * 2
  202. return i
  203. }
  204. function _utf8Write (buf, string, offset, length) {
  205. var charsWritten = Buffer._charsWritten =
  206. blitBuffer(utf8ToBytes(string), buf, offset, length)
  207. return charsWritten
  208. }
  209. function _asciiWrite (buf, string, offset, length) {
  210. var charsWritten = Buffer._charsWritten =
  211. blitBuffer(asciiToBytes(string), buf, offset, length)
  212. return charsWritten
  213. }
  214. function _binaryWrite (buf, string, offset, length) {
  215. return _asciiWrite(buf, string, offset, length)
  216. }
  217. function _base64Write (buf, string, offset, length) {
  218. var charsWritten = Buffer._charsWritten =
  219. blitBuffer(base64ToBytes(string), buf, offset, length)
  220. return charsWritten
  221. }
  222. function _utf16leWrite (buf, string, offset, length) {
  223. var charsWritten = Buffer._charsWritten =
  224. blitBuffer(utf16leToBytes(string), buf, offset, length)
  225. return charsWritten
  226. }
  227. Buffer.prototype.write = function (string, offset, length, encoding) {
  228. // Support both (string, offset, length, encoding)
  229. // and the legacy (string, encoding, offset, length)
  230. if (isFinite(offset)) {
  231. if (!isFinite(length)) {
  232. encoding = length
  233. length = undefined
  234. }
  235. } else { // legacy
  236. var swap = encoding
  237. encoding = offset
  238. offset = length
  239. length = swap
  240. }
  241. offset = Number(offset) || 0
  242. var remaining = this.length - offset
  243. if (!length) {
  244. length = remaining
  245. } else {
  246. length = Number(length)
  247. if (length > remaining) {
  248. length = remaining
  249. }
  250. }
  251. encoding = String(encoding || 'utf8').toLowerCase()
  252. var ret
  253. switch (encoding) {
  254. case 'hex':
  255. ret = _hexWrite(this, string, offset, length)
  256. break
  257. case 'utf8':
  258. case 'utf-8':
  259. ret = _utf8Write(this, string, offset, length)
  260. break
  261. case 'ascii':
  262. ret = _asciiWrite(this, string, offset, length)
  263. break
  264. case 'binary':
  265. ret = _binaryWrite(this, string, offset, length)
  266. break
  267. case 'base64':
  268. ret = _base64Write(this, string, offset, length)
  269. break
  270. case 'ucs2':
  271. case 'ucs-2':
  272. case 'utf16le':
  273. case 'utf-16le':
  274. ret = _utf16leWrite(this, string, offset, length)
  275. break
  276. default:
  277. throw new Error('Unknown encoding')
  278. }
  279. return ret
  280. }
  281. Buffer.prototype.toString = function (encoding, start, end) {
  282. var self = this
  283. encoding = String(encoding || 'utf8').toLowerCase()
  284. start = Number(start) || 0
  285. end = (end !== undefined)
  286. ? Number(end)
  287. : end = self.length
  288. // Fastpath empty strings
  289. if (end === start)
  290. return ''
  291. var ret
  292. switch (encoding) {
  293. case 'hex':
  294. ret = _hexSlice(self, start, end)
  295. break
  296. case 'utf8':
  297. case 'utf-8':
  298. ret = _utf8Slice(self, start, end)
  299. break
  300. case 'ascii':
  301. ret = _asciiSlice(self, start, end)
  302. break
  303. case 'binary':
  304. ret = _binarySlice(self, start, end)
  305. break
  306. case 'base64':
  307. ret = _base64Slice(self, start, end)
  308. break
  309. case 'ucs2':
  310. case 'ucs-2':
  311. case 'utf16le':
  312. case 'utf-16le':
  313. ret = _utf16leSlice(self, start, end)
  314. break
  315. default:
  316. throw new Error('Unknown encoding')
  317. }
  318. return ret
  319. }
  320. Buffer.prototype.toJSON = function () {
  321. return {
  322. type: 'Buffer',
  323. data: Array.prototype.slice.call(this._arr || this, 0)
  324. }
  325. }
  326. // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
  327. Buffer.prototype.copy = function (target, target_start, start, end) {
  328. var source = this
  329. if (!start) start = 0
  330. if (!end && end !== 0) end = this.length
  331. if (!target_start) target_start = 0
  332. // Copy 0 bytes; we're done
  333. if (end === start) return
  334. if (target.length === 0 || source.length === 0) return
  335. // Fatal error conditions
  336. assert(end >= start, 'sourceEnd < sourceStart')
  337. assert(target_start >= 0 && target_start < target.length,
  338. 'targetStart out of bounds')
  339. assert(start >= 0 && start < source.length, 'sourceStart out of bounds')
  340. assert(end >= 0 && end <= source.length, 'sourceEnd out of bounds')
  341. // Are we oob?
  342. if (end > this.length)
  343. end = this.length
  344. if (target.length - target_start < end - start)
  345. end = target.length - target_start + start
  346. var len = end - start
  347. if (len < 100 || !Buffer._useTypedArrays) {
  348. for (var i = 0; i < len; i++)
  349. target[i + target_start] = this[i + start]
  350. } else {
  351. target._set(this.subarray(start, start + len), target_start)
  352. }
  353. }
  354. function _base64Slice (buf, start, end) {
  355. if (start === 0 && end === buf.length) {
  356. return base64.fromByteArray(buf)
  357. } else {
  358. return base64.fromByteArray(buf.slice(start, end))
  359. }
  360. }
  361. function _utf8Slice (buf, start, end) {
  362. var res = ''
  363. var tmp = ''
  364. end = Math.min(buf.length, end)
  365. for (var i = start; i < end; i++) {
  366. if (buf[i] <= 0x7F) {
  367. res += decodeUtf8Char(tmp) + String.fromCharCode(buf[i])
  368. tmp = ''
  369. } else {
  370. tmp += '%' + buf[i].toString(16)
  371. }
  372. }
  373. return res + decodeUtf8Char(tmp)
  374. }
  375. function _asciiSlice (buf, start, end) {
  376. var ret = ''
  377. end = Math.min(buf.length, end)
  378. for (var i = start; i < end; i++)
  379. ret += String.fromCharCode(buf[i])
  380. return ret
  381. }
  382. function _binarySlice (buf, start, end) {
  383. return _asciiSlice(buf, start, end)
  384. }
  385. function _hexSlice (buf, start, end) {
  386. var len = buf.length
  387. if (!start || start < 0) start = 0
  388. if (!end || end < 0 || end > len) end = len
  389. var out = ''
  390. for (var i = start; i < end; i++) {
  391. out += toHex(buf[i])
  392. }
  393. return out
  394. }
  395. function _utf16leSlice (buf, start, end) {
  396. var bytes = buf.slice(start, end)
  397. var res = ''
  398. for (var i = 0; i < bytes.length; i += 2) {
  399. res += String.fromCharCode(bytes[i] + bytes[i+1] * 256)
  400. }
  401. return res
  402. }
  403. Buffer.prototype.slice = function (start, end) {
  404. var len = this.length
  405. start = clamp(start, len, 0)
  406. end = clamp(end, len, len)
  407. if (Buffer._useTypedArrays) {
  408. return Buffer._augment(this.subarray(start, end))
  409. } else {
  410. var sliceLen = end - start
  411. var newBuf = new Buffer(sliceLen, undefined, true)
  412. for (var i = 0; i < sliceLen; i++) {
  413. newBuf[i] = this[i + start]
  414. }
  415. return newBuf
  416. }
  417. }
  418. // `get` will be removed in Node 0.13+
  419. Buffer.prototype.get = function (offset) {
  420. console.log('.get() is deprecated. Access using array indexes instead.')
  421. return this.readUInt8(offset)
  422. }
  423. // `set` will be removed in Node 0.13+
  424. Buffer.prototype.set = function (v, offset) {
  425. console.log('.set() is deprecated. Access using array indexes instead.')
  426. return this.writeUInt8(v, offset)
  427. }
  428. Buffer.prototype.readUInt8 = function (offset, noAssert) {
  429. if (!noAssert) {
  430. assert(offset !== undefined && offset !== null, 'missing offset')
  431. assert(offset < this.length, 'Trying to read beyond buffer length')
  432. }
  433. if (offset >= this.length)
  434. return
  435. return this[offset]
  436. }
  437. function _readUInt16 (buf, offset, littleEndian, noAssert) {
  438. if (!noAssert) {
  439. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  440. assert(offset !== undefined && offset !== null, 'missing offset')
  441. assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
  442. }
  443. var len = buf.length
  444. if (offset >= len)
  445. return
  446. var val
  447. if (littleEndian) {
  448. val = buf[offset]
  449. if (offset + 1 < len)
  450. val |= buf[offset + 1] << 8
  451. } else {
  452. val = buf[offset] << 8
  453. if (offset + 1 < len)
  454. val |= buf[offset + 1]
  455. }
  456. return val
  457. }
  458. Buffer.prototype.readUInt16LE = function (offset, noAssert) {
  459. return _readUInt16(this, offset, true, noAssert)
  460. }
  461. Buffer.prototype.readUInt16BE = function (offset, noAssert) {
  462. return _readUInt16(this, offset, false, noAssert)
  463. }
  464. function _readUInt32 (buf, offset, littleEndian, noAssert) {
  465. if (!noAssert) {
  466. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  467. assert(offset !== undefined && offset !== null, 'missing offset')
  468. assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
  469. }
  470. var len = buf.length
  471. if (offset >= len)
  472. return
  473. var val
  474. if (littleEndian) {
  475. if (offset + 2 < len)
  476. val = buf[offset + 2] << 16
  477. if (offset + 1 < len)
  478. val |= buf[offset + 1] << 8
  479. val |= buf[offset]
  480. if (offset + 3 < len)
  481. val = val + (buf[offset + 3] << 24 >>> 0)
  482. } else {
  483. if (offset + 1 < len)
  484. val = buf[offset + 1] << 16
  485. if (offset + 2 < len)
  486. val |= buf[offset + 2] << 8
  487. if (offset + 3 < len)
  488. val |= buf[offset + 3]
  489. val = val + (buf[offset] << 24 >>> 0)
  490. }
  491. return val
  492. }
  493. Buffer.prototype.readUInt32LE = function (offset, noAssert) {
  494. return _readUInt32(this, offset, true, noAssert)
  495. }
  496. Buffer.prototype.readUInt32BE = function (offset, noAssert) {
  497. return _readUInt32(this, offset, false, noAssert)
  498. }
  499. Buffer.prototype.readInt8 = function (offset, noAssert) {
  500. if (!noAssert) {
  501. assert(offset !== undefined && offset !== null,
  502. 'missing offset')
  503. assert(offset < this.length, 'Trying to read beyond buffer length')
  504. }
  505. if (offset >= this.length)
  506. return
  507. var neg = this[offset] & 0x80
  508. if (neg)
  509. return (0xff - this[offset] + 1) * -1
  510. else
  511. return this[offset]
  512. }
  513. function _readInt16 (buf, offset, littleEndian, noAssert) {
  514. if (!noAssert) {
  515. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  516. assert(offset !== undefined && offset !== null, 'missing offset')
  517. assert(offset + 1 < buf.length, 'Trying to read beyond buffer length')
  518. }
  519. var len = buf.length
  520. if (offset >= len)
  521. return
  522. var val = _readUInt16(buf, offset, littleEndian, true)
  523. var neg = val & 0x8000
  524. if (neg)
  525. return (0xffff - val + 1) * -1
  526. else
  527. return val
  528. }
  529. Buffer.prototype.readInt16LE = function (offset, noAssert) {
  530. return _readInt16(this, offset, true, noAssert)
  531. }
  532. Buffer.prototype.readInt16BE = function (offset, noAssert) {
  533. return _readInt16(this, offset, false, noAssert)
  534. }
  535. function _readInt32 (buf, offset, littleEndian, noAssert) {
  536. if (!noAssert) {
  537. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  538. assert(offset !== undefined && offset !== null, 'missing offset')
  539. assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
  540. }
  541. var len = buf.length
  542. if (offset >= len)
  543. return
  544. var val = _readUInt32(buf, offset, littleEndian, true)
  545. var neg = val & 0x80000000
  546. if (neg)
  547. return (0xffffffff - val + 1) * -1
  548. else
  549. return val
  550. }
  551. Buffer.prototype.readInt32LE = function (offset, noAssert) {
  552. return _readInt32(this, offset, true, noAssert)
  553. }
  554. Buffer.prototype.readInt32BE = function (offset, noAssert) {
  555. return _readInt32(this, offset, false, noAssert)
  556. }
  557. function _readFloat (buf, offset, littleEndian, noAssert) {
  558. if (!noAssert) {
  559. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  560. assert(offset + 3 < buf.length, 'Trying to read beyond buffer length')
  561. }
  562. return ieee754.read(buf, offset, littleEndian, 23, 4)
  563. }
  564. Buffer.prototype.readFloatLE = function (offset, noAssert) {
  565. return _readFloat(this, offset, true, noAssert)
  566. }
  567. Buffer.prototype.readFloatBE = function (offset, noAssert) {
  568. return _readFloat(this, offset, false, noAssert)
  569. }
  570. function _readDouble (buf, offset, littleEndian, noAssert) {
  571. if (!noAssert) {
  572. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  573. assert(offset + 7 < buf.length, 'Trying to read beyond buffer length')
  574. }
  575. return ieee754.read(buf, offset, littleEndian, 52, 8)
  576. }
  577. Buffer.prototype.readDoubleLE = function (offset, noAssert) {
  578. return _readDouble(this, offset, true, noAssert)
  579. }
  580. Buffer.prototype.readDoubleBE = function (offset, noAssert) {
  581. return _readDouble(this, offset, false, noAssert)
  582. }
  583. Buffer.prototype.writeUInt8 = function (value, offset, noAssert) {
  584. if (!noAssert) {
  585. assert(value !== undefined && value !== null, 'missing value')
  586. assert(offset !== undefined && offset !== null, 'missing offset')
  587. assert(offset < this.length, 'trying to write beyond buffer length')
  588. verifuint(value, 0xff)
  589. }
  590. if (offset >= this.length) return
  591. this[offset] = value
  592. }
  593. function _writeUInt16 (buf, value, offset, littleEndian, noAssert) {
  594. if (!noAssert) {
  595. assert(value !== undefined && value !== null, 'missing value')
  596. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  597. assert(offset !== undefined && offset !== null, 'missing offset')
  598. assert(offset + 1 < buf.length, 'trying to write beyond buffer length')
  599. verifuint(value, 0xffff)
  600. }
  601. var len = buf.length
  602. if (offset >= len)
  603. return
  604. for (var i = 0, j = Math.min(len - offset, 2); i < j; i++) {
  605. buf[offset + i] =
  606. (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>
  607. (littleEndian ? i : 1 - i) * 8
  608. }
  609. }
  610. Buffer.prototype.writeUInt16LE = function (value, offset, noAssert) {
  611. _writeUInt16(this, value, offset, true, noAssert)
  612. }
  613. Buffer.prototype.writeUInt16BE = function (value, offset, noAssert) {
  614. _writeUInt16(this, value, offset, false, noAssert)
  615. }
  616. function _writeUInt32 (buf, value, offset, littleEndian, noAssert) {
  617. if (!noAssert) {
  618. assert(value !== undefined && value !== null, 'missing value')
  619. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  620. assert(offset !== undefined && offset !== null, 'missing offset')
  621. assert(offset + 3 < buf.length, 'trying to write beyond buffer length')
  622. verifuint(value, 0xffffffff)
  623. }
  624. var len = buf.length
  625. if (offset >= len)
  626. return
  627. for (var i = 0, j = Math.min(len - offset, 4); i < j; i++) {
  628. buf[offset + i] =
  629. (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff
  630. }
  631. }
  632. Buffer.prototype.writeUInt32LE = function (value, offset, noAssert) {
  633. _writeUInt32(this, value, offset, true, noAssert)
  634. }
  635. Buffer.prototype.writeUInt32BE = function (value, offset, noAssert) {
  636. _writeUInt32(this, value, offset, false, noAssert)
  637. }
  638. Buffer.prototype.writeInt8 = function (value, offset, noAssert) {
  639. if (!noAssert) {
  640. assert(value !== undefined && value !== null, 'missing value')
  641. assert(offset !== undefined && offset !== null, 'missing offset')
  642. assert(offset < this.length, 'Trying to write beyond buffer length')
  643. verifsint(value, 0x7f, -0x80)
  644. }
  645. if (offset >= this.length)
  646. return
  647. if (value >= 0)
  648. this.writeUInt8(value, offset, noAssert)
  649. else
  650. this.writeUInt8(0xff + value + 1, offset, noAssert)
  651. }
  652. function _writeInt16 (buf, value, offset, littleEndian, noAssert) {
  653. if (!noAssert) {
  654. assert(value !== undefined && value !== null, 'missing value')
  655. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  656. assert(offset !== undefined && offset !== null, 'missing offset')
  657. assert(offset + 1 < buf.length, 'Trying to write beyond buffer length')
  658. verifsint(value, 0x7fff, -0x8000)
  659. }
  660. var len = buf.length
  661. if (offset >= len)
  662. return
  663. if (value >= 0)
  664. _writeUInt16(buf, value, offset, littleEndian, noAssert)
  665. else
  666. _writeUInt16(buf, 0xffff + value + 1, offset, littleEndian, noAssert)
  667. }
  668. Buffer.prototype.writeInt16LE = function (value, offset, noAssert) {
  669. _writeInt16(this, value, offset, true, noAssert)
  670. }
  671. Buffer.prototype.writeInt16BE = function (value, offset, noAssert) {
  672. _writeInt16(this, value, offset, false, noAssert)
  673. }
  674. function _writeInt32 (buf, value, offset, littleEndian, noAssert) {
  675. if (!noAssert) {
  676. assert(value !== undefined && value !== null, 'missing value')
  677. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  678. assert(offset !== undefined && offset !== null, 'missing offset')
  679. assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
  680. verifsint(value, 0x7fffffff, -0x80000000)
  681. }
  682. var len = buf.length
  683. if (offset >= len)
  684. return
  685. if (value >= 0)
  686. _writeUInt32(buf, value, offset, littleEndian, noAssert)
  687. else
  688. _writeUInt32(buf, 0xffffffff + value + 1, offset, littleEndian, noAssert)
  689. }
  690. Buffer.prototype.writeInt32LE = function (value, offset, noAssert) {
  691. _writeInt32(this, value, offset, true, noAssert)
  692. }
  693. Buffer.prototype.writeInt32BE = function (value, offset, noAssert) {
  694. _writeInt32(this, value, offset, false, noAssert)
  695. }
  696. function _writeFloat (buf, value, offset, littleEndian, noAssert) {
  697. if (!noAssert) {
  698. assert(value !== undefined && value !== null, 'missing value')
  699. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  700. assert(offset !== undefined && offset !== null, 'missing offset')
  701. assert(offset + 3 < buf.length, 'Trying to write beyond buffer length')
  702. verifIEEE754(value, 3.4028234663852886e+38, -3.4028234663852886e+38)
  703. }
  704. var len = buf.length
  705. if (offset >= len)
  706. return
  707. ieee754.write(buf, value, offset, littleEndian, 23, 4)
  708. }
  709. Buffer.prototype.writeFloatLE = function (value, offset, noAssert) {
  710. _writeFloat(this, value, offset, true, noAssert)
  711. }
  712. Buffer.prototype.writeFloatBE = function (value, offset, noAssert) {
  713. _writeFloat(this, value, offset, false, noAssert)
  714. }
  715. function _writeDouble (buf, value, offset, littleEndian, noAssert) {
  716. if (!noAssert) {
  717. assert(value !== undefined && value !== null, 'missing value')
  718. assert(typeof littleEndian === 'boolean', 'missing or invalid endian')
  719. assert(offset !== undefined && offset !== null, 'missing offset')
  720. assert(offset + 7 < buf.length,
  721. 'Trying to write beyond buffer length')
  722. verifIEEE754(value, 1.7976931348623157E+308, -1.7976931348623157E+308)
  723. }
  724. var len = buf.length
  725. if (offset >= len)
  726. return
  727. ieee754.write(buf, value, offset, littleEndian, 52, 8)
  728. }
  729. Buffer.prototype.writeDoubleLE = function (value, offset, noAssert) {
  730. _writeDouble(this, value, offset, true, noAssert)
  731. }
  732. Buffer.prototype.writeDoubleBE = function (value, offset, noAssert) {
  733. _writeDouble(this, value, offset, false, noAssert)
  734. }
  735. // fill(value, start=0, end=buffer.length)
  736. Buffer.prototype.fill = function (value, start, end) {
  737. if (!value) value = 0
  738. if (!start) start = 0
  739. if (!end) end = this.length
  740. if (typeof value === 'string') {
  741. value = value.charCodeAt(0)
  742. }
  743. assert(typeof value === 'number' && !isNaN(value), 'value is not a number')
  744. assert(end >= start, 'end < start')
  745. // Fill 0 bytes; we're done
  746. if (end === start) return
  747. if (this.length === 0) return
  748. assert(start >= 0 && start < this.length, 'start out of bounds')
  749. assert(end >= 0 && end <= this.length, 'end out of bounds')
  750. for (var i = start; i < end; i++) {
  751. this[i] = value
  752. }
  753. }
  754. Buffer.prototype.inspect = function () {
  755. var out = []
  756. var len = this.length
  757. for (var i = 0; i < len; i++) {
  758. out[i] = toHex(this[i])
  759. if (i === exports.INSPECT_MAX_BYTES) {
  760. out[i + 1] = '...'
  761. break
  762. }
  763. }
  764. return '<Buffer ' + out.join(' ') + '>'
  765. }
  766. /**
  767. * Creates a new `ArrayBuffer` with the *copied* memory of the buffer instance.
  768. * Added in Node 0.12. Only available in browsers that support ArrayBuffer.
  769. */
  770. Buffer.prototype.toArrayBuffer = function () {
  771. if (typeof Uint8Array !== 'undefined') {
  772. if (Buffer._useTypedArrays) {
  773. return (new Buffer(this)).buffer
  774. } else {
  775. var buf = new Uint8Array(this.length)
  776. for (var i = 0, len = buf.length; i < len; i += 1)
  777. buf[i] = this[i]
  778. return buf.buffer
  779. }
  780. } else {
  781. throw new Error('Buffer.toArrayBuffer not supported in this browser')
  782. }
  783. }
  784. // HELPER FUNCTIONS
  785. // ================
  786. function stringtrim (str) {
  787. if (str.trim) return str.trim()
  788. return str.replace(/^\s+|\s+$/g, '')
  789. }
  790. var BP = Buffer.prototype
  791. /**
  792. * Augment a Uint8Array *instance* (not the Uint8Array class!) with Buffer methods
  793. */
  794. Buffer._augment = function (arr) {
  795. arr._isBuffer = true
  796. // save reference to original Uint8Array get/set methods before overwriting
  797. arr._get = arr.get
  798. arr._set = arr.set
  799. // deprecated, will be removed in node 0.13+
  800. arr.get = BP.get
  801. arr.set = BP.set
  802. arr.write = BP.write
  803. arr.toString = BP.toString
  804. arr.toLocaleString = BP.toString
  805. arr.toJSON = BP.toJSON
  806. arr.copy = BP.copy
  807. arr.slice = BP.slice
  808. arr.readUInt8 = BP.readUInt8
  809. arr.readUInt16LE = BP.readUInt16LE
  810. arr.readUInt16BE = BP.readUInt16BE
  811. arr.readUInt32LE = BP.readUInt32LE
  812. arr.readUInt32BE = BP.readUInt32BE
  813. arr.readInt8 = BP.readInt8
  814. arr.readInt16LE = BP.readInt16LE
  815. arr.readInt16BE = BP.readInt16BE
  816. arr.readInt32LE = BP.readInt32LE
  817. arr.readInt32BE = BP.readInt32BE
  818. arr.readFloatLE = BP.readFloatLE
  819. arr.readFloatBE = BP.readFloatBE
  820. arr.readDoubleLE = BP.readDoubleLE
  821. arr.readDoubleBE = BP.readDoubleBE
  822. arr.writeUInt8 = BP.writeUInt8
  823. arr.writeUInt16LE = BP.writeUInt16LE
  824. arr.writeUInt16BE = BP.writeUInt16BE
  825. arr.writeUInt32LE = BP.writeUInt32LE
  826. arr.writeUInt32BE = BP.writeUInt32BE
  827. arr.writeInt8 = BP.writeInt8
  828. arr.writeInt16LE = BP.writeInt16LE
  829. arr.writeInt16BE = BP.writeInt16BE
  830. arr.writeInt32LE = BP.writeInt32LE
  831. arr.writeInt32BE = BP.writeInt32BE
  832. arr.writeFloatLE = BP.writeFloatLE
  833. arr.writeFloatBE = BP.writeFloatBE
  834. arr.writeDoubleLE = BP.writeDoubleLE
  835. arr.writeDoubleBE = BP.writeDoubleBE
  836. arr.fill = BP.fill
  837. arr.inspect = BP.inspect
  838. arr.toArrayBuffer = BP.toArrayBuffer
  839. return arr
  840. }
  841. // slice(start, end)
  842. function clamp (index, len, defaultValue) {
  843. if (typeof index !== 'number') return defaultValue
  844. index = ~~index; // Coerce to integer.
  845. if (index >= len) return len
  846. if (index >= 0) return index
  847. index += len
  848. if (index >= 0) return index
  849. return 0
  850. }
  851. function coerce (length) {
  852. // Coerce length to a number (possibly NaN), round up
  853. // in case it's fractional (e.g. 123.456) then do a
  854. // double negate to coerce a NaN to 0. Easy, right?
  855. length = ~~Math.ceil(+length)
  856. return length < 0 ? 0 : length
  857. }
  858. function isArray (subject) {
  859. return (Array.isArray || function (subject) {
  860. return Object.prototype.toString.call(subject) === '[object Array]'
  861. })(subject)
  862. }
  863. function isArrayish (subject) {
  864. return isArray(subject) || Buffer.isBuffer(subject) ||
  865. subject && typeof subject === 'object' &&
  866. typeof subject.length === 'number'
  867. }
  868. function toHex (n) {
  869. if (n < 16) return '0' + n.toString(16)
  870. return n.toString(16)
  871. }
  872. function utf8ToBytes (str) {
  873. var byteArray = []
  874. for (var i = 0; i < str.length; i++) {
  875. var b = str.charCodeAt(i)
  876. if (b <= 0x7F)
  877. byteArray.push(str.charCodeAt(i))
  878. else {
  879. var start = i
  880. if (b >= 0xD800 && b <= 0xDFFF) i++
  881. var h = encodeURIComponent(str.slice(start, i+1)).substr(1).split('%')
  882. for (var j = 0; j < h.length; j++)
  883. byteArray.push(parseInt(h[j], 16))
  884. }
  885. }
  886. return byteArray
  887. }
  888. function asciiToBytes (str) {
  889. var byteArray = []
  890. for (var i = 0; i < str.length; i++) {
  891. // Node's code seems to be doing this and not & 0x7F..
  892. byteArray.push(str.charCodeAt(i) & 0xFF)
  893. }
  894. return byteArray
  895. }
  896. function utf16leToBytes (str) {
  897. var c, hi, lo
  898. var byteArray = []
  899. for (var i = 0; i < str.length; i++) {
  900. c = str.charCodeAt(i)
  901. hi = c >> 8
  902. lo = c % 256
  903. byteArray.push(lo)
  904. byteArray.push(hi)
  905. }
  906. return byteArray
  907. }
  908. function base64ToBytes (str) {
  909. return base64.toByteArray(str)
  910. }
  911. function blitBuffer (src, dst, offset, length) {
  912. var pos
  913. for (var i = 0; i < length; i++) {
  914. if ((i + offset >= dst.length) || (i >= src.length))
  915. break
  916. dst[i + offset] = src[i]
  917. }
  918. return i
  919. }
  920. function decodeUtf8Char (str) {
  921. try {
  922. return decodeURIComponent(str)
  923. } catch (err) {
  924. return String.fromCharCode(0xFFFD) // UTF 8 invalid char
  925. }
  926. }
  927. /*
  928. * We have to make sure that the value is a valid integer. This means that it
  929. * is non-negative. It has no fractional component and that it does not
  930. * exceed the maximum allowed value.
  931. */
  932. function verifuint (value, max) {
  933. assert(typeof value === 'number', 'cannot write a non-number as a number')
  934. assert(value >= 0, 'specified a negative value for writing an unsigned value')
  935. assert(value <= max, 'value is larger than maximum value for type')
  936. assert(Math.floor(value) === value, 'value has a fractional component')
  937. }
  938. function verifsint (value, max, min) {
  939. assert(typeof value === 'number', 'cannot write a non-number as a number')
  940. assert(value <= max, 'value larger than maximum allowed value')
  941. assert(value >= min, 'value smaller than minimum allowed value')
  942. assert(Math.floor(value) === value, 'value has a fractional component')
  943. }
  944. function verifIEEE754 (value, max, min) {
  945. assert(typeof value === 'number', 'cannot write a non-number as a number')
  946. assert(value <= max, 'value larger than maximum allowed value')
  947. assert(value >= min, 'value smaller than minimum allowed value')
  948. }
  949. function assert (test, message) {
  950. if (!test) throw new Error(message || 'Failed assertion')
  951. }
  952. },{"base64-js":3,"ieee754":4}],"./":[function(require,module,exports){
  953. module.exports=require('Focm2+');
  954. },{}],3:[function(require,module,exports){
  955. var lookup = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';
  956. ;(function (exports) {
  957. 'use strict';
  958. var Arr = (typeof Uint8Array !== 'undefined')
  959. ? Uint8Array
  960. : Array
  961. var ZERO = '0'.charCodeAt(0)
  962. var PLUS = '+'.charCodeAt(0)
  963. var SLASH = '/'.charCodeAt(0)
  964. var NUMBER = '0'.charCodeAt(0)
  965. var LOWER = 'a'.charCodeAt(0)
  966. var UPPER = 'A'.charCodeAt(0)
  967. function decode (elt) {
  968. var code = elt.charCodeAt(0)
  969. if (code === PLUS)
  970. return 62 // '+'
  971. if (code === SLASH)
  972. return 63 // '/'
  973. if (code < NUMBER)
  974. return -1 //no match
  975. if (code < NUMBER + 10)
  976. return code - NUMBER + 26 + 26
  977. if (code < UPPER + 26)
  978. return code - UPPER
  979. if (code < LOWER + 26)
  980. return code - LOWER + 26
  981. }
  982. function b64ToByteArray (b64) {
  983. var i, j, l, tmp, placeHolders, arr
  984. if (b64.length % 4 > 0) {
  985. throw new Error('Invalid string. Length must be a multiple of 4')
  986. }
  987. // the number of equal signs (place holders)
  988. // if there are two placeholders, than the two characters before it
  989. // represent one byte
  990. // if there is only one, then the three characters before it represent 2 bytes
  991. // this is just a cheap hack to not do indexOf twice
  992. var len = b64.length
  993. placeHolders = '=' === b64.charAt(len - 2) ? 2 : '=' === b64.charAt(len - 1) ? 1 : 0
  994. // base64 is 4/3 + up to two characters of the original data
  995. arr = new Arr(b64.length * 3 / 4 - placeHolders)
  996. // if there are placeholders, only get up to the last complete 4 chars
  997. l = placeHolders > 0 ? b64.length - 4 : b64.length
  998. var L = 0
  999. function push (v) {
  1000. arr[L++] = v
  1001. }
  1002. for (i = 0, j = 0; i < l; i += 4, j += 3) {
  1003. tmp = (decode(b64.charAt(i)) << 18) | (decode(b64.charAt(i + 1)) << 12) | (decode(b64.charAt(i + 2)) << 6) | decode(b64.charAt(i + 3))
  1004. push((tmp & 0xFF0000) >> 16)
  1005. push((tmp & 0xFF00) >> 8)
  1006. push(tmp & 0xFF)
  1007. }
  1008. if (placeHolders === 2) {
  1009. tmp = (decode(b64.charAt(i)) << 2) | (decode(b64.charAt(i + 1)) >> 4)
  1010. push(tmp & 0xFF)
  1011. } else if (placeHolders === 1) {
  1012. tmp = (decode(b64.charAt(i)) << 10) | (decode(b64.charAt(i + 1)) << 4) | (decode(b64.charAt(i + 2)) >> 2)
  1013. push((tmp >> 8) & 0xFF)
  1014. push(tmp & 0xFF)
  1015. }
  1016. return arr
  1017. }
  1018. function uint8ToBase64 (uint8) {
  1019. var i,
  1020. extraBytes = uint8.length % 3, // if we have 1 byte left, pad 2 bytes
  1021. output = "",
  1022. temp, length
  1023. function encode (num) {
  1024. return lookup.charAt(num)
  1025. }
  1026. function tripletToBase64 (num) {
  1027. return encode(num >> 18 & 0x3F) + encode(num >> 12 & 0x3F) + encode(num >> 6 & 0x3F) + encode(num & 0x3F)
  1028. }
  1029. // go through the array every three bytes, we'll deal with trailing stuff later
  1030. for (i = 0, length = uint8.length - extraBytes; i < length; i += 3) {
  1031. temp = (uint8[i] << 16) + (uint8[i + 1] << 8) + (uint8[i + 2])
  1032. output += tripletToBase64(temp)
  1033. }
  1034. // pad the end with zeros, but make sure to not forget the extra bytes
  1035. switch (extraBytes) {
  1036. case 1:
  1037. temp = uint8[uint8.length - 1]
  1038. output += encode(temp >> 2)
  1039. output += encode((temp << 4) & 0x3F)
  1040. output += '=='
  1041. break
  1042. case 2:
  1043. temp = (uint8[uint8.length - 2] << 8) + (uint8[uint8.length - 1])
  1044. output += encode(temp >> 10)
  1045. output += encode((temp >> 4) & 0x3F)
  1046. output += encode((temp << 2) & 0x3F)
  1047. output += '='
  1048. break
  1049. }
  1050. return output
  1051. }
  1052. module.exports.toByteArray = b64ToByteArray
  1053. module.exports.fromByteArray = uint8ToBase64
  1054. }())
  1055. },{}],4:[function(require,module,exports){
  1056. exports.read = function(buffer, offset, isLE, mLen, nBytes) {
  1057. var e, m,
  1058. eLen = nBytes * 8 - mLen - 1,
  1059. eMax = (1 << eLen) - 1,
  1060. eBias = eMax >> 1,
  1061. nBits = -7,
  1062. i = isLE ? (nBytes - 1) : 0,
  1063. d = isLE ? -1 : 1,
  1064. s = buffer[offset + i];
  1065. i += d;
  1066. e = s & ((1 << (-nBits)) - 1);
  1067. s >>= (-nBits);
  1068. nBits += eLen;
  1069. for (; nBits > 0; e = e * 256 + buffer[offset + i], i += d, nBits -= 8);
  1070. m = e & ((1 << (-nBits)) - 1);
  1071. e >>= (-nBits);
  1072. nBits += mLen;
  1073. for (; nBits > 0; m = m * 256 + buffer[offset + i], i += d, nBits -= 8);
  1074. if (e === 0) {
  1075. e = 1 - eBias;
  1076. } else if (e === eMax) {
  1077. return m ? NaN : ((s ? -1 : 1) * Infinity);
  1078. } else {
  1079. m = m + Math.pow(2, mLen);
  1080. e = e - eBias;
  1081. }
  1082. return (s ? -1 : 1) * m * Math.pow(2, e - mLen);
  1083. };
  1084. exports.write = function(buffer, value, offset, isLE, mLen, nBytes) {
  1085. var e, m, c,
  1086. eLen = nBytes * 8 - mLen - 1,
  1087. eMax = (1 << eLen) - 1,
  1088. eBias = eMax >> 1,
  1089. rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0),
  1090. i = isLE ? 0 : (nBytes - 1),
  1091. d = isLE ? 1 : -1,
  1092. s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0;
  1093. value = Math.abs(value);
  1094. if (isNaN(value) || value === Infinity) {
  1095. m = isNaN(value) ? 1 : 0;
  1096. e = eMax;
  1097. } else {
  1098. e = Math.floor(Math.log(value) / Math.LN2);
  1099. if (value * (c = Math.pow(2, -e)) < 1) {
  1100. e--;
  1101. c *= 2;
  1102. }
  1103. if (e + eBias >= 1) {
  1104. value += rt / c;
  1105. } else {
  1106. value += rt * Math.pow(2, 1 - eBias);
  1107. }
  1108. if (value * c >= 2) {
  1109. e++;
  1110. c /= 2;
  1111. }
  1112. if (e + eBias >= eMax) {
  1113. m = 0;
  1114. e = eMax;
  1115. } else if (e + eBias >= 1) {
  1116. m = (value * c - 1) * Math.pow(2, mLen);
  1117. e = e + eBias;
  1118. } else {
  1119. m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen);
  1120. e = 0;
  1121. }
  1122. }
  1123. for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8);
  1124. e = (e << mLen) | m;
  1125. eLen += mLen;
  1126. for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8);
  1127. buffer[offset + i - d] |= s * 128;
  1128. };
  1129. },{}]},{},[]);module.exports=require("./").Buffer;