isomorfeus-puppetmaster 0.5.5 → 0.5.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (710) hide show
  1. checksums.yaml +4 -4
  2. data/lib/isomorfeus/puppetmaster/console_message.rb +18 -18
  3. data/lib/isomorfeus/puppetmaster/cookie.rb +46 -46
  4. data/lib/isomorfeus/puppetmaster/driver/puppeteer.rb +413 -415
  5. data/lib/isomorfeus/puppetmaster/driver/puppeteer_document.rb +953 -953
  6. data/lib/isomorfeus/puppetmaster/driver/puppeteer_node.rb +851 -851
  7. data/lib/isomorfeus/puppetmaster/errors.rb +90 -90
  8. data/lib/isomorfeus/puppetmaster/iframe.rb +16 -16
  9. data/lib/isomorfeus/puppetmaster/node/content_editable.rb +17 -17
  10. data/lib/isomorfeus/puppetmaster/node/input.rb +20 -20
  11. data/lib/isomorfeus/puppetmaster/node/select.rb +35 -35
  12. data/lib/isomorfeus/puppetmaster/node.rb +279 -279
  13. data/lib/isomorfeus/puppetmaster/request.rb +16 -16
  14. data/lib/isomorfeus/puppetmaster/response.rb +25 -25
  15. data/lib/isomorfeus/puppetmaster/self_forwardable.rb +38 -38
  16. data/lib/isomorfeus/puppetmaster/version.rb +3 -3
  17. data/lib/isomorfeus/puppetmaster.rb +85 -85
  18. data/lib/isomorfeus-puppetmaster.rb +1 -0
  19. data/node_modules/.bin/extract-zip +12 -12
  20. data/node_modules/.bin/extract-zip.ps1 +28 -28
  21. data/node_modules/.bin/rimraf +12 -12
  22. data/node_modules/.bin/rimraf.ps1 +28 -28
  23. data/node_modules/.package-lock.json +530 -585
  24. data/node_modules/@types/node/LICENSE +21 -21
  25. data/node_modules/@types/node/assert/strict.d.ts +8 -8
  26. data/node_modules/@types/node/assert.d.ts +912 -912
  27. data/node_modules/@types/node/async_hooks.d.ts +497 -497
  28. data/node_modules/@types/node/buffer.d.ts +2142 -2142
  29. data/node_modules/@types/node/child_process.d.ts +1355 -1355
  30. data/node_modules/@types/node/cluster.d.ts +414 -414
  31. data/node_modules/@types/node/console.d.ts +407 -407
  32. data/node_modules/@types/node/constants.d.ts +18 -18
  33. data/node_modules/@types/node/crypto.d.ts +3224 -3224
  34. data/node_modules/@types/node/dgram.d.ts +545 -545
  35. data/node_modules/@types/node/diagnostics_channel.d.ts +128 -128
  36. data/node_modules/@types/node/dns/promises.d.ts +357 -357
  37. data/node_modules/@types/node/dns.d.ts +643 -643
  38. data/node_modules/@types/node/domain.d.ts +169 -169
  39. data/node_modules/@types/node/events.d.ts +623 -623
  40. data/node_modules/@types/node/fs/promises.d.ts +997 -997
  41. data/node_modules/@types/node/fs.d.ts +3723 -3723
  42. data/node_modules/@types/node/globals.d.ts +285 -285
  43. data/node_modules/@types/node/globals.global.d.ts +1 -1
  44. data/node_modules/@types/node/http.d.ts +1358 -1358
  45. data/node_modules/@types/node/http2.d.ts +2100 -2100
  46. data/node_modules/@types/node/https.d.ts +391 -391
  47. data/node_modules/@types/node/index.d.ts +131 -131
  48. data/node_modules/@types/node/inspector.d.ts +2738 -2738
  49. data/node_modules/@types/node/module.d.ts +114 -114
  50. data/node_modules/@types/node/net.d.ts +783 -783
  51. data/node_modules/@types/node/os.d.ts +455 -455
  52. data/node_modules/@types/node/package.json +229 -229
  53. data/node_modules/@types/node/path.d.ts +172 -172
  54. data/node_modules/@types/node/perf_hooks.d.ts +555 -555
  55. data/node_modules/@types/node/process.d.ts +1477 -1477
  56. data/node_modules/@types/node/punycode.d.ts +117 -117
  57. data/node_modules/@types/node/querystring.d.ts +131 -131
  58. data/node_modules/@types/node/readline.d.ts +542 -542
  59. data/node_modules/@types/node/repl.d.ts +424 -424
  60. data/node_modules/@types/node/stream/consumers.d.ts +24 -24
  61. data/node_modules/@types/node/stream/promises.d.ts +42 -42
  62. data/node_modules/@types/node/stream/web.d.ts +6 -6
  63. data/node_modules/@types/node/stream.d.ts +1181 -1181
  64. data/node_modules/@types/node/string_decoder.d.ts +67 -67
  65. data/node_modules/@types/node/timers/promises.d.ts +68 -68
  66. data/node_modules/@types/node/timers.d.ts +94 -94
  67. data/node_modules/@types/node/tls.d.ts +1019 -1019
  68. data/node_modules/@types/node/trace_events.d.ts +161 -161
  69. data/node_modules/@types/node/tty.d.ts +206 -206
  70. data/node_modules/@types/node/url.d.ts +798 -798
  71. data/node_modules/@types/node/util.d.ts +1556 -1556
  72. data/node_modules/@types/node/v8.d.ts +378 -378
  73. data/node_modules/@types/node/vm.d.ts +504 -504
  74. data/node_modules/@types/node/wasi.d.ts +153 -153
  75. data/node_modules/@types/node/worker_threads.d.ts +649 -649
  76. data/node_modules/@types/node/zlib.d.ts +517 -517
  77. data/node_modules/@types/yauzl/LICENSE +21 -21
  78. data/node_modules/@types/yauzl/index.d.ts +98 -98
  79. data/node_modules/@types/yauzl/package.json +26 -26
  80. data/node_modules/agent-base/README.md +145 -145
  81. data/node_modules/agent-base/dist/src/index.d.ts +78 -78
  82. data/node_modules/agent-base/dist/src/index.js +202 -202
  83. data/node_modules/agent-base/dist/src/promisify.d.ts +4 -4
  84. data/node_modules/agent-base/dist/src/promisify.js +17 -17
  85. data/node_modules/agent-base/package.json +64 -64
  86. data/node_modules/agent-base/src/index.ts +345 -345
  87. data/node_modules/agent-base/src/promisify.ts +33 -33
  88. data/node_modules/balanced-match/.github/FUNDING.yml +2 -2
  89. data/node_modules/balanced-match/LICENSE.md +21 -21
  90. data/node_modules/balanced-match/README.md +97 -97
  91. data/node_modules/balanced-match/index.js +62 -62
  92. data/node_modules/balanced-match/package.json +48 -48
  93. data/node_modules/base64-js/LICENSE +21 -21
  94. data/node_modules/base64-js/README.md +34 -34
  95. data/node_modules/base64-js/index.d.ts +3 -3
  96. data/node_modules/base64-js/index.js +150 -150
  97. data/node_modules/base64-js/package.json +47 -47
  98. data/node_modules/bl/.travis.yml +17 -17
  99. data/node_modules/bl/BufferList.js +396 -396
  100. data/node_modules/bl/LICENSE.md +13 -13
  101. data/node_modules/bl/README.md +247 -247
  102. data/node_modules/bl/bl.js +84 -84
  103. data/node_modules/bl/package.json +37 -37
  104. data/node_modules/bl/test/convert.js +21 -21
  105. data/node_modules/bl/test/indexOf.js +492 -492
  106. data/node_modules/bl/test/isBufferList.js +32 -32
  107. data/node_modules/bl/test/test.js +869 -869
  108. data/node_modules/brace-expansion/LICENSE +21 -21
  109. data/node_modules/brace-expansion/README.md +129 -129
  110. data/node_modules/brace-expansion/index.js +201 -201
  111. data/node_modules/brace-expansion/package.json +47 -47
  112. data/node_modules/buffer/AUTHORS.md +70 -70
  113. data/node_modules/buffer/LICENSE +21 -21
  114. data/node_modules/buffer/README.md +410 -410
  115. data/node_modules/buffer/index.d.ts +186 -186
  116. data/node_modules/buffer/index.js +1817 -1817
  117. data/node_modules/buffer/package.json +96 -96
  118. data/node_modules/buffer-crc32/LICENSE +19 -19
  119. data/node_modules/buffer-crc32/README.md +47 -47
  120. data/node_modules/buffer-crc32/index.js +111 -111
  121. data/node_modules/buffer-crc32/package.json +39 -39
  122. data/node_modules/chownr/LICENSE +15 -15
  123. data/node_modules/chownr/README.md +3 -3
  124. data/node_modules/chownr/chownr.js +167 -167
  125. data/node_modules/chownr/package.json +29 -29
  126. data/node_modules/concat-map/.travis.yml +4 -4
  127. data/node_modules/concat-map/LICENSE +18 -18
  128. data/node_modules/concat-map/README.markdown +62 -62
  129. data/node_modules/concat-map/example/map.js +6 -6
  130. data/node_modules/concat-map/index.js +13 -13
  131. data/node_modules/concat-map/package.json +43 -43
  132. data/node_modules/concat-map/test/map.js +39 -39
  133. data/node_modules/debug/LICENSE +19 -19
  134. data/node_modules/debug/README.md +455 -455
  135. data/node_modules/debug/package.json +59 -59
  136. data/node_modules/debug/src/browser.js +269 -269
  137. data/node_modules/debug/src/common.js +274 -274
  138. data/node_modules/debug/src/index.js +10 -10
  139. data/node_modules/debug/src/node.js +263 -263
  140. data/node_modules/devtools-protocol/LICENSE +27 -27
  141. data/node_modules/devtools-protocol/README.md +12 -12
  142. data/node_modules/devtools-protocol/json/browser_protocol.json +20985 -20640
  143. data/node_modules/devtools-protocol/json/js_protocol.json +3531 -3580
  144. data/node_modules/devtools-protocol/package.json +17 -18
  145. data/node_modules/devtools-protocol/pdl/browser_protocol.pdl +9849 -9637
  146. data/node_modules/devtools-protocol/pdl/js_protocol.pdl +1653 -1678
  147. data/node_modules/devtools-protocol/types/protocol-mapping.d.ts +4333 -4321
  148. data/node_modules/devtools-protocol/types/protocol-proxy-api.d.ts +3695 -3683
  149. data/node_modules/devtools-protocol/types/protocol.d.ts +15714 -15538
  150. data/node_modules/end-of-stream/LICENSE +20 -20
  151. data/node_modules/end-of-stream/README.md +54 -54
  152. data/node_modules/end-of-stream/index.js +94 -94
  153. data/node_modules/end-of-stream/package.json +37 -37
  154. data/node_modules/extract-zip/LICENSE +23 -23
  155. data/node_modules/extract-zip/cli.js +19 -19
  156. data/node_modules/extract-zip/index.d.ts +21 -21
  157. data/node_modules/extract-zip/index.js +173 -173
  158. data/node_modules/extract-zip/package.json +80 -80
  159. data/node_modules/extract-zip/readme.md +57 -57
  160. data/node_modules/fd-slicer/.npmignore +2 -2
  161. data/node_modules/fd-slicer/.travis.yml +7 -7
  162. data/node_modules/fd-slicer/CHANGELOG.md +49 -49
  163. data/node_modules/fd-slicer/LICENSE +21 -21
  164. data/node_modules/fd-slicer/README.md +199 -199
  165. data/node_modules/fd-slicer/index.js +296 -296
  166. data/node_modules/fd-slicer/package.json +36 -36
  167. data/node_modules/fd-slicer/test/test.js +350 -350
  168. data/node_modules/find-up/index.d.ts +137 -137
  169. data/node_modules/find-up/index.js +89 -89
  170. data/node_modules/find-up/license +9 -9
  171. data/node_modules/find-up/package.json +53 -53
  172. data/node_modules/find-up/readme.md +156 -156
  173. data/node_modules/fs-constants/LICENSE +21 -21
  174. data/node_modules/fs-constants/README.md +26 -26
  175. data/node_modules/fs-constants/browser.js +1 -1
  176. data/node_modules/fs-constants/index.js +1 -1
  177. data/node_modules/fs-constants/package.json +19 -19
  178. data/node_modules/fs.realpath/LICENSE +43 -43
  179. data/node_modules/fs.realpath/README.md +33 -33
  180. data/node_modules/fs.realpath/index.js +66 -66
  181. data/node_modules/fs.realpath/old.js +303 -303
  182. data/node_modules/fs.realpath/package.json +26 -26
  183. data/node_modules/get-stream/buffer-stream.js +52 -52
  184. data/node_modules/get-stream/index.d.ts +108 -108
  185. data/node_modules/get-stream/index.js +60 -60
  186. data/node_modules/get-stream/license +9 -9
  187. data/node_modules/get-stream/package.json +50 -50
  188. data/node_modules/get-stream/readme.md +124 -124
  189. data/node_modules/glob/LICENSE +21 -21
  190. data/node_modules/glob/README.md +375 -375
  191. data/node_modules/glob/changelog.md +67 -67
  192. data/node_modules/glob/common.js +234 -234
  193. data/node_modules/glob/glob.js +788 -788
  194. data/node_modules/glob/package.json +51 -51
  195. data/node_modules/glob/sync.js +484 -484
  196. data/node_modules/https-proxy-agent/README.md +137 -137
  197. data/node_modules/https-proxy-agent/dist/agent.d.ts +30 -30
  198. data/node_modules/https-proxy-agent/dist/agent.js +179 -179
  199. data/node_modules/https-proxy-agent/dist/index.d.ts +23 -23
  200. data/node_modules/https-proxy-agent/dist/index.js +13 -13
  201. data/node_modules/https-proxy-agent/dist/parse-proxy-response.d.ts +7 -7
  202. data/node_modules/https-proxy-agent/dist/parse-proxy-response.js +65 -65
  203. data/node_modules/https-proxy-agent/package.json +56 -56
  204. data/node_modules/ieee754/LICENSE +11 -11
  205. data/node_modules/ieee754/README.md +51 -51
  206. data/node_modules/ieee754/index.d.ts +9 -9
  207. data/node_modules/ieee754/index.js +85 -85
  208. data/node_modules/ieee754/package.json +52 -52
  209. data/node_modules/inflight/LICENSE +15 -15
  210. data/node_modules/inflight/README.md +37 -37
  211. data/node_modules/inflight/inflight.js +54 -54
  212. data/node_modules/inflight/package.json +29 -29
  213. data/node_modules/inherits/LICENSE +16 -16
  214. data/node_modules/inherits/README.md +42 -42
  215. data/node_modules/inherits/inherits.js +9 -9
  216. data/node_modules/inherits/inherits_browser.js +27 -27
  217. data/node_modules/inherits/package.json +29 -29
  218. data/node_modules/locate-path/index.d.ts +83 -83
  219. data/node_modules/locate-path/index.js +65 -65
  220. data/node_modules/locate-path/license +9 -9
  221. data/node_modules/locate-path/package.json +45 -45
  222. data/node_modules/locate-path/readme.md +122 -122
  223. data/node_modules/minimatch/LICENSE +15 -15
  224. data/node_modules/minimatch/README.md +209 -209
  225. data/node_modules/minimatch/minimatch.js +923 -923
  226. data/node_modules/minimatch/package.json +30 -30
  227. data/node_modules/mkdirp-classic/LICENSE +21 -21
  228. data/node_modules/mkdirp-classic/README.md +18 -18
  229. data/node_modules/mkdirp-classic/index.js +98 -98
  230. data/node_modules/mkdirp-classic/package.json +18 -18
  231. data/node_modules/ms/index.js +162 -162
  232. data/node_modules/ms/license.md +21 -21
  233. data/node_modules/ms/package.json +37 -37
  234. data/node_modules/ms/readme.md +60 -60
  235. data/node_modules/node-fetch/LICENSE.md +22 -22
  236. data/node_modules/node-fetch/README.md +590 -590
  237. data/node_modules/node-fetch/browser.js +24 -24
  238. data/node_modules/node-fetch/lib/index.es.js +1662 -1662
  239. data/node_modules/node-fetch/lib/index.js +1671 -1671
  240. data/node_modules/node-fetch/lib/index.mjs +1660 -1660
  241. data/node_modules/node-fetch/package.json +68 -68
  242. data/node_modules/once/LICENSE +15 -15
  243. data/node_modules/once/README.md +79 -79
  244. data/node_modules/once/once.js +42 -42
  245. data/node_modules/once/package.json +33 -33
  246. data/node_modules/p-limit/index.d.ts +38 -38
  247. data/node_modules/p-limit/index.js +57 -57
  248. data/node_modules/p-limit/license +9 -9
  249. data/node_modules/p-limit/package.json +52 -52
  250. data/node_modules/p-limit/readme.md +101 -101
  251. data/node_modules/p-locate/index.d.ts +64 -64
  252. data/node_modules/p-locate/index.js +52 -52
  253. data/node_modules/p-locate/license +9 -9
  254. data/node_modules/p-locate/package.json +53 -53
  255. data/node_modules/p-locate/readme.md +90 -90
  256. data/node_modules/p-try/index.d.ts +39 -39
  257. data/node_modules/p-try/index.js +9 -9
  258. data/node_modules/p-try/license +9 -9
  259. data/node_modules/p-try/package.json +42 -42
  260. data/node_modules/p-try/readme.md +58 -58
  261. data/node_modules/path-exists/index.d.ts +28 -28
  262. data/node_modules/path-exists/index.js +23 -23
  263. data/node_modules/path-exists/license +9 -9
  264. data/node_modules/path-exists/package.json +39 -39
  265. data/node_modules/path-exists/readme.md +52 -52
  266. data/node_modules/path-is-absolute/index.js +20 -20
  267. data/node_modules/path-is-absolute/license +21 -21
  268. data/node_modules/path-is-absolute/package.json +43 -43
  269. data/node_modules/path-is-absolute/readme.md +59 -59
  270. data/node_modules/pend/LICENSE +23 -23
  271. data/node_modules/pend/README.md +41 -41
  272. data/node_modules/pend/index.js +55 -55
  273. data/node_modules/pend/package.json +18 -18
  274. data/node_modules/pend/test.js +137 -137
  275. data/node_modules/pkg-dir/index.d.ts +44 -44
  276. data/node_modules/pkg-dir/index.js +17 -17
  277. data/node_modules/pkg-dir/license +9 -9
  278. data/node_modules/pkg-dir/package.json +56 -56
  279. data/node_modules/pkg-dir/readme.md +66 -66
  280. data/node_modules/progress/CHANGELOG.md +115 -115
  281. data/node_modules/progress/LICENSE +22 -22
  282. data/node_modules/progress/Makefile +8 -8
  283. data/node_modules/progress/Readme.md +146 -146
  284. data/node_modules/progress/index.js +1 -1
  285. data/node_modules/progress/lib/node-progress.js +236 -236
  286. data/node_modules/progress/package.json +26 -26
  287. data/node_modules/proxy-from-env/.eslintrc +29 -29
  288. data/node_modules/proxy-from-env/.travis.yml +10 -10
  289. data/node_modules/proxy-from-env/LICENSE +20 -20
  290. data/node_modules/proxy-from-env/README.md +131 -131
  291. data/node_modules/proxy-from-env/index.js +108 -108
  292. data/node_modules/proxy-from-env/package.json +34 -34
  293. data/node_modules/proxy-from-env/test.js +483 -483
  294. data/node_modules/pump/.travis.yml +5 -5
  295. data/node_modules/pump/LICENSE +20 -20
  296. data/node_modules/pump/README.md +65 -65
  297. data/node_modules/pump/index.js +82 -82
  298. data/node_modules/pump/package.json +24 -24
  299. data/node_modules/pump/test-browser.js +66 -66
  300. data/node_modules/pump/test-node.js +53 -53
  301. data/node_modules/puppeteer-core/CHANGELOG.md +319 -290
  302. data/node_modules/puppeteer-core/LICENSE +202 -202
  303. data/node_modules/puppeteer-core/README.md +481 -481
  304. data/node_modules/puppeteer-core/cjs-entry-core.js +29 -29
  305. data/node_modules/puppeteer-core/cjs-entry.js +29 -29
  306. data/node_modules/puppeteer-core/install.js +89 -89
  307. data/node_modules/puppeteer-core/lib/cjs/puppeteer/api-docs-entry.d.ts +110 -110
  308. data/node_modules/puppeteer-core/lib/cjs/puppeteer/api-docs-entry.js +80 -80
  309. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.d.ts +175 -175
  310. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Accessibility.js +360 -360
  311. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.d.ts +20 -20
  312. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js +84 -84
  313. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/AriaQueryHandler.js.map +1 -1
  314. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.d.ts +455 -455
  315. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Browser.js +540 -540
  316. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.d.ts +53 -53
  317. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserConnector.js +97 -97
  318. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.d.ts +25 -25
  319. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/BrowserWebSocketTransport.js +34 -34
  320. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.d.ts +135 -135
  321. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Connection.js +298 -298
  322. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConnectionTransport.d.ts +24 -24
  323. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConnectionTransport.js +17 -17
  324. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.d.ts +72 -72
  325. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ConsoleMessage.js +64 -64
  326. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.d.ts +204 -204
  327. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Coverage.js +335 -335
  328. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.d.ts +175 -175
  329. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DOMWorld.js +662 -662
  330. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Debug.d.ts +52 -52
  331. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Debug.js +81 -81
  332. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.d.ts +40 -40
  333. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/DeviceDescriptors.js +1070 -1070
  334. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.d.ts +74 -74
  335. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Dialog.js +97 -97
  336. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.d.ts +24 -24
  337. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EmulationManager.js +37 -37
  338. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.d.ts +50 -50
  339. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Errors.js +56 -56
  340. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.d.ts +60 -60
  341. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EvalTypes.js +17 -17
  342. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.d.ts +92 -92
  343. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/EventEmitter.js +116 -116
  344. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Events.d.ts +81 -81
  345. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Events.js +86 -86
  346. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.d.ts +193 -193
  347. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/ExecutionContext.js +321 -321
  348. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.d.ts +58 -58
  349. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FileChooser.js +71 -71
  350. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.d.ts +744 -744
  351. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js +1047 -1047
  352. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/FrameManager.js.map +1 -1
  353. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts +350 -345
  354. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  355. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js +549 -549
  356. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPRequest.js.map +1 -1
  357. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts +134 -125
  358. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  359. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js +184 -164
  360. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/HTTPResponse.js.map +1 -1
  361. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.d.ts +358 -358
  362. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Input.js +543 -543
  363. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.d.ts +490 -490
  364. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/JSHandle.js +827 -827
  365. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts +65 -65
  366. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  367. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js +149 -148
  368. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/LifecycleWatcher.js.map +1 -1
  369. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkConditions.d.ts +26 -26
  370. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkConditions.js +33 -33
  371. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts +126 -97
  372. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.d.ts.map +1 -1
  373. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js +467 -342
  374. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/NetworkManager.js.map +1 -1
  375. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.d.ts +161 -161
  376. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PDFOptions.js +34 -34
  377. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.d.ts +2055 -2055
  378. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Page.js +2533 -2533
  379. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Product.d.ts +20 -20
  380. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Product.js +17 -17
  381. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.d.ts +159 -159
  382. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Puppeteer.js +161 -161
  383. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PuppeteerViewport.d.ts +51 -51
  384. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/PuppeteerViewport.js +2 -2
  385. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.d.ts +64 -64
  386. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/QueryHandler.js +165 -165
  387. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.d.ts +60 -60
  388. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/SecurityDetails.js +76 -76
  389. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.d.ts +100 -100
  390. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Target.js +145 -145
  391. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.d.ts +20 -20
  392. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TaskQueue.js +29 -29
  393. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.d.ts +27 -27
  394. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/TimeoutSettings.js +47 -47
  395. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.d.ts +46 -46
  396. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/Tracing.js +109 -109
  397. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/USKeyboardLayout.d.ts +39 -39
  398. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/USKeyboardLayout.js +406 -406
  399. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.d.ts +98 -98
  400. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/WebWorker.js +112 -112
  401. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.d.ts +22 -22
  402. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/assert.js +33 -33
  403. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/fetch.d.ts +16 -16
  404. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/fetch.js +43 -43
  405. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.d.ts +84 -84
  406. data/node_modules/puppeteer-core/lib/cjs/puppeteer/common/helper.js +327 -327
  407. data/node_modules/puppeteer-core/lib/cjs/puppeteer/environment.d.ts +16 -16
  408. data/node_modules/puppeteer-core/lib/cjs/puppeteer/environment.js +19 -19
  409. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.d.ts +16 -16
  410. data/node_modules/puppeteer-core/lib/cjs/puppeteer/global.js +2 -2
  411. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-node.d.ts +17 -17
  412. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-node.js +44 -44
  413. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-web.d.ts +17 -17
  414. data/node_modules/puppeteer-core/lib/cjs/puppeteer/initialize-web.js +26 -26
  415. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.d.ts +133 -133
  416. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserFetcher.js +500 -500
  417. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts +40 -39
  418. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  419. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js +256 -230
  420. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js.map +1 -1
  421. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.d.ts +134 -134
  422. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/LaunchOptions.js +17 -17
  423. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts +16 -16
  424. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.d.ts.map +1 -1
  425. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js +655 -588
  426. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Launcher.js.map +1 -1
  427. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.d.ts +26 -26
  428. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/NodeWebSocketTransport.js +47 -47
  429. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.d.ts +29 -29
  430. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/PipeTransport.js +64 -64
  431. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.d.ts +153 -153
  432. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/Puppeteer.js +188 -188
  433. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.d.ts +17 -17
  434. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node/install.js +173 -173
  435. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.d.ts +17 -17
  436. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node-puppeteer-core.js +24 -24
  437. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.d.ts +17 -17
  438. data/node_modules/puppeteer-core/lib/cjs/puppeteer/node.js +23 -23
  439. data/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.d.ts +21 -21
  440. data/node_modules/puppeteer-core/lib/cjs/puppeteer/revisions.js +22 -22
  441. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.d.ts +17 -17
  442. data/node_modules/puppeteer-core/lib/cjs/puppeteer/web.js +23 -23
  443. data/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.d.ts +27 -27
  444. data/node_modules/puppeteer-core/lib/cjs/vendor/mitt/src/index.js +56 -56
  445. data/node_modules/puppeteer-core/lib/esm/puppeteer/api-docs-entry.d.ts +110 -110
  446. data/node_modules/puppeteer-core/lib/esm/puppeteer/api-docs-entry.js +80 -80
  447. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.d.ts +175 -175
  448. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Accessibility.js +356 -356
  449. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.d.ts +20 -20
  450. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js +81 -81
  451. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/AriaQueryHandler.js.map +1 -1
  452. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.d.ts +455 -455
  453. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Browser.js +535 -535
  454. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.d.ts +53 -53
  455. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserConnector.js +74 -74
  456. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.d.ts +25 -25
  457. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/BrowserWebSocketTransport.js +30 -30
  458. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.d.ts +135 -135
  459. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Connection.js +293 -293
  460. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConnectionTransport.d.ts +24 -24
  461. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConnectionTransport.js +16 -16
  462. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.d.ts +72 -72
  463. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ConsoleMessage.js +60 -60
  464. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.d.ts +204 -204
  465. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Coverage.js +329 -329
  466. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.d.ts +175 -175
  467. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DOMWorld.js +657 -657
  468. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.d.ts +52 -52
  469. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Debug.js +77 -77
  470. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.d.ts +40 -40
  471. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/DeviceDescriptors.js +1067 -1067
  472. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.d.ts +74 -74
  473. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Dialog.js +93 -93
  474. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.d.ts +24 -24
  475. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EmulationManager.js +33 -33
  476. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.d.ts +50 -50
  477. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Errors.js +50 -50
  478. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.d.ts +60 -60
  479. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EvalTypes.js +16 -16
  480. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.d.ts +92 -92
  481. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/EventEmitter.js +109 -109
  482. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Events.d.ts +81 -81
  483. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Events.js +83 -83
  484. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.d.ts +193 -193
  485. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/ExecutionContext.js +317 -317
  486. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.d.ts +58 -58
  487. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FileChooser.js +67 -67
  488. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.d.ts +744 -744
  489. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js +1042 -1042
  490. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/FrameManager.js.map +1 -1
  491. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts +350 -345
  492. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.d.ts.map +1 -1
  493. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js +545 -545
  494. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPRequest.js.map +1 -1
  495. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts +134 -125
  496. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.d.ts.map +1 -1
  497. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js +180 -160
  498. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/HTTPResponse.js.map +1 -1
  499. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.d.ts +358 -358
  500. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Input.js +537 -537
  501. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.d.ts +490 -490
  502. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/JSHandle.js +802 -802
  503. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.d.ts +65 -65
  504. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.d.ts.map +1 -1
  505. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js +145 -144
  506. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/LifecycleWatcher.js.map +1 -1
  507. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkConditions.d.ts +26 -26
  508. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkConditions.js +30 -30
  509. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts +126 -97
  510. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.d.ts.map +1 -1
  511. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js +463 -338
  512. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/NetworkManager.js.map +1 -1
  513. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.d.ts +161 -161
  514. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PDFOptions.js +31 -31
  515. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.d.ts +2055 -2055
  516. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Page.js +2529 -2529
  517. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Product.d.ts +20 -20
  518. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Product.js +16 -16
  519. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.d.ts +159 -159
  520. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Puppeteer.js +157 -157
  521. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PuppeteerViewport.d.ts +51 -51
  522. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/PuppeteerViewport.js +1 -1
  523. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.d.ts +64 -64
  524. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/QueryHandler.js +157 -157
  525. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.d.ts +60 -60
  526. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/SecurityDetails.js +72 -72
  527. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.d.ts +100 -100
  528. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Target.js +141 -141
  529. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.d.ts +20 -20
  530. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TaskQueue.js +25 -25
  531. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.d.ts +27 -27
  532. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/TimeoutSettings.js +43 -43
  533. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.d.ts +46 -46
  534. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/Tracing.js +105 -105
  535. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.d.ts +39 -39
  536. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/USKeyboardLayout.js +403 -403
  537. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.d.ts +98 -98
  538. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/WebWorker.js +108 -108
  539. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.d.ts +22 -22
  540. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/assert.js +28 -28
  541. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/fetch.d.ts +16 -16
  542. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/fetch.js +20 -20
  543. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.d.ts +84 -84
  544. data/node_modules/puppeteer-core/lib/esm/puppeteer/common/helper.js +305 -305
  545. data/node_modules/puppeteer-core/lib/esm/puppeteer/environment.d.ts +16 -16
  546. data/node_modules/puppeteer-core/lib/esm/puppeteer/environment.js +16 -16
  547. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.d.ts +16 -16
  548. data/node_modules/puppeteer-core/lib/esm/puppeteer/global.js +1 -1
  549. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-node.d.ts +17 -17
  550. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-node.js +37 -37
  551. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-web.d.ts +17 -17
  552. data/node_modules/puppeteer-core/lib/esm/puppeteer/initialize-web.js +22 -22
  553. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.d.ts +133 -133
  554. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserFetcher.js +474 -474
  555. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts +40 -39
  556. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.d.ts.map +1 -1
  557. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js +230 -204
  558. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/BrowserRunner.js.map +1 -1
  559. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.d.ts +134 -134
  560. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/LaunchOptions.js +16 -16
  561. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts +16 -16
  562. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.d.ts.map +1 -1
  563. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js +633 -566
  564. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Launcher.js.map +1 -1
  565. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.d.ts +26 -26
  566. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/NodeWebSocketTransport.js +40 -40
  567. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.d.ts +29 -29
  568. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/PipeTransport.js +60 -60
  569. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Puppeteer.d.ts +153 -153
  570. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/Puppeteer.js +181 -181
  571. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.d.ts +17 -17
  572. data/node_modules/puppeteer-core/lib/esm/puppeteer/node/install.js +165 -165
  573. data/node_modules/puppeteer-core/lib/esm/puppeteer/node-puppeteer-core.d.ts +17 -17
  574. data/node_modules/puppeteer-core/lib/esm/puppeteer/node-puppeteer-core.js +22 -22
  575. data/node_modules/puppeteer-core/lib/esm/puppeteer/node.d.ts +17 -17
  576. data/node_modules/puppeteer-core/lib/esm/puppeteer/node.js +21 -21
  577. data/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.d.ts +21 -21
  578. data/node_modules/puppeteer-core/lib/esm/puppeteer/revisions.js +19 -19
  579. data/node_modules/puppeteer-core/lib/esm/puppeteer/web.d.ts +17 -17
  580. data/node_modules/puppeteer-core/lib/esm/puppeteer/web.js +21 -21
  581. data/node_modules/puppeteer-core/lib/esm/vendor/mitt/src/index.d.ts +27 -27
  582. data/node_modules/puppeteer-core/lib/esm/vendor/mitt/src/index.js +53 -53
  583. data/node_modules/puppeteer-core/lib/types.d.ts +67 -25
  584. data/node_modules/puppeteer-core/package.json +115 -115
  585. data/node_modules/puppeteer-core/typescript-if-required.js +61 -61
  586. data/node_modules/readable-stream/CONTRIBUTING.md +38 -38
  587. data/node_modules/readable-stream/GOVERNANCE.md +136 -136
  588. data/node_modules/readable-stream/LICENSE +47 -47
  589. data/node_modules/readable-stream/README.md +106 -106
  590. data/node_modules/readable-stream/errors-browser.js +127 -127
  591. data/node_modules/readable-stream/errors.js +116 -116
  592. data/node_modules/readable-stream/experimentalWarning.js +17 -17
  593. data/node_modules/readable-stream/lib/_stream_duplex.js +138 -138
  594. data/node_modules/readable-stream/lib/_stream_passthrough.js +38 -38
  595. data/node_modules/readable-stream/lib/_stream_readable.js +1123 -1123
  596. data/node_modules/readable-stream/lib/_stream_transform.js +200 -200
  597. data/node_modules/readable-stream/lib/_stream_writable.js +696 -696
  598. data/node_modules/readable-stream/lib/internal/streams/async_iterator.js +206 -206
  599. data/node_modules/readable-stream/lib/internal/streams/buffer_list.js +209 -209
  600. data/node_modules/readable-stream/lib/internal/streams/destroy.js +104 -104
  601. data/node_modules/readable-stream/lib/internal/streams/end-of-stream.js +103 -103
  602. data/node_modules/readable-stream/lib/internal/streams/from-browser.js +3 -3
  603. data/node_modules/readable-stream/lib/internal/streams/from.js +63 -63
  604. data/node_modules/readable-stream/lib/internal/streams/pipeline.js +96 -96
  605. data/node_modules/readable-stream/lib/internal/streams/state.js +26 -26
  606. data/node_modules/readable-stream/lib/internal/streams/stream-browser.js +1 -1
  607. data/node_modules/readable-stream/lib/internal/streams/stream.js +1 -1
  608. data/node_modules/readable-stream/package.json +68 -68
  609. data/node_modules/readable-stream/readable-browser.js +9 -9
  610. data/node_modules/readable-stream/readable.js +16 -16
  611. data/node_modules/rimraf/CHANGELOG.md +65 -65
  612. data/node_modules/rimraf/LICENSE +15 -15
  613. data/node_modules/rimraf/README.md +101 -101
  614. data/node_modules/rimraf/bin.js +68 -68
  615. data/node_modules/rimraf/package.json +32 -32
  616. data/node_modules/rimraf/rimraf.js +360 -360
  617. data/node_modules/safe-buffer/LICENSE +21 -21
  618. data/node_modules/safe-buffer/README.md +584 -584
  619. data/node_modules/safe-buffer/index.d.ts +186 -186
  620. data/node_modules/safe-buffer/index.js +65 -65
  621. data/node_modules/safe-buffer/package.json +51 -51
  622. data/node_modules/string_decoder/LICENSE +48 -48
  623. data/node_modules/string_decoder/README.md +47 -47
  624. data/node_modules/string_decoder/lib/string_decoder.js +295 -295
  625. data/node_modules/string_decoder/package.json +34 -34
  626. data/node_modules/tar-fs/.travis.yml +6 -6
  627. data/node_modules/tar-fs/LICENSE +20 -20
  628. data/node_modules/tar-fs/README.md +165 -165
  629. data/node_modules/tar-fs/index.js +351 -351
  630. data/node_modules/tar-fs/package.json +41 -41
  631. data/node_modules/tar-fs/test/fixtures/a/hello.txt +1 -1
  632. data/node_modules/tar-fs/test/fixtures/b/a/test.txt +1 -1
  633. data/node_modules/tar-fs/test/index.js +346 -346
  634. data/node_modules/tar-stream/LICENSE +20 -20
  635. data/node_modules/tar-stream/README.md +168 -168
  636. data/node_modules/tar-stream/extract.js +257 -257
  637. data/node_modules/tar-stream/headers.js +295 -295
  638. data/node_modules/tar-stream/index.js +2 -2
  639. data/node_modules/tar-stream/pack.js +255 -255
  640. data/node_modules/tar-stream/package.json +58 -58
  641. data/node_modules/tar-stream/sandbox.js +11 -11
  642. data/node_modules/through/.travis.yml +5 -5
  643. data/node_modules/through/LICENSE.APACHE2 +15 -15
  644. data/node_modules/through/LICENSE.MIT +24 -24
  645. data/node_modules/through/index.js +108 -108
  646. data/node_modules/through/package.json +36 -36
  647. data/node_modules/through/readme.markdown +64 -64
  648. data/node_modules/through/test/async.js +28 -28
  649. data/node_modules/through/test/auto-destroy.js +30 -30
  650. data/node_modules/through/test/buffering.js +71 -71
  651. data/node_modules/through/test/end.js +45 -45
  652. data/node_modules/through/test/index.js +133 -133
  653. data/node_modules/tr46/.npmignore +4 -4
  654. data/node_modules/tr46/index.js +193 -193
  655. data/node_modules/tr46/package.json +31 -31
  656. data/node_modules/unbzip2-stream/LICENSE +24 -24
  657. data/node_modules/unbzip2-stream/README.md +59 -59
  658. data/node_modules/unbzip2-stream/dist/unbzip2-stream.min.js +1 -1
  659. data/node_modules/unbzip2-stream/index.js +93 -93
  660. data/node_modules/unbzip2-stream/lib/bit_iterator.js +39 -39
  661. data/node_modules/unbzip2-stream/lib/bzip2.js +365 -365
  662. data/node_modules/unbzip2-stream/package.json +51 -51
  663. data/node_modules/util-deprecate/History.md +16 -16
  664. data/node_modules/util-deprecate/LICENSE +24 -24
  665. data/node_modules/util-deprecate/README.md +53 -53
  666. data/node_modules/util-deprecate/browser.js +67 -67
  667. data/node_modules/util-deprecate/node.js +6 -6
  668. data/node_modules/util-deprecate/package.json +27 -27
  669. data/node_modules/webidl-conversions/LICENSE.md +12 -12
  670. data/node_modules/webidl-conversions/README.md +53 -53
  671. data/node_modules/webidl-conversions/lib/index.js +189 -189
  672. data/node_modules/webidl-conversions/package.json +23 -23
  673. data/node_modules/whatwg-url/LICENSE.txt +21 -21
  674. data/node_modules/whatwg-url/README.md +67 -67
  675. data/node_modules/whatwg-url/lib/URL-impl.js +200 -200
  676. data/node_modules/whatwg-url/lib/URL.js +196 -196
  677. data/node_modules/whatwg-url/lib/public-api.js +11 -11
  678. data/node_modules/whatwg-url/lib/utils.js +20 -20
  679. data/node_modules/whatwg-url/package.json +32 -32
  680. data/node_modules/wrappy/LICENSE +15 -15
  681. data/node_modules/wrappy/README.md +36 -36
  682. data/node_modules/wrappy/package.json +29 -29
  683. data/node_modules/wrappy/wrappy.js +33 -33
  684. data/node_modules/ws/LICENSE +19 -19
  685. data/node_modules/ws/README.md +493 -493
  686. data/node_modules/ws/browser.js +8 -8
  687. data/node_modules/ws/index.js +13 -13
  688. data/node_modules/ws/lib/buffer-util.js +126 -126
  689. data/node_modules/ws/lib/constants.js +12 -12
  690. data/node_modules/ws/lib/event-target.js +266 -266
  691. data/node_modules/ws/lib/extension.js +203 -203
  692. data/node_modules/ws/lib/limiter.js +55 -55
  693. data/node_modules/ws/lib/permessage-deflate.js +511 -511
  694. data/node_modules/ws/lib/receiver.js +612 -612
  695. data/node_modules/ws/lib/sender.js +422 -422
  696. data/node_modules/ws/lib/stream.js +180 -180
  697. data/node_modules/ws/lib/subprotocol.js +62 -62
  698. data/node_modules/ws/lib/validation.js +124 -124
  699. data/node_modules/ws/lib/websocket-server.js +485 -485
  700. data/node_modules/ws/lib/websocket.js +1149 -1149
  701. data/node_modules/ws/package.json +61 -61
  702. data/node_modules/ws/wrapper.mjs +8 -8
  703. data/node_modules/yauzl/LICENSE +21 -21
  704. data/node_modules/yauzl/README.md +658 -658
  705. data/node_modules/yauzl/index.js +796 -796
  706. data/node_modules/yauzl/package.json +40 -40
  707. data/package.json +1 -1
  708. metadata +23 -25
  709. data/node_modules/devtools-protocol/changelog.md +0 -10491
  710. data/node_modules/devtools-protocol/externs/protocol_externs.js +0 -9734
@@ -1,1817 +1,1817 @@
1
- /*!
2
- * The buffer module from node.js, for the browser.
3
- *
4
- * @author Feross Aboukhadijeh <https://feross.org>
5
- * @license MIT
6
- */
7
- /* eslint-disable no-proto */
8
-
9
- 'use strict'
10
-
11
- var base64 = require('base64-js')
12
- var ieee754 = require('ieee754')
13
- var customInspectSymbol =
14
- (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation
15
- ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation
16
- : null
17
-
18
- exports.Buffer = Buffer
19
- exports.SlowBuffer = SlowBuffer
20
- exports.INSPECT_MAX_BYTES = 50
21
-
22
- var K_MAX_LENGTH = 0x7fffffff
23
- exports.kMaxLength = K_MAX_LENGTH
24
-
25
- /**
26
- * If `Buffer.TYPED_ARRAY_SUPPORT`:
27
- * === true Use Uint8Array implementation (fastest)
28
- * === false Print warning and recommend using `buffer` v4.x which has an Object
29
- * implementation (most compatible, even IE6)
30
- *
31
- * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
32
- * Opera 11.6+, iOS 4.2+.
33
- *
34
- * We report that the browser does not support typed arrays if the are not subclassable
35
- * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`
36
- * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support
37
- * for __proto__ and has a buggy typed array implementation.
38
- */
39
- Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport()
40
-
41
- if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&
42
- typeof console.error === 'function') {
43
- console.error(
44
- 'This browser lacks typed array (Uint8Array) support which is required by ' +
45
- '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'
46
- )
47
- }
48
-
49
- function typedArraySupport () {
50
- // Can typed array instances can be augmented?
51
- try {
52
- var arr = new Uint8Array(1)
53
- var proto = { foo: function () { return 42 } }
54
- Object.setPrototypeOf(proto, Uint8Array.prototype)
55
- Object.setPrototypeOf(arr, proto)
56
- return arr.foo() === 42
57
- } catch (e) {
58
- return false
59
- }
60
- }
61
-
62
- Object.defineProperty(Buffer.prototype, 'parent', {
63
- enumerable: true,
64
- get: function () {
65
- if (!Buffer.isBuffer(this)) return undefined
66
- return this.buffer
67
- }
68
- })
69
-
70
- Object.defineProperty(Buffer.prototype, 'offset', {
71
- enumerable: true,
72
- get: function () {
73
- if (!Buffer.isBuffer(this)) return undefined
74
- return this.byteOffset
75
- }
76
- })
77
-
78
- function createBuffer (length) {
79
- if (length > K_MAX_LENGTH) {
80
- throw new RangeError('The value "' + length + '" is invalid for option "size"')
81
- }
82
- // Return an augmented `Uint8Array` instance
83
- var buf = new Uint8Array(length)
84
- Object.setPrototypeOf(buf, Buffer.prototype)
85
- return buf
86
- }
87
-
88
- /**
89
- * The Buffer constructor returns instances of `Uint8Array` that have their
90
- * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
91
- * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
92
- * and the `Uint8Array` methods. Square bracket notation works as expected -- it
93
- * returns a single octet.
94
- *
95
- * The `Uint8Array` prototype remains unmodified.
96
- */
97
-
98
- function Buffer (arg, encodingOrOffset, length) {
99
- // Common case.
100
- if (typeof arg === 'number') {
101
- if (typeof encodingOrOffset === 'string') {
102
- throw new TypeError(
103
- 'The "string" argument must be of type string. Received type number'
104
- )
105
- }
106
- return allocUnsafe(arg)
107
- }
108
- return from(arg, encodingOrOffset, length)
109
- }
110
-
111
- Buffer.poolSize = 8192 // not used by this implementation
112
-
113
- function from (value, encodingOrOffset, length) {
114
- if (typeof value === 'string') {
115
- return fromString(value, encodingOrOffset)
116
- }
117
-
118
- if (ArrayBuffer.isView(value)) {
119
- return fromArrayView(value)
120
- }
121
-
122
- if (value == null) {
123
- throw new TypeError(
124
- 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
125
- 'or Array-like Object. Received type ' + (typeof value)
126
- )
127
- }
128
-
129
- if (isInstance(value, ArrayBuffer) ||
130
- (value && isInstance(value.buffer, ArrayBuffer))) {
131
- return fromArrayBuffer(value, encodingOrOffset, length)
132
- }
133
-
134
- if (typeof SharedArrayBuffer !== 'undefined' &&
135
- (isInstance(value, SharedArrayBuffer) ||
136
- (value && isInstance(value.buffer, SharedArrayBuffer)))) {
137
- return fromArrayBuffer(value, encodingOrOffset, length)
138
- }
139
-
140
- if (typeof value === 'number') {
141
- throw new TypeError(
142
- 'The "value" argument must not be of type number. Received type number'
143
- )
144
- }
145
-
146
- var valueOf = value.valueOf && value.valueOf()
147
- if (valueOf != null && valueOf !== value) {
148
- return Buffer.from(valueOf, encodingOrOffset, length)
149
- }
150
-
151
- var b = fromObject(value)
152
- if (b) return b
153
-
154
- if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&
155
- typeof value[Symbol.toPrimitive] === 'function') {
156
- return Buffer.from(
157
- value[Symbol.toPrimitive]('string'), encodingOrOffset, length
158
- )
159
- }
160
-
161
- throw new TypeError(
162
- 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
163
- 'or Array-like Object. Received type ' + (typeof value)
164
- )
165
- }
166
-
167
- /**
168
- * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
169
- * if value is a number.
170
- * Buffer.from(str[, encoding])
171
- * Buffer.from(array)
172
- * Buffer.from(buffer)
173
- * Buffer.from(arrayBuffer[, byteOffset[, length]])
174
- **/
175
- Buffer.from = function (value, encodingOrOffset, length) {
176
- return from(value, encodingOrOffset, length)
177
- }
178
-
179
- // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:
180
- // https://github.com/feross/buffer/pull/148
181
- Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)
182
- Object.setPrototypeOf(Buffer, Uint8Array)
183
-
184
- function assertSize (size) {
185
- if (typeof size !== 'number') {
186
- throw new TypeError('"size" argument must be of type number')
187
- } else if (size < 0) {
188
- throw new RangeError('The value "' + size + '" is invalid for option "size"')
189
- }
190
- }
191
-
192
- function alloc (size, fill, encoding) {
193
- assertSize(size)
194
- if (size <= 0) {
195
- return createBuffer(size)
196
- }
197
- if (fill !== undefined) {
198
- // Only pay attention to encoding if it's a string. This
199
- // prevents accidentally sending in a number that would
200
- // be interpreted as a start offset.
201
- return typeof encoding === 'string'
202
- ? createBuffer(size).fill(fill, encoding)
203
- : createBuffer(size).fill(fill)
204
- }
205
- return createBuffer(size)
206
- }
207
-
208
- /**
209
- * Creates a new filled Buffer instance.
210
- * alloc(size[, fill[, encoding]])
211
- **/
212
- Buffer.alloc = function (size, fill, encoding) {
213
- return alloc(size, fill, encoding)
214
- }
215
-
216
- function allocUnsafe (size) {
217
- assertSize(size)
218
- return createBuffer(size < 0 ? 0 : checked(size) | 0)
219
- }
220
-
221
- /**
222
- * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
223
- * */
224
- Buffer.allocUnsafe = function (size) {
225
- return allocUnsafe(size)
226
- }
227
- /**
228
- * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
229
- */
230
- Buffer.allocUnsafeSlow = function (size) {
231
- return allocUnsafe(size)
232
- }
233
-
234
- function fromString (string, encoding) {
235
- if (typeof encoding !== 'string' || encoding === '') {
236
- encoding = 'utf8'
237
- }
238
-
239
- if (!Buffer.isEncoding(encoding)) {
240
- throw new TypeError('Unknown encoding: ' + encoding)
241
- }
242
-
243
- var length = byteLength(string, encoding) | 0
244
- var buf = createBuffer(length)
245
-
246
- var actual = buf.write(string, encoding)
247
-
248
- if (actual !== length) {
249
- // Writing a hex string, for example, that contains invalid characters will
250
- // cause everything after the first invalid character to be ignored. (e.g.
251
- // 'abxxcd' will be treated as 'ab')
252
- buf = buf.slice(0, actual)
253
- }
254
-
255
- return buf
256
- }
257
-
258
- function fromArrayLike (array) {
259
- var length = array.length < 0 ? 0 : checked(array.length) | 0
260
- var buf = createBuffer(length)
261
- for (var i = 0; i < length; i += 1) {
262
- buf[i] = array[i] & 255
263
- }
264
- return buf
265
- }
266
-
267
- function fromArrayView (arrayView) {
268
- if (isInstance(arrayView, Uint8Array)) {
269
- var copy = new Uint8Array(arrayView)
270
- return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)
271
- }
272
- return fromArrayLike(arrayView)
273
- }
274
-
275
- function fromArrayBuffer (array, byteOffset, length) {
276
- if (byteOffset < 0 || array.byteLength < byteOffset) {
277
- throw new RangeError('"offset" is outside of buffer bounds')
278
- }
279
-
280
- if (array.byteLength < byteOffset + (length || 0)) {
281
- throw new RangeError('"length" is outside of buffer bounds')
282
- }
283
-
284
- var buf
285
- if (byteOffset === undefined && length === undefined) {
286
- buf = new Uint8Array(array)
287
- } else if (length === undefined) {
288
- buf = new Uint8Array(array, byteOffset)
289
- } else {
290
- buf = new Uint8Array(array, byteOffset, length)
291
- }
292
-
293
- // Return an augmented `Uint8Array` instance
294
- Object.setPrototypeOf(buf, Buffer.prototype)
295
-
296
- return buf
297
- }
298
-
299
- function fromObject (obj) {
300
- if (Buffer.isBuffer(obj)) {
301
- var len = checked(obj.length) | 0
302
- var buf = createBuffer(len)
303
-
304
- if (buf.length === 0) {
305
- return buf
306
- }
307
-
308
- obj.copy(buf, 0, 0, len)
309
- return buf
310
- }
311
-
312
- if (obj.length !== undefined) {
313
- if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
314
- return createBuffer(0)
315
- }
316
- return fromArrayLike(obj)
317
- }
318
-
319
- if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
320
- return fromArrayLike(obj.data)
321
- }
322
- }
323
-
324
- function checked (length) {
325
- // Note: cannot use `length < K_MAX_LENGTH` here because that fails when
326
- // length is NaN (which is otherwise coerced to zero.)
327
- if (length >= K_MAX_LENGTH) {
328
- throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
329
- 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')
330
- }
331
- return length | 0
332
- }
333
-
334
- function SlowBuffer (length) {
335
- if (+length != length) { // eslint-disable-line eqeqeq
336
- length = 0
337
- }
338
- return Buffer.alloc(+length)
339
- }
340
-
341
- Buffer.isBuffer = function isBuffer (b) {
342
- return b != null && b._isBuffer === true &&
343
- b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false
344
- }
345
-
346
- Buffer.compare = function compare (a, b) {
347
- if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)
348
- if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)
349
- if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
350
- throw new TypeError(
351
- 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
352
- )
353
- }
354
-
355
- if (a === b) return 0
356
-
357
- var x = a.length
358
- var y = b.length
359
-
360
- for (var i = 0, len = Math.min(x, y); i < len; ++i) {
361
- if (a[i] !== b[i]) {
362
- x = a[i]
363
- y = b[i]
364
- break
365
- }
366
- }
367
-
368
- if (x < y) return -1
369
- if (y < x) return 1
370
- return 0
371
- }
372
-
373
- Buffer.isEncoding = function isEncoding (encoding) {
374
- switch (String(encoding).toLowerCase()) {
375
- case 'hex':
376
- case 'utf8':
377
- case 'utf-8':
378
- case 'ascii':
379
- case 'latin1':
380
- case 'binary':
381
- case 'base64':
382
- case 'ucs2':
383
- case 'ucs-2':
384
- case 'utf16le':
385
- case 'utf-16le':
386
- return true
387
- default:
388
- return false
389
- }
390
- }
391
-
392
- Buffer.concat = function concat (list, length) {
393
- if (!Array.isArray(list)) {
394
- throw new TypeError('"list" argument must be an Array of Buffers')
395
- }
396
-
397
- if (list.length === 0) {
398
- return Buffer.alloc(0)
399
- }
400
-
401
- var i
402
- if (length === undefined) {
403
- length = 0
404
- for (i = 0; i < list.length; ++i) {
405
- length += list[i].length
406
- }
407
- }
408
-
409
- var buffer = Buffer.allocUnsafe(length)
410
- var pos = 0
411
- for (i = 0; i < list.length; ++i) {
412
- var buf = list[i]
413
- if (isInstance(buf, Uint8Array)) {
414
- if (pos + buf.length > buffer.length) {
415
- Buffer.from(buf).copy(buffer, pos)
416
- } else {
417
- Uint8Array.prototype.set.call(
418
- buffer,
419
- buf,
420
- pos
421
- )
422
- }
423
- } else if (!Buffer.isBuffer(buf)) {
424
- throw new TypeError('"list" argument must be an Array of Buffers')
425
- } else {
426
- buf.copy(buffer, pos)
427
- }
428
- pos += buf.length
429
- }
430
- return buffer
431
- }
432
-
433
- function byteLength (string, encoding) {
434
- if (Buffer.isBuffer(string)) {
435
- return string.length
436
- }
437
- if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
438
- return string.byteLength
439
- }
440
- if (typeof string !== 'string') {
441
- throw new TypeError(
442
- 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' +
443
- 'Received type ' + typeof string
444
- )
445
- }
446
-
447
- var len = string.length
448
- var mustMatch = (arguments.length > 2 && arguments[2] === true)
449
- if (!mustMatch && len === 0) return 0
450
-
451
- // Use a for loop to avoid recursion
452
- var loweredCase = false
453
- for (;;) {
454
- switch (encoding) {
455
- case 'ascii':
456
- case 'latin1':
457
- case 'binary':
458
- return len
459
- case 'utf8':
460
- case 'utf-8':
461
- return utf8ToBytes(string).length
462
- case 'ucs2':
463
- case 'ucs-2':
464
- case 'utf16le':
465
- case 'utf-16le':
466
- return len * 2
467
- case 'hex':
468
- return len >>> 1
469
- case 'base64':
470
- return base64ToBytes(string).length
471
- default:
472
- if (loweredCase) {
473
- return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8
474
- }
475
- encoding = ('' + encoding).toLowerCase()
476
- loweredCase = true
477
- }
478
- }
479
- }
480
- Buffer.byteLength = byteLength
481
-
482
- function slowToString (encoding, start, end) {
483
- var loweredCase = false
484
-
485
- // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
486
- // property of a typed array.
487
-
488
- // This behaves neither like String nor Uint8Array in that we set start/end
489
- // to their upper/lower bounds if the value passed is out of range.
490
- // undefined is handled specially as per ECMA-262 6th Edition,
491
- // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
492
- if (start === undefined || start < 0) {
493
- start = 0
494
- }
495
- // Return early if start > this.length. Done here to prevent potential uint32
496
- // coercion fail below.
497
- if (start > this.length) {
498
- return ''
499
- }
500
-
501
- if (end === undefined || end > this.length) {
502
- end = this.length
503
- }
504
-
505
- if (end <= 0) {
506
- return ''
507
- }
508
-
509
- // Force coercion to uint32. This will also coerce falsey/NaN values to 0.
510
- end >>>= 0
511
- start >>>= 0
512
-
513
- if (end <= start) {
514
- return ''
515
- }
516
-
517
- if (!encoding) encoding = 'utf8'
518
-
519
- while (true) {
520
- switch (encoding) {
521
- case 'hex':
522
- return hexSlice(this, start, end)
523
-
524
- case 'utf8':
525
- case 'utf-8':
526
- return utf8Slice(this, start, end)
527
-
528
- case 'ascii':
529
- return asciiSlice(this, start, end)
530
-
531
- case 'latin1':
532
- case 'binary':
533
- return latin1Slice(this, start, end)
534
-
535
- case 'base64':
536
- return base64Slice(this, start, end)
537
-
538
- case 'ucs2':
539
- case 'ucs-2':
540
- case 'utf16le':
541
- case 'utf-16le':
542
- return utf16leSlice(this, start, end)
543
-
544
- default:
545
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
546
- encoding = (encoding + '').toLowerCase()
547
- loweredCase = true
548
- }
549
- }
550
- }
551
-
552
- // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)
553
- // to detect a Buffer instance. It's not possible to use `instanceof Buffer`
554
- // reliably in a browserify context because there could be multiple different
555
- // copies of the 'buffer' package in use. This method works even for Buffer
556
- // instances that were created from another copy of the `buffer` package.
557
- // See: https://github.com/feross/buffer/issues/154
558
- Buffer.prototype._isBuffer = true
559
-
560
- function swap (b, n, m) {
561
- var i = b[n]
562
- b[n] = b[m]
563
- b[m] = i
564
- }
565
-
566
- Buffer.prototype.swap16 = function swap16 () {
567
- var len = this.length
568
- if (len % 2 !== 0) {
569
- throw new RangeError('Buffer size must be a multiple of 16-bits')
570
- }
571
- for (var i = 0; i < len; i += 2) {
572
- swap(this, i, i + 1)
573
- }
574
- return this
575
- }
576
-
577
- Buffer.prototype.swap32 = function swap32 () {
578
- var len = this.length
579
- if (len % 4 !== 0) {
580
- throw new RangeError('Buffer size must be a multiple of 32-bits')
581
- }
582
- for (var i = 0; i < len; i += 4) {
583
- swap(this, i, i + 3)
584
- swap(this, i + 1, i + 2)
585
- }
586
- return this
587
- }
588
-
589
- Buffer.prototype.swap64 = function swap64 () {
590
- var len = this.length
591
- if (len % 8 !== 0) {
592
- throw new RangeError('Buffer size must be a multiple of 64-bits')
593
- }
594
- for (var i = 0; i < len; i += 8) {
595
- swap(this, i, i + 7)
596
- swap(this, i + 1, i + 6)
597
- swap(this, i + 2, i + 5)
598
- swap(this, i + 3, i + 4)
599
- }
600
- return this
601
- }
602
-
603
- Buffer.prototype.toString = function toString () {
604
- var length = this.length
605
- if (length === 0) return ''
606
- if (arguments.length === 0) return utf8Slice(this, 0, length)
607
- return slowToString.apply(this, arguments)
608
- }
609
-
610
- Buffer.prototype.toLocaleString = Buffer.prototype.toString
611
-
612
- Buffer.prototype.equals = function equals (b) {
613
- if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
614
- if (this === b) return true
615
- return Buffer.compare(this, b) === 0
616
- }
617
-
618
- Buffer.prototype.inspect = function inspect () {
619
- var str = ''
620
- var max = exports.INSPECT_MAX_BYTES
621
- str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()
622
- if (this.length > max) str += ' ... '
623
- return '<Buffer ' + str + '>'
624
- }
625
- if (customInspectSymbol) {
626
- Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect
627
- }
628
-
629
- Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
630
- if (isInstance(target, Uint8Array)) {
631
- target = Buffer.from(target, target.offset, target.byteLength)
632
- }
633
- if (!Buffer.isBuffer(target)) {
634
- throw new TypeError(
635
- 'The "target" argument must be one of type Buffer or Uint8Array. ' +
636
- 'Received type ' + (typeof target)
637
- )
638
- }
639
-
640
- if (start === undefined) {
641
- start = 0
642
- }
643
- if (end === undefined) {
644
- end = target ? target.length : 0
645
- }
646
- if (thisStart === undefined) {
647
- thisStart = 0
648
- }
649
- if (thisEnd === undefined) {
650
- thisEnd = this.length
651
- }
652
-
653
- if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
654
- throw new RangeError('out of range index')
655
- }
656
-
657
- if (thisStart >= thisEnd && start >= end) {
658
- return 0
659
- }
660
- if (thisStart >= thisEnd) {
661
- return -1
662
- }
663
- if (start >= end) {
664
- return 1
665
- }
666
-
667
- start >>>= 0
668
- end >>>= 0
669
- thisStart >>>= 0
670
- thisEnd >>>= 0
671
-
672
- if (this === target) return 0
673
-
674
- var x = thisEnd - thisStart
675
- var y = end - start
676
- var len = Math.min(x, y)
677
-
678
- var thisCopy = this.slice(thisStart, thisEnd)
679
- var targetCopy = target.slice(start, end)
680
-
681
- for (var i = 0; i < len; ++i) {
682
- if (thisCopy[i] !== targetCopy[i]) {
683
- x = thisCopy[i]
684
- y = targetCopy[i]
685
- break
686
- }
687
- }
688
-
689
- if (x < y) return -1
690
- if (y < x) return 1
691
- return 0
692
- }
693
-
694
- // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
695
- // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
696
- //
697
- // Arguments:
698
- // - buffer - a Buffer to search
699
- // - val - a string, Buffer, or number
700
- // - byteOffset - an index into `buffer`; will be clamped to an int32
701
- // - encoding - an optional encoding, relevant is val is a string
702
- // - dir - true for indexOf, false for lastIndexOf
703
- function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
704
- // Empty buffer means no match
705
- if (buffer.length === 0) return -1
706
-
707
- // Normalize byteOffset
708
- if (typeof byteOffset === 'string') {
709
- encoding = byteOffset
710
- byteOffset = 0
711
- } else if (byteOffset > 0x7fffffff) {
712
- byteOffset = 0x7fffffff
713
- } else if (byteOffset < -0x80000000) {
714
- byteOffset = -0x80000000
715
- }
716
- byteOffset = +byteOffset // Coerce to Number.
717
- if (numberIsNaN(byteOffset)) {
718
- // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
719
- byteOffset = dir ? 0 : (buffer.length - 1)
720
- }
721
-
722
- // Normalize byteOffset: negative offsets start from the end of the buffer
723
- if (byteOffset < 0) byteOffset = buffer.length + byteOffset
724
- if (byteOffset >= buffer.length) {
725
- if (dir) return -1
726
- else byteOffset = buffer.length - 1
727
- } else if (byteOffset < 0) {
728
- if (dir) byteOffset = 0
729
- else return -1
730
- }
731
-
732
- // Normalize val
733
- if (typeof val === 'string') {
734
- val = Buffer.from(val, encoding)
735
- }
736
-
737
- // Finally, search either indexOf (if dir is true) or lastIndexOf
738
- if (Buffer.isBuffer(val)) {
739
- // Special case: looking for empty string/buffer always fails
740
- if (val.length === 0) {
741
- return -1
742
- }
743
- return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
744
- } else if (typeof val === 'number') {
745
- val = val & 0xFF // Search for a byte value [0-255]
746
- if (typeof Uint8Array.prototype.indexOf === 'function') {
747
- if (dir) {
748
- return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
749
- } else {
750
- return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
751
- }
752
- }
753
- return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)
754
- }
755
-
756
- throw new TypeError('val must be string, number or Buffer')
757
- }
758
-
759
- function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
760
- var indexSize = 1
761
- var arrLength = arr.length
762
- var valLength = val.length
763
-
764
- if (encoding !== undefined) {
765
- encoding = String(encoding).toLowerCase()
766
- if (encoding === 'ucs2' || encoding === 'ucs-2' ||
767
- encoding === 'utf16le' || encoding === 'utf-16le') {
768
- if (arr.length < 2 || val.length < 2) {
769
- return -1
770
- }
771
- indexSize = 2
772
- arrLength /= 2
773
- valLength /= 2
774
- byteOffset /= 2
775
- }
776
- }
777
-
778
- function read (buf, i) {
779
- if (indexSize === 1) {
780
- return buf[i]
781
- } else {
782
- return buf.readUInt16BE(i * indexSize)
783
- }
784
- }
785
-
786
- var i
787
- if (dir) {
788
- var foundIndex = -1
789
- for (i = byteOffset; i < arrLength; i++) {
790
- if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
791
- if (foundIndex === -1) foundIndex = i
792
- if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
793
- } else {
794
- if (foundIndex !== -1) i -= i - foundIndex
795
- foundIndex = -1
796
- }
797
- }
798
- } else {
799
- if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
800
- for (i = byteOffset; i >= 0; i--) {
801
- var found = true
802
- for (var j = 0; j < valLength; j++) {
803
- if (read(arr, i + j) !== read(val, j)) {
804
- found = false
805
- break
806
- }
807
- }
808
- if (found) return i
809
- }
810
- }
811
-
812
- return -1
813
- }
814
-
815
- Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
816
- return this.indexOf(val, byteOffset, encoding) !== -1
817
- }
818
-
819
- Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
820
- return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
821
- }
822
-
823
- Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
824
- return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
825
- }
826
-
827
- function hexWrite (buf, string, offset, length) {
828
- offset = Number(offset) || 0
829
- var remaining = buf.length - offset
830
- if (!length) {
831
- length = remaining
832
- } else {
833
- length = Number(length)
834
- if (length > remaining) {
835
- length = remaining
836
- }
837
- }
838
-
839
- var strLen = string.length
840
-
841
- if (length > strLen / 2) {
842
- length = strLen / 2
843
- }
844
- for (var i = 0; i < length; ++i) {
845
- var parsed = parseInt(string.substr(i * 2, 2), 16)
846
- if (numberIsNaN(parsed)) return i
847
- buf[offset + i] = parsed
848
- }
849
- return i
850
- }
851
-
852
- function utf8Write (buf, string, offset, length) {
853
- return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
854
- }
855
-
856
- function asciiWrite (buf, string, offset, length) {
857
- return blitBuffer(asciiToBytes(string), buf, offset, length)
858
- }
859
-
860
- function base64Write (buf, string, offset, length) {
861
- return blitBuffer(base64ToBytes(string), buf, offset, length)
862
- }
863
-
864
- function ucs2Write (buf, string, offset, length) {
865
- return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
866
- }
867
-
868
- Buffer.prototype.write = function write (string, offset, length, encoding) {
869
- // Buffer#write(string)
870
- if (offset === undefined) {
871
- encoding = 'utf8'
872
- length = this.length
873
- offset = 0
874
- // Buffer#write(string, encoding)
875
- } else if (length === undefined && typeof offset === 'string') {
876
- encoding = offset
877
- length = this.length
878
- offset = 0
879
- // Buffer#write(string, offset[, length][, encoding])
880
- } else if (isFinite(offset)) {
881
- offset = offset >>> 0
882
- if (isFinite(length)) {
883
- length = length >>> 0
884
- if (encoding === undefined) encoding = 'utf8'
885
- } else {
886
- encoding = length
887
- length = undefined
888
- }
889
- } else {
890
- throw new Error(
891
- 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
892
- )
893
- }
894
-
895
- var remaining = this.length - offset
896
- if (length === undefined || length > remaining) length = remaining
897
-
898
- if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
899
- throw new RangeError('Attempt to write outside buffer bounds')
900
- }
901
-
902
- if (!encoding) encoding = 'utf8'
903
-
904
- var loweredCase = false
905
- for (;;) {
906
- switch (encoding) {
907
- case 'hex':
908
- return hexWrite(this, string, offset, length)
909
-
910
- case 'utf8':
911
- case 'utf-8':
912
- return utf8Write(this, string, offset, length)
913
-
914
- case 'ascii':
915
- case 'latin1':
916
- case 'binary':
917
- return asciiWrite(this, string, offset, length)
918
-
919
- case 'base64':
920
- // Warning: maxLength not taken into account in base64Write
921
- return base64Write(this, string, offset, length)
922
-
923
- case 'ucs2':
924
- case 'ucs-2':
925
- case 'utf16le':
926
- case 'utf-16le':
927
- return ucs2Write(this, string, offset, length)
928
-
929
- default:
930
- if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
931
- encoding = ('' + encoding).toLowerCase()
932
- loweredCase = true
933
- }
934
- }
935
- }
936
-
937
- Buffer.prototype.toJSON = function toJSON () {
938
- return {
939
- type: 'Buffer',
940
- data: Array.prototype.slice.call(this._arr || this, 0)
941
- }
942
- }
943
-
944
- function base64Slice (buf, start, end) {
945
- if (start === 0 && end === buf.length) {
946
- return base64.fromByteArray(buf)
947
- } else {
948
- return base64.fromByteArray(buf.slice(start, end))
949
- }
950
- }
951
-
952
- function utf8Slice (buf, start, end) {
953
- end = Math.min(buf.length, end)
954
- var res = []
955
-
956
- var i = start
957
- while (i < end) {
958
- var firstByte = buf[i]
959
- var codePoint = null
960
- var bytesPerSequence = (firstByte > 0xEF)
961
- ? 4
962
- : (firstByte > 0xDF)
963
- ? 3
964
- : (firstByte > 0xBF)
965
- ? 2
966
- : 1
967
-
968
- if (i + bytesPerSequence <= end) {
969
- var secondByte, thirdByte, fourthByte, tempCodePoint
970
-
971
- switch (bytesPerSequence) {
972
- case 1:
973
- if (firstByte < 0x80) {
974
- codePoint = firstByte
975
- }
976
- break
977
- case 2:
978
- secondByte = buf[i + 1]
979
- if ((secondByte & 0xC0) === 0x80) {
980
- tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
981
- if (tempCodePoint > 0x7F) {
982
- codePoint = tempCodePoint
983
- }
984
- }
985
- break
986
- case 3:
987
- secondByte = buf[i + 1]
988
- thirdByte = buf[i + 2]
989
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
990
- tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
991
- if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
992
- codePoint = tempCodePoint
993
- }
994
- }
995
- break
996
- case 4:
997
- secondByte = buf[i + 1]
998
- thirdByte = buf[i + 2]
999
- fourthByte = buf[i + 3]
1000
- if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
1001
- tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
1002
- if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
1003
- codePoint = tempCodePoint
1004
- }
1005
- }
1006
- }
1007
- }
1008
-
1009
- if (codePoint === null) {
1010
- // we did not generate a valid codePoint so insert a
1011
- // replacement char (U+FFFD) and advance only 1 byte
1012
- codePoint = 0xFFFD
1013
- bytesPerSequence = 1
1014
- } else if (codePoint > 0xFFFF) {
1015
- // encode to utf16 (surrogate pair dance)
1016
- codePoint -= 0x10000
1017
- res.push(codePoint >>> 10 & 0x3FF | 0xD800)
1018
- codePoint = 0xDC00 | codePoint & 0x3FF
1019
- }
1020
-
1021
- res.push(codePoint)
1022
- i += bytesPerSequence
1023
- }
1024
-
1025
- return decodeCodePointsArray(res)
1026
- }
1027
-
1028
- // Based on http://stackoverflow.com/a/22747272/680742, the browser with
1029
- // the lowest limit is Chrome, with 0x10000 args.
1030
- // We go 1 magnitude less, for safety
1031
- var MAX_ARGUMENTS_LENGTH = 0x1000
1032
-
1033
- function decodeCodePointsArray (codePoints) {
1034
- var len = codePoints.length
1035
- if (len <= MAX_ARGUMENTS_LENGTH) {
1036
- return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
1037
- }
1038
-
1039
- // Decode in chunks to avoid "call stack size exceeded".
1040
- var res = ''
1041
- var i = 0
1042
- while (i < len) {
1043
- res += String.fromCharCode.apply(
1044
- String,
1045
- codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
1046
- )
1047
- }
1048
- return res
1049
- }
1050
-
1051
- function asciiSlice (buf, start, end) {
1052
- var ret = ''
1053
- end = Math.min(buf.length, end)
1054
-
1055
- for (var i = start; i < end; ++i) {
1056
- ret += String.fromCharCode(buf[i] & 0x7F)
1057
- }
1058
- return ret
1059
- }
1060
-
1061
- function latin1Slice (buf, start, end) {
1062
- var ret = ''
1063
- end = Math.min(buf.length, end)
1064
-
1065
- for (var i = start; i < end; ++i) {
1066
- ret += String.fromCharCode(buf[i])
1067
- }
1068
- return ret
1069
- }
1070
-
1071
- function hexSlice (buf, start, end) {
1072
- var len = buf.length
1073
-
1074
- if (!start || start < 0) start = 0
1075
- if (!end || end < 0 || end > len) end = len
1076
-
1077
- var out = ''
1078
- for (var i = start; i < end; ++i) {
1079
- out += hexSliceLookupTable[buf[i]]
1080
- }
1081
- return out
1082
- }
1083
-
1084
- function utf16leSlice (buf, start, end) {
1085
- var bytes = buf.slice(start, end)
1086
- var res = ''
1087
- // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)
1088
- for (var i = 0; i < bytes.length - 1; i += 2) {
1089
- res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))
1090
- }
1091
- return res
1092
- }
1093
-
1094
- Buffer.prototype.slice = function slice (start, end) {
1095
- var len = this.length
1096
- start = ~~start
1097
- end = end === undefined ? len : ~~end
1098
-
1099
- if (start < 0) {
1100
- start += len
1101
- if (start < 0) start = 0
1102
- } else if (start > len) {
1103
- start = len
1104
- }
1105
-
1106
- if (end < 0) {
1107
- end += len
1108
- if (end < 0) end = 0
1109
- } else if (end > len) {
1110
- end = len
1111
- }
1112
-
1113
- if (end < start) end = start
1114
-
1115
- var newBuf = this.subarray(start, end)
1116
- // Return an augmented `Uint8Array` instance
1117
- Object.setPrototypeOf(newBuf, Buffer.prototype)
1118
-
1119
- return newBuf
1120
- }
1121
-
1122
- /*
1123
- * Need to make sure that buffer isn't trying to write out of bounds.
1124
- */
1125
- function checkOffset (offset, ext, length) {
1126
- if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
1127
- if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
1128
- }
1129
-
1130
- Buffer.prototype.readUintLE =
1131
- Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
1132
- offset = offset >>> 0
1133
- byteLength = byteLength >>> 0
1134
- if (!noAssert) checkOffset(offset, byteLength, this.length)
1135
-
1136
- var val = this[offset]
1137
- var mul = 1
1138
- var i = 0
1139
- while (++i < byteLength && (mul *= 0x100)) {
1140
- val += this[offset + i] * mul
1141
- }
1142
-
1143
- return val
1144
- }
1145
-
1146
- Buffer.prototype.readUintBE =
1147
- Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
1148
- offset = offset >>> 0
1149
- byteLength = byteLength >>> 0
1150
- if (!noAssert) {
1151
- checkOffset(offset, byteLength, this.length)
1152
- }
1153
-
1154
- var val = this[offset + --byteLength]
1155
- var mul = 1
1156
- while (byteLength > 0 && (mul *= 0x100)) {
1157
- val += this[offset + --byteLength] * mul
1158
- }
1159
-
1160
- return val
1161
- }
1162
-
1163
- Buffer.prototype.readUint8 =
1164
- Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
1165
- offset = offset >>> 0
1166
- if (!noAssert) checkOffset(offset, 1, this.length)
1167
- return this[offset]
1168
- }
1169
-
1170
- Buffer.prototype.readUint16LE =
1171
- Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
1172
- offset = offset >>> 0
1173
- if (!noAssert) checkOffset(offset, 2, this.length)
1174
- return this[offset] | (this[offset + 1] << 8)
1175
- }
1176
-
1177
- Buffer.prototype.readUint16BE =
1178
- Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
1179
- offset = offset >>> 0
1180
- if (!noAssert) checkOffset(offset, 2, this.length)
1181
- return (this[offset] << 8) | this[offset + 1]
1182
- }
1183
-
1184
- Buffer.prototype.readUint32LE =
1185
- Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
1186
- offset = offset >>> 0
1187
- if (!noAssert) checkOffset(offset, 4, this.length)
1188
-
1189
- return ((this[offset]) |
1190
- (this[offset + 1] << 8) |
1191
- (this[offset + 2] << 16)) +
1192
- (this[offset + 3] * 0x1000000)
1193
- }
1194
-
1195
- Buffer.prototype.readUint32BE =
1196
- Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
1197
- offset = offset >>> 0
1198
- if (!noAssert) checkOffset(offset, 4, this.length)
1199
-
1200
- return (this[offset] * 0x1000000) +
1201
- ((this[offset + 1] << 16) |
1202
- (this[offset + 2] << 8) |
1203
- this[offset + 3])
1204
- }
1205
-
1206
- Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
1207
- offset = offset >>> 0
1208
- byteLength = byteLength >>> 0
1209
- if (!noAssert) checkOffset(offset, byteLength, this.length)
1210
-
1211
- var val = this[offset]
1212
- var mul = 1
1213
- var i = 0
1214
- while (++i < byteLength && (mul *= 0x100)) {
1215
- val += this[offset + i] * mul
1216
- }
1217
- mul *= 0x80
1218
-
1219
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
1220
-
1221
- return val
1222
- }
1223
-
1224
- Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
1225
- offset = offset >>> 0
1226
- byteLength = byteLength >>> 0
1227
- if (!noAssert) checkOffset(offset, byteLength, this.length)
1228
-
1229
- var i = byteLength
1230
- var mul = 1
1231
- var val = this[offset + --i]
1232
- while (i > 0 && (mul *= 0x100)) {
1233
- val += this[offset + --i] * mul
1234
- }
1235
- mul *= 0x80
1236
-
1237
- if (val >= mul) val -= Math.pow(2, 8 * byteLength)
1238
-
1239
- return val
1240
- }
1241
-
1242
- Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
1243
- offset = offset >>> 0
1244
- if (!noAssert) checkOffset(offset, 1, this.length)
1245
- if (!(this[offset] & 0x80)) return (this[offset])
1246
- return ((0xff - this[offset] + 1) * -1)
1247
- }
1248
-
1249
- Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
1250
- offset = offset >>> 0
1251
- if (!noAssert) checkOffset(offset, 2, this.length)
1252
- var val = this[offset] | (this[offset + 1] << 8)
1253
- return (val & 0x8000) ? val | 0xFFFF0000 : val
1254
- }
1255
-
1256
- Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
1257
- offset = offset >>> 0
1258
- if (!noAssert) checkOffset(offset, 2, this.length)
1259
- var val = this[offset + 1] | (this[offset] << 8)
1260
- return (val & 0x8000) ? val | 0xFFFF0000 : val
1261
- }
1262
-
1263
- Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
1264
- offset = offset >>> 0
1265
- if (!noAssert) checkOffset(offset, 4, this.length)
1266
-
1267
- return (this[offset]) |
1268
- (this[offset + 1] << 8) |
1269
- (this[offset + 2] << 16) |
1270
- (this[offset + 3] << 24)
1271
- }
1272
-
1273
- Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
1274
- offset = offset >>> 0
1275
- if (!noAssert) checkOffset(offset, 4, this.length)
1276
-
1277
- return (this[offset] << 24) |
1278
- (this[offset + 1] << 16) |
1279
- (this[offset + 2] << 8) |
1280
- (this[offset + 3])
1281
- }
1282
-
1283
- Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
1284
- offset = offset >>> 0
1285
- if (!noAssert) checkOffset(offset, 4, this.length)
1286
- return ieee754.read(this, offset, true, 23, 4)
1287
- }
1288
-
1289
- Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
1290
- offset = offset >>> 0
1291
- if (!noAssert) checkOffset(offset, 4, this.length)
1292
- return ieee754.read(this, offset, false, 23, 4)
1293
- }
1294
-
1295
- Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
1296
- offset = offset >>> 0
1297
- if (!noAssert) checkOffset(offset, 8, this.length)
1298
- return ieee754.read(this, offset, true, 52, 8)
1299
- }
1300
-
1301
- Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
1302
- offset = offset >>> 0
1303
- if (!noAssert) checkOffset(offset, 8, this.length)
1304
- return ieee754.read(this, offset, false, 52, 8)
1305
- }
1306
-
1307
- function checkInt (buf, value, offset, ext, max, min) {
1308
- if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
1309
- if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
1310
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
1311
- }
1312
-
1313
- Buffer.prototype.writeUintLE =
1314
- Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
1315
- value = +value
1316
- offset = offset >>> 0
1317
- byteLength = byteLength >>> 0
1318
- if (!noAssert) {
1319
- var maxBytes = Math.pow(2, 8 * byteLength) - 1
1320
- checkInt(this, value, offset, byteLength, maxBytes, 0)
1321
- }
1322
-
1323
- var mul = 1
1324
- var i = 0
1325
- this[offset] = value & 0xFF
1326
- while (++i < byteLength && (mul *= 0x100)) {
1327
- this[offset + i] = (value / mul) & 0xFF
1328
- }
1329
-
1330
- return offset + byteLength
1331
- }
1332
-
1333
- Buffer.prototype.writeUintBE =
1334
- Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
1335
- value = +value
1336
- offset = offset >>> 0
1337
- byteLength = byteLength >>> 0
1338
- if (!noAssert) {
1339
- var maxBytes = Math.pow(2, 8 * byteLength) - 1
1340
- checkInt(this, value, offset, byteLength, maxBytes, 0)
1341
- }
1342
-
1343
- var i = byteLength - 1
1344
- var mul = 1
1345
- this[offset + i] = value & 0xFF
1346
- while (--i >= 0 && (mul *= 0x100)) {
1347
- this[offset + i] = (value / mul) & 0xFF
1348
- }
1349
-
1350
- return offset + byteLength
1351
- }
1352
-
1353
- Buffer.prototype.writeUint8 =
1354
- Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
1355
- value = +value
1356
- offset = offset >>> 0
1357
- if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
1358
- this[offset] = (value & 0xff)
1359
- return offset + 1
1360
- }
1361
-
1362
- Buffer.prototype.writeUint16LE =
1363
- Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
1364
- value = +value
1365
- offset = offset >>> 0
1366
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
1367
- this[offset] = (value & 0xff)
1368
- this[offset + 1] = (value >>> 8)
1369
- return offset + 2
1370
- }
1371
-
1372
- Buffer.prototype.writeUint16BE =
1373
- Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
1374
- value = +value
1375
- offset = offset >>> 0
1376
- if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
1377
- this[offset] = (value >>> 8)
1378
- this[offset + 1] = (value & 0xff)
1379
- return offset + 2
1380
- }
1381
-
1382
- Buffer.prototype.writeUint32LE =
1383
- Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
1384
- value = +value
1385
- offset = offset >>> 0
1386
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
1387
- this[offset + 3] = (value >>> 24)
1388
- this[offset + 2] = (value >>> 16)
1389
- this[offset + 1] = (value >>> 8)
1390
- this[offset] = (value & 0xff)
1391
- return offset + 4
1392
- }
1393
-
1394
- Buffer.prototype.writeUint32BE =
1395
- Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
1396
- value = +value
1397
- offset = offset >>> 0
1398
- if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
1399
- this[offset] = (value >>> 24)
1400
- this[offset + 1] = (value >>> 16)
1401
- this[offset + 2] = (value >>> 8)
1402
- this[offset + 3] = (value & 0xff)
1403
- return offset + 4
1404
- }
1405
-
1406
- Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
1407
- value = +value
1408
- offset = offset >>> 0
1409
- if (!noAssert) {
1410
- var limit = Math.pow(2, (8 * byteLength) - 1)
1411
-
1412
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
1413
- }
1414
-
1415
- var i = 0
1416
- var mul = 1
1417
- var sub = 0
1418
- this[offset] = value & 0xFF
1419
- while (++i < byteLength && (mul *= 0x100)) {
1420
- if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
1421
- sub = 1
1422
- }
1423
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
1424
- }
1425
-
1426
- return offset + byteLength
1427
- }
1428
-
1429
- Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
1430
- value = +value
1431
- offset = offset >>> 0
1432
- if (!noAssert) {
1433
- var limit = Math.pow(2, (8 * byteLength) - 1)
1434
-
1435
- checkInt(this, value, offset, byteLength, limit - 1, -limit)
1436
- }
1437
-
1438
- var i = byteLength - 1
1439
- var mul = 1
1440
- var sub = 0
1441
- this[offset + i] = value & 0xFF
1442
- while (--i >= 0 && (mul *= 0x100)) {
1443
- if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
1444
- sub = 1
1445
- }
1446
- this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
1447
- }
1448
-
1449
- return offset + byteLength
1450
- }
1451
-
1452
- Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
1453
- value = +value
1454
- offset = offset >>> 0
1455
- if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
1456
- if (value < 0) value = 0xff + value + 1
1457
- this[offset] = (value & 0xff)
1458
- return offset + 1
1459
- }
1460
-
1461
- Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
1462
- value = +value
1463
- offset = offset >>> 0
1464
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
1465
- this[offset] = (value & 0xff)
1466
- this[offset + 1] = (value >>> 8)
1467
- return offset + 2
1468
- }
1469
-
1470
- Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
1471
- value = +value
1472
- offset = offset >>> 0
1473
- if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
1474
- this[offset] = (value >>> 8)
1475
- this[offset + 1] = (value & 0xff)
1476
- return offset + 2
1477
- }
1478
-
1479
- Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
1480
- value = +value
1481
- offset = offset >>> 0
1482
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
1483
- this[offset] = (value & 0xff)
1484
- this[offset + 1] = (value >>> 8)
1485
- this[offset + 2] = (value >>> 16)
1486
- this[offset + 3] = (value >>> 24)
1487
- return offset + 4
1488
- }
1489
-
1490
- Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
1491
- value = +value
1492
- offset = offset >>> 0
1493
- if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
1494
- if (value < 0) value = 0xffffffff + value + 1
1495
- this[offset] = (value >>> 24)
1496
- this[offset + 1] = (value >>> 16)
1497
- this[offset + 2] = (value >>> 8)
1498
- this[offset + 3] = (value & 0xff)
1499
- return offset + 4
1500
- }
1501
-
1502
- function checkIEEE754 (buf, value, offset, ext, max, min) {
1503
- if (offset + ext > buf.length) throw new RangeError('Index out of range')
1504
- if (offset < 0) throw new RangeError('Index out of range')
1505
- }
1506
-
1507
- function writeFloat (buf, value, offset, littleEndian, noAssert) {
1508
- value = +value
1509
- offset = offset >>> 0
1510
- if (!noAssert) {
1511
- checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
1512
- }
1513
- ieee754.write(buf, value, offset, littleEndian, 23, 4)
1514
- return offset + 4
1515
- }
1516
-
1517
- Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
1518
- return writeFloat(this, value, offset, true, noAssert)
1519
- }
1520
-
1521
- Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
1522
- return writeFloat(this, value, offset, false, noAssert)
1523
- }
1524
-
1525
- function writeDouble (buf, value, offset, littleEndian, noAssert) {
1526
- value = +value
1527
- offset = offset >>> 0
1528
- if (!noAssert) {
1529
- checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
1530
- }
1531
- ieee754.write(buf, value, offset, littleEndian, 52, 8)
1532
- return offset + 8
1533
- }
1534
-
1535
- Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
1536
- return writeDouble(this, value, offset, true, noAssert)
1537
- }
1538
-
1539
- Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
1540
- return writeDouble(this, value, offset, false, noAssert)
1541
- }
1542
-
1543
- // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
1544
- Buffer.prototype.copy = function copy (target, targetStart, start, end) {
1545
- if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')
1546
- if (!start) start = 0
1547
- if (!end && end !== 0) end = this.length
1548
- if (targetStart >= target.length) targetStart = target.length
1549
- if (!targetStart) targetStart = 0
1550
- if (end > 0 && end < start) end = start
1551
-
1552
- // Copy 0 bytes; we're done
1553
- if (end === start) return 0
1554
- if (target.length === 0 || this.length === 0) return 0
1555
-
1556
- // Fatal error conditions
1557
- if (targetStart < 0) {
1558
- throw new RangeError('targetStart out of bounds')
1559
- }
1560
- if (start < 0 || start >= this.length) throw new RangeError('Index out of range')
1561
- if (end < 0) throw new RangeError('sourceEnd out of bounds')
1562
-
1563
- // Are we oob?
1564
- if (end > this.length) end = this.length
1565
- if (target.length - targetStart < end - start) {
1566
- end = target.length - targetStart + start
1567
- }
1568
-
1569
- var len = end - start
1570
-
1571
- if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
1572
- // Use built-in when available, missing from IE11
1573
- this.copyWithin(targetStart, start, end)
1574
- } else {
1575
- Uint8Array.prototype.set.call(
1576
- target,
1577
- this.subarray(start, end),
1578
- targetStart
1579
- )
1580
- }
1581
-
1582
- return len
1583
- }
1584
-
1585
- // Usage:
1586
- // buffer.fill(number[, offset[, end]])
1587
- // buffer.fill(buffer[, offset[, end]])
1588
- // buffer.fill(string[, offset[, end]][, encoding])
1589
- Buffer.prototype.fill = function fill (val, start, end, encoding) {
1590
- // Handle string cases:
1591
- if (typeof val === 'string') {
1592
- if (typeof start === 'string') {
1593
- encoding = start
1594
- start = 0
1595
- end = this.length
1596
- } else if (typeof end === 'string') {
1597
- encoding = end
1598
- end = this.length
1599
- }
1600
- if (encoding !== undefined && typeof encoding !== 'string') {
1601
- throw new TypeError('encoding must be a string')
1602
- }
1603
- if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
1604
- throw new TypeError('Unknown encoding: ' + encoding)
1605
- }
1606
- if (val.length === 1) {
1607
- var code = val.charCodeAt(0)
1608
- if ((encoding === 'utf8' && code < 128) ||
1609
- encoding === 'latin1') {
1610
- // Fast path: If `val` fits into a single byte, use that numeric value.
1611
- val = code
1612
- }
1613
- }
1614
- } else if (typeof val === 'number') {
1615
- val = val & 255
1616
- } else if (typeof val === 'boolean') {
1617
- val = Number(val)
1618
- }
1619
-
1620
- // Invalid ranges are not set to a default, so can range check early.
1621
- if (start < 0 || this.length < start || this.length < end) {
1622
- throw new RangeError('Out of range index')
1623
- }
1624
-
1625
- if (end <= start) {
1626
- return this
1627
- }
1628
-
1629
- start = start >>> 0
1630
- end = end === undefined ? this.length : end >>> 0
1631
-
1632
- if (!val) val = 0
1633
-
1634
- var i
1635
- if (typeof val === 'number') {
1636
- for (i = start; i < end; ++i) {
1637
- this[i] = val
1638
- }
1639
- } else {
1640
- var bytes = Buffer.isBuffer(val)
1641
- ? val
1642
- : Buffer.from(val, encoding)
1643
- var len = bytes.length
1644
- if (len === 0) {
1645
- throw new TypeError('The value "' + val +
1646
- '" is invalid for argument "value"')
1647
- }
1648
- for (i = 0; i < end - start; ++i) {
1649
- this[i + start] = bytes[i % len]
1650
- }
1651
- }
1652
-
1653
- return this
1654
- }
1655
-
1656
- // HELPER FUNCTIONS
1657
- // ================
1658
-
1659
- var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g
1660
-
1661
- function base64clean (str) {
1662
- // Node takes equal signs as end of the Base64 encoding
1663
- str = str.split('=')[0]
1664
- // Node strips out invalid characters like \n and \t from the string, base64-js does not
1665
- str = str.trim().replace(INVALID_BASE64_RE, '')
1666
- // Node converts strings with length < 2 to ''
1667
- if (str.length < 2) return ''
1668
- // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
1669
- while (str.length % 4 !== 0) {
1670
- str = str + '='
1671
- }
1672
- return str
1673
- }
1674
-
1675
- function utf8ToBytes (string, units) {
1676
- units = units || Infinity
1677
- var codePoint
1678
- var length = string.length
1679
- var leadSurrogate = null
1680
- var bytes = []
1681
-
1682
- for (var i = 0; i < length; ++i) {
1683
- codePoint = string.charCodeAt(i)
1684
-
1685
- // is surrogate component
1686
- if (codePoint > 0xD7FF && codePoint < 0xE000) {
1687
- // last char was a lead
1688
- if (!leadSurrogate) {
1689
- // no lead yet
1690
- if (codePoint > 0xDBFF) {
1691
- // unexpected trail
1692
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1693
- continue
1694
- } else if (i + 1 === length) {
1695
- // unpaired lead
1696
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1697
- continue
1698
- }
1699
-
1700
- // valid lead
1701
- leadSurrogate = codePoint
1702
-
1703
- continue
1704
- }
1705
-
1706
- // 2 leads in a row
1707
- if (codePoint < 0xDC00) {
1708
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1709
- leadSurrogate = codePoint
1710
- continue
1711
- }
1712
-
1713
- // valid surrogate pair
1714
- codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
1715
- } else if (leadSurrogate) {
1716
- // valid bmp char, but last char was a lead
1717
- if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1718
- }
1719
-
1720
- leadSurrogate = null
1721
-
1722
- // encode utf8
1723
- if (codePoint < 0x80) {
1724
- if ((units -= 1) < 0) break
1725
- bytes.push(codePoint)
1726
- } else if (codePoint < 0x800) {
1727
- if ((units -= 2) < 0) break
1728
- bytes.push(
1729
- codePoint >> 0x6 | 0xC0,
1730
- codePoint & 0x3F | 0x80
1731
- )
1732
- } else if (codePoint < 0x10000) {
1733
- if ((units -= 3) < 0) break
1734
- bytes.push(
1735
- codePoint >> 0xC | 0xE0,
1736
- codePoint >> 0x6 & 0x3F | 0x80,
1737
- codePoint & 0x3F | 0x80
1738
- )
1739
- } else if (codePoint < 0x110000) {
1740
- if ((units -= 4) < 0) break
1741
- bytes.push(
1742
- codePoint >> 0x12 | 0xF0,
1743
- codePoint >> 0xC & 0x3F | 0x80,
1744
- codePoint >> 0x6 & 0x3F | 0x80,
1745
- codePoint & 0x3F | 0x80
1746
- )
1747
- } else {
1748
- throw new Error('Invalid code point')
1749
- }
1750
- }
1751
-
1752
- return bytes
1753
- }
1754
-
1755
- function asciiToBytes (str) {
1756
- var byteArray = []
1757
- for (var i = 0; i < str.length; ++i) {
1758
- // Node's code seems to be doing this and not & 0x7F..
1759
- byteArray.push(str.charCodeAt(i) & 0xFF)
1760
- }
1761
- return byteArray
1762
- }
1763
-
1764
- function utf16leToBytes (str, units) {
1765
- var c, hi, lo
1766
- var byteArray = []
1767
- for (var i = 0; i < str.length; ++i) {
1768
- if ((units -= 2) < 0) break
1769
-
1770
- c = str.charCodeAt(i)
1771
- hi = c >> 8
1772
- lo = c % 256
1773
- byteArray.push(lo)
1774
- byteArray.push(hi)
1775
- }
1776
-
1777
- return byteArray
1778
- }
1779
-
1780
- function base64ToBytes (str) {
1781
- return base64.toByteArray(base64clean(str))
1782
- }
1783
-
1784
- function blitBuffer (src, dst, offset, length) {
1785
- for (var i = 0; i < length; ++i) {
1786
- if ((i + offset >= dst.length) || (i >= src.length)) break
1787
- dst[i + offset] = src[i]
1788
- }
1789
- return i
1790
- }
1791
-
1792
- // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass
1793
- // the `instanceof` check but they should be treated as of that type.
1794
- // See: https://github.com/feross/buffer/issues/166
1795
- function isInstance (obj, type) {
1796
- return obj instanceof type ||
1797
- (obj != null && obj.constructor != null && obj.constructor.name != null &&
1798
- obj.constructor.name === type.name)
1799
- }
1800
- function numberIsNaN (obj) {
1801
- // For IE11 support
1802
- return obj !== obj // eslint-disable-line no-self-compare
1803
- }
1804
-
1805
- // Create lookup table for `toString('hex')`
1806
- // See: https://github.com/feross/buffer/issues/219
1807
- var hexSliceLookupTable = (function () {
1808
- var alphabet = '0123456789abcdef'
1809
- var table = new Array(256)
1810
- for (var i = 0; i < 16; ++i) {
1811
- var i16 = i * 16
1812
- for (var j = 0; j < 16; ++j) {
1813
- table[i16 + j] = alphabet[i] + alphabet[j]
1814
- }
1815
- }
1816
- return table
1817
- })()
1
+ /*!
2
+ * The buffer module from node.js, for the browser.
3
+ *
4
+ * @author Feross Aboukhadijeh <https://feross.org>
5
+ * @license MIT
6
+ */
7
+ /* eslint-disable no-proto */
8
+
9
+ 'use strict'
10
+
11
+ var base64 = require('base64-js')
12
+ var ieee754 = require('ieee754')
13
+ var customInspectSymbol =
14
+ (typeof Symbol === 'function' && typeof Symbol['for'] === 'function') // eslint-disable-line dot-notation
15
+ ? Symbol['for']('nodejs.util.inspect.custom') // eslint-disable-line dot-notation
16
+ : null
17
+
18
+ exports.Buffer = Buffer
19
+ exports.SlowBuffer = SlowBuffer
20
+ exports.INSPECT_MAX_BYTES = 50
21
+
22
+ var K_MAX_LENGTH = 0x7fffffff
23
+ exports.kMaxLength = K_MAX_LENGTH
24
+
25
+ /**
26
+ * If `Buffer.TYPED_ARRAY_SUPPORT`:
27
+ * === true Use Uint8Array implementation (fastest)
28
+ * === false Print warning and recommend using `buffer` v4.x which has an Object
29
+ * implementation (most compatible, even IE6)
30
+ *
31
+ * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,
32
+ * Opera 11.6+, iOS 4.2+.
33
+ *
34
+ * We report that the browser does not support typed arrays if the are not subclassable
35
+ * using __proto__. Firefox 4-29 lacks support for adding new properties to `Uint8Array`
36
+ * (See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438). IE 10 lacks support
37
+ * for __proto__ and has a buggy typed array implementation.
38
+ */
39
+ Buffer.TYPED_ARRAY_SUPPORT = typedArraySupport()
40
+
41
+ if (!Buffer.TYPED_ARRAY_SUPPORT && typeof console !== 'undefined' &&
42
+ typeof console.error === 'function') {
43
+ console.error(
44
+ 'This browser lacks typed array (Uint8Array) support which is required by ' +
45
+ '`buffer` v5.x. Use `buffer` v4.x if you require old browser support.'
46
+ )
47
+ }
48
+
49
+ function typedArraySupport () {
50
+ // Can typed array instances can be augmented?
51
+ try {
52
+ var arr = new Uint8Array(1)
53
+ var proto = { foo: function () { return 42 } }
54
+ Object.setPrototypeOf(proto, Uint8Array.prototype)
55
+ Object.setPrototypeOf(arr, proto)
56
+ return arr.foo() === 42
57
+ } catch (e) {
58
+ return false
59
+ }
60
+ }
61
+
62
+ Object.defineProperty(Buffer.prototype, 'parent', {
63
+ enumerable: true,
64
+ get: function () {
65
+ if (!Buffer.isBuffer(this)) return undefined
66
+ return this.buffer
67
+ }
68
+ })
69
+
70
+ Object.defineProperty(Buffer.prototype, 'offset', {
71
+ enumerable: true,
72
+ get: function () {
73
+ if (!Buffer.isBuffer(this)) return undefined
74
+ return this.byteOffset
75
+ }
76
+ })
77
+
78
+ function createBuffer (length) {
79
+ if (length > K_MAX_LENGTH) {
80
+ throw new RangeError('The value "' + length + '" is invalid for option "size"')
81
+ }
82
+ // Return an augmented `Uint8Array` instance
83
+ var buf = new Uint8Array(length)
84
+ Object.setPrototypeOf(buf, Buffer.prototype)
85
+ return buf
86
+ }
87
+
88
+ /**
89
+ * The Buffer constructor returns instances of `Uint8Array` that have their
90
+ * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of
91
+ * `Uint8Array`, so the returned instances will have all the node `Buffer` methods
92
+ * and the `Uint8Array` methods. Square bracket notation works as expected -- it
93
+ * returns a single octet.
94
+ *
95
+ * The `Uint8Array` prototype remains unmodified.
96
+ */
97
+
98
+ function Buffer (arg, encodingOrOffset, length) {
99
+ // Common case.
100
+ if (typeof arg === 'number') {
101
+ if (typeof encodingOrOffset === 'string') {
102
+ throw new TypeError(
103
+ 'The "string" argument must be of type string. Received type number'
104
+ )
105
+ }
106
+ return allocUnsafe(arg)
107
+ }
108
+ return from(arg, encodingOrOffset, length)
109
+ }
110
+
111
+ Buffer.poolSize = 8192 // not used by this implementation
112
+
113
+ function from (value, encodingOrOffset, length) {
114
+ if (typeof value === 'string') {
115
+ return fromString(value, encodingOrOffset)
116
+ }
117
+
118
+ if (ArrayBuffer.isView(value)) {
119
+ return fromArrayView(value)
120
+ }
121
+
122
+ if (value == null) {
123
+ throw new TypeError(
124
+ 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
125
+ 'or Array-like Object. Received type ' + (typeof value)
126
+ )
127
+ }
128
+
129
+ if (isInstance(value, ArrayBuffer) ||
130
+ (value && isInstance(value.buffer, ArrayBuffer))) {
131
+ return fromArrayBuffer(value, encodingOrOffset, length)
132
+ }
133
+
134
+ if (typeof SharedArrayBuffer !== 'undefined' &&
135
+ (isInstance(value, SharedArrayBuffer) ||
136
+ (value && isInstance(value.buffer, SharedArrayBuffer)))) {
137
+ return fromArrayBuffer(value, encodingOrOffset, length)
138
+ }
139
+
140
+ if (typeof value === 'number') {
141
+ throw new TypeError(
142
+ 'The "value" argument must not be of type number. Received type number'
143
+ )
144
+ }
145
+
146
+ var valueOf = value.valueOf && value.valueOf()
147
+ if (valueOf != null && valueOf !== value) {
148
+ return Buffer.from(valueOf, encodingOrOffset, length)
149
+ }
150
+
151
+ var b = fromObject(value)
152
+ if (b) return b
153
+
154
+ if (typeof Symbol !== 'undefined' && Symbol.toPrimitive != null &&
155
+ typeof value[Symbol.toPrimitive] === 'function') {
156
+ return Buffer.from(
157
+ value[Symbol.toPrimitive]('string'), encodingOrOffset, length
158
+ )
159
+ }
160
+
161
+ throw new TypeError(
162
+ 'The first argument must be one of type string, Buffer, ArrayBuffer, Array, ' +
163
+ 'or Array-like Object. Received type ' + (typeof value)
164
+ )
165
+ }
166
+
167
+ /**
168
+ * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError
169
+ * if value is a number.
170
+ * Buffer.from(str[, encoding])
171
+ * Buffer.from(array)
172
+ * Buffer.from(buffer)
173
+ * Buffer.from(arrayBuffer[, byteOffset[, length]])
174
+ **/
175
+ Buffer.from = function (value, encodingOrOffset, length) {
176
+ return from(value, encodingOrOffset, length)
177
+ }
178
+
179
+ // Note: Change prototype *after* Buffer.from is defined to workaround Chrome bug:
180
+ // https://github.com/feross/buffer/pull/148
181
+ Object.setPrototypeOf(Buffer.prototype, Uint8Array.prototype)
182
+ Object.setPrototypeOf(Buffer, Uint8Array)
183
+
184
+ function assertSize (size) {
185
+ if (typeof size !== 'number') {
186
+ throw new TypeError('"size" argument must be of type number')
187
+ } else if (size < 0) {
188
+ throw new RangeError('The value "' + size + '" is invalid for option "size"')
189
+ }
190
+ }
191
+
192
+ function alloc (size, fill, encoding) {
193
+ assertSize(size)
194
+ if (size <= 0) {
195
+ return createBuffer(size)
196
+ }
197
+ if (fill !== undefined) {
198
+ // Only pay attention to encoding if it's a string. This
199
+ // prevents accidentally sending in a number that would
200
+ // be interpreted as a start offset.
201
+ return typeof encoding === 'string'
202
+ ? createBuffer(size).fill(fill, encoding)
203
+ : createBuffer(size).fill(fill)
204
+ }
205
+ return createBuffer(size)
206
+ }
207
+
208
+ /**
209
+ * Creates a new filled Buffer instance.
210
+ * alloc(size[, fill[, encoding]])
211
+ **/
212
+ Buffer.alloc = function (size, fill, encoding) {
213
+ return alloc(size, fill, encoding)
214
+ }
215
+
216
+ function allocUnsafe (size) {
217
+ assertSize(size)
218
+ return createBuffer(size < 0 ? 0 : checked(size) | 0)
219
+ }
220
+
221
+ /**
222
+ * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.
223
+ * */
224
+ Buffer.allocUnsafe = function (size) {
225
+ return allocUnsafe(size)
226
+ }
227
+ /**
228
+ * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.
229
+ */
230
+ Buffer.allocUnsafeSlow = function (size) {
231
+ return allocUnsafe(size)
232
+ }
233
+
234
+ function fromString (string, encoding) {
235
+ if (typeof encoding !== 'string' || encoding === '') {
236
+ encoding = 'utf8'
237
+ }
238
+
239
+ if (!Buffer.isEncoding(encoding)) {
240
+ throw new TypeError('Unknown encoding: ' + encoding)
241
+ }
242
+
243
+ var length = byteLength(string, encoding) | 0
244
+ var buf = createBuffer(length)
245
+
246
+ var actual = buf.write(string, encoding)
247
+
248
+ if (actual !== length) {
249
+ // Writing a hex string, for example, that contains invalid characters will
250
+ // cause everything after the first invalid character to be ignored. (e.g.
251
+ // 'abxxcd' will be treated as 'ab')
252
+ buf = buf.slice(0, actual)
253
+ }
254
+
255
+ return buf
256
+ }
257
+
258
+ function fromArrayLike (array) {
259
+ var length = array.length < 0 ? 0 : checked(array.length) | 0
260
+ var buf = createBuffer(length)
261
+ for (var i = 0; i < length; i += 1) {
262
+ buf[i] = array[i] & 255
263
+ }
264
+ return buf
265
+ }
266
+
267
+ function fromArrayView (arrayView) {
268
+ if (isInstance(arrayView, Uint8Array)) {
269
+ var copy = new Uint8Array(arrayView)
270
+ return fromArrayBuffer(copy.buffer, copy.byteOffset, copy.byteLength)
271
+ }
272
+ return fromArrayLike(arrayView)
273
+ }
274
+
275
+ function fromArrayBuffer (array, byteOffset, length) {
276
+ if (byteOffset < 0 || array.byteLength < byteOffset) {
277
+ throw new RangeError('"offset" is outside of buffer bounds')
278
+ }
279
+
280
+ if (array.byteLength < byteOffset + (length || 0)) {
281
+ throw new RangeError('"length" is outside of buffer bounds')
282
+ }
283
+
284
+ var buf
285
+ if (byteOffset === undefined && length === undefined) {
286
+ buf = new Uint8Array(array)
287
+ } else if (length === undefined) {
288
+ buf = new Uint8Array(array, byteOffset)
289
+ } else {
290
+ buf = new Uint8Array(array, byteOffset, length)
291
+ }
292
+
293
+ // Return an augmented `Uint8Array` instance
294
+ Object.setPrototypeOf(buf, Buffer.prototype)
295
+
296
+ return buf
297
+ }
298
+
299
+ function fromObject (obj) {
300
+ if (Buffer.isBuffer(obj)) {
301
+ var len = checked(obj.length) | 0
302
+ var buf = createBuffer(len)
303
+
304
+ if (buf.length === 0) {
305
+ return buf
306
+ }
307
+
308
+ obj.copy(buf, 0, 0, len)
309
+ return buf
310
+ }
311
+
312
+ if (obj.length !== undefined) {
313
+ if (typeof obj.length !== 'number' || numberIsNaN(obj.length)) {
314
+ return createBuffer(0)
315
+ }
316
+ return fromArrayLike(obj)
317
+ }
318
+
319
+ if (obj.type === 'Buffer' && Array.isArray(obj.data)) {
320
+ return fromArrayLike(obj.data)
321
+ }
322
+ }
323
+
324
+ function checked (length) {
325
+ // Note: cannot use `length < K_MAX_LENGTH` here because that fails when
326
+ // length is NaN (which is otherwise coerced to zero.)
327
+ if (length >= K_MAX_LENGTH) {
328
+ throw new RangeError('Attempt to allocate Buffer larger than maximum ' +
329
+ 'size: 0x' + K_MAX_LENGTH.toString(16) + ' bytes')
330
+ }
331
+ return length | 0
332
+ }
333
+
334
+ function SlowBuffer (length) {
335
+ if (+length != length) { // eslint-disable-line eqeqeq
336
+ length = 0
337
+ }
338
+ return Buffer.alloc(+length)
339
+ }
340
+
341
+ Buffer.isBuffer = function isBuffer (b) {
342
+ return b != null && b._isBuffer === true &&
343
+ b !== Buffer.prototype // so Buffer.isBuffer(Buffer.prototype) will be false
344
+ }
345
+
346
+ Buffer.compare = function compare (a, b) {
347
+ if (isInstance(a, Uint8Array)) a = Buffer.from(a, a.offset, a.byteLength)
348
+ if (isInstance(b, Uint8Array)) b = Buffer.from(b, b.offset, b.byteLength)
349
+ if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {
350
+ throw new TypeError(
351
+ 'The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array'
352
+ )
353
+ }
354
+
355
+ if (a === b) return 0
356
+
357
+ var x = a.length
358
+ var y = b.length
359
+
360
+ for (var i = 0, len = Math.min(x, y); i < len; ++i) {
361
+ if (a[i] !== b[i]) {
362
+ x = a[i]
363
+ y = b[i]
364
+ break
365
+ }
366
+ }
367
+
368
+ if (x < y) return -1
369
+ if (y < x) return 1
370
+ return 0
371
+ }
372
+
373
+ Buffer.isEncoding = function isEncoding (encoding) {
374
+ switch (String(encoding).toLowerCase()) {
375
+ case 'hex':
376
+ case 'utf8':
377
+ case 'utf-8':
378
+ case 'ascii':
379
+ case 'latin1':
380
+ case 'binary':
381
+ case 'base64':
382
+ case 'ucs2':
383
+ case 'ucs-2':
384
+ case 'utf16le':
385
+ case 'utf-16le':
386
+ return true
387
+ default:
388
+ return false
389
+ }
390
+ }
391
+
392
+ Buffer.concat = function concat (list, length) {
393
+ if (!Array.isArray(list)) {
394
+ throw new TypeError('"list" argument must be an Array of Buffers')
395
+ }
396
+
397
+ if (list.length === 0) {
398
+ return Buffer.alloc(0)
399
+ }
400
+
401
+ var i
402
+ if (length === undefined) {
403
+ length = 0
404
+ for (i = 0; i < list.length; ++i) {
405
+ length += list[i].length
406
+ }
407
+ }
408
+
409
+ var buffer = Buffer.allocUnsafe(length)
410
+ var pos = 0
411
+ for (i = 0; i < list.length; ++i) {
412
+ var buf = list[i]
413
+ if (isInstance(buf, Uint8Array)) {
414
+ if (pos + buf.length > buffer.length) {
415
+ Buffer.from(buf).copy(buffer, pos)
416
+ } else {
417
+ Uint8Array.prototype.set.call(
418
+ buffer,
419
+ buf,
420
+ pos
421
+ )
422
+ }
423
+ } else if (!Buffer.isBuffer(buf)) {
424
+ throw new TypeError('"list" argument must be an Array of Buffers')
425
+ } else {
426
+ buf.copy(buffer, pos)
427
+ }
428
+ pos += buf.length
429
+ }
430
+ return buffer
431
+ }
432
+
433
+ function byteLength (string, encoding) {
434
+ if (Buffer.isBuffer(string)) {
435
+ return string.length
436
+ }
437
+ if (ArrayBuffer.isView(string) || isInstance(string, ArrayBuffer)) {
438
+ return string.byteLength
439
+ }
440
+ if (typeof string !== 'string') {
441
+ throw new TypeError(
442
+ 'The "string" argument must be one of type string, Buffer, or ArrayBuffer. ' +
443
+ 'Received type ' + typeof string
444
+ )
445
+ }
446
+
447
+ var len = string.length
448
+ var mustMatch = (arguments.length > 2 && arguments[2] === true)
449
+ if (!mustMatch && len === 0) return 0
450
+
451
+ // Use a for loop to avoid recursion
452
+ var loweredCase = false
453
+ for (;;) {
454
+ switch (encoding) {
455
+ case 'ascii':
456
+ case 'latin1':
457
+ case 'binary':
458
+ return len
459
+ case 'utf8':
460
+ case 'utf-8':
461
+ return utf8ToBytes(string).length
462
+ case 'ucs2':
463
+ case 'ucs-2':
464
+ case 'utf16le':
465
+ case 'utf-16le':
466
+ return len * 2
467
+ case 'hex':
468
+ return len >>> 1
469
+ case 'base64':
470
+ return base64ToBytes(string).length
471
+ default:
472
+ if (loweredCase) {
473
+ return mustMatch ? -1 : utf8ToBytes(string).length // assume utf8
474
+ }
475
+ encoding = ('' + encoding).toLowerCase()
476
+ loweredCase = true
477
+ }
478
+ }
479
+ }
480
+ Buffer.byteLength = byteLength
481
+
482
+ function slowToString (encoding, start, end) {
483
+ var loweredCase = false
484
+
485
+ // No need to verify that "this.length <= MAX_UINT32" since it's a read-only
486
+ // property of a typed array.
487
+
488
+ // This behaves neither like String nor Uint8Array in that we set start/end
489
+ // to their upper/lower bounds if the value passed is out of range.
490
+ // undefined is handled specially as per ECMA-262 6th Edition,
491
+ // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.
492
+ if (start === undefined || start < 0) {
493
+ start = 0
494
+ }
495
+ // Return early if start > this.length. Done here to prevent potential uint32
496
+ // coercion fail below.
497
+ if (start > this.length) {
498
+ return ''
499
+ }
500
+
501
+ if (end === undefined || end > this.length) {
502
+ end = this.length
503
+ }
504
+
505
+ if (end <= 0) {
506
+ return ''
507
+ }
508
+
509
+ // Force coercion to uint32. This will also coerce falsey/NaN values to 0.
510
+ end >>>= 0
511
+ start >>>= 0
512
+
513
+ if (end <= start) {
514
+ return ''
515
+ }
516
+
517
+ if (!encoding) encoding = 'utf8'
518
+
519
+ while (true) {
520
+ switch (encoding) {
521
+ case 'hex':
522
+ return hexSlice(this, start, end)
523
+
524
+ case 'utf8':
525
+ case 'utf-8':
526
+ return utf8Slice(this, start, end)
527
+
528
+ case 'ascii':
529
+ return asciiSlice(this, start, end)
530
+
531
+ case 'latin1':
532
+ case 'binary':
533
+ return latin1Slice(this, start, end)
534
+
535
+ case 'base64':
536
+ return base64Slice(this, start, end)
537
+
538
+ case 'ucs2':
539
+ case 'ucs-2':
540
+ case 'utf16le':
541
+ case 'utf-16le':
542
+ return utf16leSlice(this, start, end)
543
+
544
+ default:
545
+ if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
546
+ encoding = (encoding + '').toLowerCase()
547
+ loweredCase = true
548
+ }
549
+ }
550
+ }
551
+
552
+ // This property is used by `Buffer.isBuffer` (and the `is-buffer` npm package)
553
+ // to detect a Buffer instance. It's not possible to use `instanceof Buffer`
554
+ // reliably in a browserify context because there could be multiple different
555
+ // copies of the 'buffer' package in use. This method works even for Buffer
556
+ // instances that were created from another copy of the `buffer` package.
557
+ // See: https://github.com/feross/buffer/issues/154
558
+ Buffer.prototype._isBuffer = true
559
+
560
+ function swap (b, n, m) {
561
+ var i = b[n]
562
+ b[n] = b[m]
563
+ b[m] = i
564
+ }
565
+
566
+ Buffer.prototype.swap16 = function swap16 () {
567
+ var len = this.length
568
+ if (len % 2 !== 0) {
569
+ throw new RangeError('Buffer size must be a multiple of 16-bits')
570
+ }
571
+ for (var i = 0; i < len; i += 2) {
572
+ swap(this, i, i + 1)
573
+ }
574
+ return this
575
+ }
576
+
577
+ Buffer.prototype.swap32 = function swap32 () {
578
+ var len = this.length
579
+ if (len % 4 !== 0) {
580
+ throw new RangeError('Buffer size must be a multiple of 32-bits')
581
+ }
582
+ for (var i = 0; i < len; i += 4) {
583
+ swap(this, i, i + 3)
584
+ swap(this, i + 1, i + 2)
585
+ }
586
+ return this
587
+ }
588
+
589
+ Buffer.prototype.swap64 = function swap64 () {
590
+ var len = this.length
591
+ if (len % 8 !== 0) {
592
+ throw new RangeError('Buffer size must be a multiple of 64-bits')
593
+ }
594
+ for (var i = 0; i < len; i += 8) {
595
+ swap(this, i, i + 7)
596
+ swap(this, i + 1, i + 6)
597
+ swap(this, i + 2, i + 5)
598
+ swap(this, i + 3, i + 4)
599
+ }
600
+ return this
601
+ }
602
+
603
+ Buffer.prototype.toString = function toString () {
604
+ var length = this.length
605
+ if (length === 0) return ''
606
+ if (arguments.length === 0) return utf8Slice(this, 0, length)
607
+ return slowToString.apply(this, arguments)
608
+ }
609
+
610
+ Buffer.prototype.toLocaleString = Buffer.prototype.toString
611
+
612
+ Buffer.prototype.equals = function equals (b) {
613
+ if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')
614
+ if (this === b) return true
615
+ return Buffer.compare(this, b) === 0
616
+ }
617
+
618
+ Buffer.prototype.inspect = function inspect () {
619
+ var str = ''
620
+ var max = exports.INSPECT_MAX_BYTES
621
+ str = this.toString('hex', 0, max).replace(/(.{2})/g, '$1 ').trim()
622
+ if (this.length > max) str += ' ... '
623
+ return '<Buffer ' + str + '>'
624
+ }
625
+ if (customInspectSymbol) {
626
+ Buffer.prototype[customInspectSymbol] = Buffer.prototype.inspect
627
+ }
628
+
629
+ Buffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {
630
+ if (isInstance(target, Uint8Array)) {
631
+ target = Buffer.from(target, target.offset, target.byteLength)
632
+ }
633
+ if (!Buffer.isBuffer(target)) {
634
+ throw new TypeError(
635
+ 'The "target" argument must be one of type Buffer or Uint8Array. ' +
636
+ 'Received type ' + (typeof target)
637
+ )
638
+ }
639
+
640
+ if (start === undefined) {
641
+ start = 0
642
+ }
643
+ if (end === undefined) {
644
+ end = target ? target.length : 0
645
+ }
646
+ if (thisStart === undefined) {
647
+ thisStart = 0
648
+ }
649
+ if (thisEnd === undefined) {
650
+ thisEnd = this.length
651
+ }
652
+
653
+ if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {
654
+ throw new RangeError('out of range index')
655
+ }
656
+
657
+ if (thisStart >= thisEnd && start >= end) {
658
+ return 0
659
+ }
660
+ if (thisStart >= thisEnd) {
661
+ return -1
662
+ }
663
+ if (start >= end) {
664
+ return 1
665
+ }
666
+
667
+ start >>>= 0
668
+ end >>>= 0
669
+ thisStart >>>= 0
670
+ thisEnd >>>= 0
671
+
672
+ if (this === target) return 0
673
+
674
+ var x = thisEnd - thisStart
675
+ var y = end - start
676
+ var len = Math.min(x, y)
677
+
678
+ var thisCopy = this.slice(thisStart, thisEnd)
679
+ var targetCopy = target.slice(start, end)
680
+
681
+ for (var i = 0; i < len; ++i) {
682
+ if (thisCopy[i] !== targetCopy[i]) {
683
+ x = thisCopy[i]
684
+ y = targetCopy[i]
685
+ break
686
+ }
687
+ }
688
+
689
+ if (x < y) return -1
690
+ if (y < x) return 1
691
+ return 0
692
+ }
693
+
694
+ // Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,
695
+ // OR the last index of `val` in `buffer` at offset <= `byteOffset`.
696
+ //
697
+ // Arguments:
698
+ // - buffer - a Buffer to search
699
+ // - val - a string, Buffer, or number
700
+ // - byteOffset - an index into `buffer`; will be clamped to an int32
701
+ // - encoding - an optional encoding, relevant is val is a string
702
+ // - dir - true for indexOf, false for lastIndexOf
703
+ function bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {
704
+ // Empty buffer means no match
705
+ if (buffer.length === 0) return -1
706
+
707
+ // Normalize byteOffset
708
+ if (typeof byteOffset === 'string') {
709
+ encoding = byteOffset
710
+ byteOffset = 0
711
+ } else if (byteOffset > 0x7fffffff) {
712
+ byteOffset = 0x7fffffff
713
+ } else if (byteOffset < -0x80000000) {
714
+ byteOffset = -0x80000000
715
+ }
716
+ byteOffset = +byteOffset // Coerce to Number.
717
+ if (numberIsNaN(byteOffset)) {
718
+ // byteOffset: it it's undefined, null, NaN, "foo", etc, search whole buffer
719
+ byteOffset = dir ? 0 : (buffer.length - 1)
720
+ }
721
+
722
+ // Normalize byteOffset: negative offsets start from the end of the buffer
723
+ if (byteOffset < 0) byteOffset = buffer.length + byteOffset
724
+ if (byteOffset >= buffer.length) {
725
+ if (dir) return -1
726
+ else byteOffset = buffer.length - 1
727
+ } else if (byteOffset < 0) {
728
+ if (dir) byteOffset = 0
729
+ else return -1
730
+ }
731
+
732
+ // Normalize val
733
+ if (typeof val === 'string') {
734
+ val = Buffer.from(val, encoding)
735
+ }
736
+
737
+ // Finally, search either indexOf (if dir is true) or lastIndexOf
738
+ if (Buffer.isBuffer(val)) {
739
+ // Special case: looking for empty string/buffer always fails
740
+ if (val.length === 0) {
741
+ return -1
742
+ }
743
+ return arrayIndexOf(buffer, val, byteOffset, encoding, dir)
744
+ } else if (typeof val === 'number') {
745
+ val = val & 0xFF // Search for a byte value [0-255]
746
+ if (typeof Uint8Array.prototype.indexOf === 'function') {
747
+ if (dir) {
748
+ return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)
749
+ } else {
750
+ return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)
751
+ }
752
+ }
753
+ return arrayIndexOf(buffer, [val], byteOffset, encoding, dir)
754
+ }
755
+
756
+ throw new TypeError('val must be string, number or Buffer')
757
+ }
758
+
759
+ function arrayIndexOf (arr, val, byteOffset, encoding, dir) {
760
+ var indexSize = 1
761
+ var arrLength = arr.length
762
+ var valLength = val.length
763
+
764
+ if (encoding !== undefined) {
765
+ encoding = String(encoding).toLowerCase()
766
+ if (encoding === 'ucs2' || encoding === 'ucs-2' ||
767
+ encoding === 'utf16le' || encoding === 'utf-16le') {
768
+ if (arr.length < 2 || val.length < 2) {
769
+ return -1
770
+ }
771
+ indexSize = 2
772
+ arrLength /= 2
773
+ valLength /= 2
774
+ byteOffset /= 2
775
+ }
776
+ }
777
+
778
+ function read (buf, i) {
779
+ if (indexSize === 1) {
780
+ return buf[i]
781
+ } else {
782
+ return buf.readUInt16BE(i * indexSize)
783
+ }
784
+ }
785
+
786
+ var i
787
+ if (dir) {
788
+ var foundIndex = -1
789
+ for (i = byteOffset; i < arrLength; i++) {
790
+ if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {
791
+ if (foundIndex === -1) foundIndex = i
792
+ if (i - foundIndex + 1 === valLength) return foundIndex * indexSize
793
+ } else {
794
+ if (foundIndex !== -1) i -= i - foundIndex
795
+ foundIndex = -1
796
+ }
797
+ }
798
+ } else {
799
+ if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength
800
+ for (i = byteOffset; i >= 0; i--) {
801
+ var found = true
802
+ for (var j = 0; j < valLength; j++) {
803
+ if (read(arr, i + j) !== read(val, j)) {
804
+ found = false
805
+ break
806
+ }
807
+ }
808
+ if (found) return i
809
+ }
810
+ }
811
+
812
+ return -1
813
+ }
814
+
815
+ Buffer.prototype.includes = function includes (val, byteOffset, encoding) {
816
+ return this.indexOf(val, byteOffset, encoding) !== -1
817
+ }
818
+
819
+ Buffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {
820
+ return bidirectionalIndexOf(this, val, byteOffset, encoding, true)
821
+ }
822
+
823
+ Buffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {
824
+ return bidirectionalIndexOf(this, val, byteOffset, encoding, false)
825
+ }
826
+
827
+ function hexWrite (buf, string, offset, length) {
828
+ offset = Number(offset) || 0
829
+ var remaining = buf.length - offset
830
+ if (!length) {
831
+ length = remaining
832
+ } else {
833
+ length = Number(length)
834
+ if (length > remaining) {
835
+ length = remaining
836
+ }
837
+ }
838
+
839
+ var strLen = string.length
840
+
841
+ if (length > strLen / 2) {
842
+ length = strLen / 2
843
+ }
844
+ for (var i = 0; i < length; ++i) {
845
+ var parsed = parseInt(string.substr(i * 2, 2), 16)
846
+ if (numberIsNaN(parsed)) return i
847
+ buf[offset + i] = parsed
848
+ }
849
+ return i
850
+ }
851
+
852
+ function utf8Write (buf, string, offset, length) {
853
+ return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)
854
+ }
855
+
856
+ function asciiWrite (buf, string, offset, length) {
857
+ return blitBuffer(asciiToBytes(string), buf, offset, length)
858
+ }
859
+
860
+ function base64Write (buf, string, offset, length) {
861
+ return blitBuffer(base64ToBytes(string), buf, offset, length)
862
+ }
863
+
864
+ function ucs2Write (buf, string, offset, length) {
865
+ return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)
866
+ }
867
+
868
+ Buffer.prototype.write = function write (string, offset, length, encoding) {
869
+ // Buffer#write(string)
870
+ if (offset === undefined) {
871
+ encoding = 'utf8'
872
+ length = this.length
873
+ offset = 0
874
+ // Buffer#write(string, encoding)
875
+ } else if (length === undefined && typeof offset === 'string') {
876
+ encoding = offset
877
+ length = this.length
878
+ offset = 0
879
+ // Buffer#write(string, offset[, length][, encoding])
880
+ } else if (isFinite(offset)) {
881
+ offset = offset >>> 0
882
+ if (isFinite(length)) {
883
+ length = length >>> 0
884
+ if (encoding === undefined) encoding = 'utf8'
885
+ } else {
886
+ encoding = length
887
+ length = undefined
888
+ }
889
+ } else {
890
+ throw new Error(
891
+ 'Buffer.write(string, encoding, offset[, length]) is no longer supported'
892
+ )
893
+ }
894
+
895
+ var remaining = this.length - offset
896
+ if (length === undefined || length > remaining) length = remaining
897
+
898
+ if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {
899
+ throw new RangeError('Attempt to write outside buffer bounds')
900
+ }
901
+
902
+ if (!encoding) encoding = 'utf8'
903
+
904
+ var loweredCase = false
905
+ for (;;) {
906
+ switch (encoding) {
907
+ case 'hex':
908
+ return hexWrite(this, string, offset, length)
909
+
910
+ case 'utf8':
911
+ case 'utf-8':
912
+ return utf8Write(this, string, offset, length)
913
+
914
+ case 'ascii':
915
+ case 'latin1':
916
+ case 'binary':
917
+ return asciiWrite(this, string, offset, length)
918
+
919
+ case 'base64':
920
+ // Warning: maxLength not taken into account in base64Write
921
+ return base64Write(this, string, offset, length)
922
+
923
+ case 'ucs2':
924
+ case 'ucs-2':
925
+ case 'utf16le':
926
+ case 'utf-16le':
927
+ return ucs2Write(this, string, offset, length)
928
+
929
+ default:
930
+ if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)
931
+ encoding = ('' + encoding).toLowerCase()
932
+ loweredCase = true
933
+ }
934
+ }
935
+ }
936
+
937
+ Buffer.prototype.toJSON = function toJSON () {
938
+ return {
939
+ type: 'Buffer',
940
+ data: Array.prototype.slice.call(this._arr || this, 0)
941
+ }
942
+ }
943
+
944
+ function base64Slice (buf, start, end) {
945
+ if (start === 0 && end === buf.length) {
946
+ return base64.fromByteArray(buf)
947
+ } else {
948
+ return base64.fromByteArray(buf.slice(start, end))
949
+ }
950
+ }
951
+
952
+ function utf8Slice (buf, start, end) {
953
+ end = Math.min(buf.length, end)
954
+ var res = []
955
+
956
+ var i = start
957
+ while (i < end) {
958
+ var firstByte = buf[i]
959
+ var codePoint = null
960
+ var bytesPerSequence = (firstByte > 0xEF)
961
+ ? 4
962
+ : (firstByte > 0xDF)
963
+ ? 3
964
+ : (firstByte > 0xBF)
965
+ ? 2
966
+ : 1
967
+
968
+ if (i + bytesPerSequence <= end) {
969
+ var secondByte, thirdByte, fourthByte, tempCodePoint
970
+
971
+ switch (bytesPerSequence) {
972
+ case 1:
973
+ if (firstByte < 0x80) {
974
+ codePoint = firstByte
975
+ }
976
+ break
977
+ case 2:
978
+ secondByte = buf[i + 1]
979
+ if ((secondByte & 0xC0) === 0x80) {
980
+ tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)
981
+ if (tempCodePoint > 0x7F) {
982
+ codePoint = tempCodePoint
983
+ }
984
+ }
985
+ break
986
+ case 3:
987
+ secondByte = buf[i + 1]
988
+ thirdByte = buf[i + 2]
989
+ if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {
990
+ tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)
991
+ if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {
992
+ codePoint = tempCodePoint
993
+ }
994
+ }
995
+ break
996
+ case 4:
997
+ secondByte = buf[i + 1]
998
+ thirdByte = buf[i + 2]
999
+ fourthByte = buf[i + 3]
1000
+ if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {
1001
+ tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)
1002
+ if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {
1003
+ codePoint = tempCodePoint
1004
+ }
1005
+ }
1006
+ }
1007
+ }
1008
+
1009
+ if (codePoint === null) {
1010
+ // we did not generate a valid codePoint so insert a
1011
+ // replacement char (U+FFFD) and advance only 1 byte
1012
+ codePoint = 0xFFFD
1013
+ bytesPerSequence = 1
1014
+ } else if (codePoint > 0xFFFF) {
1015
+ // encode to utf16 (surrogate pair dance)
1016
+ codePoint -= 0x10000
1017
+ res.push(codePoint >>> 10 & 0x3FF | 0xD800)
1018
+ codePoint = 0xDC00 | codePoint & 0x3FF
1019
+ }
1020
+
1021
+ res.push(codePoint)
1022
+ i += bytesPerSequence
1023
+ }
1024
+
1025
+ return decodeCodePointsArray(res)
1026
+ }
1027
+
1028
+ // Based on http://stackoverflow.com/a/22747272/680742, the browser with
1029
+ // the lowest limit is Chrome, with 0x10000 args.
1030
+ // We go 1 magnitude less, for safety
1031
+ var MAX_ARGUMENTS_LENGTH = 0x1000
1032
+
1033
+ function decodeCodePointsArray (codePoints) {
1034
+ var len = codePoints.length
1035
+ if (len <= MAX_ARGUMENTS_LENGTH) {
1036
+ return String.fromCharCode.apply(String, codePoints) // avoid extra slice()
1037
+ }
1038
+
1039
+ // Decode in chunks to avoid "call stack size exceeded".
1040
+ var res = ''
1041
+ var i = 0
1042
+ while (i < len) {
1043
+ res += String.fromCharCode.apply(
1044
+ String,
1045
+ codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)
1046
+ )
1047
+ }
1048
+ return res
1049
+ }
1050
+
1051
+ function asciiSlice (buf, start, end) {
1052
+ var ret = ''
1053
+ end = Math.min(buf.length, end)
1054
+
1055
+ for (var i = start; i < end; ++i) {
1056
+ ret += String.fromCharCode(buf[i] & 0x7F)
1057
+ }
1058
+ return ret
1059
+ }
1060
+
1061
+ function latin1Slice (buf, start, end) {
1062
+ var ret = ''
1063
+ end = Math.min(buf.length, end)
1064
+
1065
+ for (var i = start; i < end; ++i) {
1066
+ ret += String.fromCharCode(buf[i])
1067
+ }
1068
+ return ret
1069
+ }
1070
+
1071
+ function hexSlice (buf, start, end) {
1072
+ var len = buf.length
1073
+
1074
+ if (!start || start < 0) start = 0
1075
+ if (!end || end < 0 || end > len) end = len
1076
+
1077
+ var out = ''
1078
+ for (var i = start; i < end; ++i) {
1079
+ out += hexSliceLookupTable[buf[i]]
1080
+ }
1081
+ return out
1082
+ }
1083
+
1084
+ function utf16leSlice (buf, start, end) {
1085
+ var bytes = buf.slice(start, end)
1086
+ var res = ''
1087
+ // If bytes.length is odd, the last 8 bits must be ignored (same as node.js)
1088
+ for (var i = 0; i < bytes.length - 1; i += 2) {
1089
+ res += String.fromCharCode(bytes[i] + (bytes[i + 1] * 256))
1090
+ }
1091
+ return res
1092
+ }
1093
+
1094
+ Buffer.prototype.slice = function slice (start, end) {
1095
+ var len = this.length
1096
+ start = ~~start
1097
+ end = end === undefined ? len : ~~end
1098
+
1099
+ if (start < 0) {
1100
+ start += len
1101
+ if (start < 0) start = 0
1102
+ } else if (start > len) {
1103
+ start = len
1104
+ }
1105
+
1106
+ if (end < 0) {
1107
+ end += len
1108
+ if (end < 0) end = 0
1109
+ } else if (end > len) {
1110
+ end = len
1111
+ }
1112
+
1113
+ if (end < start) end = start
1114
+
1115
+ var newBuf = this.subarray(start, end)
1116
+ // Return an augmented `Uint8Array` instance
1117
+ Object.setPrototypeOf(newBuf, Buffer.prototype)
1118
+
1119
+ return newBuf
1120
+ }
1121
+
1122
+ /*
1123
+ * Need to make sure that buffer isn't trying to write out of bounds.
1124
+ */
1125
+ function checkOffset (offset, ext, length) {
1126
+ if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')
1127
+ if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')
1128
+ }
1129
+
1130
+ Buffer.prototype.readUintLE =
1131
+ Buffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {
1132
+ offset = offset >>> 0
1133
+ byteLength = byteLength >>> 0
1134
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
1135
+
1136
+ var val = this[offset]
1137
+ var mul = 1
1138
+ var i = 0
1139
+ while (++i < byteLength && (mul *= 0x100)) {
1140
+ val += this[offset + i] * mul
1141
+ }
1142
+
1143
+ return val
1144
+ }
1145
+
1146
+ Buffer.prototype.readUintBE =
1147
+ Buffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {
1148
+ offset = offset >>> 0
1149
+ byteLength = byteLength >>> 0
1150
+ if (!noAssert) {
1151
+ checkOffset(offset, byteLength, this.length)
1152
+ }
1153
+
1154
+ var val = this[offset + --byteLength]
1155
+ var mul = 1
1156
+ while (byteLength > 0 && (mul *= 0x100)) {
1157
+ val += this[offset + --byteLength] * mul
1158
+ }
1159
+
1160
+ return val
1161
+ }
1162
+
1163
+ Buffer.prototype.readUint8 =
1164
+ Buffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {
1165
+ offset = offset >>> 0
1166
+ if (!noAssert) checkOffset(offset, 1, this.length)
1167
+ return this[offset]
1168
+ }
1169
+
1170
+ Buffer.prototype.readUint16LE =
1171
+ Buffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {
1172
+ offset = offset >>> 0
1173
+ if (!noAssert) checkOffset(offset, 2, this.length)
1174
+ return this[offset] | (this[offset + 1] << 8)
1175
+ }
1176
+
1177
+ Buffer.prototype.readUint16BE =
1178
+ Buffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {
1179
+ offset = offset >>> 0
1180
+ if (!noAssert) checkOffset(offset, 2, this.length)
1181
+ return (this[offset] << 8) | this[offset + 1]
1182
+ }
1183
+
1184
+ Buffer.prototype.readUint32LE =
1185
+ Buffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {
1186
+ offset = offset >>> 0
1187
+ if (!noAssert) checkOffset(offset, 4, this.length)
1188
+
1189
+ return ((this[offset]) |
1190
+ (this[offset + 1] << 8) |
1191
+ (this[offset + 2] << 16)) +
1192
+ (this[offset + 3] * 0x1000000)
1193
+ }
1194
+
1195
+ Buffer.prototype.readUint32BE =
1196
+ Buffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {
1197
+ offset = offset >>> 0
1198
+ if (!noAssert) checkOffset(offset, 4, this.length)
1199
+
1200
+ return (this[offset] * 0x1000000) +
1201
+ ((this[offset + 1] << 16) |
1202
+ (this[offset + 2] << 8) |
1203
+ this[offset + 3])
1204
+ }
1205
+
1206
+ Buffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {
1207
+ offset = offset >>> 0
1208
+ byteLength = byteLength >>> 0
1209
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
1210
+
1211
+ var val = this[offset]
1212
+ var mul = 1
1213
+ var i = 0
1214
+ while (++i < byteLength && (mul *= 0x100)) {
1215
+ val += this[offset + i] * mul
1216
+ }
1217
+ mul *= 0x80
1218
+
1219
+ if (val >= mul) val -= Math.pow(2, 8 * byteLength)
1220
+
1221
+ return val
1222
+ }
1223
+
1224
+ Buffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {
1225
+ offset = offset >>> 0
1226
+ byteLength = byteLength >>> 0
1227
+ if (!noAssert) checkOffset(offset, byteLength, this.length)
1228
+
1229
+ var i = byteLength
1230
+ var mul = 1
1231
+ var val = this[offset + --i]
1232
+ while (i > 0 && (mul *= 0x100)) {
1233
+ val += this[offset + --i] * mul
1234
+ }
1235
+ mul *= 0x80
1236
+
1237
+ if (val >= mul) val -= Math.pow(2, 8 * byteLength)
1238
+
1239
+ return val
1240
+ }
1241
+
1242
+ Buffer.prototype.readInt8 = function readInt8 (offset, noAssert) {
1243
+ offset = offset >>> 0
1244
+ if (!noAssert) checkOffset(offset, 1, this.length)
1245
+ if (!(this[offset] & 0x80)) return (this[offset])
1246
+ return ((0xff - this[offset] + 1) * -1)
1247
+ }
1248
+
1249
+ Buffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {
1250
+ offset = offset >>> 0
1251
+ if (!noAssert) checkOffset(offset, 2, this.length)
1252
+ var val = this[offset] | (this[offset + 1] << 8)
1253
+ return (val & 0x8000) ? val | 0xFFFF0000 : val
1254
+ }
1255
+
1256
+ Buffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {
1257
+ offset = offset >>> 0
1258
+ if (!noAssert) checkOffset(offset, 2, this.length)
1259
+ var val = this[offset + 1] | (this[offset] << 8)
1260
+ return (val & 0x8000) ? val | 0xFFFF0000 : val
1261
+ }
1262
+
1263
+ Buffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {
1264
+ offset = offset >>> 0
1265
+ if (!noAssert) checkOffset(offset, 4, this.length)
1266
+
1267
+ return (this[offset]) |
1268
+ (this[offset + 1] << 8) |
1269
+ (this[offset + 2] << 16) |
1270
+ (this[offset + 3] << 24)
1271
+ }
1272
+
1273
+ Buffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {
1274
+ offset = offset >>> 0
1275
+ if (!noAssert) checkOffset(offset, 4, this.length)
1276
+
1277
+ return (this[offset] << 24) |
1278
+ (this[offset + 1] << 16) |
1279
+ (this[offset + 2] << 8) |
1280
+ (this[offset + 3])
1281
+ }
1282
+
1283
+ Buffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {
1284
+ offset = offset >>> 0
1285
+ if (!noAssert) checkOffset(offset, 4, this.length)
1286
+ return ieee754.read(this, offset, true, 23, 4)
1287
+ }
1288
+
1289
+ Buffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {
1290
+ offset = offset >>> 0
1291
+ if (!noAssert) checkOffset(offset, 4, this.length)
1292
+ return ieee754.read(this, offset, false, 23, 4)
1293
+ }
1294
+
1295
+ Buffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {
1296
+ offset = offset >>> 0
1297
+ if (!noAssert) checkOffset(offset, 8, this.length)
1298
+ return ieee754.read(this, offset, true, 52, 8)
1299
+ }
1300
+
1301
+ Buffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {
1302
+ offset = offset >>> 0
1303
+ if (!noAssert) checkOffset(offset, 8, this.length)
1304
+ return ieee754.read(this, offset, false, 52, 8)
1305
+ }
1306
+
1307
+ function checkInt (buf, value, offset, ext, max, min) {
1308
+ if (!Buffer.isBuffer(buf)) throw new TypeError('"buffer" argument must be a Buffer instance')
1309
+ if (value > max || value < min) throw new RangeError('"value" argument is out of bounds')
1310
+ if (offset + ext > buf.length) throw new RangeError('Index out of range')
1311
+ }
1312
+
1313
+ Buffer.prototype.writeUintLE =
1314
+ Buffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {
1315
+ value = +value
1316
+ offset = offset >>> 0
1317
+ byteLength = byteLength >>> 0
1318
+ if (!noAssert) {
1319
+ var maxBytes = Math.pow(2, 8 * byteLength) - 1
1320
+ checkInt(this, value, offset, byteLength, maxBytes, 0)
1321
+ }
1322
+
1323
+ var mul = 1
1324
+ var i = 0
1325
+ this[offset] = value & 0xFF
1326
+ while (++i < byteLength && (mul *= 0x100)) {
1327
+ this[offset + i] = (value / mul) & 0xFF
1328
+ }
1329
+
1330
+ return offset + byteLength
1331
+ }
1332
+
1333
+ Buffer.prototype.writeUintBE =
1334
+ Buffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {
1335
+ value = +value
1336
+ offset = offset >>> 0
1337
+ byteLength = byteLength >>> 0
1338
+ if (!noAssert) {
1339
+ var maxBytes = Math.pow(2, 8 * byteLength) - 1
1340
+ checkInt(this, value, offset, byteLength, maxBytes, 0)
1341
+ }
1342
+
1343
+ var i = byteLength - 1
1344
+ var mul = 1
1345
+ this[offset + i] = value & 0xFF
1346
+ while (--i >= 0 && (mul *= 0x100)) {
1347
+ this[offset + i] = (value / mul) & 0xFF
1348
+ }
1349
+
1350
+ return offset + byteLength
1351
+ }
1352
+
1353
+ Buffer.prototype.writeUint8 =
1354
+ Buffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {
1355
+ value = +value
1356
+ offset = offset >>> 0
1357
+ if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)
1358
+ this[offset] = (value & 0xff)
1359
+ return offset + 1
1360
+ }
1361
+
1362
+ Buffer.prototype.writeUint16LE =
1363
+ Buffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {
1364
+ value = +value
1365
+ offset = offset >>> 0
1366
+ if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
1367
+ this[offset] = (value & 0xff)
1368
+ this[offset + 1] = (value >>> 8)
1369
+ return offset + 2
1370
+ }
1371
+
1372
+ Buffer.prototype.writeUint16BE =
1373
+ Buffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {
1374
+ value = +value
1375
+ offset = offset >>> 0
1376
+ if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)
1377
+ this[offset] = (value >>> 8)
1378
+ this[offset + 1] = (value & 0xff)
1379
+ return offset + 2
1380
+ }
1381
+
1382
+ Buffer.prototype.writeUint32LE =
1383
+ Buffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {
1384
+ value = +value
1385
+ offset = offset >>> 0
1386
+ if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
1387
+ this[offset + 3] = (value >>> 24)
1388
+ this[offset + 2] = (value >>> 16)
1389
+ this[offset + 1] = (value >>> 8)
1390
+ this[offset] = (value & 0xff)
1391
+ return offset + 4
1392
+ }
1393
+
1394
+ Buffer.prototype.writeUint32BE =
1395
+ Buffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {
1396
+ value = +value
1397
+ offset = offset >>> 0
1398
+ if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)
1399
+ this[offset] = (value >>> 24)
1400
+ this[offset + 1] = (value >>> 16)
1401
+ this[offset + 2] = (value >>> 8)
1402
+ this[offset + 3] = (value & 0xff)
1403
+ return offset + 4
1404
+ }
1405
+
1406
+ Buffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {
1407
+ value = +value
1408
+ offset = offset >>> 0
1409
+ if (!noAssert) {
1410
+ var limit = Math.pow(2, (8 * byteLength) - 1)
1411
+
1412
+ checkInt(this, value, offset, byteLength, limit - 1, -limit)
1413
+ }
1414
+
1415
+ var i = 0
1416
+ var mul = 1
1417
+ var sub = 0
1418
+ this[offset] = value & 0xFF
1419
+ while (++i < byteLength && (mul *= 0x100)) {
1420
+ if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {
1421
+ sub = 1
1422
+ }
1423
+ this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
1424
+ }
1425
+
1426
+ return offset + byteLength
1427
+ }
1428
+
1429
+ Buffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {
1430
+ value = +value
1431
+ offset = offset >>> 0
1432
+ if (!noAssert) {
1433
+ var limit = Math.pow(2, (8 * byteLength) - 1)
1434
+
1435
+ checkInt(this, value, offset, byteLength, limit - 1, -limit)
1436
+ }
1437
+
1438
+ var i = byteLength - 1
1439
+ var mul = 1
1440
+ var sub = 0
1441
+ this[offset + i] = value & 0xFF
1442
+ while (--i >= 0 && (mul *= 0x100)) {
1443
+ if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {
1444
+ sub = 1
1445
+ }
1446
+ this[offset + i] = ((value / mul) >> 0) - sub & 0xFF
1447
+ }
1448
+
1449
+ return offset + byteLength
1450
+ }
1451
+
1452
+ Buffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {
1453
+ value = +value
1454
+ offset = offset >>> 0
1455
+ if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)
1456
+ if (value < 0) value = 0xff + value + 1
1457
+ this[offset] = (value & 0xff)
1458
+ return offset + 1
1459
+ }
1460
+
1461
+ Buffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {
1462
+ value = +value
1463
+ offset = offset >>> 0
1464
+ if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
1465
+ this[offset] = (value & 0xff)
1466
+ this[offset + 1] = (value >>> 8)
1467
+ return offset + 2
1468
+ }
1469
+
1470
+ Buffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {
1471
+ value = +value
1472
+ offset = offset >>> 0
1473
+ if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)
1474
+ this[offset] = (value >>> 8)
1475
+ this[offset + 1] = (value & 0xff)
1476
+ return offset + 2
1477
+ }
1478
+
1479
+ Buffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {
1480
+ value = +value
1481
+ offset = offset >>> 0
1482
+ if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
1483
+ this[offset] = (value & 0xff)
1484
+ this[offset + 1] = (value >>> 8)
1485
+ this[offset + 2] = (value >>> 16)
1486
+ this[offset + 3] = (value >>> 24)
1487
+ return offset + 4
1488
+ }
1489
+
1490
+ Buffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {
1491
+ value = +value
1492
+ offset = offset >>> 0
1493
+ if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)
1494
+ if (value < 0) value = 0xffffffff + value + 1
1495
+ this[offset] = (value >>> 24)
1496
+ this[offset + 1] = (value >>> 16)
1497
+ this[offset + 2] = (value >>> 8)
1498
+ this[offset + 3] = (value & 0xff)
1499
+ return offset + 4
1500
+ }
1501
+
1502
+ function checkIEEE754 (buf, value, offset, ext, max, min) {
1503
+ if (offset + ext > buf.length) throw new RangeError('Index out of range')
1504
+ if (offset < 0) throw new RangeError('Index out of range')
1505
+ }
1506
+
1507
+ function writeFloat (buf, value, offset, littleEndian, noAssert) {
1508
+ value = +value
1509
+ offset = offset >>> 0
1510
+ if (!noAssert) {
1511
+ checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)
1512
+ }
1513
+ ieee754.write(buf, value, offset, littleEndian, 23, 4)
1514
+ return offset + 4
1515
+ }
1516
+
1517
+ Buffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {
1518
+ return writeFloat(this, value, offset, true, noAssert)
1519
+ }
1520
+
1521
+ Buffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {
1522
+ return writeFloat(this, value, offset, false, noAssert)
1523
+ }
1524
+
1525
+ function writeDouble (buf, value, offset, littleEndian, noAssert) {
1526
+ value = +value
1527
+ offset = offset >>> 0
1528
+ if (!noAssert) {
1529
+ checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)
1530
+ }
1531
+ ieee754.write(buf, value, offset, littleEndian, 52, 8)
1532
+ return offset + 8
1533
+ }
1534
+
1535
+ Buffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {
1536
+ return writeDouble(this, value, offset, true, noAssert)
1537
+ }
1538
+
1539
+ Buffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {
1540
+ return writeDouble(this, value, offset, false, noAssert)
1541
+ }
1542
+
1543
+ // copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)
1544
+ Buffer.prototype.copy = function copy (target, targetStart, start, end) {
1545
+ if (!Buffer.isBuffer(target)) throw new TypeError('argument should be a Buffer')
1546
+ if (!start) start = 0
1547
+ if (!end && end !== 0) end = this.length
1548
+ if (targetStart >= target.length) targetStart = target.length
1549
+ if (!targetStart) targetStart = 0
1550
+ if (end > 0 && end < start) end = start
1551
+
1552
+ // Copy 0 bytes; we're done
1553
+ if (end === start) return 0
1554
+ if (target.length === 0 || this.length === 0) return 0
1555
+
1556
+ // Fatal error conditions
1557
+ if (targetStart < 0) {
1558
+ throw new RangeError('targetStart out of bounds')
1559
+ }
1560
+ if (start < 0 || start >= this.length) throw new RangeError('Index out of range')
1561
+ if (end < 0) throw new RangeError('sourceEnd out of bounds')
1562
+
1563
+ // Are we oob?
1564
+ if (end > this.length) end = this.length
1565
+ if (target.length - targetStart < end - start) {
1566
+ end = target.length - targetStart + start
1567
+ }
1568
+
1569
+ var len = end - start
1570
+
1571
+ if (this === target && typeof Uint8Array.prototype.copyWithin === 'function') {
1572
+ // Use built-in when available, missing from IE11
1573
+ this.copyWithin(targetStart, start, end)
1574
+ } else {
1575
+ Uint8Array.prototype.set.call(
1576
+ target,
1577
+ this.subarray(start, end),
1578
+ targetStart
1579
+ )
1580
+ }
1581
+
1582
+ return len
1583
+ }
1584
+
1585
+ // Usage:
1586
+ // buffer.fill(number[, offset[, end]])
1587
+ // buffer.fill(buffer[, offset[, end]])
1588
+ // buffer.fill(string[, offset[, end]][, encoding])
1589
+ Buffer.prototype.fill = function fill (val, start, end, encoding) {
1590
+ // Handle string cases:
1591
+ if (typeof val === 'string') {
1592
+ if (typeof start === 'string') {
1593
+ encoding = start
1594
+ start = 0
1595
+ end = this.length
1596
+ } else if (typeof end === 'string') {
1597
+ encoding = end
1598
+ end = this.length
1599
+ }
1600
+ if (encoding !== undefined && typeof encoding !== 'string') {
1601
+ throw new TypeError('encoding must be a string')
1602
+ }
1603
+ if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {
1604
+ throw new TypeError('Unknown encoding: ' + encoding)
1605
+ }
1606
+ if (val.length === 1) {
1607
+ var code = val.charCodeAt(0)
1608
+ if ((encoding === 'utf8' && code < 128) ||
1609
+ encoding === 'latin1') {
1610
+ // Fast path: If `val` fits into a single byte, use that numeric value.
1611
+ val = code
1612
+ }
1613
+ }
1614
+ } else if (typeof val === 'number') {
1615
+ val = val & 255
1616
+ } else if (typeof val === 'boolean') {
1617
+ val = Number(val)
1618
+ }
1619
+
1620
+ // Invalid ranges are not set to a default, so can range check early.
1621
+ if (start < 0 || this.length < start || this.length < end) {
1622
+ throw new RangeError('Out of range index')
1623
+ }
1624
+
1625
+ if (end <= start) {
1626
+ return this
1627
+ }
1628
+
1629
+ start = start >>> 0
1630
+ end = end === undefined ? this.length : end >>> 0
1631
+
1632
+ if (!val) val = 0
1633
+
1634
+ var i
1635
+ if (typeof val === 'number') {
1636
+ for (i = start; i < end; ++i) {
1637
+ this[i] = val
1638
+ }
1639
+ } else {
1640
+ var bytes = Buffer.isBuffer(val)
1641
+ ? val
1642
+ : Buffer.from(val, encoding)
1643
+ var len = bytes.length
1644
+ if (len === 0) {
1645
+ throw new TypeError('The value "' + val +
1646
+ '" is invalid for argument "value"')
1647
+ }
1648
+ for (i = 0; i < end - start; ++i) {
1649
+ this[i + start] = bytes[i % len]
1650
+ }
1651
+ }
1652
+
1653
+ return this
1654
+ }
1655
+
1656
+ // HELPER FUNCTIONS
1657
+ // ================
1658
+
1659
+ var INVALID_BASE64_RE = /[^+/0-9A-Za-z-_]/g
1660
+
1661
+ function base64clean (str) {
1662
+ // Node takes equal signs as end of the Base64 encoding
1663
+ str = str.split('=')[0]
1664
+ // Node strips out invalid characters like \n and \t from the string, base64-js does not
1665
+ str = str.trim().replace(INVALID_BASE64_RE, '')
1666
+ // Node converts strings with length < 2 to ''
1667
+ if (str.length < 2) return ''
1668
+ // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not
1669
+ while (str.length % 4 !== 0) {
1670
+ str = str + '='
1671
+ }
1672
+ return str
1673
+ }
1674
+
1675
+ function utf8ToBytes (string, units) {
1676
+ units = units || Infinity
1677
+ var codePoint
1678
+ var length = string.length
1679
+ var leadSurrogate = null
1680
+ var bytes = []
1681
+
1682
+ for (var i = 0; i < length; ++i) {
1683
+ codePoint = string.charCodeAt(i)
1684
+
1685
+ // is surrogate component
1686
+ if (codePoint > 0xD7FF && codePoint < 0xE000) {
1687
+ // last char was a lead
1688
+ if (!leadSurrogate) {
1689
+ // no lead yet
1690
+ if (codePoint > 0xDBFF) {
1691
+ // unexpected trail
1692
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1693
+ continue
1694
+ } else if (i + 1 === length) {
1695
+ // unpaired lead
1696
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1697
+ continue
1698
+ }
1699
+
1700
+ // valid lead
1701
+ leadSurrogate = codePoint
1702
+
1703
+ continue
1704
+ }
1705
+
1706
+ // 2 leads in a row
1707
+ if (codePoint < 0xDC00) {
1708
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1709
+ leadSurrogate = codePoint
1710
+ continue
1711
+ }
1712
+
1713
+ // valid surrogate pair
1714
+ codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000
1715
+ } else if (leadSurrogate) {
1716
+ // valid bmp char, but last char was a lead
1717
+ if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)
1718
+ }
1719
+
1720
+ leadSurrogate = null
1721
+
1722
+ // encode utf8
1723
+ if (codePoint < 0x80) {
1724
+ if ((units -= 1) < 0) break
1725
+ bytes.push(codePoint)
1726
+ } else if (codePoint < 0x800) {
1727
+ if ((units -= 2) < 0) break
1728
+ bytes.push(
1729
+ codePoint >> 0x6 | 0xC0,
1730
+ codePoint & 0x3F | 0x80
1731
+ )
1732
+ } else if (codePoint < 0x10000) {
1733
+ if ((units -= 3) < 0) break
1734
+ bytes.push(
1735
+ codePoint >> 0xC | 0xE0,
1736
+ codePoint >> 0x6 & 0x3F | 0x80,
1737
+ codePoint & 0x3F | 0x80
1738
+ )
1739
+ } else if (codePoint < 0x110000) {
1740
+ if ((units -= 4) < 0) break
1741
+ bytes.push(
1742
+ codePoint >> 0x12 | 0xF0,
1743
+ codePoint >> 0xC & 0x3F | 0x80,
1744
+ codePoint >> 0x6 & 0x3F | 0x80,
1745
+ codePoint & 0x3F | 0x80
1746
+ )
1747
+ } else {
1748
+ throw new Error('Invalid code point')
1749
+ }
1750
+ }
1751
+
1752
+ return bytes
1753
+ }
1754
+
1755
+ function asciiToBytes (str) {
1756
+ var byteArray = []
1757
+ for (var i = 0; i < str.length; ++i) {
1758
+ // Node's code seems to be doing this and not & 0x7F..
1759
+ byteArray.push(str.charCodeAt(i) & 0xFF)
1760
+ }
1761
+ return byteArray
1762
+ }
1763
+
1764
+ function utf16leToBytes (str, units) {
1765
+ var c, hi, lo
1766
+ var byteArray = []
1767
+ for (var i = 0; i < str.length; ++i) {
1768
+ if ((units -= 2) < 0) break
1769
+
1770
+ c = str.charCodeAt(i)
1771
+ hi = c >> 8
1772
+ lo = c % 256
1773
+ byteArray.push(lo)
1774
+ byteArray.push(hi)
1775
+ }
1776
+
1777
+ return byteArray
1778
+ }
1779
+
1780
+ function base64ToBytes (str) {
1781
+ return base64.toByteArray(base64clean(str))
1782
+ }
1783
+
1784
+ function blitBuffer (src, dst, offset, length) {
1785
+ for (var i = 0; i < length; ++i) {
1786
+ if ((i + offset >= dst.length) || (i >= src.length)) break
1787
+ dst[i + offset] = src[i]
1788
+ }
1789
+ return i
1790
+ }
1791
+
1792
+ // ArrayBuffer or Uint8Array objects from other contexts (i.e. iframes) do not pass
1793
+ // the `instanceof` check but they should be treated as of that type.
1794
+ // See: https://github.com/feross/buffer/issues/166
1795
+ function isInstance (obj, type) {
1796
+ return obj instanceof type ||
1797
+ (obj != null && obj.constructor != null && obj.constructor.name != null &&
1798
+ obj.constructor.name === type.name)
1799
+ }
1800
+ function numberIsNaN (obj) {
1801
+ // For IE11 support
1802
+ return obj !== obj // eslint-disable-line no-self-compare
1803
+ }
1804
+
1805
+ // Create lookup table for `toString('hex')`
1806
+ // See: https://github.com/feross/buffer/issues/219
1807
+ var hexSliceLookupTable = (function () {
1808
+ var alphabet = '0123456789abcdef'
1809
+ var table = new Array(256)
1810
+ for (var i = 0; i < 16; ++i) {
1811
+ var i16 = i * 16
1812
+ for (var j = 0; j < 16; ++j) {
1813
+ table[i16 + j] = alphabet[i] + alphabet[j]
1814
+ }
1815
+ }
1816
+ return table
1817
+ })()